]> git.mxchange.org Git - quix0rs-gnu-social.git/commitdiff
let avatars be served over SSL
authorEvan Prodromou <evan@status.net>
Thu, 11 Feb 2010 21:51:15 +0000 (16:51 -0500)
committerEvan Prodromou <evan@status.net>
Thu, 11 Feb 2010 21:51:15 +0000 (16:51 -0500)
README
classes/Avatar.php
lib/default.php

diff --git a/README b/README
index 2b021b36ca9140720fd1f6fc599bf45ee0f81836..9843ab89bc995a6647ea498c8ab5e99136aa8533 100644 (file)
--- a/README
+++ b/README
@@ -1192,6 +1192,8 @@ server: If set, defines another server where avatars are stored in the
        typically only make 2 connections to a single server at a
        time <http://ur1.ca/6ih>, so this can parallelize the job.
        Defaults to null.
+ssl:    Whether to access avatars using HTTPS. Defaults to null, meaning
+        to guess based on site-wide SSL settings.
 
 public
 ------
index 91bde0f0401b6dc144b48a6ba434c312c80c967c..dbe2cd813847eb585f94999b595e2f495ab0d03b 100644 (file)
@@ -82,9 +82,20 @@ class Avatar extends Memcached_DataObject
             $server = common_config('site', 'server');
         }
 
-        // XXX: protocol
+        $ssl = common_config('avatar', 'ssl');
+
+        if (is_null($ssl)) { // null -> guess
+            if (common_config('site', 'ssl') == 'always' &&
+                !common_config('avatar', 'server')) {
+                $ssl = true;
+            } else {
+                $ssl = false;
+            }
+        }
+
+        $protocol = ($ssl) ? 'https' : 'http';
 
-        return 'http://'.$server.$path.$filename;
+        return $protocol.'://'.$server.$path.$filename;
     }
 
     function displayUrl()
index fd6831fa9b2378714039079b9ed1bb6350cf8770..d19e0403671df86a101d312aaa0a769034e48999 100644 (file)
@@ -111,7 +111,8 @@ $default =
         'avatar' =>
         array('server' => null,
               'dir' => INSTALLDIR . '/avatar/',
-              'path' => $_path . '/avatar/'),
+              'path' => $_path . '/avatar/',
+              'ssl' => null),
         'background' =>
         array('server' => null,
               'dir' => INSTALLDIR . '/background/',