function test_MAX_commonUnslashArray() { $sValue = 'abcd'; $this->assertEqual('abcd', MAX_commonUnslashArray($sValue)); $sValue = 'ab\\cd'; $this->assertEqual('abcd', MAX_commonUnslashArray($sValue)); $sValue = 'ab\\\\cd'; $this->assertEqual('ab\\cd', MAX_commonUnslashArray($sValue)); $aValue = array('abcd', 'ab\\cd', 'ab\\\\cd'); $this->assertEqual(array('abcd', 'abcd', 'ab\\cd'), MAX_commonUnslashArray($aValue)); $aValue = array('abcd', 'ab\\cd', 'ab\\\\cd', array('abcd', 'ab\\\\cd')); $this->assertEqual(array('abcd', 'abcd', 'ab\\cd', array('abcd', 'ab\\cd')), MAX_commonUnslashArray($aValue)); }
/** * This function takes an array of variable names * and makes them available in the global scope * * $_POST values take precedence over $_GET values * */ function phpAds_registerGlobalUnslashed() { $args = func_get_args(); $request = array(); while (list(, $key) = each($args)) { if (isset($_GET[$key])) { $value = $_GET[$key]; } if (isset($_POST[$key])) { $value = $_POST[$key]; } if (isset($value)) { if (ini_get('magic_quotes_gpc')) { $value = MAX_commonUnslashArray($value); } } else { $value = null; } $GLOBALS[$key] = $request[$key] = $value; unset($value); } return $request; }
/** * Recursively removes slashes from the values in an array. * * @param array Input array. * @return array Output array with values unslashed. */ function MAX_commonUnslashArray($a) { if (is_array($a)) { reset($a); while (list($k, $v) = each($a)) { $a[$k] = MAX_commonUnslashArray($v); } reset($a); return $a; } else { return stripslashes($a); } }