Exemplo n.º 1
0
 public function actionLogin()
 {
     $result = ApiModule::$defaultResponse;
     $this->checkRequest();
     $q = $this->q;
     $this->checkRequiredParams($q, array('nric', 'password'));
     //==================LOGIN=================
     $model = new ApiLoginForm();
     $model->scenario = 'login_admin';
     $model->nric = trim($q->nric);
     $model->password = $q->password;
     $model->role_id = ROLE_AGENT;
     if (!$model->validate()) {
         $result['message'] = Yii::t('systemmsg', 'Login ID or password is wrong');
         $result['record_error_key'] = array_keys($model->getErrors());
         $result['record_error'] = $model->getErrors();
         ApiModule::sendResponse($result);
     }
     $mUser = ApiUsers::model()->getByNric($q->nric);
     //=================SAVE TOKEN=============
     //create token
     $mUsersTokens = new UsersTokens();
     $mUsersTokens->user_id = $mUser->id;
     $mUsersTokens->token = md5($mUser->id . time() . rand(100000, 1000000));
     $mUsersTokens->last_login = date('Y-m-d H:i:s');
     $mUsersTokens->has_expired = 0;
     $mUsersTokens->language = 'en';
     if (!empty($q->apns_device_token)) {
         $mUsersTokens->apns_device_token = $q->apns_device_token;
     }
     if (!empty($q->gcm_device_token)) {
         $mUsersTokens->gcm_device_token = $q->gcm_device_token;
     }
     $mUsersTokens->save();
     $mUsersTokens->token = $mUsersTokens->token . $mUsersTokens->id;
     $mUsersTokens->update(array('token'));
     //==================RESPONSE==============
     $result = ApiModule::$defaultSuccessResponse;
     $result['message'] = Yii::t('systemmsg', 'Login success');
     $result['token'] = $mUsersTokens->token;
     $result['record'] = array('nric' => $mUser->nric_passportno_roc, 'email' => $mUser->email);
     ApiModule::sendResponse($result);
 }
Exemplo n.º 2
0
 public function logout($token)
 {
     $criteria = new CDbCriteria();
     $criteria->compare('token', $token);
     UsersTokens::model()->deleteAll($criteria);
 }
Exemplo n.º 3
0
 public function checkToken($token = null)
 {
     $result = ApiModule::$defaultResponse;
     if ($token === null) {
         $token = $this->q->token;
     }
     if (!UsersTokens::model()->checkToken($token)) {
         $result['message'] = 'Token is invalid or expired';
         ApiModule::sendResponse($result);
     }
 }