コード例 #1
0
 /**
  * Initialise the special page list
  * This must be called before accessing SpecialPage::$mList
  *
  * @return array
  */
 static function getList()
 {
     global $wgSpecialPages;
     global $wgDisableCounters, $wgDisableInternalSearch, $wgEmailAuthentication;
     global $wgEnableEmail;
     if (!is_object(self::$mList)) {
         wfProfileIn(__METHOD__);
         if (!$wgDisableCounters) {
             self::$mList['Popularpages'] = 'PopularpagesPage';
         }
         if (!$wgDisableInternalSearch) {
             self::$mList['Search'] = 'SpecialSearch';
         }
         if ($wgEmailAuthentication) {
             self::$mList['Confirmemail'] = 'EmailConfirmation';
             self::$mList['Invalidateemail'] = 'EmailInvalidation';
         }
         if ($wgEnableEmail) {
             self::$mList['ChangeEmail'] = 'SpecialChangeEmail';
         }
         // Add extension special pages
         self::$mList = array_merge(self::$mList, $wgSpecialPages);
         // Run hooks
         // This hook can be used to remove undesired built-in special pages
         wfRunHooks('SpecialPage_initList', array(&self::$mList));
         // Cast to object: func()[$key] doesn't work, but func()->$key does
         settype(self::$mList, 'object');
         wfProfileOut(__METHOD__);
     }
     return self::$mList;
 }