summaryrefslogtreecommitdiff
path: root/app/Helper/Form.php
diff options
context:
space:
mode:
Diffstat (limited to 'app/Helper/Form.php')
-rw-r--r--app/Helper/Form.php362
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"' : '').'>&nbsp;'.$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]).'"' : '';
- }
-}