Пример #1
0
 public static function loginWithWhere($p_where = array())
 {
     if (count($_POST) == 0) {
         return Utility::getArrayForResults(RUNTIME_CODE_ERROR_PARAM, '错误,此处不接受GET数据。');
     }
     switch (static::getAuthIfUserCanDoIt(Utility::getCurrentUserID(), 'login')) {
         case 'admin':
             //有管理权限
         //有管理权限
         case 'self':
             //作者
         //作者
         case 'normal':
             //正常用户
         //正常用户
         case 'draft':
             //未激活
         //未激活
         case 'pending':
             //待审禁言
         //待审禁言
         case 'disabled':
             //封号
             return Utility::getArrayForResults(RUNTIME_CODE_ERROR_NO_AUTH, '您已登录,需要注销后才能重新登录。');
             break;
         case 'visitor':
             //游客
             break;
         default:
             return Utility::getArrayForResults(RUNTIME_CODE_ERROR_NO_AUTH, '您没有权限执行该操作');
             break;
     }
     UserHandler::$isUseCache = false;
     $tmpModel = UserHandler::loadModelFirstInList($p_where);
     UserHandler::$isUseCache = true;
     if (!is_object($tmpModel)) {
         return Utility::getArrayForResults(RUNTIME_CODE_ERROR_NOT_USER, '登录失败,账号或密码错误。');
     }
     switch ($tmpModel->getStatus()) {
         case STATUS_DRAFT:
             // return Utility::getArrayForResults(RUNTIME_CODE_ERROR_DATA_EMPTY,'未激活');
             break;
         case STATUS_PENDING:
             // return Utility::getArrayForResults(RUNTIME_CODE_ERROR_DATA_EMPTY,'禁言用户');
             break;
         case STATUS_DISABLED:
             return Utility::getArrayForResults(RUNTIME_CODE_ERROR_DATA_EMPTY, '该账号不可用,不可登录。');
             break;
         default:
             // return Utility::getArrayForResults(RUNTIME_CODE_ERROR_DATA_EMPTY,'该数据暂不可用。');
             break;
     }
     $tmpModel->setLastLoginTime(date('Y-m-d H:i:s'));
     $savedModel = UserHandler::saveModel($tmpModel);
     if (Utility::getHeaderValue('Devicetoken') != '') {
         DeviceController::setDeviceWithUser(Utility::getHeaderValue('Devicetoken'), $savedModel);
     }
     return Utility::getArrayForResults(RUNTIME_CODE_OK, '', $savedModel, array('authInfo' => Utility::getHeaderAuthInfoForUserID($savedModel->getId())));
 }