From a4c2dab9e64545ca949a90b73b11a90c85e681fb Mon Sep 17 00:00:00 2001 From: Franco Fichtner Date: Mon, 25 Dec 2017 17:02:52 +0100 Subject: [PATCH] mail/rspamd: use mutable service controller --- .../OPNsense/Rspamd/Api/ServiceController.php | 154 +++--------------- .../Rspamd/Api/SettingsController.php | 45 +++-- .../mvc/app/views/OPNsense/Rspamd/index.volt | 9 +- 3 files changed, 52 insertions(+), 156 deletions(-) diff --git a/mail/rspamd/src/opnsense/mvc/app/controllers/OPNsense/Rspamd/Api/ServiceController.php b/mail/rspamd/src/opnsense/mvc/app/controllers/OPNsense/Rspamd/Api/ServiceController.php index 468707216..021ef704b 100644 --- a/mail/rspamd/src/opnsense/mvc/app/controllers/OPNsense/Rspamd/Api/ServiceController.php +++ b/mail/rspamd/src/opnsense/mvc/app/controllers/OPNsense/Rspamd/Api/ServiceController.php @@ -1,139 +1,39 @@ request->isPost()) { - $backend = new Backend(); - $response = $backend->configdRun('rspamd restart'); - return array('response' => $response); - } else { - return array('response' => array()); - } - } - - /** - * retrieve status of rspamd - * @return array - * @throws \Exception - */ - public function statusAction() - { - $backend = new Backend(); - $rspamd = new RSpamd(); - $response = $backend->configdRun('rspamd status'); - - if (strpos($response, 'not running') > 0) { - if ((string)$rspamd->general->enabled == 1) { - $status = 'stopped'; - } else { - $status = 'disabled'; - } - } elseif (strpos($response, 'is running') > 0) { - $status = 'running'; - } elseif ((string)$rspamd->general->enabled == 0) { - $status = 'disabled'; - } else { - $status = 'unknown'; - } - - - return array('status' => $status); - } - - /** - * reconfigure rspamd, generate config and reload - */ - public function reconfigureAction() - { - if ($this->request->isPost()) { - // close session for long running action - $this->sessionClose(); - - $rspamd = new RSpamd(); - $backend = new Backend(); - - $this->stopAction(); - - // generate template - $backend->configdRun('template reload OPNsense/Rspamd'); - - // (re)start daemon - if ((string)$rspamd->general->enabled == '1') { - $this->startAction(); - } - - return array('status' => 'ok'); - } else { - return array('status' => 'failed'); - } - } - - /** - * stop rspamd service - * @return array - */ - public function stopAction() - { - if ($this->request->isPost()) { - $backend = new Backend(); - $response = $backend->configdRun('rspamd stop'); - return array('response' => $response); - } else { - return array('response' => array()); - } - } - /** - * start rspamd service - * @return array - */ - public function startAction() - { - if ($this->request->isPost()) { - $backend = new Backend(); - $response = $backend->configdRun('rspamd start'); - return array('response' => $response); - } else { - return array('response' => array()); - } - } + static protected $internalServiceClass = '\OPNsense\Rspamd\RSpamd'; + static protected $internalServiceTemplate = 'OPNsense/Rspamd'; + static protected $internalServiceEnabled = 'general.enabled'; + static protected $internalServiceName = 'rspamd'; } diff --git a/mail/rspamd/src/opnsense/mvc/app/controllers/OPNsense/Rspamd/Api/SettingsController.php b/mail/rspamd/src/opnsense/mvc/app/controllers/OPNsense/Rspamd/Api/SettingsController.php index c4b1d8da4..d1391e676 100644 --- a/mail/rspamd/src/opnsense/mvc/app/controllers/OPNsense/Rspamd/Api/SettingsController.php +++ b/mail/rspamd/src/opnsense/mvc/app/controllers/OPNsense/Rspamd/Api/SettingsController.php @@ -1,35 +1,34 @@