X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=classes%2FDesign.php;h=f4834c714e80038e928ab01c2067bf1f6e4c93e9;hb=f1a14ba8015b690a10099f5d1e41ff320d2b6b88;hp=ff44e010964042f0d6e8b18de603668c2c71d496;hpb=3c61f45de1226b22eeb83bd1f6db01984f953737;p=quix0rs-gnu-social.git diff --git a/classes/Design.php b/classes/Design.php index ff44e01096..f4834c714e 100644 --- a/classes/Design.php +++ b/classes/Design.php @@ -107,7 +107,7 @@ class Design extends Memcached_DataObject static function toWebColor($color) { - if ($color == null) { + if ($color === null || $color === '') { return null; } @@ -139,34 +139,50 @@ class Design extends Memcached_DataObject static function url($filename) { - $path = common_config('background', 'path'); - - if ($path[strlen($path)-1] != '/') { - $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'); + } + } - if ($path[0] != '/') { - $path = '/'.$path; - } + $protocol = 'https'; - $server = common_config('background', 'server'); + } else { - if (empty($server)) { - $server = common_config('site', 'server'); - } + $path = common_config('background', 'path'); - $ssl = common_config('background', 'ssl'); + $server = common_config('background', 'server'); - if (is_null($ssl)) { // null -> guess - if (common_config('site', 'ssl') == 'always' && - !common_config('background', 'server')) { - $ssl = true; - } else { - $ssl = false; + if (empty($server)) { + $server = common_config('site', 'server'); } + + $protocol = 'http'; } - $protocol = ($ssl) ? 'https' : 'http'; + if ($path[strlen($path)-1] != '/') { + $path .= '/'; + } + + if ($path[0] != '/') { + $path = '/'.$path; + } return $protocol.'://'.$server.$path.$filename; }