Piwik\ViewDataTable\Manager::configureFooterIcons PHP Method

configureFooterIcons() public static method

$result has the following format: array( array( // footer icon group 1 'class' => 'footerIconGroup1CssClass', 'buttons' => array( 'id' => 'myid', 'title' => 'My Tooltip', 'icon' => 'path/to/my/icon.png' ) ), array( // footer icon group 2 'class' => 'footerIconGroup2CssClass', 'buttons' => array(...) ), ... )
public static configureFooterIcons ( ViewDataTable $view )
$view Piwik\Plugin\ViewDataTable
    public static function configureFooterIcons(ViewDataTable $view)
    {
        $result = array();
        $normalViewIcons = self::getNormalViewIcons($view);
        if (!empty($normalViewIcons['buttons'])) {
            $result[] = $normalViewIcons;
        }
        // add insight views
        $insightsViewIcons = array('class' => 'tableInsightViews', 'buttons' => array());
        $graphViewIcons = self::getGraphViewIcons($view);
        $nonCoreVisualizations = static::getNonCoreViewDataTables();
        foreach ($nonCoreVisualizations as $id => $klass) {
            if ($klass::canDisplayViewDataTable($view)) {
                $footerIcon = static::getFooterIconFor($id);
                if (Insight::ID == $footerIcon['id']) {
                    $insightsViewIcons['buttons'][] = static::getFooterIconFor($id);
                } else {
                    $graphViewIcons['buttons'][] = static::getFooterIconFor($id);
                }
            }
        }
        $graphViewIcons['buttons'] = array_filter($graphViewIcons['buttons']);
        if (!empty($insightsViewIcons['buttons']) && $view->config->show_insights) {
            $result[] = $insightsViewIcons;
        }
        if (!empty($graphViewIcons['buttons'])) {
            $result[] = $graphViewIcons;
        }
        return $result;
    }

Usage Example

Beispiel #1
0
 private function overrideSomeConfigPropertiesIfNeeded()
 {
     if (empty($this->config->footer_icons)) {
         $this->config->footer_icons = ViewDataTableManager::configureFooterIcons($this);
     }
     if (!$this->isPluginActivated('Goals')) {
         $this->config->show_goals = false;
     }
 }