App\Libraries\OsuAuthorize::doCheckUser PHP Метод

doCheckUser() публичный Метод

public doCheckUser ( $user, $ability, $object )
    public function doCheckUser($user, $ability, $object)
    {
        $cacheKey = serialize([$ability, $user === null ? null : $user->getKey(), $object === null ? null : $object->getKey()]);
        if (!isset($this->cache[$cacheKey])) {
            if ($user !== null && $user->isAdmin()) {
                $message = 'ok';
            } else {
                $function = "check{$ability}";
                try {
                    $message = $this->{$function}($user, $object);
                } catch (AuthorizationException $e) {
                    $message = $e->getMessage();
                }
            }
            $this->cache[$cacheKey] = new AuthorizationResult($message);
        }
        return $this->cache[$cacheKey];
    }