Axiom (v1.2.0)

A lightweight PHP framework
H:/Workspace/php-axiom/www/php-axiom/libraries/axiom/axFieldsetHelper.class.php
Go to the documentation of this file.
00001 <?php
00018 class axFieldsetHelper extends axBaseHelper {
00019 
00024     protected $_fieldset_lines = array();
00025     
00030     public function __construct ($legend = "") {
00031         parent::__construct('fieldset');
00032         if ($legend)
00033             $this->appendChild("<legend>$legend</legend>");
00034     }
00035 
00047     public function addLine ($name, $display_name = null, $type = "text", $value = "", $class = "") {
00048         $this->appendChild($this->_fieldset_lines[$name] = axFormLineHelper::export($name, $display_name, $type, $value, $class));
00049         return $this;
00050     }
00051     
00058     public function getLine ($name) {
00059         return isset($this->_fieldset_lines[$name]) ? $this->_fieldset_lines[$name] : null;
00060     }
00061     
00068     public function setErrors (array $names) {
00069         foreach ($names as $name) {
00070             if ($line = $this->getLine($name))
00071                 $line->setClass($line->getClass() ? $line->getClass() . ' error' : 'error');
00072         }
00073         return $this;
00074     }
00075     
00084     public function autoFill ($desc) {
00085         foreach ($this->_children as &$node) {
00086             if ($node instanceof Helper) {
00087                 $name = $node->getName();
00088                 if (is_object($desc) && $desc instanceof axModel && isset($desc->$name)) {
00089                     $value = $desc->$name;
00090                 }
00091                 elseif (is_array($desc) && isset($desc[$name])) {
00092                     $value = $desc[$name];
00093                 }
00094                 else {
00095                     continue;
00096                 }
00097                 
00098                 if ($node->getType() == 'radio' || $node->getType() == 'checkbox') {
00099                     if ($node->getValue() == $value)
00100                         $node->setChecked("checked");
00101                 }
00102                 else {
00103                     $node->setValue($value);
00104                 }
00105                 
00106                 unset($name);
00107             }
00108         }
00109         return $this;
00110     }
00111     
00118     public static function export ($legend = "") {
00119         return new self ($legend);
00120     }
00121 }
 All Data Structures Files Functions Variables