function &attAspisR(&$ret, $function = NULL) { if (is_array($ret)) { $currentkey = key($ret); foreach ($ret as $key => &$value) { $value = attAspisR($value, $function); $value[] = false; //the key's taint } unset($value); if ($currentkey !== NULL) { reset($ret); while (key($ret) !== $currentkey) { next($ret); } } } else { if (is_object($ret) && ($function === "mysql_fetch_field" || $function === "mysql_fetch_object")) { $currentkey = key($ret); foreach ($ret as $key => &$value) { if (is_object($value)) { continue; } $value = attAspisR($value, $function); $value[] = false; //the key's taint } unset($value); if ($currentkey !== NULL) { reset($ret); while (key($ret) !== $currentkey) { next($ret); } } // $ret=new AspisProxy($ret,true); } } $ret = array($ret, false); return $ret; }
function Aspis_array_multisort6(&$array, $p1, $p2, $p3, $p4, $p5) { $array =& deAspisR($array); $res = array_multisort($array, $p1[0], $p2[0], $p3[0], $p4[0], $p5[0]); $array =& attAspisR($array); return array($res, 0); }