J'ai une page personnalisée qui vérifie si User-> id est égal à zéro et, le cas échéant, un formulaire de connexion s'affiche. Je n'arrive pas à trouver de documentation sur la connexion à distance à Joomla. Des idées?
Nous avons trouvé une solution qui fonctionne pour les versions 3.x et supérieures:
dans PHP fichier appelé via $ .ajax:
define('_JEXEC', 1);
define('JPATH_BASE', '../../../');
defined('DS') or define('DS', DIRECTORY_SEPARATOR);
require_once ( JPATH_BASE . 'includes' . DS . 'defines.php' );
require_once ( JPATH_BASE . 'includes' . DS . 'framework.php' );
// connect to Joomla
$mainframe = & JFactory::getApplication('site');
jimport('joomla.plugin.helper');
$error = $mainframe->login([
'username' => $login_username,
'password' => $login_password,
]);
$user = JFactory::getUser();
echo $user->id
En fichier Javascript:
$("#submit-button").click(login);
function login(){
$.ajax({
method: "POST",
url: "/my/path/to/php",
data: {
login_username: $("input[name=login_username]").val(),
login_password: $("input[name=login_password]").val()
}
}).done(function(data){
if(data != "0"){
// success
} else {
// failed
}
});
}