]> git.mxchange.org Git - quix0rs-gnu-social.git/commitdiff
let users set their SSL logo through the admin panel
authorEvan Prodromou <evan@status.net>
Thu, 14 Oct 2010 19:06:11 +0000 (15:06 -0400)
committerEvan Prodromou <evan@status.net>
Thu, 14 Oct 2010 19:06:11 +0000 (15:06 -0400)
actions/designadminpanel.php

index 4285f7d7310b9a0c8b0454231bbe6be1472dc6f4..587333e06aa3f57cee24ce35400721d24345c011 100644 (file)
@@ -140,7 +140,7 @@ class DesignadminpanelAction extends AdminPanelAction
             $themeChanged = ($this->trimmed('theme') != $oldtheme);
         }
 
-        static $settings = array('theme', 'logo');
+        static $settings = array('theme', 'logo', 'ssllogo');
 
         $values = array();
 
@@ -230,6 +230,7 @@ class DesignadminpanelAction extends AdminPanelAction
     function restoreDefaults()
     {
         $this->deleteSetting('site', 'logo');
+        $this->deleteSetting('site', 'ssllogo');
         $this->deleteSetting('site', 'theme');
 
         $settings = array(
@@ -293,7 +294,7 @@ class DesignadminpanelAction extends AdminPanelAction
 
     /**
      * Save the custom theme if the user uploaded one.
-     * 
+     *
      * @return mixed custom theme name, if succesful, or null if no theme upload.
      * @throws ClientException for invalid theme archives
      * @throws ServerException if trouble saving the theme files
@@ -331,6 +332,11 @@ class DesignadminpanelAction extends AdminPanelAction
             $this->clientError(_('Invalid logo URL.'));
         }
 
+        if (!empty($values['ssllogo']) &&
+            !Validate::uri($values['ssllogo'], array('allowed_schemes' => array('https')))) {
+            $this->clientError(_('Invalid SSL logo URL.'));
+        }
+
         if (!in_array($values['theme'], Theme::listAvailable())) {
             $this->clientError(sprintf(_("Theme not available: %s."), $values['theme']));
         }
@@ -444,6 +450,10 @@ class DesignAdminPanelForm extends AdminForm
         $this->input('logo', _('Site logo'), 'Logo for the site (full URL)');
         $this->unli();
 
+        $this->li();
+        $this->input('ssllogo', _('SSL logo'), 'Logo to show on SSL pages');
+        $this->unli();
+
         $this->out->elementEnd('ul');
 
         $this->out->elementEnd('fieldset');