Bon finalement, j'ai trouvé si ça peut aider d'autres personnes.
Il y a à priori deux actions à mener : mettre à jour la table des sessions ainsi que l'objet JUser dans la session courante.
| Code: |
// Mise à jour de la table des sessions
$session =& JFactory::getSession();
$session_id = $session->getId();
$table = $prefix.'session';
$sql = "UPDATE $table SET gid=".$gid_auteur." ,usertype='Author' where session_id = '".$session_id."'";
$req = mysql_query($sql);
if ($req == false)
{
$erreur = "Erreur SQL !";
throw new myException($erreur, $sql);
}
// Mise à jour de la session
$currentUser = &JFactory::getUser();
$currentUser->usertype='Author';
$currentUser->gid=$gid_auteur;
|
En fait, j'ai galéré car je n'ai pas compris tout de suite l'utilisation de l'interface JUser.
J'ai d'abord utilisé $currentUser->setParam('usertype', 'Author');
et $currentUser->save(); et ça ne marchait pas.
en fait il faut directement utiliser les variables de la classe comme indiqué dans mon code.