From 99ce7ba1df52334f11c6b97c3f24d0ed31c8f6d0 Mon Sep 17 00:00:00 2001 From: Bart Visscher Date: Mon, 6 Aug 2012 22:16:45 +0200 Subject: [PATCH] Move serverHost and serverProtocol functions to OC_Request --- lib/base.php | 4 ++-- lib/helper.php | 48 +-------------------------------------------- lib/public/util.php | 4 ++-- lib/request.php | 45 ++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 50 insertions(+), 51 deletions(-) diff --git a/lib/base.php b/lib/base.php index 8f7544de1f..c3887dec2f 100644 --- a/lib/base.php +++ b/lib/base.php @@ -185,8 +185,8 @@ class OC{ // redirect to https site if configured if( OC_Config::getValue( "forcessl", false )){ ini_set("session.cookie_secure", "on"); - if(OC_Helper::serverProtocol()<>'https' and !OC::$CLI) { - $url = "https://". OC_Helper::serverHost() . $_SERVER['REQUEST_URI']; + if(OC_Request::serverProtocol()<>'https' and !OC::$CLI) { + $url = "https://". OC_Request::serverHost() . $_SERVER['REQUEST_URI']; header("Location: $url"); exit(); } diff --git a/lib/helper.php b/lib/helper.php index c404f6e544..8c362747a2 100644 --- a/lib/helper.php +++ b/lib/helper.php @@ -64,52 +64,6 @@ class OC_Helper { return $urlLinkTo; } - /** - * @brief Returns the server host - * @returns the server host - * - * Returns the server host, even if the website uses one or more - * reverse proxies - */ - public static function serverHost() { - if(OC::$CLI){ - return 'localhost'; - } - if (isset($_SERVER['HTTP_X_FORWARDED_HOST'])) { - if (strpos($_SERVER['HTTP_X_FORWARDED_HOST'], ",") !== false) { - $host = trim(array_pop(explode(",", $_SERVER['HTTP_X_FORWARDED_HOST']))); - } - else{ - $host=$_SERVER['HTTP_X_FORWARDED_HOST']; - } - } - else{ - $host = $_SERVER['HTTP_HOST']; - } - return $host; - } - - - /** - * @brief Returns the server protocol - * @returns the server protocol - * - * Returns the server protocol. It respects reverse proxy servers and load balancers - */ - public static function serverProtocol() { - if (isset($_SERVER['HTTP_X_FORWARDED_PROTO'])) { - $proto = strtolower($_SERVER['HTTP_X_FORWARDED_PROTO']); - }else{ - if(isset($_SERVER['HTTPS']) and !empty($_SERVER['HTTPS']) and ($_SERVER['HTTPS']!='off')) { - $proto = 'https'; - }else{ - $proto = 'http'; - } - } - return($proto); - } - - /** * @brief Creates an absolute url * @param $app app @@ -132,7 +86,7 @@ class OC_Helper { */ public static function makeURLAbsolute( $url ) { - return self::serverProtocol(). '://' . self::serverHost() . $url; + return OC_Request::serverProtocol(). '://' . OC_Request::serverHost() . $url; } /** diff --git a/lib/public/util.php b/lib/public/util.php index 75ca29f712..9f6f6f32e1 100644 --- a/lib/public/util.php +++ b/lib/public/util.php @@ -165,7 +165,7 @@ class Util { * reverse proxies */ public static function getServerHost() { - return(\OC_Helper::serverHost()); + return(\OC_Request::serverHost()); } /** @@ -175,7 +175,7 @@ class Util { * Returns the server protocol. It respects reverse proxy servers and load balancers */ public static function getServerProtocol() { - return(\OC_Helper::serverProtocol()); + return(\OC_Request::serverProtocol()); } /** diff --git a/lib/request.php b/lib/request.php index 0b5aaf8ef3..cb93a08817 100644 --- a/lib/request.php +++ b/lib/request.php @@ -7,6 +7,51 @@ */ class OC_Request { + /** + * @brief Returns the server host + * @returns the server host + * + * Returns the server host, even if the website uses one or more + * reverse proxies + */ + public static function serverHost() { + if(OC::$CLI){ + return 'localhost'; + } + if (isset($_SERVER['HTTP_X_FORWARDED_HOST'])) { + if (strpos($_SERVER['HTTP_X_FORWARDED_HOST'], ",") !== false) { + $host = trim(array_pop(explode(",", $_SERVER['HTTP_X_FORWARDED_HOST']))); + } + else{ + $host=$_SERVER['HTTP_X_FORWARDED_HOST']; + } + } + else{ + $host = $_SERVER['HTTP_HOST']; + } + return $host; + } + + + /** + * @brief Returns the server protocol + * @returns the server protocol + * + * Returns the server protocol. It respects reverse proxy servers and load balancers + */ + public static function serverProtocol() { + if (isset($_SERVER['HTTP_X_FORWARDED_PROTO'])) { + $proto = strtolower($_SERVER['HTTP_X_FORWARDED_PROTO']); + }else{ + if(isset($_SERVER['HTTPS']) and !empty($_SERVER['HTTPS']) and ($_SERVER['HTTPS']!='off')) { + $proto = 'https'; + }else{ + $proto = 'http'; + } + } + return($proto); + } + static public function isNoCache() { if (!isset($_SERVER['HTTP_CACHE_CONTROL'])) { return false;