]> git.mxchange.org Git - quix0rs-gnu-social.git/commitdiff
Design::url() will use HTTPS if page is HTTPS
authorEvan Prodromou <evan@status.net>
Thu, 14 Oct 2010 05:18:19 +0000 (01:18 -0400)
committerEvan Prodromou <evan@status.net>
Thu, 14 Oct 2010 05:18:19 +0000 (01:18 -0400)
classes/Design.php

index ff44e010964042f0d6e8b18de603668c2c71d496..50712ce8b550ab7577624bebd84cb1c798d5775a 100644 (file)
@@ -139,34 +139,45 @@ class Design extends Memcached_DataObject
 
     static function url($filename)
     {
-        $path = common_config('background', 'path');
+        if (StatusNet::isHTTPS()) {
 
-        if ($path[strlen($path)-1] != '/') {
-            $path .= '/';
-        }
+            $sslserver = common_config('background', 'sslserver');
 
-        if ($path[0] != '/') {
-            $path = '/'.$path;
-        }
+            if (empty($sslserver)) {
+                // XXX: this assumes that background dir == site dir + /background/
+                // not true if there's another 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');
+                }
+            }
 
-        $server = common_config('background', 'server');
+            $protocol = 'https';
 
-        if (empty($server)) {
-            $server = common_config('site', 'server');
-        }
+        } else {
 
-        $ssl = common_config('background', 'ssl');
+            $path = common_config('background', 'path');
 
-        if (is_null($ssl)) { // null -> guess
-            if (common_config('site', 'ssl') == 'always' &&
-                !common_config('background', 'server')) {
-                $ssl = true;
-            } else {
-                $ssl = false;
+            $server = common_config('background', 'server');
+
+            if (empty($server)) {
+                $server = common_config('site', 'server');
             }
+
+            $protocol = 'http';
+        }
+
+        if ($path[strlen($path)-1] != '/') {
+            $path .= '/';
         }
 
-        $protocol = ($ssl) ? 'https' : 'http';
+        if ($path[0] != '/') {
+            $path = '/'.$path;
+        }
 
         return $protocol.'://'.$server.$path.$filename;
     }