summaryrefslogtreecommitdiffstats
path: root/system/helpers/form_helper.php
diff options
context:
space:
mode:
authorAndrey Andreev <narf@devilix.net>2015-07-15 15:04:29 +0200
committerAndrey Andreev <narf@devilix.net>2015-07-15 15:04:29 +0200
commit77034eaf8a834104dbb46a7862f1162e30064c67 (patch)
tree604c4bb83ff83c8e95e67b2520c3d1dace4d2901 /system/helpers/form_helper.php
parent8fda540b0d3098ec882b36d1c2492db0ee5031f0 (diff)
parent0c75c8219e42cf629036f73944901bd9f1f286bf (diff)
Merge branch 'feature/form_helper' of github.com:darkhouse/CodeIgniter into feature/form_helpers_extra_array
Manually fixed conflicts in: user_guide_src/source/changelog.rst
Diffstat (limited to 'system/helpers/form_helper.php')
-rw-r--r--system/helpers/form_helper.php38
1 files changed, 28 insertions, 10 deletions
diff --git a/system/helpers/form_helper.php b/system/helpers/form_helper.php
index 53ee8eb11..f8c6a9dde 100644
--- a/system/helpers/form_helper.php
+++ b/system/helpers/form_helper.php
@@ -197,7 +197,7 @@ if ( ! function_exists('form_input'))
*
* @param mixed
* @param string
- * @param string
+ * @param mixed
* @return string
*/
function form_input($data = '', $value = '', $extra = '')
@@ -208,6 +208,8 @@ if ( ! function_exists('form_input'))
'value' => $value
);
+ $extra = _attributes_to_string($extra);
+
return '<input '._parse_form_attributes($data, $defaults).$extra." />\n";
}
}
@@ -223,7 +225,7 @@ if ( ! function_exists('form_password'))
*
* @param mixed
* @param string
- * @param string
+ * @param mixed
* @return string
*/
function form_password($data = '', $value = '', $extra = '')
@@ -245,7 +247,7 @@ if ( ! function_exists('form_upload'))
*
* @param mixed
* @param string
- * @param string
+ * @param mixed
* @return string
*/
function form_upload($data = '', $value = '', $extra = '')
@@ -253,6 +255,9 @@ if ( ! function_exists('form_upload'))
$defaults = array('type' => 'file', 'name' => '');
is_array($data) OR $data = array('name' => $data);
$data['type'] = 'file';
+
+ $extra = _attributes_to_string($extra);
+
return '<input '._parse_form_attributes($data, $defaults).$extra." />\n";
}
}
@@ -266,7 +271,7 @@ if ( ! function_exists('form_textarea'))
*
* @param mixed $data
* @param string $value
- * @param string $extra
+ * @param mixed $extra
* @return string
*/
function form_textarea($data = '', $value = '', $extra = '')
@@ -287,6 +292,8 @@ if ( ! function_exists('form_textarea'))
unset($data['value']); // textareas don't use the value attribute
}
+ $extra = _attributes_to_string($extra);
+
return '<textarea '._parse_form_attributes($data, $defaults).$extra.'>'.html_escape($val)."</textarea>\n";
}
}
@@ -301,11 +308,13 @@ if ( ! function_exists('form_multiselect'))
* @param string
* @param array
* @param mixed
- * @param string
+ * @param mixed
* @return string
*/
function form_multiselect($name = '', $options = array(), $selected = array(), $extra = '')
{
+ $extra = _attributes_to_string($extra);
+
if ( ! strpos($extra, 'multiple'))
{
$extra .= ' multiple="multiple"';
@@ -420,7 +429,7 @@ if ( ! function_exists('form_checkbox'))
* @param mixed
* @param string
* @param bool
- * @param string
+ * @param mixed
* @return string
*/
function form_checkbox($data = '', $value = '', $checked = FALSE, $extra = '')
@@ -450,6 +459,8 @@ if ( ! function_exists('form_checkbox'))
unset($defaults['checked']);
}
+ $extra = _attributes_to_string($extra);
+
return '<input '._parse_form_attributes($data, $defaults).$extra." />\n";
}
}
@@ -464,13 +475,14 @@ if ( ! function_exists('form_radio'))
* @param mixed
* @param string
* @param bool
- * @param string
+ * @param mixed
* @return string
*/
function form_radio($data = '', $value = '', $checked = FALSE, $extra = '')
{
is_array($data) OR $data = array('name' => $data);
$data['type'] = 'radio';
+
return form_checkbox($data, $value, $checked, $extra);
}
}
@@ -484,7 +496,7 @@ if ( ! function_exists('form_submit'))
*
* @param mixed
* @param string
- * @param string
+ * @param mixed
* @return string
*/
function form_submit($data = '', $value = '', $extra = '')
@@ -495,6 +507,8 @@ if ( ! function_exists('form_submit'))
'value' => $value
);
+ $extra = _attributes_to_string($extra);
+
return '<input '._parse_form_attributes($data, $defaults).$extra." />\n";
}
}
@@ -508,7 +522,7 @@ if ( ! function_exists('form_reset'))
*
* @param mixed
* @param string
- * @param string
+ * @param mixed
* @return string
*/
function form_reset($data = '', $value = '', $extra = '')
@@ -519,6 +533,8 @@ if ( ! function_exists('form_reset'))
'value' => $value
);
+ $extra = _attributes_to_string($extra);
+
return '<input '._parse_form_attributes($data, $defaults).$extra." />\n";
}
}
@@ -532,7 +548,7 @@ if ( ! function_exists('form_button'))
*
* @param mixed
* @param string
- * @param string
+ * @param mixed
* @return string
*/
function form_button($data = '', $content = '', $extra = '')
@@ -548,6 +564,8 @@ if ( ! function_exists('form_button'))
unset($data['content']); // content is not an attribute
}
+ $extra = _attributes_to_string($extra);
+
return '<button '._parse_form_attributes($data, $defaults).$extra.'>'.$content."</button>\n";
}
}