public function unset_request($names, $mode)
{
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;
}
$mode = $this->parse_mode($mode);
foreach ($mode as $arr) {
if ($arr == 'cookie') {
foreach ($names as $name) {
if (empty($name)) {
continue;
}
$name2 = $this->cookie_prefix . '_' . $name;
if (!isset($_COOKIE[$name2])) {
continue;
}
$expire = NV_CURRENTTIME - 3600;
$result = setcookie($name2, '', $expire, $this->cookie_path, $this->cookie_domain, $this->secure, $this->httponly);
unset($_COOKIE[$name2]);
}
} elseif ($arr == 'session') {
if (!$this->is_session_start) {
$this->sessionStart();
}
foreach ($names as $name) {
if (empty($name)) {
continue;
}
$name2 = $this->session_prefix . '_' . $name;
if (!isset($_SESSION[$name2])) {
continue;
}
unset($_SESSION[$name2]);
}
} else {
foreach ($names as $name) {
if (empty($name)) {
continue;
}
eval("unset(\$_" . strtoupper($arr) . "['" . $name . "']);");
}
}
}
}