예제 #1
0
 /**
  * Check the we have a remember me cookie, and apply if valid
  *
  * @param integer $userId id of user to establish in the session
  *
  * @return void
  */
 public function addUserToSession($userId)
 {
     $session = $this->session;
     $memberHandler = $this->xoops->getHandlerMember();
     $user = $memberHandler->getUser($userId);
     if ($user instanceof XoopsUser) {
         if ($user->isActive()) {
             // make sure all primary user data is consistent
             $session->set('xoopsUserId', $user->getVar('uid'));
             $session->set('xoopsUserGroups', $user->getGroups());
             if (!$session->has('SESSION_AUTHSTATUS')) {
                 $this->setNeedsConfirmed();
             }
             // all is good, leave the existing info
             return;
         }
     }
     // invalid user - clear everything
     $session->clearSession();
     return;
 }