Elgg\Debug\Inspector::getViews PHP Method

getViews() public method

Get Elgg view information
public getViews ( string $viewtype = 'default' ) : array
$viewtype string The Viewtype we wish to inspect
return array [view] => map of priority to ViewComponent[]
    public function getViews($viewtype = 'default')
    {
        global $CONFIG;
        $view_data = $this->getViewsData();
        // maps view name to array of ViewComponent[] with priority as keys
        $views = array();
        // add plugins and handle overrides
        foreach ($view_data['locations'][$viewtype] as $view => $location) {
            $component = new ViewComponent();
            $component->view = $view;
            $component->file = $location;
            $views[$view] = [500 => $component];
        }
        // now extensions
        foreach ($view_data['extensions'] as $view => $extensions) {
            $view_list = array();
            foreach ($extensions as $priority => $ext_view) {
                if (isset($views[$ext_view])) {
                    $view_list[$priority] = $views[$ext_view][500];
                }
            }
            if (count($view_list) > 0) {
                $views[$view] = $view_list;
            }
        }
        ksort($views);
        // now overrides
        foreach ($views as $view => $view_list) {
            if (!empty($view_data['overrides'][$viewtype][$view])) {
                $overrides_list = array();
                foreach ($view_data['overrides'][$viewtype][$view] as $i => $location) {
                    $component = new ViewComponent();
                    $component->overridden = true;
                    $component->view = $view;
                    $component->file = $location;
                    $overrides_list["o:{$i}"] = $component;
                }
                $views[$view] = $overrides_list + $view_list;
            }
        }
        // view handlers
        $handlers = _elgg_services()->hooks->getAllHandlers();
        $input_filtered_views = array();
        if (!empty($handlers['view_vars'])) {
            $input_filtered_views = array_keys($handlers['view_vars']);
        }
        $filtered_views = array();
        if (!empty($handlers['view'])) {
            $filtered_views = array_keys($handlers['view']);
        }
        $global_hooks = array();
        if (!empty($handlers['view_vars']['all'])) {
            $global_hooks[] = 'view_vars, all';
        }
        if (!empty($handlers['view']['all'])) {
            $global_hooks[] = 'view, all';
        }
        return array('views' => $views, 'global_hooks' => $global_hooks, 'input_filtered_views' => $input_filtered_views, 'filtered_views' => $filtered_views);
    }