Piwik\Plugins\Dashboard\Dashboard::removeDisabledPluginFromLayout PHP Method

removeDisabledPluginFromLayout() public method

public removeDisabledPluginFromLayout ( $layout )
    public function removeDisabledPluginFromLayout($layout)
    {
        $layoutObject = $this->decodeLayout($layout);
        // if the json decoding works (ie. new Json format)
        // we will only return the widgets that are from enabled plugins
        if (is_array($layoutObject)) {
            $layoutObject = (object) array('config' => array('layout' => '33-33-33'), 'columns' => $layoutObject);
        }
        if (empty($layoutObject) || empty($layoutObject->columns)) {
            $layoutObject = (object) array('config' => array('layout' => '33-33-33'), 'columns' => array());
        }
        $layout = $this->encodeLayout($layoutObject);
        return $layout;
    }

Usage Example

Exemplo n.º 1
0
 /**
  * Get the dashboard layout for the current user (anonymous or logged user)
  *
  * @param int $idDashboard
  *
  * @return string $layout
  */
 protected function getLayout($idDashboard)
 {
     if (Piwik::isUserIsAnonymous()) {
         $session = new SessionNamespace("Dashboard");
         if (!isset($session->dashboardLayout)) {
             return $this->dashboard->getDefaultLayout();
         }
         $layout = $session->dashboardLayout;
     } else {
         $layout = $this->dashboard->getLayoutForUser(Piwik::getCurrentUserLogin(), $idDashboard);
     }
     if (!empty($layout)) {
         $layout = $this->dashboard->removeDisabledPluginFromLayout($layout);
     }
     if (empty($layout)) {
         $layout = $this->dashboard->getDefaultLayout();
     }
     return $layout;
 }