diff options
author | Evan Prodromou <evan@status.net> | 2010-10-14 01:18:19 -0400 |
---|---|---|
committer | Evan Prodromou <evan@status.net> | 2010-10-14 01:18:19 -0400 |
commit | aafd95dc0c487fd9aaba3ce991d001acc0d2c6eb (patch) | |
tree | 6215a480192472d25c9662116589c966b553a3b6 /classes | |
parent | 7436e5d13e6bc242a93e2f6dc561c59f88de60ee (diff) |
Design::url() will use HTTPS if page is HTTPS
Diffstat (limited to 'classes')
-rw-r--r-- | classes/Design.php | 49 |
1 files changed, 30 insertions, 19 deletions
diff --git a/classes/Design.php b/classes/Design.php index ff44e0109..50712ce8b 100644 --- a/classes/Design.php +++ b/classes/Design.php @@ -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; } |