]> git.mxchange.org Git - quix0rs-gnu-social.git/blobdiff - classes/Design.php
Merge branch '2828' into 0.9.x
[quix0rs-gnu-social.git] / classes / Design.php
index 4e7d7dfb257854a4a898ae44524b9a0739671e72..a8fdb72191e861055bf527dda81c4dc7247f40c7 100644 (file)
@@ -139,7 +139,42 @@ class Design extends Memcached_DataObject
 
     static function url($filename)
     {
-        $path = common_config('background', 'path');
+        if (StatusNet::isHTTPS()) {
+
+            $sslserver = common_config('background', 'sslserver');
+
+            if (empty($sslserver)) {
+                // XXX: this assumes that background dir == site dir + /background/
+                // not true if there's another server
+                if (is_string(common_config('site', 'sslserver')) &&
+                    mb_strlen(common_config('site', 'sslserver')) > 0) {
+                    $server = common_config('site', 'sslserver');
+                } else if (common_config('site', 'server')) {
+                    $server = common_config('site', 'server');
+                }
+                $path   = common_config('site', 'path') . '/background/';
+            } else {
+                $server = $sslserver;
+                $path   = common_config('background', 'sslpath');
+                if (empty($path)) {
+                    $path = common_config('background', 'path');
+                }
+            }
+
+            $protocol = 'https';
+
+        } else {
+
+            $path = common_config('background', 'path');
+
+            $server = common_config('background', 'server');
+
+            if (empty($server)) {
+                $server = common_config('site', 'server');
+            }
+
+            $protocol = 'http';
+        }
 
         if ($path[strlen($path)-1] != '/') {
             $path .= '/';
@@ -149,15 +184,7 @@ class Design extends Memcached_DataObject
             $path = '/'.$path;
         }
 
-        $server = common_config('background', 'server');
-
-        if (empty($server)) {
-            $server = common_config('site', 'server');
-        }
-
-        // XXX: protocol
-
-        return 'http://'.$server.$path.$filename;
+        return $protocol.'://'.$server.$path.$filename;
     }
 
     function setDisposition($on, $off, $tile)