Source for file jFormsDataContainer.class.php

Documentation is available at jFormsDataContainer.class.php

  1. <?php
  2. /**
  3. @package     jelix
  4. @subpackage  forms
  5. @author      Laurent Jouanneau
  6. @contributor
  7. @copyright   2006-2008 Laurent Jouanneau
  8. @link        http://www.jelix.org
  9. @licence     http://www.gnu.org/licenses/lgpl.html GNU Lesser General Public Licence, see LICENCE file
  10. */
  11.  
  12. /**
  13.  * this object is a container for form data
  14.  * @package     jelix
  15.  * @subpackage  forms
  16.  */
  17. class jFormsDataContainer {
  18.     /**
  19.      * contains data provided by the user in each controls
  20.      * @var array 
  21.      */
  22.     public $data = array();
  23.     
  24.     /**
  25.      * contains data provided by the user in each controls
  26.      * @var array 
  27.      * @see jFormsBase::getModifiedControls()
  28.      * @see jFormsBase::initModifiedControlsList()
  29.      */
  30.     public $originalData = array();
  31.     
  32.     /**
  33.      * internal use. Used by controls object to store some private data. (captcha for example)
  34.      * @var array 
  35.      */
  36.     public $privateData = array();
  37.  
  38.     /**
  39.      * the instance id of the form
  40.      * @var string 
  41.      */
  42.     public $formId;
  43.     /**
  44.      * the selector of the xml file of the form
  45.      * @var jSelectorForm 
  46.      */
  47.     public $formSelector;
  48.  
  49.     /**
  50.      * list of errors detected in data
  51.      * @var array 
  52.      */
  53.     public $errors = array();
  54.  
  55.     /**
  56.      * the last date when the form has been used
  57.      * @var integer 
  58.      */
  59.     public $updatetime = 0;
  60.  
  61.     /**
  62.      * token for security against CSRF
  63.      */
  64.     public $token = '';
  65.  
  66.     /**
  67.      *
  68.      */ 
  69.     protected $readOnly = array();
  70.  
  71.     /**
  72.      *
  73.      */
  74.     protected $deactivated = array();
  75.     /**
  76.      *
  77.      * @param jSelectorForm $formSelector 
  78.      * @param string $formId 
  79.      */
  80.     function __construct($formSelector,$formId){
  81.         $this->formId = $formId;
  82.         $this->formSelector =$formSelector;
  83.     }
  84.  
  85.     function unsetData($name){
  86.         unset($this->data[$name]);
  87.     }
  88.  
  89.     function clear(){
  90.         $this->data = array();
  91.         $this->errors = array();
  92.         $this->originalData = array();
  93.         $this->privateData = array();
  94.     }
  95.  
  96.     public function deactivate($name$deactivation=true{
  97.         if($deactivation{
  98.             $this->deactivated[$name]=true;
  99.         }
  100.         else {
  101.             if(isset($this->deactivated[$name]))
  102.                 unset($this->deactivated[$name]);
  103.         }
  104.     }
  105.  
  106.     public function setReadOnly($name$readonly=true{
  107.         if($readonly{
  108.             $this->readOnly[$name]=true;
  109.         }
  110.         else {
  111.             if(isset($this->readOnly[$name]))
  112.                 unset($this->readOnly[$name]);
  113.         }
  114.     }
  115.  
  116.     /**
  117.     * check if a control is activated
  118.     * @param $name the control name
  119.     * @return boolean true if it is activated
  120.     */
  121.     public function isActivated($name{
  122.         return !isset($this->deactivated[$name]);
  123.     }
  124.  
  125.     /**
  126.     * check if a control is activated
  127.     * @param $name the control name
  128.     * @return boolean true if it is activated
  129.     */
  130.     public function isReadOnly($name{
  131.         return isset($this->readOnly[$name]);
  132.     }
  133.  
  134.  
  135. }

Documentation generated on Thu, 22 Mar 2012 22:16:05 +0100 by phpDocumentor 1.4.3