| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119 |
- <?php
- class Request {
- // @usage: Request::isHttps();
- public static function isHttps() {
- // method for previous apache: !empty($_SERVER['HTTPS']) || $_SERVER['HTTPS'] != 'on'
- // [forwarded] => 1
- // [HTTP_X_FORWARDED_PROTO] => https
- // [HTTP_X_FORWARDED_PORT] => 443
- if (!empty($_SERVER['HTTP_X_FORWARDED_PROTO']) && 'https' == $_SERVER['HTTP_X_FORWARDED_PROTO']) {
- return true;
- } else if (!empty($_SERVER['HTTPS']) && 'on' == $_SERVER['HTTPS']) {
- return true;
- }
- return false;
- }
- // @usage: Request::getHostUri();
- public static function getHostUri() {
- // return current host with protocol
- // [SCRIPT_URI] => http://biuro.biall-net.pl:34543/dev-pl/se-master/wfs-qgis.php/default_db/
- // [SCRIPT_URL] => /dev-pl/se-master/wfs-qgis.php/default_db/
- // [SCRIPT_NAME] => /dev-pl/se-master/wfs-qgis.php
- // [HTTP_HOST] => biuro.biall-net.pl
- $uri = (Request::isHttps())? 'https://' : 'http://';
- $uri .= "{$_SERVER['HTTP_HOST']}";
- return $uri;
- }
- public static function getHost() { return V::get('HTTP_HOST', '', $_SERVER); }
- // @usage: Request::getScriptUri();
- public static function getScriptUri() {
- // [SCRIPT_URI] => http://biuro.biall-net.pl:34543/dev-pl/se-master/wfs-qgis.php/default_db/
- // [SCRIPT_URL] => /dev-pl/se-master/wfs-qgis.php/default_db/
- // [SCRIPT_NAME] => /dev-pl/se-master/wfs-qgis.php
- // [HTTP_HOST] => biuro.biall-net.pl
- $uri = (Request::isHttps())? 'https://' : 'http://';
- $uri .= "{$_SERVER['HTTP_HOST']}{$_SERVER['SCRIPT_URL']}";
- return $uri;
- }
- // @usage: Request::getPathUri() . "indeks.php?..."
- public static function getPathUri() {
- // [SCRIPT_URI] => http://biuro.biall-net.pl:34543/dev-pl/se-master/wfs-qgis.php/default_db/
- // [SCRIPT_URL] => /dev-pl/se-master/wfs-qgis.php/default_db/
- // [SCRIPT_NAME] => /dev-pl/se-master/wfs-qgis.php
- // [HTTP_HOST] => biuro.biall-net.pl
- $uri = (Request::isHttps())? 'https://' : 'http://';
- $uri .= $_SERVER['HTTP_HOST'];
- $scriptPath = '';
- $scriptName = $_SERVER['SCRIPT_NAME'];
- if ('/' == substr($scriptName, -1)) {
- $scriptPath = $scriptName;
- } else {
- $scriptPathEx = explode('/', $scriptName);
- array_pop($scriptPathEx);
- $scriptPath = implode('/', $scriptPathEx) . '/';
- }
- $uri .= $scriptPath;
- return $uri;
- }
- // @usage: Request::getUriDirName() . "/index.php?...";
- public static function getUriDirName() {
- // [SCRIPT_URI] => http://biuro.biall-net.pl:34543/dev-pl/se-master/wfs-qgis.php/default_db/
- // [SCRIPT_URL] => /dev-pl/se-master/wfs-qgis.php/default_db/
- // [SCRIPT_NAME] => /dev-pl/se-master/wfs-qgis.php
- // [HTTP_HOST] => biuro.biall-net.pl
- $uri = (Request::isHttps())? 'https://' : 'http://';
- $uri .= $_SERVER['HTTP_HOST'];
- $uri .= dirname($_SERVER['SCRIPT_NAME']);
- return $uri;
- }
- // @usage: Request::getRewriteTaskPath();
- public static function getRewriteTaskPath() {
- $reqUri = $_SERVER['REQUEST_URI'];
- $reqScript = $_SERVER['SCRIPT_NAME'];
- $taskPath = str_replace($reqScript, '', $reqUri);
- return $taskPath;
- }
- // @usage: Request::getRequestBody();
- public static function getRequestBody() {
- static $requestBody = null;
- if (null === $requestBody) {
- $requestBody = file_get_contents("php://input");
- }
- return $requestBody;
- }
- // @usage: Request::getRequestJson();
- public static function getRequestJson() {
- static $requestJson = null;
- $body = Request::getRequestBody();
- if (!empty($body)) {
- $requestJson = @json_decode($body, $assoc = true);
- if (null == $requestJson && 0 !== json_last_error()) throw new Exception("Error Parsing Json from Request" . json_last_error());
- }
- return $requestJson;
- }
- // @usage: Request::getUserIp();
- public static function getUserIp() {
- static $ip = null;
- if (null !== $ip) return $ip;
- if (isset($_SERVER['HTTP_CLIENT_IP'])) $ip = $_SERVER['HTTP_CLIENT_IP'];
- else if (isset($_SERVER['HTTP_X_FORWARDED_FOR'])) $ip = $_SERVER['HTTP_X_FORWARDED_FOR'];
- else if (isset($_SERVER['HTTP_X_FORWARDED'])) $ip = $_SERVER['HTTP_X_FORWARDED'];
- else if (isset($_SERVER['HTTP_FORWARDED_FOR'])) $ip = $_SERVER['HTTP_FORWARDED_FOR'];
- else if (isset($_SERVER['HTTP_FORWARDED'])) $ip = $_SERVER['HTTP_FORWARDED'];
- else if (isset($_SERVER['REMOTE_ADDR'])) $ip = $_SERVER['REMOTE_ADDR'];
- else $ip = 'UNKNOWN';
- return $ip;
- }
- }
|