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; }