private static $list;
private static $aliases;
- private static $pageObjectCache = [];
/**
* Reset the internal list of special pages. Useful when changing $wgSpecialPages after
public static function resetList() {
self::$list = null;
self::$aliases = null;
- self::$pageObjectCache = [];
}
/**
return [ null, null ];
}
- if ( !isset( $bits[1] ) ) { // bug 2087
+ if ( !isset( $bits[1] ) ) { // T4087
$par = null;
} else {
$par = $bits[1];
public static function getPage( $name ) {
list( $realName, /*...*/ ) = self::resolveAlias( $name );
- if ( isset( self::$pageObjectCache[$realName] ) ) {
- return self::$pageObjectCache[$realName];
- }
-
$specialPageList = self::getPageList();
if ( isset( $specialPageList[$realName] ) ) {
$page = null;
}
- self::$pageObjectCache[$realName] = $page;
if ( $page instanceof SpecialPage ) {
return $page;
} else {
// @todo FIXME: Redirects broken due to this call
$bits = explode( '/', $title->getDBkey(), 2 );
$name = $bits[0];
- if ( !isset( $bits[1] ) ) { // bug 2087
+ if ( !isset( $bits[1] ) ) { // T4087
$par = null;
} else {
$par = $bits[1];
}
if ( $subpage !== false && !is_null( $subpage ) ) {
+ // Make sure it's in dbkey form
+ $subpage = str_replace( ' ', '_', $subpage );
$name = "$name/$subpage";
}