public function executeChrome()
 {
     global $wgRequest, $wgTitle;
     $this->tab = $wgRequest->getVal("tab", "");
     if (empty($this->tab) && $this->isAdminDashboardTitle()) {
         $this->tab = 'general';
     } else {
         if (AdminDashboardLogic::isGeneralApp(array_shift(SpecialPageFactory::resolveAlias($wgTitle->getDBKey())))) {
             $this->tab = 'general';
         } else {
             if (empty($this->tab)) {
                 $this->tab = 'advanced';
             }
         }
     }
     $this->response->addAsset('extensions/wikia/AdminDashboard/css/AdminDashboard.scss');
     $this->response->addAsset('extensions/wikia/AdminDashboard/js/AdminDashboard.js');
     $this->isAdminDashboard = $this->isAdminDashboardTitle();
     $this->adminDashboardUrl = Title::newFromText('AdminDashboard', NS_SPECIAL)->getFullURL("tab={$this->tab}");
     $this->adminDashboardUrlGeneral = Title::newFromText('AdminDashboard', NS_SPECIAL)->getFullURL("tab=general");
     $this->adminDashboardUrlAdvanced = Title::newFromText('AdminDashboard', NS_SPECIAL)->getFullURL("tab=advanced");
 }
 public function executeChrome()
 {
     global $wgRequest, $wgTitle;
     $adminDashboardTitle = Title::newFromText('AdminDashboard', NS_SPECIAL);
     $this->isAdminDashboard = $wgTitle->getText() == $adminDashboardTitle->getText();
     $this->tab = $wgRequest->getVal("tab", "");
     if (empty($this->tab) && $this->isAdminDashboard) {
         $this->tab = 'general';
     } else {
         if (AdminDashboardLogic::isGeneralApp(array_shift(SpecialPageFactory::resolveAlias($wgTitle->getDBKey())))) {
             $this->tab = 'general';
         } else {
             if (empty($this->tab)) {
                 $this->tab = 'advanced';
             }
         }
     }
     $this->wg->Out->addStyle(AssetsManager::getInstance()->getSassCommonURL('extensions/wikia/AdminDashboard/css/AdminDashboard.scss'));
     $this->wg->Out->addScriptFile($this->wg->ExtensionsPath . '/wikia/AdminDashboard/js/AdminDashboard.js');
     $this->adminDashboardUrl = Title::newFromText('AdminDashboard', NS_SPECIAL)->getFullURL("tab={$this->tab}");
     $this->adminDashboardUrlGeneral = Title::newFromText('AdminDashboard', NS_SPECIAL)->getFullURL("tab=general");
     $this->adminDashboardUrlAdvanced = Title::newFromText('AdminDashboard', NS_SPECIAL)->getFullURL("tab=advanced");
 }
 /**
  * @brief Copied and pasted code from wfSpecialSpecialpages() that have been modified and refactored.  Also removes some special pages from list.
  *
  */
 public function getAdvancedSection()
 {
     if (!$this->wg->User->isAllowed('admindashboard')) {
         $this->displayRestrictionError();
         return false;
         // skip rendering
     }
     $this->sk = $this->wg->User->getSkin();
     $pages = SpecialPageFactory::getUsablePages();
     if (count($pages) == 0) {
         return;
     }
     /** Put them into a sortable array */
     $groups = array();
     foreach ($pages as $pagename => $page) {
         if (!AdminDashboardLogic::isGeneralApp($pagename) && $page->isListed()) {
             $group = SpecialPageFactory::getGroup($page);
             if (!isset($groups[$group])) {
                 $groups[$group] = array();
             }
             $groups[$group][$page->getDescription()] = array($page->getTitle(), $page->isRestricted());
         }
     }
     /** Sort */
     if ($this->wg->SortSpecialPages) {
         foreach ($groups as $group => $sortedPages) {
             ksort($groups[$group]);
         }
     }
     /** Always move "other" to end */
     if (array_key_exists('other', $groups)) {
         $other = $groups['other'];
         unset($groups['other']);
         $groups['other'] = $other;
     }
     $this->groups = $groups;
 }