diff options
author | Frederic Guillot <fred@kanboard.net> | 2016-03-04 20:10:34 -0500 |
---|---|---|
committer | Frederic Guillot <fred@kanboard.net> | 2016-03-04 20:10:34 -0500 |
commit | 8f3e2b2e5c62a6130f6c8867ab335fb4c1a32c5c (patch) | |
tree | ce28cdc2dba9c31560ef753ac1b4dc39d567b7a6 /app/Helper/Form.php | |
parent | f32507d423c46e8e9612b5239728e6c617e4cbcb (diff) |
Helper refactoring
Diffstat (limited to 'app/Helper/Form.php')
-rw-r--r-- | app/Helper/Form.php | 362 |
1 files changed, 0 insertions, 362 deletions
diff --git a/app/Helper/Form.php b/app/Helper/Form.php deleted file mode 100644 index bfd75ee3..00000000 --- a/app/Helper/Form.php +++ /dev/null @@ -1,362 +0,0 @@ -<?php - -namespace Kanboard\Helper; - -use Kanboard\Core\Base; - -/** - * Form helpers - * - * @package helper - * @author Frederic Guillot - */ -class Form extends Base -{ - /** - * Hidden CSRF token field - * - * @access public - * @return string - */ - public function csrf() - { - return '<input type="hidden" name="csrf_token" value="'.$this->token->getCSRFToken().'"/>'; - } - - /** - * Display a hidden form field - * - * @access public - * @param string $name Field name - * @param array $values Form values - * @return string - */ - public function hidden($name, array $values = array()) - { - return '<input type="hidden" name="'.$name.'" id="form-'.$name.'" '.$this->formValue($values, $name).'/>'; - } - - /** - * Display a select field - * - * @access public - * @param string $name Field name - * @param array $options Options - * @param array $values Form values - * @param array $errors Form errors - * @param string $class CSS class - * @return string - */ - public function select($name, array $options, array $values = array(), array $errors = array(), array $attributes = array(), $class = '') - { - $html = '<select name="'.$name.'" id="form-'.$name.'" class="'.$class.'" '.implode(' ', $attributes).'>'; - - foreach ($options as $id => $value) { - $html .= '<option value="'.$this->helper->e($id).'"'; - - if (isset($values->$name) && $id == $values->$name) { - $html .= ' selected="selected"'; - } - if (isset($values[$name]) && $id == $values[$name]) { - $html .= ' selected="selected"'; - } - - $html .= '>'.$this->helper->e($value).'</option>'; - } - - $html .= '</select>'; - $html .= $this->errorList($errors, $name); - - return $html; - } - - /** - * Display a radio field group - * - * @access public - * @param string $name Field name - * @param array $options Options - * @param array $values Form values - * @return string - */ - public function radios($name, array $options, array $values = array()) - { - $html = ''; - - foreach ($options as $value => $label) { - $html .= $this->radio($name, $label, $value, isset($values[$name]) && $values[$name] == $value); - } - - return $html; - } - - /** - * Display a radio field - * - * @access public - * @param string $name Field name - * @param string $label Form label - * @param string $value Form value - * @param boolean $selected Field selected or not - * @param string $class CSS class - * @return string - */ - public function radio($name, $label, $value, $selected = false, $class = '') - { - return '<label><input type="radio" name="'.$name.'" class="'.$class.'" value="'.$this->helper->e($value).'" '.($selected ? 'checked="checked"' : '').'> '.$this->helper->e($label).'</label>'; - } - - /** - * Display a checkboxes group - * - * @access public - * @param string $name Field name - * @param array $options Options - * @param array $values Form values - * @return string - */ - public function checkboxes($name, array $options, array $values = array()) - { - $html = ''; - - foreach ($options as $value => $label) { - $html .= $this->checkbox($name.'['.$value.']', $label, $value, isset($values[$name]) && in_array($value, $values[$name])); - } - - return $html; - } - - /** - * Display a checkbox field - * - * @access public - * @param string $name Field name - * @param string $label Form label - * @param string $value Form value - * @param boolean $checked Field selected or not - * @param string $class CSS class - * @return string - */ - public function checkbox($name, $label, $value, $checked = false, $class = '') - { - return '<label><input type="checkbox" name="'.$name.'" class="'.$class.'" value="'.$this->helper->e($value).'" '.($checked ? 'checked="checked"' : '').'> '.$this->helper->e($label).'</label>'; - } - - /** - * Display a form label - * - * @access public - * @param string $name Field name - * @param string $label Form label - * @param array $attributes HTML attributes - * @return string - */ - public function label($label, $name, array $attributes = array()) - { - return '<label for="form-'.$name.'" '.implode(' ', $attributes).'>'.$this->helper->e($label).'</label>'; - } - - /** - * Display a textarea - * - * @access public - * @param string $name Field name - * @param array $values Form values - * @param array $errors Form errors - * @param array $attributes HTML attributes - * @param string $class CSS class - * @return string - */ - public function textarea($name, $values = array(), array $errors = array(), array $attributes = array(), $class = '') - { - $class .= $this->errorClass($errors, $name); - - $html = '<textarea name="'.$name.'" id="form-'.$name.'" class="'.$class.'" '; - $html .= implode(' ', $attributes).'>'; - $html .= isset($values->$name) ? $this->helper->e($values->$name) : isset($values[$name]) ? $values[$name] : ''; - $html .= '</textarea>'; - $html .= $this->errorList($errors, $name); - - return $html; - } - - /** - * Display file field - * - * @access public - * @param string $name - * @param array $errors - * @param boolean $multiple - * @return string - */ - public function file($name, array $errors = array(), $multiple = false) - { - $html = '<input type="file" name="'.$name.'" id="form-'.$name.'" '.($multiple ? 'multiple' : '').'>'; - $html .= $this->errorList($errors, $name); - - return $html; - } - - /** - * Display a input field - * - * @access public - * @param string $type HMTL input tag type - * @param string $name Field name - * @param array $values Form values - * @param array $errors Form errors - * @param array $attributes HTML attributes - * @param string $class CSS class - * @return string - */ - public function input($type, $name, $values = array(), array $errors = array(), array $attributes = array(), $class = '') - { - $class .= $this->errorClass($errors, $name); - - $html = '<input type="'.$type.'" name="'.$name.'" id="form-'.$name.'" '.$this->formValue($values, $name).' class="'.$class.'" '; - $html .= implode(' ', $attributes).'>'; - - if (in_array('required', $attributes)) { - $html .= '<span class="form-required">*</span>'; - } - - $html .= $this->errorList($errors, $name); - - return $html; - } - - /** - * Display a text field - * - * @access public - * @param string $name Field name - * @param array $values Form values - * @param array $errors Form errors - * @param array $attributes HTML attributes - * @param string $class CSS class - * @return string - */ - public function text($name, $values = array(), array $errors = array(), array $attributes = array(), $class = '') - { - return $this->input('text', $name, $values, $errors, $attributes, $class); - } - - /** - * Display a password field - * - * @access public - * @param string $name Field name - * @param array $values Form values - * @param array $errors Form errors - * @param array $attributes HTML attributes - * @param string $class CSS class - * @return string - */ - public function password($name, $values = array(), array $errors = array(), array $attributes = array(), $class = '') - { - return $this->input('password', $name, $values, $errors, $attributes, $class); - } - - /** - * Display an email field - * - * @access public - * @param string $name Field name - * @param array $values Form values - * @param array $errors Form errors - * @param array $attributes HTML attributes - * @param string $class CSS class - * @return string - */ - public function email($name, $values = array(), array $errors = array(), array $attributes = array(), $class = '') - { - return $this->input('email', $name, $values, $errors, $attributes, $class); - } - - /** - * Display a number field - * - * @access public - * @param string $name Field name - * @param array $values Form values - * @param array $errors Form errors - * @param array $attributes HTML attributes - * @param string $class CSS class - * @return string - */ - public function number($name, $values = array(), array $errors = array(), array $attributes = array(), $class = '') - { - return $this->input('number', $name, $values, $errors, $attributes, $class); - } - - /** - * Display a numeric field (allow decimal number) - * - * @access public - * @param string $name Field name - * @param array $values Form values - * @param array $errors Form errors - * @param array $attributes HTML attributes - * @param string $class CSS class - * @return string - */ - public function numeric($name, $values = array(), array $errors = array(), array $attributes = array(), $class = '') - { - return $this->input('text', $name, $values, $errors, $attributes, $class.' form-numeric'); - } - - /** - * Display the form error class - * - * @access private - * @param array $errors Error list - * @param string $name Field name - * @return string - */ - private function errorClass(array $errors, $name) - { - return ! isset($errors[$name]) ? '' : ' form-error'; - } - - /** - * Display a list of form errors - * - * @access private - * @param array $errors List of errors - * @param string $name Field name - * @return string - */ - private function errorList(array $errors, $name) - { - $html = ''; - - if (isset($errors[$name])) { - $html .= '<ul class="form-errors">'; - - foreach ($errors[$name] as $error) { - $html .= '<li>'.$this->helper->e($error).'</li>'; - } - - $html .= '</ul>'; - } - - return $html; - } - - /** - * Get an escaped form value - * - * @access private - * @param mixed $values Values - * @param string $name Field name - * @return string - */ - private function formValue($values, $name) - { - if (isset($values->$name)) { - return 'value="'.$this->helper->e($values->$name).'"'; - } - - return isset($values[$name]) ? 'value="'.$this->helper->e($values[$name]).'"' : ''; - } -} |