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

Documentation generated on Mon, 19 Sep 2011 14:12:56 +0200 by phpDocumentor 1.4.3