Source for file ChildDivisions.class.php

Documentation is available at ChildDivisions.class.php

  1. /**
  2.  * Содержит класс ChildDivisions
  3.  *
  4.  * @package energine
  5.  * @author dr.Pavka
  6.  * @copyright ColoCall 2006
  7.  * @version $Id: fsource_energine__modulessharecomponentsChildDivisions.class.php.html,v 1.1 2007/09/17 14:32:31 pavka Exp $
  8.  */
  9.  
  10.  
  11. require_once('core/modules/share/components/DataSet.class.php');
  12.  
  13. /**
  14.  * Класс передназначен для вівода дочерних разделов текущего раздела
  15.  *
  16.  * @package energine
  17.  * @subpackage share
  18.  *
  19.  */
  20. class ChildDivisions extends DataSet  {
  21.  
  22.     /**
  23.      * Конструктор класса
  24.      *
  25.      * @return void 
  26.      */
  27.     public function __construct($name$moduleDocument $document,  array $params null{
  28.         parent::__construct($name$module$document,  $params);
  29.         $this->setType(self::COMPONENT_TYPE_LIST);
  30.     }
  31.  
  32.     /**
  33.      * Добавлен параметр id - идентификатор страницы
  34.      *
  35.      * @return int 
  36.      * @access protected
  37.      */
  38.  
  39.     protected function defineParams({
  40.         $result = array_merge(parent::defineParams(),
  41.         array(
  42.         'id'=>false,
  43.         'showFinal' => false,
  44.         'active' => true
  45.         ));
  46.         return $result;
  47.     }
  48.  
  49.     /**
  50.      * Устанавливаем перечень полей
  51.      *
  52.      * @return DataDescription 
  53.      * @access protected
  54.      */
  55.  
  56.      protected function createDataDescription({
  57.         $result new DataDescription();
  58.  
  59.         $field new FieldDescription('Id');
  60.         $field->setType(FieldDescription::FIELD_TYPE_INT);
  61.         $field->addProperty('key'true);
  62.         $result->addFieldDescription($field);
  63.  
  64.         $field new FieldDescription('Name');
  65.         $field->setType(FieldDescription::FIELD_TYPE_STRING);
  66.         $result->addFieldDescription($field);
  67.  
  68.         $field new FieldDescription('Segment');
  69.         $field->setType(FieldDescription::FIELD_TYPE_STRING);
  70.         $result->addFieldDescription($field);
  71.  
  72.         $field new FieldDescription('DescriptionRtf');
  73.         $field->setType(FieldDescription::FIELD_TYPE_TEXT);
  74.         $result->addFieldDescription($field);
  75.  
  76.         return $result;
  77.      }
  78.     /**
  79.      * Переопределенный метод загрузки данных
  80.      *
  81.      * @return mixed 
  82.      * @access protected
  83.      */
  84.  
  85.     protected function loadData({
  86.         $sitemap Sitemap::getInstance();
  87.         $this->setTitle($this->translate('TXT_CHILD_DIVISIONS'));
  88.  
  89.         if (!$this->getParam('id')) {
  90.             $id $this->document->getID();
  91.         }
  92.         else {
  93.             $id $this->getParam('id');
  94.         }
  95.  
  96.         $data $sitemap->getChilds($id);
  97.         $data (empty($data))?false:$data;
  98.         if(is_array($data)) {
  99.             if ($this->getParam('recordsPerPage')) {
  100.                 if ($this->pager->getCurrentPage()>1{
  101.                     $this->document->componentManager->getComponentByName('breadCrumbs')->addCrumb();
  102.                 }
  103.                 $this->pager->setRecordsCount(sizeof($data));
  104.                 $limit $this->pager->getLimit();
  105.                 $data = array_slice($data$limit[0]$limit[1]true);
  106.             }
  107.             foreach ($data as $id => $current{
  108.                 $data[$idarray(
  109.                 'Id' => $id,
  110.                 'Segment' => $current['Segment'],
  111.                 'Name' => $current['Name'],
  112.                 'DescriptionRtf' => $current['DescriptionRtf']
  113.                 );
  114.             }
  115.  
  116.         }
  117.  
  118.         return $data;
  119.     }
  120. }

Documentation generated on Mon, 17 Sep 2007 13:25:43 +0300 by phpDocumentor 1.4.0a2