]> git.mxchange.org Git - quix0rs-gnu-social.git/blobdiff - actions/pathsadminpanel.php
Move ssl settings from site admin panel to paths admin panel
[quix0rs-gnu-social.git] / actions / pathsadminpanel.php
index f1a2b1b8a68dcd18cca658d639e2843d07402b00..c6daa173456dd24b80d153e90ee391adf502b11d 100644 (file)
@@ -92,7 +92,7 @@ class PathsadminpanelAction extends AdminPanelAction
     function saveSettings()
     {
         static $settings = array(
-            'site' => array('path', 'locale_path'),
+            'site' => array('path', 'locale_path', 'ssl', 'sslserver'),
             'theme' => array('server', 'dir', 'path'),
             'avatar' => array('server', 'dir', 'path'),
             'background' => array('server', 'dir', 'path')
@@ -160,6 +160,14 @@ class PathsadminpanelAction extends AdminPanelAction
             $this->clientError(sprintf(_("Locales directory not readable: %s"), $values['site']['locale_path']));
         }
 
+        // Validate SSL setup
+
+        if (in_array($values['site']['ssl'], array('sometimes', 'always'))) {
+            if (empty($values['site']['sslserver'])) {
+                $this->clientError(_("You must set an SSL server when enabling SSL."));
+            }
+        }
+
     }
 
 }
@@ -283,6 +291,29 @@ class PathsAdminPanelForm extends AdminForm
 
         $this->out->elementEnd('ul');
         $this->out->elementEnd('fieldset');
+
+        $this->out->elementStart('fieldset', array('id' => 'settings_admin_ssl'));
+        $this->out->element('legend', null, _('SSL'));
+        $this->out->elementStart('ul', 'form_data');
+        $this->li();
+        $ssl = array('never' => _('Never'),
+                     'sometimes' => _('Sometimes'),
+                     'always' => _('Always'));
+
+        common_debug("site ssl = " . $this->value('site', 'ssl'));
+
+        $this->out->dropdown('site-ssl', _('Use SSL'),
+                             $ssl, _('When to use SSL'),
+                             false, $this->value('ssl', 'site'));
+        $this->unli();
+
+        $this->li();
+        $this->input('sslserver', _('SSL Server'),
+                     _('Server to direct SSL requests to'), 'site');
+        $this->unli();
+        $this->out->elementEnd('ul');
+        $this->out->elementEnd('fieldset');
+
     }
 
     /**
@@ -297,7 +328,6 @@ class PathsAdminPanelForm extends AdminForm
                 'save', _('Save paths'));
     }
 
-
     /**
      * Utility to simplify some of the duplicated code around
      * params and settings. Overriding the input() in the base class