예제 #1
0
 /**
  * Авторизовывает юзера
  *
  * @param ModuleUser_EntityUser $oUser Объект пользователя
  * @param bool $bRemember Запоминать пользователя или нет
  * @param string $sKey Уникальный ключ сессии
  * @return bool
  */
 public function Authorization(ModuleUser_EntityUser $oUser, $bRemember = true, $sKey = null)
 {
     if (!$oUser->getId() or !$oUser->getActivate()) {
         return false;
     }
     /**
      * Создаём новую сессию
      */
     if (!$this->CreateSession($oUser, $sKey)) {
         return false;
     }
     /**
      * Запоминаем в сесси юзера
      */
     $this->Session_Set('user_id', $oUser->getId());
     $this->Session_Set('session_key', $this->oSession->getKey());
     $this->oUserCurrent = $oUser;
     /**
      * Ставим куку
      */
     if ($bRemember) {
         $this->Session_SetCookie('key', $this->oSession->getKey(), time() + Config::Get('module.user.time_login_remember'), false, true);
     }
     return true;
 }
예제 #2
0
 /**
  * Обновление данных сессии
  *
  * @param ModuleUser_EntitySession $oSession
  *
  * @return int|bool
  */
 public function UpdateSession(ModuleUser_EntitySession $oSession)
 {
     $sql = "UPDATE ?_session\n\t\t\tSET\n\t\t\t\tsession_ip_last = ? ,\n\t\t\t\tsession_date_last = ? ,\n\t\t\t\tsession_exit = ?\n\t\t\tWHERE session_key = ?\n\t\t";
     $bResult = $this->oDb->query($sql, $oSession->getIpLast(), $oSession->getDateLast(), $oSession->getDateExit(), $oSession->getKey());
     return $bResult !== false;
 }
 /**
  * Создание пользовательской сессии
  *
  * @param ModuleUser_EntitySession $oSession
  * @return bool
  */
 public function CreateSession(ModuleUser_EntitySession $oSession)
 {
     $sql = "REPLACE INTO " . Config::Get('db.table.session') . "\n      SET\n        session_key = ? ,\n        user_id = ? ,\n        session_ip_create = ? ,\n        session_ip_last = ? ,\n        session_date_create = ? ,\n        session_date_last = ?\n    ";
     return $this->oDb->query($sql, $oSession->getKey(), $oSession->getUserId(), $oSession->getIpCreate(), $oSession->getIpLast(), $oSession->getDateCreate(), $oSession->getDateLast());
 }
예제 #4
0
 /**
  * Удаление сессии
  *
  * @param ModuleUser_EntitySession $oSession
  * @return int|bool
  */
 public function DeleteSession(ModuleUser_EntitySession $oSession)
 {
     $sql = "DELETE FROM " . Config::Get('db.table.session') . "\n\t\t\tWHERE session_key = ?\n\t\t";
     $res = $this->oDb->query($sql, $oSession->getKey());
     return $this->IsSuccessful($res);
 }