Services\UserGroupManager::setPermissions PHP Method

setPermissions() public method

Set permissions on group
public setPermissions ( $input ) : array
$input
return array
    public function setPermissions($input)
    {
        if (isset($input['superuser'])) {
            // If superuser permissions, then no need to assign any other permissions
            $permissions = array('superuser' => 1);
        } else {
            $permissions = array('superuser' => 0);
            $permissions['backend'] = isset($input['backend']) ? 1 : 0;
            $access_areas = UserGroup::access_areas();
            foreach ($access_areas['resourceful'] as $abbr => $full) {
                $permissions[$abbr . '.index'] = isset($input["{$abbr}_index"]) ? 1 : 0;
                $permissions[$abbr . '.show'] = isset($input["{$abbr}_show"]) ? 1 : 0;
                $permissions[$abbr . '.create'] = isset($input["{$abbr}_create"]) ? 1 : 0;
                $permissions[$abbr . '.edit'] = isset($input["{$abbr}_edit"]) ? 1 : 0;
                $permissions[$abbr . '.destroy'] = isset($input["{$abbr}_destroy"]) ? 1 : 0;
            }
            foreach ($access_areas['others'] as $name => $all_permissions) {
                foreach ((array) $all_permissions as $permission => $desc) {
                    $permissions["{$name}.{$permission}"] = isset($input["{$name}_{$permission}"]) ? 1 : 0;
                }
            }
            foreach ($access_areas['modules'] as $alias => $name) {
                $alias_lower = Str::lower($alias);
                $permissions["modules.{$alias_lower}.index"] = isset($input["modules_{$alias}_index"]) ? 1 : 0;
                $permissions["modules.{$alias_lower}.show"] = isset($input["modules_{$alias}_show"]) ? 1 : 0;
                $permissions["modules.{$alias_lower}.create"] = isset($input["modules_{$alias}_create"]) ? 1 : 0;
                $permissions["modules.{$alias_lower}.edit"] = isset($input["modules_{$alias}_edit"]) ? 1 : 0;
                $permissions["modules.{$alias_lower}.destroy"] = isset($input["modules_{$alias}_destroy"]) ? 1 : 0;
            }
        }
        return $permissions;
    }