コード例 #1
0
 private function getPageGroups()
 {
     global $wgSortSpecialPages;
     $pages = SpecialPageFactory::getUsablePages($this->getUser());
     if (!count($pages)) {
         # Yeah, that was pointless. Thanks for coming.
         return false;
     }
     /** Put them into a sortable array */
     $groups = array();
     foreach ($pages as $page) {
         if ($page->isListed()) {
             $group = SpecialPageFactory::getGroup($page);
             if (!isset($groups[$group])) {
                 $groups[$group] = array();
             }
             $groups[$group][$page->getDescription()] = array($page->getTitle(), $page->isRestricted(), $page->isExpensive());
         }
     }
     /** Sort */
     if ($wgSortSpecialPages) {
         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;
     }
     return $groups;
 }
コード例 #2
0
 /**
  * @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;
 }
コード例 #3
0
ファイル: SpecialPage.php プロジェクト: seedbank/old-repo
 /**
  * Get the group that the special page belongs in on Special:SpecialPage
  *
  * @param $page SpecialPage
  * @return string
  * @deprecated since 1.18 call SpecialPageFactory method directly
  */
 static function getGroup(&$page)
 {
     wfDeprecated(__METHOD__, '1.18');
     return SpecialPageFactory::getGroup($page);
 }
コード例 #4
0
ファイル: SpecialPage.php プロジェクト: eFFemeer/seizamcore
 /**
  * Get the group that the special page belongs in on Special:SpecialPage
  *
  * @param $page SpecialPage
  * @return null
  * @deprecated since 1.18 call SpecialPageFactory method directly
  */
 static function getGroup(&$page)
 {
     return SpecialPageFactory::getGroup($page);
 }