* @defgroup SpecialPage SpecialPage
*/
use MediaWiki\Linker\LinkRenderer;
+use MediaWiki\MediaWikiServices;
use Wikimedia\ObjectFactory;
/**
* @return array
*/
private static function getAliasList() {
+ $contLang = MediaWikiServices::getInstance()->getContentLanguage();
if ( is_null( self::$aliases ) ) {
- global $wgContLang;
- $aliases = $wgContLang->getSpecialPageAliases();
+ $aliases = $contLang->getSpecialPageAliases();
$pageList = self::getPageList();
self::$aliases = [];
// Force every canonical name to be an alias for itself.
foreach ( $pageList as $name => $stuff ) {
- $caseFoldedAlias = $wgContLang->caseFold( $name );
+ $caseFoldedAlias = $contLang->caseFold( $name );
self::$aliases[$caseFoldedAlias] = $name;
$keepAlias[$caseFoldedAlias] = 'canonical';
}
foreach ( $aliases as $realName => $aliasList ) {
$aliasList = array_values( $aliasList );
foreach ( $aliasList as $i => $alias ) {
- $caseFoldedAlias = $wgContLang->caseFold( $alias );
+ $caseFoldedAlias = $contLang->caseFold( $alias );
if ( isset( self::$aliases[$caseFoldedAlias] ) &&
$realName === self::$aliases[$caseFoldedAlias]
* @return array Array( String, String|null ), or array( null, null ) if the page is invalid
*/
public static function resolveAlias( $alias ) {
- global $wgContLang;
$bits = explode( '/', $alias, 2 );
- $caseFoldedAlias = $wgContLang->caseFold( $bits[0] );
+ $caseFoldedAlias = MediaWikiServices::getInstance()->getContentLanguage()->
+ caseFold( $bits[0] );
$caseFoldedAlias = str_replace( ' ', '_', $caseFoldedAlias );
$aliases = self::getAliasList();
if ( isset( $aliases[$caseFoldedAlias] ) ) {
* Return categorised listable special pages which are available
* for the current user, and everyone.
*
- * @param User $user User object to check permissions, $wgUser will be used
+ * @param User|null $user User object to check permissions, $wgUser will be used
* if not provided
* @return array ( string => Specialpage )
*/
* @return string
*/
public static function getLocalNameFor( $name, $subpage = false ) {
- global $wgContLang;
- $aliases = $wgContLang->getSpecialPageAliases();
+ $contLang = MediaWikiServices::getInstance()->getContentLanguage();
+ $aliases = $contLang->getSpecialPageAliases();
$aliasList = self::getAliasList();
// Find the first alias that maps back to $name
if ( isset( $aliases[$name] ) ) {
$found = false;
foreach ( $aliases[$name] as $alias ) {
- $caseFoldedAlias = $wgContLang->caseFold( $alias );
+ $caseFoldedAlias = $contLang->caseFold( $alias );
$caseFoldedAlias = str_replace( ' ', '_', $caseFoldedAlias );
if ( isset( $aliasList[$caseFoldedAlias] ) &&
$aliasList[$caseFoldedAlias] === $name
$name = "$name/$subpage";
}
- return $wgContLang->ucfirst( $name );
+ return $contLang->ucfirst( $name );
}
/**