]> git.p6c8.net - jirafeau.git/commitdiff
Detect if HTTPS is used and adapt all links accordingly
authorZertrin <zertrin@gmail.com>
Mon, 28 Apr 2014 21:02:46 +0000 (23:02 +0200)
committerJerome Jutteau <jerome.jutteau@outscale.com>
Thu, 29 Jan 2015 13:33:20 +0000 (14:33 +0100)
Signed-off-by: Jerome Jutteau <mojo@couak.net>
lib/functions.php
lib/template/header.php

index bc119a3a854f87af86106064089d133184a236a0..f1f89652aa586502b9e2968edbaab6517c2b0f3a 100755 (executable)
@@ -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)
 {
index 264cf343e192e9e1a0f74d578726dde119cc8b73..5926555512cd48d41c20b5df652db36bfa5b7d41 100644 (file)
@@ -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'];
 

patrick-canterino.de