summaryrefslogtreecommitdiffstats
path: root/modules/https.inc.php
diff options
context:
space:
mode:
Diffstat (limited to 'modules/https.inc.php')
-rw-r--r--modules/https.inc.php60
1 files changed, 60 insertions, 0 deletions
diff --git a/modules/https.inc.php b/modules/https.inc.php
new file mode 100644
index 00000000..c4ee0288
--- /dev/null
+++ b/modules/https.inc.php
@@ -0,0 +1,60 @@
+<?php
+
+class Page_Https extends Page
+{
+
+ protected function doPreprocess()
+ {
+ User::load();
+ if (!User::hasPermission('superadmin')) {
+ Message::addError('no-permission');
+ Util::redirect('?do=Main');
+ }
+ $task = false;
+ switch (Request::post('mode')) {
+ case 'off':
+ $task = $this->setOff();
+ break;
+ case 'random':
+ $task = $this->setRandom();
+ break;
+ case 'custom':
+ $task = $this->setCustom();
+ break;
+ }
+ if (isset($task['id'])) {
+ Session::set('https-id', $task['id']);
+ Util::redirect('?do=Https&show=update');
+ }
+ }
+
+ protected function doRender()
+ {
+ if (Request::get('show') === 'update') {
+ Render::addTemplate('https/restart', array('taskid' => Session::get('https-id')));
+ }
+ Render::addTemplate('https/_page');
+ }
+
+ private function setOff()
+ {
+ return Taskmanager::submit('LighttpdHttps', array());
+ }
+
+ private function setRandom()
+ {
+ return Taskmanager::submit('LighttpdHttps', array(
+ 'proxyip' => Property::getServerIp()
+ ));
+ }
+
+ private function setCustom()
+ {
+ return Taskmanager::submit('LighttpdHttps', array(
+ 'importcert' => Request::post('certificate', 'bla'),
+ 'importkey' => Request::post('privatekey', 'bla'),
+ 'importchain' => Request::post('cachain', '')
+ ));
+ }
+
+}