/**
* @param Parser $parser
- * @param string $part1
+ * @param string $part1 Message key
+ * @param mixed ...$params To pass to wfMessage()
* @return array
*/
- public static function intFunction( $parser, $part1 = '' /*, ... */ ) {
+ public static function intFunction( $parser, $part1 = '', ...$params ) {
if ( strval( $part1 ) !== '' ) {
- $args = array_slice( func_get_args(), 2 );
- $message = wfMessage( $part1, $args )
+ $message = wfMessage( $part1, $params )
->inLanguage( $parser->getOptions()->getUserLangObj() );
return [ $message->plain(), 'noparse' => false ];
} else {
*/
public static function formatDate( $parser, $date, $defaultPref = null ) {
$lang = $parser->getFunctionLang();
- $df = DateFormatter::getInstance( $lang );
+ $df = MediaWikiServices::getInstance()->getDateFormatterFactory()->get( $lang );
$date = trim( $date );
/**
* @param Parser $parser
* @param string $username
+ * @param string ...$forms What to output for each gender
* @return string
*/
- public static function gender( $parser, $username ) {
- $forms = array_slice( func_get_args(), 2 );
-
+ public static function gender( $parser, $username, ...$forms ) {
// Some shortcuts to avoid loading user data unnecessarily
if ( count( $forms ) === 0 ) {
return '';
/**
* @param Parser $parser
* @param string $text
+ * @param string ...$forms What to output for each number (singular, dual, plural, etc.)
* @return string
*/
- public static function plural( $parser, $text = '' ) {
- $forms = array_slice( func_get_args(), 2 );
+ public static function plural( $parser, $text = '', ...$forms ) {
$text = $parser->getFunctionLang()->parseFormattedNumber( $text );
settype( $text, ctype_digit( $text ) ? 'int' : 'float' );
return $parser->getFunctionLang()->convertPlural( $text, $forms );
public static function numberofusers( $parser, $raw = null ) {
return self::formatRaw( SiteStats::users(), $raw, $parser->getFunctionLang() );
}
+
public static function numberofactiveusers( $parser, $raw = null ) {
return self::formatRaw( SiteStats::activeUsers(), $raw, $parser->getFunctionLang() );
}
$parser->getFunctionLang()
);
}
+
public static function numberingroup( $parser, $name = '', $raw = null ) {
return self::formatRaw(
SiteStats::numberingroup( strtolower( $name ) ),
}
return str_replace( '_', ' ', $t->getNsText() );
}
+
public static function namespacee( $parser, $title = null ) {
$t = Title::newFromText( $title );
if ( is_null( $t ) ) {
}
return wfUrlencode( $t->getNsText() );
}
+
public static function namespacenumber( $parser, $title = null ) {
$t = Title::newFromText( $title );
if ( is_null( $t ) ) {
}
return $t->getNamespace();
}
+
public static function talkspace( $parser, $title = null ) {
$t = Title::newFromText( $title );
if ( is_null( $t ) || !$t->canHaveTalkPage() ) {
}
return str_replace( '_', ' ', $t->getTalkNsText() );
}
+
public static function talkspacee( $parser, $title = null ) {
$t = Title::newFromText( $title );
if ( is_null( $t ) || !$t->canHaveTalkPage() ) {
}
return wfUrlencode( $t->getTalkNsText() );
}
+
public static function subjectspace( $parser, $title = null ) {
$t = Title::newFromText( $title );
if ( is_null( $t ) ) {
}
return str_replace( '_', ' ', $t->getSubjectNsText() );
}
+
public static function subjectspacee( $parser, $title = null ) {
$t = Title::newFromText( $title );
if ( is_null( $t ) ) {
}
return wfEscapeWikiText( $t->getText() );
}
+
public static function pagenamee( $parser, $title = null ) {
$t = Title::newFromText( $title );
if ( is_null( $t ) ) {
}
return wfEscapeWikiText( $t->getPartialURL() );
}
+
public static function fullpagename( $parser, $title = null ) {
$t = Title::newFromText( $title );
if ( is_null( $t ) || !$t->canHaveTalkPage() ) {
}
return wfEscapeWikiText( $t->getPrefixedText() );
}
+
public static function fullpagenamee( $parser, $title = null ) {
$t = Title::newFromText( $title );
if ( is_null( $t ) || !$t->canHaveTalkPage() ) {
}
return wfEscapeWikiText( $t->getPrefixedURL() );
}
+
public static function subpagename( $parser, $title = null ) {
$t = Title::newFromText( $title );
if ( is_null( $t ) ) {
}
return wfEscapeWikiText( $t->getSubpageText() );
}
+
public static function subpagenamee( $parser, $title = null ) {
$t = Title::newFromText( $title );
if ( is_null( $t ) ) {
}
return wfEscapeWikiText( $t->getSubpageUrlForm() );
}
+
public static function rootpagename( $parser, $title = null ) {
$t = Title::newFromText( $title );
if ( is_null( $t ) ) {
}
return wfEscapeWikiText( $t->getRootText() );
}
+
public static function rootpagenamee( $parser, $title = null ) {
$t = Title::newFromText( $title );
if ( is_null( $t ) ) {
}
return wfEscapeWikiText( wfUrlencode( str_replace( ' ', '_', $t->getRootText() ) ) );
}
+
public static function basepagename( $parser, $title = null ) {
$t = Title::newFromText( $title );
if ( is_null( $t ) ) {
}
return wfEscapeWikiText( $t->getBaseText() );
}
+
public static function basepagenamee( $parser, $title = null ) {
$t = Title::newFromText( $title );
if ( is_null( $t ) ) {
}
return wfEscapeWikiText( wfUrlencode( str_replace( ' ', '_', $t->getBaseText() ) ) );
}
+
public static function talkpagename( $parser, $title = null ) {
$t = Title::newFromText( $title );
if ( is_null( $t ) || !$t->canHaveTalkPage() ) {
}
return wfEscapeWikiText( $t->getTalkPage()->getPrefixedText() );
}
+
public static function talkpagenamee( $parser, $title = null ) {
$t = Title::newFromText( $title );
if ( is_null( $t ) || !$t->canHaveTalkPage() ) {
}
return wfEscapeWikiText( $t->getTalkPage()->getPrefixedURL() );
}
+
public static function subjectpagename( $parser, $title = null ) {
$t = Title::newFromText( $title );
if ( is_null( $t ) ) {
}
return wfEscapeWikiText( $t->getSubjectPage()->getPrefixedText() );
}
+
public static function subjectpagenamee( $parser, $title = null ) {
$t = Title::newFromText( $title );
if ( is_null( $t ) ) {