From: Zertrin Date: Mon, 28 Apr 2014 21:02:46 +0000 (+0200) Subject: Detect if HTTPS is used and adapt all links accordingly X-Git-Tag: 1.1~184 X-Git-Url: https://git.p6c8.net/jirafeau.git/commitdiff_plain/fbf2b5f1a5016c8ecfa27d474d4c22ffd22919f9?ds=inline;hp=0e5cca951eafa6193153f171b89a3bbf255152ef Detect if HTTPS is used and adapt all links accordingly Signed-off-by: Jerome Jutteau --- diff --git a/lib/functions.php b/lib/functions.php index bc119a3..f1f8965 100755 --- a/lib/functions.php +++ b/lib/functions.php @@ -90,6 +90,18 @@ jirafeau_gen_random ($l) return $code; } +function is_ssl() { + if ( isset($_SERVER['HTTPS']) ) { + if ( 'on' == strtolower($_SERVER['HTTPS']) ) + return true; + if ( '1' == $_SERVER['HTTPS'] ) + return true; + } elseif ( isset($_SERVER['SERVER_PORT']) && ( '443' == $_SERVER['SERVER_PORT'] ) ) { + return true; + } + return false; +} + function jirafeau_human_size ($octets) { diff --git a/lib/template/header.php b/lib/template/header.php index 264cf34..5926555 100644 --- a/lib/template/header.php +++ b/lib/template/header.php @@ -8,9 +8,15 @@ if (stristr ($_SERVER['HTTP_ACCEPT'], 'application/xhtml+xml')) header('Content-Type: ' . $content_type); +$protocol = (bool)is_ssl() ? 'https' : 'http'; + +if ( !empty($cfg['web_root']) ) { + $cfg['web_root'] = preg_replace('#https?://#', $protocol . '://', $cfg['web_root'], 1); +} + /* Avoids irritating errors with the installer (no conf file is present then). */ if (!isset ($cfg['web_root'])) - $web_root = 'http://' . $_SERVER['HTTP_HOST'] . '/'; + $web_root = $protocol+'://' . $_SERVER['HTTP_HOST'] . '/'; else $web_root = $cfg['web_root'];