* @return string[]
*/
public static function getNames() {
- return array_keys( get_object_vars( self::getListObject() ) );
+ return array_keys( self::getPageList() );
}
/**
- * Get the special page list as an object, with each special page represented by a member
- * field in the object.
+ * Get the special page list as an array
*
* @deprecated since 1.24, use getNames() instead.
- * @return object
+ * @return array
*/
public static function getList() {
wfDeprecated( __FUNCTION__, '1.24' );
- return self::getListObject();
+ return self::getPageList();
}
/**
- * Get the special page list as an object, with each special page represented by a member
- * field in the object.
+ * Get the special page list as an array
*
- * @return object
+ * @return array
*/
- private static function getListObject() {
+ private static function getPageList() {
global $wgSpecialPages;
global $wgDisableCounters, $wgDisableInternalSearch, $wgEmailAuthentication;
global $wgEnableEmail, $wgEnableJavaScriptTest;
// This hook can be used to remove undesired built-in special pages
wfRunHooks( 'SpecialPage_initList', array( &self::$list ) );
- self::$list = (object)self::$list;
-
wfProfileOut( __METHOD__ );
}
global $wgContLang;
$aliases = $wgContLang->getSpecialPageAliases();
- // Objects are passed by reference by default, need to create a copy
- $missingPages = clone self::getListObject();
+ $missingPages = self::getPageList();
self::$aliases = array();
// Check for $aliases being an array since Language::getSpecialPageAliases can return null
public static function exists( $name ) {
list( $title, /*...*/ ) = self::resolveAlias( $name );
- return property_exists( self::getListObject(), $title );
+ $specialPageList = self::getPageList();
+ return isset( $specialPageList[$title] );
}
/**
*/
public static function getPage( $name ) {
list( $realName, /*...*/ ) = self::resolveAlias( $name );
- if ( property_exists( self::getListObject(), $realName ) ) {
- $rec = self::getListObject()->$realName;
+
+ $specialPageList = self::getPageList();
+
+ if ( isset( $specialPageList[$realName] ) ) {
+ $rec = $specialPageList[$realName];
if ( is_string( $rec ) ) {
$className = $rec;
global $wgUser;
$user = $wgUser;
}
- foreach ( self::getListObject() as $name => $rec ) {
+ foreach ( self::getPageList() as $name => $rec ) {
$page = self::getPage( $name );
if ( $page ) { // not null
$page->setContext( RequestContext::getMain() );
*/
public static function getRegularPages() {
$pages = array();
- foreach ( self::getListObject() as $name => $rec ) {
+ foreach ( self::getPageList() as $name => $rec ) {
$page = self::getPage( $name );
if ( $page->isListed() && !$page->isRestricted() ) {
$pages[$name] = $page;
global $wgUser;
$user = $wgUser;
}
- foreach ( self::getListObject() as $name => $rec ) {
+ foreach ( self::getPageList() as $name => $rec ) {
$page = self::getPage( $name );
if (
$page->isListed()