dataAccess = new LuticateUsersDataAccess(); } public static function getCurrentUser() { return self::$_currentUser; } /** * @param $permissions string[] * @param $request Request * @return bool */ public static function authFilter($permissions, $request) { $token = $request->header(self::TOKEN_HEADER); if ($token != null && $token != "") { $data = JwtHelper::decode($token); if ($data != null) { $user_id = $data[JwtHelper::USER_KEY]; self::$_currentUser = LuticateUsersBusiness::getById($user_id); } } if (self::$_currentUser == null && count($permissions) != 0) { return false; } foreach ($permissions as $permission) { if (!LuticatePermissionsBusiness::getUserPermission(self::$_currentUser->getId(), $permission)) { return false; } } return true; } }