PhpSandbox\PHPSandbox::_get_superglobal PHP Méthode

_get_superglobal() public méthode

Get PHPSandbox redefined superglobal. This is an internal PHPSandbox function but requires public access to work.
public _get_superglobal ( string $name ) : array
$name string Requested superglobal name (e.g. _GET, _POST, etc.)
Résultat array Returns the redefined superglobal
    public function _get_superglobal($name)
    {
        $original_name = strtoupper($name);
        $name = $this->normalizeSuperglobal($name);
        if (isset($this->definitions['superglobals'][$name])) {
            $superglobal = $this->definitions['superglobals'][$name];
            if (is_callable($superglobal)) {
                return call_user_func_array($superglobal, [$this]);
            }
            return $superglobal;
        } else {
            if (isset($this->whitelist['superglobals'][$name])) {
                if (count($this->whitelist['superglobals'][$name])) {
                    if (isset($GLOBALS[$original_name])) {
                        $whitelisted_superglobal = [];
                        foreach ($this->whitelist['superglobals'][$name] as $key => $value) {
                            if (isset($GLOBALS[$original_name][$key])) {
                                $whitelisted_superglobal[$key] = $GLOBALS[$original_name][$key];
                            }
                        }
                        return $whitelisted_superglobal;
                    }
                } else {
                    if (isset($GLOBALS[$original_name])) {
                        return $GLOBALS[$original_name];
                    }
                }
            } else {
                if (isset($this->blacklist['superglobals'][$name])) {
                    if (count($this->blacklist['superglobals'][$name])) {
                        if (isset($GLOBALS[$original_name])) {
                            $blacklisted_superglobal = $GLOBALS[$original_name];
                            foreach ($this->blacklist['superglobals'][$name] as $key => $value) {
                                if (isset($blacklisted_superglobal[$key])) {
                                    unset($blacklisted_superglobal[$key]);
                                }
                            }
                            return $blacklisted_superglobal;
                        }
                    }
                }
            }
        }
        return [];
    }
PHPSandbox