J'ai un userId - $uid
.
Je voulais que cet utilisateur soit connecté au s/m de joomla.
J'ai essayé ça -
$currentUser = new JUser($uid);
$mainframe = JFactory::getApplication('site');
$credentials = array();
$credentials['username'] = $currentUser->username;
$credentials['password'] = $currentUser->password; //this is the hashed password
//perform the login action
$mainframe->login($credentials);
$newuser = JFactory::getUser(); //this doesn't get updated to the new user ($uid) details
Comment puis-je définir l'utilisateur comme utilisateur actuel en utilisant l'ID lui-même?
Mise à jour: Je viens de trouver que cet utilisateur peut être chargé avec JUser :: load ()
Essai 2-
$user = JUser::getInstance($uid);
$user->load($uid); //this should load the new user.
$newuser = JFactory::getUser(); //still i get the anonymous details here
//($newuser->id = 0)
Comme il y a wp_set_current_user($uid);
pour wordpress user_load_by_name()
] dans Drupal, existe-t-il une fonction similaire pour joomla? Aide s'il vous plaît. !!!
Merci!
Vous pouvez le faire simplement en utilisant un plugin principal ...
//Will obtain user object - what the question author needed.
$user = JFactory::getUser($uid);
//Will authorize you as this user.
JPluginHelper::importPlugin('user');
$options = array();
$options['action'] = 'core.login.site';
$response->username = $user->username;
$result = $app->triggerEvent('onUserLogin', array((array)$response, $options));