Source for file Field.class.php

Documentation is available at Field.class.php

  1. /**
  2.  * Класс Field.
  3.  *
  4.  * @package energine
  5.  * @subpackage core
  6.  * @author dr.Pavka
  7.  * @copyright ColoCall 2006
  8.  * @version $Id: fsource_energine_core_frameworkField.class.php.html,v 1.1 2007/09/17 14:32:33 pavka Exp $
  9.  */
  10.  
  11. require_once 'core/framework/Object.class.php';
  12.  
  13. /**
  14.  * Поле данных.
  15.  *
  16.  * @package energine
  17.  * @subpackage core
  18.  */
  19. class Field extends Object {
  20.  
  21.     /**
  22.      * @access private
  23.      * @var array набор дополнительных свойств
  24.      */
  25.     private $properties = array();
  26.  
  27.     /**
  28.      * @access private
  29.      * @var string имя поля
  30.      */
  31.     private $name;
  32.  
  33.     /**
  34.      * @access private
  35.      * @var array данные поля
  36.      */
  37.     private $data;
  38.  
  39.     /**
  40.      * Если права не указаны - используются права из FieldDescription (наследуются).
  41.      *
  42.      * @access private
  43.      * @var int права пользователя на поле
  44.      */
  45.     private $rights;
  46.  
  47.     /**
  48.      * Конструктор класса.
  49.      *
  50.      * @access public
  51.      * @param string $name иям поля
  52.      */
  53.     public function __construct($name{
  54.         parent::__construct();
  55.  
  56.         $this->name = $name;
  57.         $this->data = '';
  58.     }
  59.  
  60.     /**
  61.      * Возвращает имя поля.
  62.      *
  63.      * @access public
  64.      * @return string 
  65.      */
  66.     public function getName({
  67.         return $this->name;
  68.     }
  69.  
  70.     /**
  71.      * Устанавливает данные поля.
  72.      *
  73.      * @access public
  74.      * @param mixed $data 
  75.      * @return void 
  76.      */
  77.     public function setData($data{
  78.         if (!is_array($data)) {
  79.             $data array($data);
  80.         }
  81.         $this->data = $data;
  82.     }
  83.  
  84.     /**
  85.      * Возвращает данные поля.
  86.      *
  87.      * @access public
  88.      * @return array 
  89.      */
  90.     public function getData({
  91.         return $this->data;
  92.     }
  93.  
  94.     /**
  95.      * Возвращает данные указанной строки.
  96.      *
  97.      * @access public
  98.      * @param int $rowIndex индекс строки
  99.      * @return mixed 
  100.      */
  101.     public function getRowData($rowIndex{
  102.         $result null;
  103.         if (isset($this->data[$rowIndex])) {
  104.             $result $this->data[$rowIndex];
  105.         }
  106.         return $result;
  107.     }
  108.  
  109.     /**
  110.      * Удаляет данные указанной строки.
  111.      *
  112.      * @access public
  113.      * @param int $rowIndex индекс строки
  114.      * @return mixed 
  115.      */
  116.     public function removeRowData($rowIndex{
  117.         $result false;
  118.         if (isset($this->data[$rowIndex])) {
  119.             unset($this->data[$rowIndex]);
  120.             $result true;
  121.         }
  122.         return $result;
  123.     }
  124.  
  125.     /**
  126.      * Добавляет строку данных.
  127.      *
  128.      * @access public
  129.      * @param mixed $data 
  130.      * @return void 
  131.      */
  132.     public function addRowData($data{
  133.         $this->data[$data;
  134.     }
  135.  
  136.     /**
  137.      * Обновляет данные в указанной строке.
  138.      *
  139.      * @access public
  140.      * @param int $rowIndex индекс строки
  141.      * @param mixed $newData новые данные
  142.      * @return boolean 
  143.      */
  144.     public function changeRowData($rowIndex$newData{
  145.         $result false;
  146.         if (isset($this->data[$rowIndex])) {
  147.             $this->data[$rowIndex$newData;
  148.             $result true;
  149.         }
  150.         return $result;
  151.     }
  152.  
  153.     /**
  154.      * Устанавливает уровень прав на поле.
  155.      *
  156.      * @access public
  157.      * @param int $rights уровень прав
  158.      * @return void 
  159.      */
  160.     public function setRights($rights{
  161.         $this->rights = $rights;
  162.     }
  163.  
  164.     /**
  165.      * Возвращает уровень прав на поле.
  166.      *
  167.      * @access public
  168.      * @return int 
  169.      */
  170.     public function getRights({
  171.         return $this->rights;
  172.     }
  173.  
  174.     /**
  175.      * Возвращает количество строк данных.
  176.      *
  177.      * @access public
  178.      * @return int 
  179.      */
  180.     public function getRowCount({
  181.         return sizeof($this->getData());
  182.     }
  183.  
  184.     /**
  185.      * Устанавливает дополнтельное свойство строки.
  186.      *
  187.      * @access public
  188.      * @param int $index индекс строки
  189.      * @param string $propertyName имя свойства
  190.      * @param mixed $propertyValue значение свойства
  191.      * @return void 
  192.      */
  193.     public function setRowProperty($index$propertyName$propertyValue{
  194.         $this->properties[$index][$propertyName$propertyValue;
  195.     }
  196.  
  197.     /**
  198.      * Возвращает значение дополнительного свойства строки.
  199.      *
  200.      * @access public
  201.      * @param int $index индекс строки
  202.      * @param string $propertyName имя свойства
  203.      * @return mixed 
  204.      */
  205.     public function getRowProperty($index$propertyName{
  206.         $result false;
  207.         if (isset($this->properties[$index][$propertyName])) {
  208.             $result $this->properties[$index][$propertyName];
  209.         }
  210.         return $result;
  211.     }
  212.  
  213.     /**
  214.      * Возвращает все дополнительные свойства строки.
  215.      *
  216.      * @access public
  217.      * @param int $index индекс строки
  218.      * @return array 
  219.      */
  220.     public function getRowProperties($index{
  221.         $result false;
  222.         if (isset($this->properties[$index]&& !empty($this->properties[$index])) {
  223.             $result $this->properties[$index];
  224.         }
  225.         return $result;
  226.     }
  227. }

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