From 80a090ea72562e9f1cae45d596748b24c3a133da Mon Sep 17 00:00:00 2001 From: Robin Pepermans Date: Mon, 28 Nov 2011 20:53:26 +0000 Subject: [PATCH] * (bug 27721) Make JavaScript variables wgSeparatorTransformTable and wgDigitTransformTable depend on page content language so the sort script sorts correctly more often. It will e.g. sort according to the user language on special pages, where localised numbers are usually used. * New JavaScript variable wgPageContentLanguage (independent from the bug, but I assume this var can be useful) --- RELEASE-NOTES-1.19 | 4 ++++ includes/OutputPage.php | 20 ++++++++++++++++++- .../ResourceLoaderStartUpModule.php | 15 -------------- 3 files changed, 23 insertions(+), 16 deletions(-) diff --git a/RELEASE-NOTES-1.19 b/RELEASE-NOTES-1.19 index c7d2338967..8ead415a21 100644 --- a/RELEASE-NOTES-1.19 +++ b/RELEASE-NOTES-1.19 @@ -97,6 +97,7 @@ production. and adding paths to the PathRouter. * (bug 32666) Special:ActiveUsers now allows a subpage to be used as the username (eg. Special:ActiveUsers/Username) +* New JavaScript variable wgPageContentLanguage === Bug fixes in 1.19 === * $wgUploadNavigationUrl should be used for file redlinks if. @@ -163,6 +164,9 @@ production. * (bug 29475) Remove "trackback" feature entirely from core * (bug 32665) Special:BlockList prefills the username in the input field if using the Special:BlockList\username URL +* (bug 27721) Make JavaScript variables wgSeparatorTransformTable and + wgDigitTransformTable depend on page content language so the sort script + sorts correctly more often === API changes in 1.19 === * (bug 19838) siprop=interwikimap can now use the interwiki cache. diff --git a/includes/OutputPage.php b/includes/OutputPage.php index 6b464ea931..866275b9ff 100644 --- a/includes/OutputPage.php +++ b/includes/OutputPage.php @@ -2727,6 +2727,22 @@ $templates $canonicalName = false; # bug 21115 } + $lang = $title->getPageLanguage(); + + // Pre-process information + $separatorTransTable = $lang->separatorTransformTable(); + $separatorTransTable = $separatorTransTable ? $separatorTransTable : array(); + $compactSeparatorTransTable = array( + implode( "\t", array_keys( $separatorTransTable ) ), + implode( "\t", $separatorTransTable ), + ); + $digitTransTable = $lang->digitTransformTable(); + $digitTransTable = $digitTransTable ? $digitTransTable : array(); + $compactDigitTransTable = array( + implode( "\t", array_keys( $digitTransTable ) ), + implode( "\t", $digitTransTable ), + ); + $vars = array( 'wgCanonicalNamespace' => $nsname, 'wgCanonicalSpecialPageName' => $canonicalName, @@ -2741,8 +2757,10 @@ $templates 'wgUserGroups' => $this->getUser()->getEffectiveGroups(), 'wgCategories' => $this->getCategories(), 'wgBreakFrames' => $this->getFrameOptions() == 'DENY', + 'wgPageContentLanguage' => $lang->getCode(), + 'wgSeparatorTransformTable' => $compactSeparatorTransTable, + 'wgDigitTransformTable' => $compactDigitTransTable, ); - $lang = $this->getTitle()->getPageLanguage(); if ( $lang->hasVariants() ) { $vars['wgUserVariant'] = $lang->getPreferredVariant(); } diff --git a/includes/resourceloader/ResourceLoaderStartUpModule.php b/includes/resourceloader/ResourceLoaderStartUpModule.php index 54753f23e6..d92e8c395b 100644 --- a/includes/resourceloader/ResourceLoaderStartUpModule.php +++ b/includes/resourceloader/ResourceLoaderStartUpModule.php @@ -40,19 +40,6 @@ class ResourceLoaderStartUpModule extends ResourceLoaderModule { $wgSitename, $wgFileExtensions, $wgExtensionAssetsPath, $wgCookiePrefix, $wgResourceLoaderMaxQueryLength, $wgLegacyJavaScriptGlobals; - // Pre-process information - $separatorTransTable = $wgContLang->separatorTransformTable(); - $separatorTransTable = $separatorTransTable ? $separatorTransTable : array(); - $compactSeparatorTransTable = array( - implode( "\t", array_keys( $separatorTransTable ) ), - implode( "\t", $separatorTransTable ), - ); - $digitTransTable = $wgContLang->digitTransformTable(); - $digitTransTable = $digitTransTable ? $digitTransTable : array(); - $compactDigitTransTable = array( - implode( "\t", array_keys( $digitTransTable ) ), - implode( "\t", $digitTransTable ), - ); $mainPage = Title::newMainPage(); /** @@ -91,8 +78,6 @@ class ResourceLoaderStartUpModule extends ResourceLoaderModule { 'wgDefaultDateFormat' => $wgContLang->getDefaultDateFormat(), 'wgMonthNames' => $wgContLang->getMonthNamesArray(), 'wgMonthNamesShort' => $wgContLang->getMonthAbbreviationsArray(), - 'wgSeparatorTransformTable' => $compactSeparatorTransTable, - 'wgDigitTransformTable' => $compactDigitTransTable, 'wgMainPageTitle' => $mainPage ? $mainPage->getPrefixedText() : null, 'wgFormattedNamespaces' => $wgContLang->getFormattedNamespaces(), 'wgNamespaceIds' => $namespaceIds, -- 2.20.1