Source for file jFormsControlChoice.class.php

Documentation is available at jFormsControlChoice.class.php

  1. <?php
  2. /**
  3. @package     jelix
  4. @subpackage  forms
  5. @author      Laurent Jouanneau
  6. @contributor Julien Issler
  7. @copyright   2006-2009 Laurent Jouanneau
  8. @copyright   2010 Julien Issler
  9. @link        http://www.jelix.org
  10. @licence     http://www.gnu.org/licenses/lgpl.html GNU Lesser General Public Licence, see LICENCE file
  11. */
  12.  
  13.  
  14. /**
  15.  * choice
  16.  * @package     jelix
  17.  * @subpackage  forms
  18.  */
  19. class jFormsControlChoice extends jFormsControlGroups {
  20.  
  21.     public $type="choice";
  22.  
  23.     /**
  24.      * list of item. Each value is an array which contains corresponding controls of the item
  25.      * an item could not have controls, in this case its value is an empty array
  26.      */
  27.     public $items = array();
  28.  
  29.     public $itemsNames = array();
  30.  
  31.     function check(){
  32.         $val $this->container->data[$this->ref];
  33.         if($val !== "" && $val !== null && isset($this->items[$val])) {
  34.             $rv null;
  35.             foreach($this->items[$valas $ctrl{
  36.                 if (($rv2 $ctrl->check()) !== null{
  37.                     $rv $rv2;
  38.                 }
  39.             }
  40.             return $rv;
  41.         else if ($this->required{
  42.             return $this->container->errors[$this->refjForms::ERRDATA_INVALID;
  43.         }
  44.         return null;
  45.     }
  46.  
  47.     function createItem($value$label{
  48.         $this->items[$valuearray();
  49.         $this->itemsNames[$value]$label;
  50.     }
  51.  
  52.     function addChildControl($control$itemValue ''{
  53.         $this->childControls[$control->ref$control;
  54.         $this->items[$itemValue][$control->ref$control;
  55.     }
  56.  
  57.     function setValueFromRequest($request{
  58.         $this->setData($request->getParam($this->ref,''));
  59.         if(isset($this->items[$this->container->data[$this->ref]])){
  60.             foreach($this->items[$this->container->data[$this->ref]] as $name=>$ctrl{
  61.                 $ctrl->setValueFromRequest($request);
  62.             }
  63.         }
  64.     }
  65. }

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