Habari\AdminGroupsHandler::get_group PHP Метод

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

Handles GET requests for a group's page.
public get_group ( )
    public function get_group()
    {
        $group = UserGroup::get_by_id(Controller::get_var('id'));
        if (null == $group) {
            Utils::redirect(URL::get('display_groups', 'page=groups'));
        } else {
            $tokens = ACL::all_tokens('id');
            $tokens = Plugins::filter('token_list_display', $tokens);
            array_walk($tokens, function (&$value, $key) {
                $value->description = Plugins::filter('token_description_display', $value->name);
                $value->token_group = Plugins::filter('token_group_display', $value->token_group);
            });
            $access_names = ACL::access_names();
            $access_names[] = 'deny';
            $access_display = array();
            foreach ($access_names as $name) {
                $access_display[$name] = Plugins::filter('permission_display', $name);
            }
            $bool_access_display['allow'] = Plugins::filter('permission_display', 'allow');
            $bool_access_display['deny'] = Plugins::filter('permission_display', 'deny');
            // attach access bitmasks to the tokens
            foreach ($tokens as $token) {
                $token->access = ACL::get_group_token_access($group->id, $token->id);
            }
            // separate tokens into groups
            $grouped_tokens = array();
            foreach ($tokens as $token) {
                $grouped_tokens[$token->token_group][$token->token_type ? 'crud' : 'bool'][] = $token;
            }
            $potentials = array();
            $users = Users::get_all();
            $users[] = User::anonymous();
            $members = $group->members;
            $jsusers = array();
            foreach ($users as $user) {
                $jsuser = new \StdClass();
                $jsuser->id = $user->id;
                $jsuser->username = $user->username;
                $jsuser->member = in_array($user->id, $members);
                $jsusers[$user->id] = $jsuser;
            }
            $this->theme->potentials = $potentials;
            $this->theme->users = $users;
            $this->theme->members = $members;
            $js = '$(function(){groupManage.init(' . json_encode($jsusers) . ');});';
            Stack::add('admin_header_javascript', $js, 'groupmanage', 'admin-js');
            $this->theme->access_names = $access_names;
            $this->theme->grouped_tokens = $grouped_tokens;
            $this->theme->access_display = $access_display;
            $this->theme->bool_access_display = $bool_access_display;
            $this->theme->groups = UserGroups::get_all();
            $this->theme->group = $group;
            $this->theme->id = $group->id;
            $this->theme->wsse = Utils::WSSE();
            $this->display('group');
        }
    }