]> 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 19c9e0292494e9242702370f263b1a86df6e5ec0..a8fdb72191e861055bf527dda81c4dc7247f40c7 100644 (file)
@@ -1,7 +1,7 @@
 <?php
 /*
- * Laconica - the distributed open-source microblogging tool
- * Copyright (C) 2009, Control Yourself, Inc.
+ * StatusNet - the distributed open-source microblogging tool
+ * Copyright (C) 2009, StatusNet, Inc.
  *
  * This program is free software: you can redistribute it and/or modify
  * it under the terms of the GNU Affero General Public License as published by
@@ -17,7 +17,7 @@
  * along with this program. If not, see <http://www.gnu.org/licenses/>.
  */
 
-if (!defined('LACONICA')) {
+if (!defined('STATUSNET') && !defined('LACONICA')) {
     exit(1);
 }
 
@@ -101,7 +101,7 @@ class Design extends Memcached_DataObject
         }
 
         if (0 != mb_strlen($css)) {
-            $out->element('style', array('type' => 'text/css'), $css);
+            $out->style($css);
         }
     }
 
@@ -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)