X-Git-Url: https://git.heureux-cyclage.org/?a=blobdiff_plain;f=includes%2Fparser%2FCoreParserFunctions.php;h=a274aa585360d5ba6db5ce90555babb44999b7c8;hb=d63121016d894e3fccf3308a26704472e69ec08f;hp=b77309b9876b114b7349cab6e23ed422869835d6;hpb=490780c68a082d44a5648ba1de400331c75f0b33;p=lhc%2Fweb%2Fwiklou.git diff --git a/includes/parser/CoreParserFunctions.php b/includes/parser/CoreParserFunctions.php index b77309b987..a274aa5853 100644 --- a/includes/parser/CoreParserFunctions.php +++ b/includes/parser/CoreParserFunctions.php @@ -269,12 +269,14 @@ class CoreParserFunctions { /** * @param $parser Parser * @param string $num - * @param null $raw - * @return + * @param string $arg + * @return string */ - static function formatnum( $parser, $num = '', $raw = null) { - if ( self::isRaw( $raw ) ) { + static function formatnum( $parser, $num = '', $arg = null ) { + if ( self::matchAgainstMagicword( 'rawsuffix', $arg ) ) { $func = array( $parser->getFunctionLang(), 'parseFormattedNumber' ); + } elseif ( self::matchAgainstMagicword( 'nocommafysuffix', $arg ) ) { + $func = array( $parser->getFunctionLang(), 'formatNumNoSeparators' ); } else { $func = array( $parser->getFunctionLang(), 'formatNum' ); } @@ -386,20 +388,23 @@ class CoreParserFunctions { return ''; } - static function isRaw( $param ) { - static $mwRaw; - if ( !$mwRaw ) { - $mwRaw =& MagicWord::get( 'rawsuffix' ); - } - if ( is_null( $param ) ) { + /** + * Matches the given value against the value of given magic word + * + * @param string $magicword magic word key + * @param mixed $value value to match + * @return boolean true on successful match + */ + static private function matchAgainstMagicword( $magicword, $value ) { + if ( strval( $value ) === '' ) { return false; - } else { - return $mwRaw->match( $param ); } + $mwObject = MagicWord::get( $magicword ); + return $mwObject->match( $value ); } static function formatRaw( $num, $raw ) { - if( self::isRaw( $raw ) ) { + if( self::matchAgainstMagicword( 'rawsuffix', $raw ) ) { return $num; } else { global $wgContLang; @@ -422,7 +427,7 @@ class CoreParserFunctions { return self::formatRaw( SiteStats::images(), $raw ); } static function numberofadmins( $parser, $raw = null ) { - return self::formatRaw( SiteStats::numberingroup('sysop'), $raw ); + return self::formatRaw( SiteStats::numberingroup( 'sysop' ), $raw ); } static function numberofedits( $parser, $raw = null ) { return self::formatRaw( SiteStats::edits(), $raw ); @@ -437,7 +442,6 @@ class CoreParserFunctions { return self::formatRaw( SiteStats::numberingroup( strtolower( $name ) ), $raw ); } - /** * Given a title, return the namespace name that would be given by the * corresponding magic word @@ -585,7 +589,7 @@ class CoreParserFunctions { static $cache = array(); // split the given option to its variable - if( self::isRaw( $arg1 ) ) { + if( self::matchAgainstMagicword( 'rawsuffix', $arg1 ) ) { //{{pagesincategory:|raw[|type]}} $raw = $arg1; $type = $magicWords->matchStartToEnd( $arg2 ); @@ -800,7 +804,7 @@ class CoreParserFunctions { // Usage {{filepath|300}}, {{filepath|nowiki}}, {{filepath|nowiki|300}} or {{filepath|300|nowiki}} // or {{filepath|300px}}, {{filepath|200x300px}}, {{filepath|nowiki|200x300px}}, {{filepath|200x300px|nowiki}} - public static function filepath( $parser, $name='', $argA='', $argB='' ) { + public static function filepath( $parser, $name = '', $argA = '', $argB = '' ) { $file = wfFindFile( $name ); if( $argA == 'nowiki' ) {