Example #1
0
 /**
  * @return array
  */
 public static function initManagementData()
 {
     $tmpWidgets = Model::getAvailableWidgetObjects();
     $tmpWidgets = Model::sortWidgets($tmpWidgets);
     $tags = array('Core' => array());
     $uncategorizedWidgets = array();
     unset($tmpWidgets['Columns']);
     foreach ($tmpWidgets as $key => $widget) {
         if ($widget->isCore()) {
             $tags['Core'][$key] = $widget->getName();
         } else {
             $pluginName = $widget->getPluginName();
             if (!array_key_exists($pluginName, $tags)) {
                 $tags[$pluginName] = array();
             }
             $tags[$pluginName][] = $widget->getName();
         }
     }
     // Filter out single widget categories
     foreach ($tags as $key => $widget) {
         $widgetCount = count($tags[$key]);
         if ($widgetCount === 1) {
             $uncategorizedWidgets[] = $widget[0];
             unset($tags[$key]);
         }
     }
     if (count($uncategorizedWidgets) > 0) {
         $tags['Other'] = $uncategorizedWidgets;
     }
     //these two tranlsations appear here just to make translations engine to find these dynamic translations
     __('Other', 'Ip-admin', false);
     __('Core', 'Ip-admin', false);
     $revision = \Ip\ServiceLocator::content()->getCurrentRevision();
     $revisions = \Ip\Internal\Revision::getPageRevisions(ipContent()->getCurrentPage()->getId());
     $manageableRevision = isset($revisions[0]['revisionId']) && $revisions[0]['revisionId'] == $revision['revisionId'];
     $page = ipContent()->getCurrentPage();
     $tags = ipFilter('ipAdminWidgets', $tags);
     $data = array('widgets' => $tmpWidgets, 'tags' => $tags, 'page' => $page, 'currentRevision' => $revision, 'manageableRevision' => $manageableRevision, 'categorySplit' => 3, 'mobile' => Browser::isMobile());
     $controlPanelHtml = ipView('view/adminPanel.php', $data)->render();
     $data = array('tags' => $tags, 'controlPanelHtml' => $controlPanelHtml, 'manageableRevision' => $manageableRevision);
     return $data;
 }