[ Index ]

PHP Cross Reference of MediaWiki-1.24.0

title

Body

[close]

/includes/resourceloader/ -> ResourceLoaderLanguageDataModule.php (source)

   1  <?php
   2  /**
   3   * Resource loader module for populating language specific data.
   4   *
   5   * This program is free software; you can redistribute it and/or modify
   6   * it under the terms of the GNU General Public License as published by
   7   * the Free Software Foundation; either version 2 of the License, or
   8   * (at your option) any later version.
   9   *
  10   * This program is distributed in the hope that it will be useful,
  11   * but WITHOUT ANY WARRANTY; without even the implied warranty of
  12   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  13   * GNU General Public License for more details.
  14   *
  15   * You should have received a copy of the GNU General Public License along
  16   * with this program; if not, write to the Free Software Foundation, Inc.,
  17   * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
  18   * http://www.gnu.org/copyleft/gpl.html
  19   *
  20   * @file
  21   * @author Santhosh Thottingal
  22   * @author Timo Tijhof
  23   */
  24  
  25  /**
  26   * ResourceLoader module for populating language specific data.
  27   */
  28  class ResourceLoaderLanguageDataModule extends ResourceLoaderModule {
  29  
  30      protected $targets = array( 'desktop', 'mobile' );
  31  
  32      /**
  33       * Get all the dynamic data for the content language to an array.
  34       *
  35       * @param ResourceLoaderContext $context
  36       * @return array
  37       */
  38  	protected function getData( ResourceLoaderContext $context ) {
  39          $language = Language::factory( $context->getLanguage() );
  40          return array(
  41              'digitTransformTable' => $language->digitTransformTable(),
  42              'separatorTransformTable' => $language->separatorTransformTable(),
  43              'grammarForms' => $language->getGrammarForms(),
  44              'pluralRules' => $language->getPluralRules(),
  45              'digitGroupingPattern' => $language->digitGroupingPattern(),
  46              'fallbackLanguages' => $language->getFallbackLanguages(),
  47          );
  48      }
  49  
  50      /**
  51       * @param ResourceLoaderContext $context
  52       * @return string JavaScript code
  53       */
  54  	public function getScript( ResourceLoaderContext $context ) {
  55          return Xml::encodeJsCall( 'mw.language.setData', array(
  56              $context->getLanguage(),
  57              $this->getData( $context )
  58          ) );
  59      }
  60  
  61      /**
  62       * @param ResourceLoaderContext $context
  63       * @return int UNIX timestamp
  64       */
  65  	public function getModifiedTime( ResourceLoaderContext $context ) {
  66          return max( 1, $this->getHashMtime( $context ) );
  67      }
  68  
  69      /**
  70       * @param ResourceLoaderContext $context
  71       * @return string Hash
  72       */
  73  	public function getModifiedHash( ResourceLoaderContext $context ) {
  74          return md5( serialize( $this->getData( $context ) ) );
  75      }
  76  
  77      /**
  78       * @return array
  79       */
  80  	public function getDependencies() {
  81          return array( 'mediawiki.language.init' );
  82      }
  83  }


Generated: Fri Nov 28 14:03:12 2014 Cross-referenced by PHPXref 0.7.1