/**
* @param Parser $parser
* @param string $date
- * @param string $defaultPref
+ * @param string|null $defaultPref
*
* @return string
*/
}
public static function ns( $parser, $part1 = '' ) {
- global $wgContLang;
if ( intval( $part1 ) || $part1 == "0" ) {
$index = intval( $part1 );
} else {
- $index = $wgContLang->getNsIndex( str_replace( ' ', '_', $part1 ) );
+ $index = $parser->getContentLanguage()->getNsIndex( str_replace( ' ', '_', $part1 ) );
}
if ( $index !== false ) {
- return $wgContLang->getFormattedNsText( $index );
+ return $parser->getContentLanguage()->getFormattedNsText( $index );
} else {
return [ 'found' => false ];
}
*
* @param Parser $parser
* @param string $s The text to encode.
- * @param string $arg (optional): The type of encoding.
+ * @param string|null $arg (optional): The type of encoding.
* @return string
*/
public static function urlencode( $parser, $s = '', $arg = null ) {
static $magicWords = null;
if ( is_null( $magicWords ) ) {
- $magicWords = new MagicWordArray( [ 'url_path', 'url_query', 'url_wiki' ] );
+ $magicWords =
+ $parser->getMagicWordFactory()->newArray( [ 'url_path', 'url_query', 'url_wiki' ] );
}
switch ( $magicWords->matchStartToEnd( $arg ) ) {
// Encode as though it's a wiki page, '_' for ' '.
}
public static function lcfirst( $parser, $s = '' ) {
- global $wgContLang;
- return $wgContLang->lcfirst( $s );
+ return $parser->getContentLanguage()->lcfirst( $s );
}
public static function ucfirst( $parser, $s = '' ) {
- global $wgContLang;
- return $wgContLang->ucfirst( $s );
+ return $parser->getContentLanguage()->ucfirst( $s );
}
/**
* @return string
*/
public static function lc( $parser, $s = '' ) {
- global $wgContLang;
- return $parser->markerSkipCallback( $s, [ $wgContLang, 'lc' ] );
+ return $parser->markerSkipCallback( $s, [ $parser->getContentLanguage(), 'lc' ] );
}
/**
* @return string
*/
public static function uc( $parser, $s = '' ) {
- global $wgContLang;
- return $parser->markerSkipCallback( $s, [ $wgContLang, 'uc' ] );
+ return $parser->markerSkipCallback( $s, [ $parser->getContentLanguage(), 'uc' ] );
}
public static function localurl( $parser, $s = '', $arg = null ) {
/**
* @param Parser $parser
* @param string $num
- * @param string $arg
+ * @param string|null $arg
* @return string
*/
public static function formatnum( $parser, $num = '', $arg = null ) {
- if ( self::matchAgainstMagicword( 'rawsuffix', $arg ) ) {
+ if ( self::matchAgainstMagicword( $parser->getMagicWordFactory(), 'rawsuffix', $arg ) ) {
$func = [ $parser->getFunctionLang(), 'parseFormattedNumber' ];
- } elseif ( self::matchAgainstMagicword( 'nocommafysuffix', $arg ) ) {
+ } elseif (
+ self::matchAgainstMagicword( $parser->getMagicWordFactory(), 'nocommafysuffix', $arg )
+ ) {
$func = [ $parser->getFunctionLang(), 'formatNumNoSeparators' ];
} else {
$func = [ $parser->getFunctionLang(), 'formatNum' ];
static $magicWords = null;
if ( is_null( $magicWords ) ) {
- $magicWords = new MagicWordArray( [ 'displaytitle_noerror', 'displaytitle_noreplace' ] );
+ $magicWords = $parser->getMagicWordFactory()->newArray(
+ [ 'displaytitle_noerror', 'displaytitle_noreplace' ] );
}
$arg = $magicWords->matchStartToEnd( $uarg );
$parser->mOutput->setDisplayTitle( $text );
}
if ( $old !== false && $old !== $text && !$arg ) {
- $converter = $parser->getConverterLanguage()->getConverter();
+ $converter = $parser->getTargetLanguage()->getConverter();
return '<span class="error">' .
wfMessage( 'duplicate-displaytitle',
// Message should be parsed, but these params should only be escaped.
return '';
}
} else {
- $converter = $parser->getConverterLanguage()->getConverter();
+ $converter = $parser->getTargetLanguage()->getConverter();
$parser->getOutput()->addWarning(
wfMessage( 'restricted-displaytitle',
// Message should be parsed, but this param should only be escaped.
/**
* Matches the given value against the value of given magic word
*
+ * @param MagicWordFactory $magicWordFactory A factory to get the word from, e.g., from
+ * $parser->getMagicWordFactory()
* @param string $magicword Magic word key
* @param string $value Value to match
* @return bool True on successful match
*/
- private static function matchAgainstMagicword( $magicword, $value ) {
+ private static function matchAgainstMagicword(
+ MagicWordFactory $magicWordFactory, $magicword, $value
+ ) {
$value = trim( strval( $value ) );
if ( $value === '' ) {
return false;
}
- $mwObject = MagicWord::get( $magicword );
+ $mwObject = $magicWordFactory->get( $magicword );
return $mwObject->matchStartToEnd( $value );
}
* @param int|float $num
* @param string $raw
* @param Language|StubUserLang $language
+ * @param MagicWordFactory|null $magicWordFactory To evaluate $raw
* @return string
*/
- public static function formatRaw( $num, $raw, $language ) {
- if ( self::matchAgainstMagicword( 'rawsuffix', $raw ) ) {
+ public static function formatRaw(
+ $num, $raw, $language, MagicWordFactory $magicWordFactory = null
+ ) {
+ if ( $raw !== null && !$magicWordFactory ) {
+ $magicWordFactory = MediaWikiServices::getInstance()->getMagicWordFactory();
+ }
+ if (
+ $raw !== null && self::matchAgainstMagicword( $magicWordFactory, 'rawsuffix', $raw )
+ ) {
return $num;
} else {
return $language->formatNum( $num );
* Note: function name changed to "mwnamespace" rather than "namespace"
* to not break PHP 5.3
* @param Parser $parser
- * @param string $title
+ * @param string|null $title
* @return mixed|string
*/
public static function mwnamespace( $parser, $title = null ) {
* Functions to get and normalize pagenames, corresponding to the magic words
* of the same names
* @param Parser $parser
- * @param string $title
+ * @param string|null $title
* @return string
*/
public static function pagename( $parser, $title = null ) {
* can't be called too many times per page.
* @param Parser $parser
* @param string $name
- * @param string $arg1
- * @param string $arg2
+ * @param string|null $arg1
+ * @param string|null $arg2
* @return string
*/
public static function pagesincategory( $parser, $name = '', $arg1 = null, $arg2 = null ) {
- global $wgContLang;
static $magicWords = null;
if ( is_null( $magicWords ) ) {
- $magicWords = new MagicWordArray( [
+ $magicWords = $parser->getMagicWordFactory()->newArray( [
'pagesincategory_all',
'pagesincategory_pages',
'pagesincategory_subcats',
static $cache = [];
// split the given option to its variable
- if ( self::matchAgainstMagicword( 'rawsuffix', $arg1 ) ) {
+ if ( self::matchAgainstMagicword( $parser->getMagicWordFactory(), 'rawsuffix', $arg1 ) ) {
// {{pagesincategory:|raw[|type]}}
$raw = $arg1;
$type = $magicWords->matchStartToEnd( $arg2 );
if ( !$title ) { # invalid title
return self::formatRaw( 0, $raw, $parser->getFunctionLang() );
}
- $wgContLang->findVariantLink( $name, $title, true );
+ $parser->getContentLanguage()->findVariantLink( $name, $title, true );
// Normalize name for cache
$name = $title->getDBkey();
*
* @param Parser $parser
* @param string $page Name of page to check (Default: empty string)
- * @param string $raw Should number be human readable with commas or just number
+ * @param string|null $raw Should number be human readable with commas or just number
* @return string
*/
public static function pagesize( $parser, $page = '', $raw = null ) {
public static function defaultsort( $parser, $text, $uarg = '' ) {
static $magicWords = null;
if ( is_null( $magicWords ) ) {
- $magicWords = new MagicWordArray( [ 'defaultsort_noerror', 'defaultsort_noreplace' ] );
+ $magicWords = $parser->getMagicWordFactory()->newArray(
+ [ 'defaultsort_noerror', 'defaultsort_noreplace' ] );
}
$arg = $magicWords->matchStartToEnd( $uarg );
if ( $old === false || $old == $text || $arg ) {
return '';
} else {
- $converter = $parser->getConverterLanguage()->getConverter();
+ $converter = $parser->getTargetLanguage()->getConverter();
return '<span class="error">' .
wfMessage( 'duplicate-defaultsort',
// Message should be parsed, but these params should only be escaped.
/**
* Get the pageid of a specified page
* @param Parser $parser
- * @param string $title Title to get the pageid from
+ * @param string|null $title Title to get the pageid from
* @return int|null|string
* @since 1.23
*/
}
// Check the link cache, maybe something already looked it up.
- $linkCache = LinkCache::singleton();
+ $linkCache = MediaWikiServices::getInstance()->getLinkCache();
$pdbk = $t->getPrefixedDBkey();
$id = $linkCache->getGoodLinkID( $pdbk );
if ( $id != 0 ) {
/**
* Get the id from the last revision of a specified page.
* @param Parser $parser
- * @param string $title Title to get the id from
+ * @param string|null $title Title to get the id from
* @return int|null|string
* @since 1.23
*/
/**
* Get the day from the last revision of a specified page.
* @param Parser $parser
- * @param string $title Title to get the day from
+ * @param string|null $title Title to get the day from
* @return string
* @since 1.23
*/
/**
* Get the day with leading zeros from the last revision of a specified page.
* @param Parser $parser
- * @param string $title Title to get the day from
+ * @param string|null $title Title to get the day from
* @return string
* @since 1.23
*/
/**
* Get the month with leading zeros from the last revision of a specified page.
* @param Parser $parser
- * @param string $title Title to get the month from
+ * @param string|null $title Title to get the month from
* @return string
* @since 1.23
*/
/**
* Get the month from the last revision of a specified page.
* @param Parser $parser
- * @param string $title Title to get the month from
+ * @param string|null $title Title to get the month from
* @return string
* @since 1.23
*/
/**
* Get the year from the last revision of a specified page.
* @param Parser $parser
- * @param string $title Title to get the year from
+ * @param string|null $title Title to get the year from
* @return string
* @since 1.23
*/
/**
* Get the timestamp from the last revision of a specified page.
* @param Parser $parser
- * @param string $title Title to get the timestamp from
+ * @param string|null $title Title to get the timestamp from
* @return string
* @since 1.23
*/
/**
* Get the user from the last revision of a specified page.
* @param Parser $parser
- * @param string $title Title to get the user from
+ * @param string|null $title Title to get the user from
* @return string
* @since 1.23
*/