Пример #1
0
 public function authenticate()
 {
     $record = User::model()->find('user_name=:username and not_login=0', array(':username' => $this->username));
     if ($record === null) {
         $this->errorCode = self::ERROR_USERNAME_INVALID;
     } else {
         if ($record->password !== crypt($this->password, $record->password)) {
             $this->errorCode = self::ERROR_PASSWORD_INVALID;
         } else {
             $this->_id = $record->id;
             foreach ($record as $k => $v) {
                 $this->setState($k, $v);
             }
             //更新user_online表
             if (!($userOnline = UserOnline::model()->findByPk($record->id))) {
                 $userOnline = new UserOnline();
             }
             $userOnline->setAttributes(array('id' => $record->id, 'time' => time(), 'sid' => Yii::app()->session->sessionId));
             $userOnline->save();
             //   SysLog::model()->createLog($record->id);
             $this->errorCode = self::ERROR_NONE;
         }
     }
     //var_dump($this->errorCode);
     return !$this->errorCode;
 }
Пример #2
0
 /**
  * Logs out the current user and redirect to homepage.
  */
 public function actionLogout()
 {
     $userOnline = UserOnline::model()->findByPk(Yii::app()->user->id);
     User::model()->updateByPk(Yii::app()->user->id, array("last_visit_time" => time()));
     if ($userOnline !== null) {
         $userOnline->delete();
     }
     Yii::app()->user->logout();
     $this->redirect(Yii::app()->homeUrl);
 }