public function isset_request($names, $mode, $all = true)
{
if (empty($names)) {
return array();
}
$names = ',' . $names;
unset($matches);
preg_match_all("/\\,\\s*([a-zA-Z\\_]{1}[a-zA-Z0-9\\_]*)/", $names, $matches);
$names = $matches[1];
if (empty($names)) {
return false;
}
$names = array_flip($names);
$mode = $this->parse_mode($mode);
foreach ($mode as $arr) {
if ($arr == 'cookie') {
$array_keys = array_keys($names);
foreach ($array_keys as $name) {
if (isset($_COOKIE[$this->cookie_prefix . '_' . $name])) {
if (empty($all)) {
return true;
}
unset($names[$name]);
}
}
} elseif ($arr == 'session') {
if (!$this->is_session_start) {
$this->sessionStart();
}
$array_keys = array_keys($names);
foreach ($array_keys as $name) {
if (isset($_SESSION[$this->session_prefix . '_' . $name])) {
if (empty($all)) {
return true;
}
unset($names[$name]);
}
}
} else {
$array_keys = array_keys($names);
foreach ($array_keys as $name) {
$eval = "if (isset(\$_" . strtoupper($arr) . "['" . $name . "']))\n";
$eval .= "{\n";
$eval .= "if(empty(\$all)) return true;\n";
$eval .= "\tunset(\$names['" . $name . "']);\n";
$eval .= "}";
eval($eval);
}
}
}
if (!empty($names)) {
return false;
}
return true;
}