コード例 #1
0
 /**
  * Get the special page list
  *
  * @return array
  */
 static function getList()
 {
     global $wgSpecialPages;
     global $wgDisableCounters, $wgDisableInternalSearch, $wgEmailAuthentication;
     global $wgEnableEmail, $wgEnableJavaScriptTest;
     if (!is_object(self::$list)) {
         wfProfileIn(__METHOD__);
         if (!$wgDisableCounters) {
             self::$list['Popularpages'] = 'PopularPagesPage';
         }
         if (!$wgDisableInternalSearch) {
             self::$list['Search'] = 'SpecialSearch';
         }
         if ($wgEmailAuthentication) {
             self::$list['Confirmemail'] = 'EmailConfirmation';
             self::$list['Invalidateemail'] = 'EmailInvalidation';
         }
         if ($wgEnableEmail) {
             self::$list['ChangeEmail'] = 'SpecialChangeEmail';
         }
         if ($wgEnableJavaScriptTest) {
             self::$list['JavaScriptTest'] = 'SpecialJavaScriptTest';
         }
         self::$list['Activeusers'] = 'SpecialActiveUsers';
         // Add extension special pages
         self::$list = array_merge(self::$list, $wgSpecialPages);
         // Run hooks
         // This hook can be used to remove undesired built-in special pages
         wfRunHooks('SpecialPage_initList', array(&self::$list));
         // Cast to object: func()[$key] doesn't work, but func()->$key does
         settype(self::$list, 'object');
         wfProfileOut(__METHOD__);
     }
     return self::$list;
 }
コード例 #2
0
 /**
  * Get the special page list as an array
  *
  * @return array
  */
 private static function getPageList()
 {
     global $wgSpecialPages;
     global $wgDisableInternalSearch, $wgEmailAuthentication;
     global $wgEnableEmail, $wgEnableJavaScriptTest;
     global $wgPageLanguageUseDB, $wgContentHandlerUseDB;
     global $wgDisableAuthManager;
     if (!is_array(self::$list)) {
         self::$list = self::$coreList;
         if (!$wgDisableInternalSearch) {
             self::$list['Search'] = 'SpecialSearch';
         }
         if ($wgEmailAuthentication) {
             self::$list['Confirmemail'] = 'EmailConfirmation';
             self::$list['Invalidateemail'] = 'EmailInvalidation';
         }
         if ($wgEnableEmail) {
             self::$list['ChangeEmail'] = 'SpecialChangeEmailPreAuthManager';
         }
         if ($wgEnableJavaScriptTest) {
             self::$list['JavaScriptTest'] = 'SpecialJavaScriptTest';
         }
         if ($wgPageLanguageUseDB) {
             self::$list['PageLanguage'] = 'SpecialPageLanguage';
         }
         if ($wgContentHandlerUseDB) {
             self::$list['ChangeContentModel'] = 'SpecialChangeContentModel';
         }
         // horrible hack to allow selection between old and new classes via a feature flag - T110756
         // will be removed once AuthManager is stable
         if (!$wgDisableAuthManager) {
             self::$list = array_map(function ($class) {
                 return preg_replace('/PreAuthManager$/', '', $class);
             }, self::$list);
             self::$list['Userlogout'] = 'SpecialUserLogout';
             // case matters
         } else {
             self::$list['Userlogin'] = '******';
             self::$list = array_diff_key(self::$list, array_fill_keys(['LinkAccounts', 'UnlinkAccounts', 'ChangeCredentials', 'RemoveCredentials'], true));
         }
         // Add extension special pages
         self::$list = array_merge(self::$list, $wgSpecialPages);
         // This hook can be used to disable unwanted core special pages
         // or conditionally register special pages.
         Hooks::run('SpecialPage_initList', [&self::$list]);
     }
     return self::$list;
 }
コード例 #3
0
 /**
  * Get the special page list as an array
  *
  * @return array
  */
 private static function getPageList()
 {
     global $wgSpecialPages;
     global $wgDisableInternalSearch, $wgEmailAuthentication;
     global $wgEnableEmail, $wgEnableJavaScriptTest;
     global $wgPageLanguageUseDB, $wgContentHandlerUseDB;
     if (!is_array(self::$list)) {
         self::$list = self::$coreList;
         if (!$wgDisableInternalSearch) {
             self::$list['Search'] = 'SpecialSearch';
         }
         if ($wgEmailAuthentication) {
             self::$list['Confirmemail'] = 'EmailConfirmation';
             self::$list['Invalidateemail'] = 'EmailInvalidation';
         }
         if ($wgEnableEmail) {
             self::$list['ChangeEmail'] = 'SpecialChangeEmail';
         }
         if ($wgEnableJavaScriptTest) {
             self::$list['JavaScriptTest'] = 'SpecialJavaScriptTest';
         }
         if ($wgPageLanguageUseDB) {
             self::$list['PageLanguage'] = 'SpecialPageLanguage';
         }
         if ($wgContentHandlerUseDB) {
             self::$list['ChangeContentModel'] = 'SpecialChangeContentModel';
         }
         self::$list['Activeusers'] = 'SpecialActiveUsers';
         // Add extension special pages
         self::$list = array_merge(self::$list, $wgSpecialPages);
         // This hook can be used to disable unwanted core special pages
         // or conditionally register special pages.
         Hooks::run('SpecialPage_initList', array(&self::$list));
     }
     return self::$list;
 }