Merge "Enable email in TemporaryPasswordPrimaryAuthenticationProviderTest"
[lhc/web/wiklou.git] / includes / parser / CoreParserFunctions.php
index b2b7486..0c745c9 100644 (file)
@@ -90,13 +90,13 @@ class CoreParserFunctions {
 
        /**
         * @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 {
@@ -313,11 +313,10 @@ class CoreParserFunctions {
        /**
         * @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 '';
@@ -351,10 +350,10 @@ class CoreParserFunctions {
        /**
         * @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 );
@@ -515,6 +514,7 @@ class CoreParserFunctions {
        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() );
        }
@@ -546,6 +546,7 @@ class CoreParserFunctions {
                        $parser->getFunctionLang()
                );
        }
+
        public static function numberingroup( $parser, $name = '', $raw = null ) {
                return self::formatRaw(
                        SiteStats::numberingroup( strtolower( $name ) ),
@@ -570,6 +571,7 @@ class CoreParserFunctions {
                }
                return str_replace( '_', ' ', $t->getNsText() );
        }
+
        public static function namespacee( $parser, $title = null ) {
                $t = Title::newFromText( $title );
                if ( is_null( $t ) ) {
@@ -577,6 +579,7 @@ class CoreParserFunctions {
                }
                return wfUrlencode( $t->getNsText() );
        }
+
        public static function namespacenumber( $parser, $title = null ) {
                $t = Title::newFromText( $title );
                if ( is_null( $t ) ) {
@@ -584,6 +587,7 @@ class CoreParserFunctions {
                }
                return $t->getNamespace();
        }
+
        public static function talkspace( $parser, $title = null ) {
                $t = Title::newFromText( $title );
                if ( is_null( $t ) || !$t->canHaveTalkPage() ) {
@@ -591,6 +595,7 @@ class CoreParserFunctions {
                }
                return str_replace( '_', ' ', $t->getTalkNsText() );
        }
+
        public static function talkspacee( $parser, $title = null ) {
                $t = Title::newFromText( $title );
                if ( is_null( $t ) || !$t->canHaveTalkPage() ) {
@@ -598,6 +603,7 @@ class CoreParserFunctions {
                }
                return wfUrlencode( $t->getTalkNsText() );
        }
+
        public static function subjectspace( $parser, $title = null ) {
                $t = Title::newFromText( $title );
                if ( is_null( $t ) ) {
@@ -605,6 +611,7 @@ class CoreParserFunctions {
                }
                return str_replace( '_', ' ', $t->getSubjectNsText() );
        }
+
        public static function subjectspacee( $parser, $title = null ) {
                $t = Title::newFromText( $title );
                if ( is_null( $t ) ) {
@@ -627,6 +634,7 @@ class CoreParserFunctions {
                }
                return wfEscapeWikiText( $t->getText() );
        }
+
        public static function pagenamee( $parser, $title = null ) {
                $t = Title::newFromText( $title );
                if ( is_null( $t ) ) {
@@ -634,6 +642,7 @@ class CoreParserFunctions {
                }
                return wfEscapeWikiText( $t->getPartialURL() );
        }
+
        public static function fullpagename( $parser, $title = null ) {
                $t = Title::newFromText( $title );
                if ( is_null( $t ) || !$t->canHaveTalkPage() ) {
@@ -641,6 +650,7 @@ class CoreParserFunctions {
                }
                return wfEscapeWikiText( $t->getPrefixedText() );
        }
+
        public static function fullpagenamee( $parser, $title = null ) {
                $t = Title::newFromText( $title );
                if ( is_null( $t ) || !$t->canHaveTalkPage() ) {
@@ -648,6 +658,7 @@ class CoreParserFunctions {
                }
                return wfEscapeWikiText( $t->getPrefixedURL() );
        }
+
        public static function subpagename( $parser, $title = null ) {
                $t = Title::newFromText( $title );
                if ( is_null( $t ) ) {
@@ -655,6 +666,7 @@ class CoreParserFunctions {
                }
                return wfEscapeWikiText( $t->getSubpageText() );
        }
+
        public static function subpagenamee( $parser, $title = null ) {
                $t = Title::newFromText( $title );
                if ( is_null( $t ) ) {
@@ -662,6 +674,7 @@ class CoreParserFunctions {
                }
                return wfEscapeWikiText( $t->getSubpageUrlForm() );
        }
+
        public static function rootpagename( $parser, $title = null ) {
                $t = Title::newFromText( $title );
                if ( is_null( $t ) ) {
@@ -669,6 +682,7 @@ class CoreParserFunctions {
                }
                return wfEscapeWikiText( $t->getRootText() );
        }
+
        public static function rootpagenamee( $parser, $title = null ) {
                $t = Title::newFromText( $title );
                if ( is_null( $t ) ) {
@@ -676,6 +690,7 @@ class CoreParserFunctions {
                }
                return wfEscapeWikiText( wfUrlencode( str_replace( ' ', '_', $t->getRootText() ) ) );
        }
+
        public static function basepagename( $parser, $title = null ) {
                $t = Title::newFromText( $title );
                if ( is_null( $t ) ) {
@@ -683,6 +698,7 @@ class CoreParserFunctions {
                }
                return wfEscapeWikiText( $t->getBaseText() );
        }
+
        public static function basepagenamee( $parser, $title = null ) {
                $t = Title::newFromText( $title );
                if ( is_null( $t ) ) {
@@ -690,6 +706,7 @@ class CoreParserFunctions {
                }
                return wfEscapeWikiText( wfUrlencode( str_replace( ' ', '_', $t->getBaseText() ) ) );
        }
+
        public static function talkpagename( $parser, $title = null ) {
                $t = Title::newFromText( $title );
                if ( is_null( $t ) || !$t->canHaveTalkPage() ) {
@@ -697,6 +714,7 @@ class CoreParserFunctions {
                }
                return wfEscapeWikiText( $t->getTalkPage()->getPrefixedText() );
        }
+
        public static function talkpagenamee( $parser, $title = null ) {
                $t = Title::newFromText( $title );
                if ( is_null( $t ) || !$t->canHaveTalkPage() ) {
@@ -704,6 +722,7 @@ class CoreParserFunctions {
                }
                return wfEscapeWikiText( $t->getTalkPage()->getPrefixedURL() );
        }
+
        public static function subjectpagename( $parser, $title = null ) {
                $t = Title::newFromText( $title );
                if ( is_null( $t ) ) {
@@ -711,6 +730,7 @@ class CoreParserFunctions {
                }
                return wfEscapeWikiText( $t->getSubjectPage()->getPrefixedText() );
        }
+
        public static function subjectpagenamee( $parser, $title = null ) {
                $t = Title::newFromText( $title );
                if ( is_null( $t ) ) {