Follows-upf37cee996ewhich replaced the getHashMtime() and getDefinitionMtime() methods with dummies that always return 1. These getModifiedTime() implementations were only tracking the definition summary or custom hash, which is already tracked by getVersionHash(). Notes: * SpecialCharacterDataModule: This one was odd as it was tracking both the mtime *and* the file contents. * UserCSSPrefsModule/UserOptionsModule: Remove redundant caching. Already taken care of by getVersionHash() as off37cee996e. Bug: T94074 Change-Id: I6e37c3c2f85ef4599a8643b0efabc18de2f51ec4
79 lines
2.3 KiB
PHP
79 lines
2.3 KiB
PHP
<?php
|
|
/**
|
|
* Resource loader module for populating language specific data.
|
|
*
|
|
* This program is free software; you can redistribute it and/or modify
|
|
* it under the terms of the GNU General Public License as published by
|
|
* the Free Software Foundation; either version 2 of the License, or
|
|
* (at your option) any later version.
|
|
*
|
|
* This program is distributed in the hope that it will be useful,
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
* GNU General Public License for more details.
|
|
*
|
|
* You should have received a copy of the GNU General Public License along
|
|
* with this program; if not, write to the Free Software Foundation, Inc.,
|
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
|
* http://www.gnu.org/copyleft/gpl.html
|
|
*
|
|
* @file
|
|
* @author Santhosh Thottingal
|
|
* @author Timo Tijhof
|
|
*/
|
|
|
|
/**
|
|
* ResourceLoader module for populating language specific data.
|
|
*/
|
|
class ResourceLoaderLanguageDataModule extends ResourceLoaderModule {
|
|
|
|
protected $targets = array( 'desktop', 'mobile' );
|
|
|
|
/**
|
|
* Get all the dynamic data for the content language to an array.
|
|
*
|
|
* @param ResourceLoaderContext $context
|
|
* @return array
|
|
*/
|
|
protected function getData( ResourceLoaderContext $context ) {
|
|
$language = Language::factory( $context->getLanguage() );
|
|
return array(
|
|
'digitTransformTable' => $language->digitTransformTable(),
|
|
'separatorTransformTable' => $language->separatorTransformTable(),
|
|
'grammarForms' => $language->getGrammarForms(),
|
|
'pluralRules' => $language->getPluralRules(),
|
|
'digitGroupingPattern' => $language->digitGroupingPattern(),
|
|
'fallbackLanguages' => $language->getFallbackLanguages(),
|
|
);
|
|
}
|
|
|
|
/**
|
|
* @param ResourceLoaderContext $context
|
|
* @return string JavaScript code
|
|
*/
|
|
public function getScript( ResourceLoaderContext $context ) {
|
|
return Xml::encodeJsCall(
|
|
'mw.language.setData',
|
|
array(
|
|
$context->getLanguage(),
|
|
$this->getData( $context )
|
|
),
|
|
ResourceLoader::inDebugMode()
|
|
);
|
|
}
|
|
|
|
/**
|
|
* @param ResourceLoaderContext $context
|
|
* @return string Hash
|
|
*/
|
|
public function getModifiedHash( ResourceLoaderContext $context ) {
|
|
return md5( serialize( $this->getData( $context ) ) );
|
|
}
|
|
|
|
/**
|
|
* @return array
|
|
*/
|
|
public function getDependencies() {
|
|
return array( 'mediawiki.language.init' );
|
|
}
|
|
}
|