Pagekit\User\Controller\UserController::getRoles PHP Method

getRoles() protected method

Gets the user roles.
protected getRoles ( User $user = null ) : array
$user Pagekit\User\Model\User
return array
    protected function getRoles(User $user = null)
    {
        $roles = [];
        $self = $user && $user->id === App::user()->id;
        foreach (Role::where(['id <> ?'], [Role::ROLE_ANONYMOUS])->orderBy('priority')->get() as $role) {
            $r = $role->jsonSerialize();
            if ($role->isAuthenticated()) {
                $r['disabled'] = true;
            }
            if ($user && $role->isAdministrator() && (!App::user()->isAdministrator() || $self)) {
                $r['disabled'] = true;
            }
            $roles[$r['id']] = $r;
        }
        return $roles;
    }