dépôts
/
lhc
/
web
/
wiklou.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Parser functions now format numbers according to page language
[lhc/web/wiklou.git]
/
includes
/
parser
/
CoreParserFunctions.php
diff --git
a/includes/parser/CoreParserFunctions.php
b/includes/parser/CoreParserFunctions.php
index
3b8b513
..
ef26db6
100644
(file)
--- a/
includes/parser/CoreParserFunctions.php
+++ b/
includes/parser/CoreParserFunctions.php
@@
-461,12
+461,13
@@
class CoreParserFunctions {
}
} else {
$converter = $parser->getConverterLanguage()->getConverter();
}
} else {
$converter = $parser->getConverterLanguage()->getConverter();
- return '<span class="error">' .
+ $parser->getOutput()->addWarning(
wfMessage( 'restricted-displaytitle',
// Message should be parsed, but this param should only be escaped.
$converter->markNoConversion( wfEscapeWikiText( $text ) )
wfMessage( 'restricted-displaytitle',
// Message should be parsed, but this param should only be escaped.
$converter->markNoConversion( wfEscapeWikiText( $text ) )
- )->inContentLanguage()->text() .
- '</span>';
+ )->text()
+ );
+ $parser->addTrackingCategory( 'restricted-displaytitle-ignored' );
}
}
}
}
@@
-486,40
+487,58
@@
class CoreParserFunctions {
return $mwObject->matchStartToEnd( $value );
}
return $mwObject->matchStartToEnd( $value );
}
- public static function formatRaw( $num, $raw ) {
+ public static function formatRaw( $num, $raw
, Language $language
) {
if ( self::matchAgainstMagicword( 'rawsuffix', $raw ) ) {
return $num;
} else {
if ( self::matchAgainstMagicword( 'rawsuffix', $raw ) ) {
return $num;
} else {
- global $wgContLang;
- return $wgContLang->formatNum( $num );
+ return $language->formatNum( $num );
}
}
}
}
+
public static function numberofpages( $parser, $raw = null ) {
public static function numberofpages( $parser, $raw = null ) {
- return self::formatRaw( SiteStats::pages(), $raw );
+ return self::formatRaw( SiteStats::pages(), $raw
, $parser->getFunctionLang()
);
}
}
+
public static function numberofusers( $parser, $raw = null ) {
public static function numberofusers( $parser, $raw = null ) {
- return self::formatRaw( SiteStats::users(), $raw );
+ return self::formatRaw( SiteStats::users(), $raw
, $parser->getFunctionLang()
);
}
public static function numberofactiveusers( $parser, $raw = null ) {
}
public static function numberofactiveusers( $parser, $raw = null ) {
- return self::formatRaw( SiteStats::activeUsers(), $raw );
+ return self::formatRaw( SiteStats::activeUsers(), $raw
, $parser->getFunctionLang()
);
}
}
+
public static function numberofarticles( $parser, $raw = null ) {
public static function numberofarticles( $parser, $raw = null ) {
- return self::formatRaw( SiteStats::articles(), $raw );
+ return self::formatRaw( SiteStats::articles(), $raw
, $parser->getFunctionLang()
);
}
}
+
public static function numberoffiles( $parser, $raw = null ) {
public static function numberoffiles( $parser, $raw = null ) {
- return self::formatRaw( SiteStats::images(), $raw );
+ return self::formatRaw( SiteStats::images(), $raw
, $parser->getFunctionLang()
);
}
}
+
public static function numberofadmins( $parser, $raw = null ) {
public static function numberofadmins( $parser, $raw = null ) {
- return self::formatRaw( SiteStats::numberingroup( 'sysop' ), $raw );
+ return self::formatRaw(
+ SiteStats::numberingroup( 'sysop' ),
+ $raw,
+ $parser->getFunctionLang()
+ );
}
}
+
public static function numberofedits( $parser, $raw = null ) {
public static function numberofedits( $parser, $raw = null ) {
- return self::formatRaw( SiteStats::edits(), $raw );
+ return self::formatRaw( SiteStats::edits(), $raw
, $parser->getFunctionLang()
);
}
}
+
public static function pagesinnamespace( $parser, $namespace = 0, $raw = null ) {
public static function pagesinnamespace( $parser, $namespace = 0, $raw = null ) {
- return self::formatRaw( SiteStats::pagesInNs( intval( $namespace ) ), $raw );
+ return self::formatRaw(
+ SiteStats::pagesInNs( intval( $namespace ) ),
+ $raw,
+ $parser->getFunctionLang()
+ );
}
public static function numberingroup( $parser, $name = '', $raw = null ) {
}
public static function numberingroup( $parser, $name = '', $raw = null ) {
- return self::formatRaw( SiteStats::numberingroup( strtolower( $name ) ), $raw );
+ return self::formatRaw(
+ SiteStats::numberingroup( strtolower( $name ) ),
+ $raw,
+ $parser->getFunctionLang()
+ );
}
/**
}
/**
@@
-726,7
+745,7
@@
class CoreParserFunctions {
$title = Title::makeTitleSafe( NS_CATEGORY, $name );
if ( !$title ) { # invalid title
$title = Title::makeTitleSafe( NS_CATEGORY, $name );
if ( !$title ) { # invalid title
- return self::formatRaw( 0, $raw );
+ return self::formatRaw( 0, $raw
, $parser->getFunctionLang()
);
}
$wgContLang->findVariantLink( $name, $title, true );
}
$wgContLang->findVariantLink( $name, $title, true );
@@
-752,7
+771,7
@@
class CoreParserFunctions {
}
$count = $cache[$name][$type];
}
$count = $cache[$name][$type];
- return self::formatRaw( $count, $raw );
+ return self::formatRaw( $count, $raw
, $parser->getFunctionLang()
);
}
/**
}
/**
@@
-768,13
+787,17
@@
class CoreParserFunctions {
$title = Title::newFromText( $page );
if ( !is_object( $title ) ) {
$title = Title::newFromText( $page );
if ( !is_object( $title ) ) {
- return self::formatRaw( 0, $raw );
+ return self::formatRaw( 0, $raw
, $parser->getFunctionLang()
);
}
// fetch revision from cache/database and return the value
$rev = self::getCachedRevisionObject( $parser, $title );
$length = $rev ? $rev->getSize() : 0;
}
// fetch revision from cache/database and return the value
$rev = self::getCachedRevisionObject( $parser, $title );
$length = $rev ? $rev->getSize() : 0;
- return self::formatRaw( $length, $raw );
+ if ( $length === null ) {
+ // We've had bugs where rev_len was not being recorded for empty pages, see T135414
+ $length = 0;
+ }
+ return self::formatRaw( $length, $raw, $parser->getFunctionLang() );
}
/**
}
/**