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.         $this->readOnly = array();
  99.         $this->deactivated = array();
  100.     }
  101.  
  102.     public function deactivate($name$deactivation=true{
  103.         if($deactivation{
  104.             $this->deactivated[$name]=true;
  105.         }
  106.         else {
  107.             if(isset($this->deactivated[$name]))
  108.                 unset($this->deactivated[$name]);
  109.         }
  110.     }
  111.  
  112.     public function setReadOnly($name$readonly=true{
  113.         if($readonly{
  114.             $this->readOnly[$name]=true;
  115.         }
  116.         else {
  117.             if(isset($this->readOnly[$name]))
  118.                 unset($this->readOnly[$name]);
  119.         }
  120.     }
  121.  
  122.     /**
  123.     * check if a control is activated
  124.     * @param string $name the control name
  125.     * @return boolean true if it is activated
  126.     */
  127.     public function isActivated($name{
  128.         return !isset($this->deactivated[$name]);
  129.     }
  130.  
  131.     /**
  132.     * check if a control is activated
  133.     * @param string $name the control name
  134.     * @return boolean true if it is activated
  135.     */
  136.     public function isReadOnly($name{
  137.         return isset($this->readOnly[$name]);
  138.     }
  139.  
  140.  
  141. }

Documentation generated on Thu, 19 Sep 2013 00:05:17 +0200 by phpDocumentor 1.4.3