Exemplo n.º 1
0
 protected function init(&$param)
 {
     parent::init($param);
     if (isset($param['maxlength']) && $param['maxlength'] > 0) {
         $this->maxlength = (int) $param['maxlength'];
     }
     if (mb_strlen($this->value) > $this->maxlength) {
         $this->value = mb_substr($this->value, 0, $this->maxlength);
     }
 }
Exemplo n.º 2
0
 protected function init(&$param)
 {
     if (empty($param['disabled']) && empty($param['readonly']) && !empty($param['multiple']) && isset($param['default'])) {
         $this->default = $param['default'];
         unset($param['default']);
     }
     if (isset($param['firstItem'])) {
         $this->firstItem = $param['firstItem'];
     }
     if (isset($param['item'])) {
         $this->item =& $param['item'];
     } else {
         if (isset($param['sql'])) {
             $param['loop'] = new loop_sql($param['sql']);
         }
         if (isset($param['loop'])) {
             $this->length = 0;
             $this->item = array();
             while ($v =& $param['loop']->loop()) {
                 if (!empty($v->G)) {
                     if (isset($this->item[$v->G])) {
                         $this->item[$v->G][$v->K] =& $v->V;
                     } else {
                         $this->item[$v->G] = array($v->K => &$v->V);
                         $this->length += 2;
                     }
                 } else {
                     $this->item[$v->K] =& $v->V;
                 }
                 $this->length += 1;
             }
         }
     }
     if (!isset($param['valid'])) {
         $param['valid'] = 'in_array';
         $param[0] = array();
         $this->length = 0;
         foreach ($this->item as $k => &$v) {
             if (is_array($v)) {
                 foreach ($v as $k => &$v) {
                     if (is_object($v)) {
                         if (empty($v->disabled)) {
                             unset($v->disabled);
                         } else {
                             $k = false;
                         }
                     }
                     false !== $k && ($param[0][] = $k);
                     ++$this->length;
                 }
             } else {
                 if (is_object($v)) {
                     if (empty($v->disabled)) {
                         unset($v->disabled);
                     } else {
                         $k = false;
                     }
                 }
                 false !== $k && ($param[0][] = $k);
                 ++$this->length;
             }
         }
     }
     parent::init($param);
 }