NukeViet\Core\Request::isset_request PHP Method

isset_request() public method

Request::isset_request()
public isset_request ( mixed $names, mixed $mode, boolean $all = true )
$names mixed
$mode mixed
$all boolean
    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;
    }