energine
[ class tree: energine ] [ index: energine ] [ all elements ]

Source for file LangSwitcher.class.php

Documentation is available at LangSwitcher.class.php

  1. <?php
  2.  
  3. /**
  4.  * Содержит класс LangSwitcher
  5.  *
  6.  * @package energine
  7.  * @subpackage share
  8.  * @author dr.Pavka
  9.  * @copyright Energine 2006
  10.  * @version $Id$
  11.  */
  12.  
  13. //require_once('core/modules/share/components/DataSet.class.php');
  14. //require_once('core/framework/Language.class.php');
  15.  
  16. /**
  17.  * переключатель языков
  18.  *
  19.  * @package energine
  20.  * @subpackage share
  21.  * @author dr.Pavka
  22.  */
  23. final class LangSwitcher extends DataSet {
  24.     /**
  25.      * Конструктор класса
  26.      *
  27.      * @return void 
  28.      */
  29.     public function __construct($name$moduleDocument $document,  array $params null{
  30.         parent::__construct($name$module$document,  $params);
  31.         $this->setType(self::COMPONENT_TYPE_LIST);
  32.     }
  33.  
  34.     /**
  35.      * Method Description
  36.      *
  37.      * @return type 
  38.      * @access protected
  39.      */
  40.  
  41.     protected function loadData({
  42.         $lang Language::getInstance();
  43.         $data $lang->getLanguages();
  44.  
  45.         foreach ($data as $langID => $LangInfo{
  46.             $result[$langID$LangInfo;
  47.             $result[$langID]['lang_id'$langID;
  48.             $result[$langID]['lang_url'$result[$langID]['lang_abbr'].'/'.Request::getInstance()->getPath(Request::PATH_WHOLEtrue);
  49.         }
  50.         return $result;
  51.     }
  52.  
  53.     /**
  54.      * Создаем перечень полей
  55.      *
  56.      * @return DataDescription 
  57.      * @access protected
  58.      */
  59.  
  60.      protected function createDataDescription({
  61.         $result =  new DataDescription();
  62.         $f new FieldDescription('lang_id');
  63.         $f->setType(FieldDescription::FIELD_TYPE_INT);
  64.         $result->addFieldDescription($f);
  65.  
  66.         $f new FieldDescription('lang_abbr');
  67.         $f->setType(FieldDescription::FIELD_TYPE_STRING);
  68.         $result->addFieldDescription($f);
  69.  
  70.         $f new FieldDescription('lang_name');
  71.         $f->setType(FieldDescription::FIELD_TYPE_STRING);
  72.         $result->addFieldDescription($f);
  73.  
  74.         $f new FieldDescription('lang_url');
  75.         $f->setType(FieldDescription::FIELD_TYPE_STRING);
  76.         $result->addFieldDescription($f);
  77.  
  78.         return $result;
  79.      }
  80.  
  81.  
  82. }
В создании документации нам помог: phpDocumentor