Exemplo n.º 1
0
 protected function loginAction()
 {
     $user = AuthUser::getInstance();
     $request = Service::request();
     $token = $user->login($request->post('login'), $request->post('password'));
     return $token ? ['state' => true, 'token' => $token] : ['state' => false, 'msg' => 'Неверные логин/пароль'];
 }
Exemplo n.º 2
0
 private function __construct()
 {
     self::$curUser = new User();
     if (Service::request()->post('token')) {
         self::loadByToken(Service::request()->post('token'));
     }
 }
Exemplo n.º 3
0
 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);
 }
Exemplo n.º 4
0
<?
header('Content-Type: text/html; charset=utf-8');
require_once './src/Base/AutoLoader/AutoLoader.php';
header('Content-Type: application/json');

set_exception_handler(function (Exception $error) {
    echo json_encode(['state' => false, 'msg' => $error->getMessage()]);
});

use Base\AutoLoader\AutoLoader;
use Services\Service;

AutoLoader::init();

//минироутинг
echo \Api\Router\Router::run(Service::request()->post('action'));
Exemplo n.º 5
0
 /**
  * Проверка типов создаваемых/редактируемых пользователей
  * @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('Не корректные права пользователя');
     }
 }
Exemplo n.º 6
0
 /**
  * Удалить запись
  * @return int
  * @throws \Base\Db\MySql\Exception
  */
 public function delete()
 {
     return Service::db()->delete('DELETE FROM ' . static::$TABLE . ' WHERE id = :id', ['id' => $this->id]);
 }
Exemplo n.º 7
0
 /**
  * Грузим по токену
  * @param $token
  * @return null
  */
 public function loadByToken($token)
 {
     $data = Service::db()->select('SELECT ' . implode(',', static::$fields) . ' FROM ' . self::$TABLE . " WHERE token = :token AND UNIX_TIMESTAMP(tokenExpired) > UNIX_TIMESTAMP(:tokenExpired) LIMIT 0,1", ['token' => $token, 'tokenExpired' => date('Y-m-d H:i:s')]);
     if (isset($data[0])) {
         $this->assign($data[0]);
     }
     return $this;
 }