diff options
author | Evan Prodromou <evan@status.net> | 2010-02-11 17:06:57 -0500 |
---|---|---|
committer | Evan Prodromou <evan@status.net> | 2010-02-11 17:06:57 -0500 |
commit | 31461e120f23416c8c4979805900e3018fb2a6fd (patch) | |
tree | 84e6d7c4aea1e25e601b8ebbdb2810aee0f3cfdc | |
parent | 3018683718bd73bf00472622f9e81914703d50a7 (diff) |
let files go to SSL dir too
-rw-r--r-- | README | 2 | ||||
-rw-r--r-- | classes/File.php | 15 | ||||
-rw-r--r-- | lib/default.php | 1 |
3 files changed, 16 insertions, 2 deletions
@@ -1462,6 +1462,8 @@ server: server name to use when creating URLs for uploaded files. a virtual server here can speed up Web performance. path: URL path, relative to the server, to find files. Defaults to main path + '/file/'. +ssl: whether to use HTTPS for file URLs. Defaults to null, meaning to + guess based on other SSL settings. filecommand: command to use for determining the type of a file. May be skipped if fileinfo extension is installed. Defaults to '/usr/bin/file'. diff --git a/classes/File.php b/classes/File.php index ee418a802..91b12d2e2 100644 --- a/classes/File.php +++ b/classes/File.php @@ -228,9 +228,20 @@ class File extends Memcached_DataObject $server = common_config('site', 'server'); } - // XXX: protocol + $ssl = common_config('attachments', 'ssl'); - return 'http://'.$server.$path.$filename; + if (is_null($ssl)) { // null -> guess + if (common_config('site', 'ssl') == 'always' && + !common_config('attachments', 'server')) { + $ssl = true; + } else { + $ssl = false; + } + } + + $protocol = ($ssl) ? 'https' : 'http'; + + return $protocol.'://'.$server.$path.$filename; } } diff --git a/lib/default.php b/lib/default.php index 0822654f6..8b1fe2769 100644 --- a/lib/default.php +++ b/lib/default.php @@ -188,6 +188,7 @@ $default = array('server' => null, 'dir' => INSTALLDIR . '/file/', 'path' => $_path . '/file/', + 'ssl' => null, 'supported' => array('image/png', 'image/jpeg', 'image/gif', |