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); } }
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); }