protected function Server::get_variable in Anti Spam by CleanTalk 8.4
Same name and namespace in other branches
- 9.1.x src/lib/Cleantalk/Common/Variables/Server.php \Cleantalk\Common\Variables\Server::get_variable()
* Gets given $_SERVER variable and save it to memory * *
Parameters
string $name: * * @return mixed|string
Overrides SuperGlobalVariables::get_variable
File
- src/
lib/ Cleantalk/ Common/ Variables/ Server.php, line 22
Class
- Server
- Class Server Wrapper to safely get $_SERVER variables
Namespace
Cleantalk\Common\VariablesCode
protected function get_variable($name) {
// Return from memory. From $this->server
if (isset(static::$instance->variables[$name])) {
return static::$instance->variables[$name];
}
$name = strtoupper($name);
if (function_exists('filter_input')) {
$value = filter_input(INPUT_SERVER, $name);
}
if (empty($value)) {
$value = isset($_SERVER[$name]) ? $_SERVER[$name] : '';
}
// Convert to upper case for REQUEST_METHOD
if (in_array($name, array(
'REQUEST_METHOD',
))) {
$value = strtoupper($value);
}
// Convert to lower case for REQUEST_METHOD
if (in_array($name, array(
'HTTPS',
))) {
$value = strtolower($value);
}
// Convert HTML chars for HTTP_USER_AGENT, HTTP_USER_AGENT, SERVER_NAME
if (in_array($name, array(
'HTTP_USER_AGENT',
'HTTP_USER_AGENT',
'SERVER_NAME',
))) {
$value = htmlspecialchars($value);
}
// Remember for thurther calls
static::getInstance()
->remember_variable($name, $value);
return $value;
}