コード例 #1
0
ファイル: Router.php プロジェクト: ralfnv/RESTAPI
 public static function run($action)
 {
     list($controller, $ctrlAct) = explode('.', $action, 2) + [null, null];
     switch ($controller) {
         //логиним пользователя
         case 'auth':
             $data = (new AuthUserController())->run($ctrlAct);
             break;
             //Действия над ползователем
         //Действия над ползователем
         case 'user':
             if (Service::user()->id) {
                 $uc = new UserController();
                 $data = $uc->run($ctrlAct);
             } else {
                 $data = ['state' => false, 'msg' => 'Необходима авторизация'];
             }
             break;
         default:
             $data = ['state' => false, 'msg' => 'Ошибка роутинга'];
             break;
     }
     return json_encode($data);
 }
コード例 #2
0
ファイル: UserController.php プロジェクト: ralfnv/RESTAPI
 /**
  * Проверка типов создаваемых/редактируемых пользователей
  * @return bool
  * @throws \Exception
  */
 protected function checkUserType()
 {
     $accessTypes = [];
     $userData = Service::request()->post('userData');
     $userType = isset($userData['permission']) ? $userData['permission'] : null;
     if (Service::user()->isSuperAdmin()) {
         array_push($accessTypes, User::USER, User::ADMIN);
     } elseif (Service::user()->isAdmin()) {
         $accessTypes[] = User::USER;
     }
     if ($userType !== null && !in_array($userType, $accessTypes)) {
         throw new \Exception('Не корректные права пользователя');
     }
 }