From 158d78e1abf150faf122ae91a9965605a413ffe5 Mon Sep 17 00:00:00 2001 From: Arthur Schiwon Date: Sat, 13 Aug 2016 00:59:04 +0200 Subject: move mail settings and file handling to additional ones, thus files_external gets its own section --- lib/private/Settings/Admin/Additional.php | 86 +++++++++++++++++++++++++++++++ lib/private/Settings/Admin/Server.php | 13 ----- lib/private/Settings/Manager.php | 5 ++ 3 files changed, 91 insertions(+), 13 deletions(-) create mode 100644 lib/private/Settings/Admin/Additional.php (limited to 'lib/private/Settings') diff --git a/lib/private/Settings/Admin/Additional.php b/lib/private/Settings/Admin/Additional.php new file mode 100644 index 00000000000..106f0f65b8a --- /dev/null +++ b/lib/private/Settings/Admin/Additional.php @@ -0,0 +1,86 @@ + + * + * @author Arthur Schiwon + * + * @license GNU AGPL version 3 or any later version + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + * + */ + +namespace OC\Settings\Admin; + +use Doctrine\DBAL\Connection; +use Doctrine\DBAL\DBALException; +use Doctrine\DBAL\Platforms\SqlitePlatform; +use OC\Lock\DBLockingProvider; +use OC\Lock\NoopLockingProvider; +use OCP\AppFramework\Http\TemplateResponse; +use OCP\IConfig; +use OCP\IDBConnection; +use OCP\IL10N; +use OCP\Lock\ILockingProvider; +use OCP\Settings\ISettings; + +class Additional implements ISettings { + + /** @var IConfig */ + private $config; + + public function __construct(IConfig $config) { + $this->config = $config; + } + + /** + * @return TemplateResponse + */ + public function getForm() { + $parameters = [ + // Mail + 'sendmail_is_available' => (bool) \OC_Helper::findBinaryPath('sendmail'), + 'mail_domain' => $this->config->getSystemValue('mail_domain', ''), + 'mail_from_address' => $this->config->getSystemValue('mail_from_address', ''), + 'mail_smtpmode' => $this->config->getSystemValue('mail_smtpmode', ''), + 'mail_smtpsecure' => $this->config->getSystemValue('mail_smtpsecure', ''), + 'mail_smtphost' => $this->config->getSystemValue('mail_smtphost', ''), + 'mail_smtpport' => $this->config->getSystemValue('mail_smtpport', ''), + 'mail_smtpauthtype' => $this->config->getSystemValue('mail_smtpauthtype', ''), + 'mail_smtpauth' => $this->config->getSystemValue('mail_smtpauth', false), + 'mail_smtpname' => $this->config->getSystemValue('mail_smtpname', ''), + 'mail_smtppassword' => $this->config->getSystemValue('mail_smtppassword', ''), + ]; + + return new TemplateResponse('settings', 'admin/additional-mail', $parameters, ''); + } + + /** + * @return string the section ID, e.g. 'sharing' + */ + public function getSection() { + return 'additional'; + } + + /** + * @return int whether the form should be rather on the top or bottom of + * the admin section. The forms are arranged in ascending order of the + * priority values. It is required to return a value between 0 and 100. + * + * E.g.: 70 + */ + public function getPriority() { + return 0; + } +} diff --git a/lib/private/Settings/Admin/Server.php b/lib/private/Settings/Admin/Server.php index 0c72983a887..20c3a6d7557 100644 --- a/lib/private/Settings/Admin/Server.php +++ b/lib/private/Settings/Admin/Server.php @@ -119,19 +119,6 @@ class Server implements ISettings { 'cron_log' => $this->config->getSystemValue('cron_log', true), 'lastcron' => $this->config->getAppValue('core', 'lastcron', false), 'cronErrors' => $this->config->getAppValue('core', 'cronErrors'), - - // Mail - 'sendmail_is_available' => (bool) \OC_Helper::findBinaryPath('sendmail'), - 'mail_domain' => $this->config->getSystemValue('mail_domain', ''), - 'mail_from_address' => $this->config->getSystemValue('mail_from_address', ''), - 'mail_smtpmode' => $this->config->getSystemValue('mail_smtpmode', ''), - 'mail_smtpsecure' => $this->config->getSystemValue('mail_smtpsecure', ''), - 'mail_smtphost' => $this->config->getSystemValue('mail_smtphost', ''), - 'mail_smtpport' => $this->config->getSystemValue('mail_smtpport', ''), - 'mail_smtpauthtype' => $this->config->getSystemValue('mail_smtpauthtype', ''), - 'mail_smtpauth' => $this->config->getSystemValue('mail_smtpauth', false), - 'mail_smtpname' => $this->config->getSystemValue('mail_smtpname', ''), - 'mail_smtppassword' => $this->config->getSystemValue('mail_smtppassword', ''), ]; return new TemplateResponse('settings', 'admin/server', $parameters, ''); diff --git a/lib/private/Settings/Manager.php b/lib/private/Settings/Manager.php index 21400a9805a..fd360ede7f0 100644 --- a/lib/private/Settings/Manager.php +++ b/lib/private/Settings/Manager.php @@ -308,6 +308,11 @@ class Manager implements IManager { $form = new Admin\Logging($this->config); $forms[$form->getPriority()] = [$form]; } + if($section === 'additional') { + /** @var ISettings $form */ + $form = new Admin\Additional($this->config); + $forms[$form->getPriority()] = [$form]; + } if($section === 'tips-tricks') { /** @var ISettings $form */ $form = new Admin\TipsTricks($this->config); -- cgit v1.2.3