diff options
Diffstat (limited to 'system/libraries')
-rw-r--r-- | system/libraries/Validation.php | 20 |
1 files changed, 14 insertions, 6 deletions
diff --git a/system/libraries/Validation.php b/system/libraries/Validation.php index 84415030d..061cacc9c 100644 --- a/system/libraries/Validation.php +++ b/system/libraries/Validation.php @@ -86,8 +86,8 @@ class CI_Validation { }
foreach($this->_fields as $key => $val)
- {
- $this->$key = ( ! isset($_POST[$key]) OR is_array($_POST[$key])) ? '' : $this->prep_for_form($_POST[$key]);
+ {
+ $this->$key = ( ! isset($_POST[$key])) ? '' : $this->prep_for_form($_POST[$key]);
$error = $key.'_error';
if ( ! isset($this->$error))
@@ -659,14 +659,22 @@ class CI_Validation { * @param string
* @return string
*/
- function prep_for_form($str = '')
+ function prep_for_form($data = '')
{
- if ($this->_safe_form_data == FALSE OR $str == '')
+ if (is_array($data))
+ {
+ foreach ($data as $key => $val)
+ {
+ $data[$key] = $this->prep_for_form($val);
+ }
+ }
+
+ if ($this->_safe_form_data == FALSE OR $data == '')
{
- return $str;
+ return $data;
}
- return str_replace(array("'", '"', '<', '>'), array("'", """, '<', '>'), stripslashes($str));
+ return str_replace(array("'", '"', '<', '>'), array("'", """, '<', '>'), stripslashes($data));
}
// --------------------------------------------------------------------
|