public function render($attr = array()) { parent::mergeAttr($attr); $selected = isset($attr['value']) ? A_Html_Form_Select::_toArray($attr['value']) : array(); unset($attr['value']); $values = A_Html_Form_Select::_toArray($attr['values']); if (empty($attr['labels'])) { $attr['labels'] = $values; } $this->removeAttr($attr, 'values'); $labels = A_Html_Form_Select::_toArray($attr['labels']); $this->removeAttr($attr, 'labels'); if (isset($attr['multiple']) || count($selected) > 1) { $attr['name'] .= '[]'; $attr['multiple'] = 'multiple'; // multiple sends array } $str = ''; foreach ($values as $value) { $str .= '<option value="' . $value . '"'; if (in_array($value, $selected)) { $str .= ' selected="selected"'; } $str .= '>' . current($labels) . "</option>"; next($labels); } return parent::render('select', $attr, $str); }
public function render($attr = array(), $content = '') { if (isset($this)) { $content .= $this->partial($attr); } parent::mergeAttr($attr); return parent::render('form', $attr, $content); }
public function render($attr = array(), $str = '') { parent::mergeAttr($attr); if (!$str && isset($attr['value'])) { $str = $attr['value']; unset($attr['value']); } unset($attr['type']); return parent::render('span', $attr, $str); }
public function render($attr = array()) { parent::mergeAttr($attr); parent::defaultAttr($attr, array('type' => 'hidden', 'value' => '')); if (isset($attr['print'])) { $print = $attr['value']; $this->removeAttr($attr, 'print'); } else { $print = ''; } return parent::render('input', $attr) . $print; }
public function render($attr = array(), $str = '', $href = null) { if ($href !== null) { $attr['href'] = $href; } parent::mergeAttr($attr); if (!$str && isset($attr['value'])) { $str = $attr['value']; unset($attr['value']); } unset($attr['type']); return A_Html_Tag::render('a', $attr, $str); }
public function render($attr = array()) { parent::mergeAttr($attr); // normalize values to an array of values for checkboxes if (isset($attr['value'])) { if (!is_array($attr['value'])) { $attr['value'] = array($attr['value']); } } else { $attr['value'] = array(); } // use values as labels if no labels if (!isset($attr['labels']) || !$attr['labels']) { $attr['labels'] =& $attr['values']; } if ($attr['type'] == 'checkbox' && isset($attr['name']) && $attr['name']) { if (substr($attr['name'], -2) != '[]') { $attr['name'] .= '[]'; // checkboxes send array } } if (!isset($attr['separator'])) { $attr['separator'] = ''; } // if single value instead of array of values then make single tag if (!isset($attr['values'])) { $attr['values'][0] = $attr['value'][0]; unset($attr['value']); } $value = isset($attr['value']) ? $attr['value'] : array(); unset($attr['value']); $values = isset($attr['values']) ? $attr['values'] : array(); unset($attr['values']); $labels = isset($attr['labels']) ? $attr['labels'] : array(); unset($attr['labels']); $separator = isset($attr['separator']) ? $attr['separator'] : ''; unset($attr['separator']); $options = array(); $n = count($values); for ($i = 0; $i < $n; $i++) { $attr['value'] = $values[$i]; if (in_array($values[$i], $value)) { $attr['checked'] = "checked"; } else { unset($attr['checked']); } $options[$i] = parent::render('input', $attr) . (isset($labels[$i]) ? $labels[$i] : ''); } return implode($separator, $options); }
public function render($attr = array(), $str = '') { parent::mergeAttr($attr); if (!$str && isset($attr['value'])) { $str = $attr['value']; unset($attr['value']); } unset($attr['type']); // label uses for instead of name because it refers to another field if (!isset($attr['for']) && isset($attr['name'])) { $attr['for'] = $attr['name']; unset($attr['name']); } return parent::render('label', $attr, $str); }
public function render($attr = array()) { parent::mergeAttr($attr); parent::defaultAttr($attr, array('type' => 'button', 'value' => '')); return parent::render('input', $attr); }
public function render($attr = array()) { parent::mergeAttr($attr); parent::defaultAttr($attr, array('type' => 'submit')); return parent::render('input', $attr); }