コード例 #1
0
ファイル: Index.php プロジェクト: berksonj/bet
 public function actionLogin()
 {
     $this->preventTemplateRender();
     $user = new Model_UserModel();
     $isVarsSet = true;
     if (!isset($_POST['username'])) {
         $user->setValidationError('username', 'Username not set');
         $isVarsSet = false;
     }
     if (!isset($_POST['password'])) {
         $user->setValidationError('password', 'Password not set');
         $isVarsSet = false;
     }
     if (!$isVarsSet) {
         echo json_encode(array('status' => 'error', 'errors' => $user->getValidationErrors()));
         return;
     }
     $user->setUserName($_POST['username']);
     $user->setPasswordBeforeSalt($_POST['password']);
     $user->validateFields(array('user_name', 'password_before_salt'));
     if ($user->isValid()) {
         if (!$user->login()) {
             echo json_encode(array('status' => 'error', 'errors' => $user->getValidationErrors()));
         } else {
             $userSession = new Core_Auth_User();
             $userSession->setData($user->getData());
             $userStatus = new Model_UserStatusModel();
             $userStatus->load($user->getUserStatusIdFK());
             $userSession->isAuth(true);
             $userSession->setRole($userStatus->getStatusName());
             echo json_encode(array('status' => 'ok'));
         }
     } else {
         echo json_encode(array('status' => 'error', 'errors' => $user->getValidationErrors()));
     }
 }