diff --git a/lib/weblib.php b/lib/weblib.php index 81b0a2da7d2..6993c8eef97 100644 --- a/lib/weblib.php +++ b/lib/weblib.php @@ -497,21 +497,27 @@ function stripslashes_safe($mixed) { * @return mixed */ function stripslashes_recursive($var) { - if(is_object($var)) { + if (is_object($var)) { + $new_var = new object(); $properties = get_object_vars($var); foreach($properties as $property => $value) { - $var->$property = stripslashes_recursive($value); + $new_var->$property = stripslashes_recursive($value); } - } - else if(is_array($var)) { + + } else if(is_array($var)) { + $new_var = array(); foreach($var as $property => $value) { - $var[$property] = stripslashes_recursive($value); + $new_var[$property] = stripslashes_recursive($value); } + + } else if(is_string($var)) { + $new_var = stripslashes($var); + + } else { + $new_var = $var; } - else if(is_string($var)) { - $var = stripslashes($var); - } - return $var; + + return $new_var; } /** @@ -526,21 +532,27 @@ function stripslashes_recursive($var) { * @return mixed */ function addslashes_recursive($var) { - if(is_object($var)) { + if (is_object($var)) { + $new_var = new object(); $properties = get_object_vars($var); foreach($properties as $property => $value) { - $var->$property = addslashes_recursive($value); + $new_var->$property = addslashes_recursive($value); } - } - else if(is_array($var)) { + + } else if (is_array($var)) { + $new_var = array(); foreach($var as $property => $value) { - $var[$property] = addslashes_recursive($value); + $new_var[$property] = addslashes_recursive($value); } + + } else if (is_string($var)) { + $new_var = addslashes($var); + + } else { + $new_var = $var; } - else if(is_string($var)) { - $var = addslashes($var); - } - return $var; + + return $new_var; } /** @@ -6157,6 +6169,12 @@ function debugging($message='', $level=DEBUG_NORMAL) { $callers = debug_backtrace(); $from = '