NukeViet\Core\Request::unset_request PHP Метод

unset_request() публичный Метод

Request::unset_request()
public unset_request ( mixed $names, mixed $mode )
$names mixed
$mode mixed
    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 . "']);");
                }
            }
        }
    }