]> source.dussan.org Git - nextcloud-server.git/commitdiff
move mail settings and file handling to additional ones, thus files_external gets...
authorArthur Schiwon <blizzz@arthur-schiwon.de>
Fri, 12 Aug 2016 22:59:04 +0000 (00:59 +0200)
committerLukas Reschke <lukas@statuscode.ch>
Tue, 16 Aug 2016 19:10:21 +0000 (21:10 +0200)
13 files changed:
apps/files/appinfo/info.xml
apps/files/lib/Settings/Admin.php
apps/files/lib/Settings/Section.php [deleted file]
apps/files_external/appinfo/info.xml
apps/files_external/lib/Settings/Admin.php
apps/files_external/lib/Settings/Section.php [new file with mode: 0644]
lib/private/Settings/Admin/Additional.php [new file with mode: 0644]
lib/private/Settings/Admin/Server.php
lib/private/Settings/Manager.php
settings/Controller/AdminSettingsController.php
settings/templates/admin/additional-mail.php [new file with mode: 0644]
settings/templates/admin/additional.php
settings/templates/admin/server.php

index 0339f19cbab7d0ff09b600c84ef7e261f3ab868c..fdce3d81541bd58a78218817b3f81016098c317d 100644 (file)
@@ -25,6 +25,5 @@
 
        <settings>
                <admin>OCA\Files\Settings\Admin</admin>
-               <admin-section>OCA\Files\Settings\Section</admin-section>
        </settings>
 </info>
index d0a691ffe66480c8a3d561904e07d3e507a6c1e0..9ec23d47517b99d0d90a7f5a4883492fc7db46ab 100644 (file)
@@ -76,7 +76,7 @@ class Admin implements ISettings {
         * @return string the section ID, e.g. 'sharing'
         */
        public function getSection() {
-               return 'files';
+               return 'additional';
        }
 
        /**
diff --git a/apps/files/lib/Settings/Section.php b/apps/files/lib/Settings/Section.php
deleted file mode 100644 (file)
index 0a1ddca..0000000
+++ /dev/null
@@ -1,67 +0,0 @@
-<?php
-/**
- * @copyright Copyright (c) 2016 Arthur Schiwon <blizzz@arthur-schiwon.de>
- *
- * @author Arthur Schiwon <blizzz@arthur-schiwon.de>
- *
- * @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 <http://www.gnu.org/licenses/>.
- *
- */
-
-namespace OCA\Files\Settings;
-
-use OCP\IL10N;
-use OCP\Settings\ISection;
-
-class Section implements ISection {
-       /** @var IL10N */
-       private $l;
-
-       public function __construct(IL10N $l) {
-               $this->l = $l;
-       }
-
-       /**
-        * returns the ID of the section. It is supposed to be a lower case string,
-        * e.g. 'ldap'
-        *
-        * @returns string
-        */
-       public function getID() {
-               return 'files';
-       }
-
-       /**
-        * returns the translated name as it should be displayed, e.g. 'LDAP / AD
-        * integration'. Use the L10N service to translate it.
-        *
-        * @return string
-        */
-       public function getName() {
-               return $this->l->t('Files & storages');
-       }
-
-       /**
-        * @return int whether the form should be rather on the top or bottom of
-        * the settings navigation. The sections are arranged in ascending order of
-        * the priority values. It is required to return a value between 0 and 99.
-        *
-        * E.g.: 70
-        */
-       public function getPriority() {
-               return 10;
-       }
-}
index a155c38ae4769758bfaa8a5263ed32ff8dd8d727..ba12d1ff676ddbac291720187b25a74cb347b4e9 100644 (file)
@@ -27,5 +27,6 @@
 
        <settings>
                <admin>OCA\Files_External\Settings\Admin</admin>
+               <admin-section>OCA\Files_External\Settings\Section</admin-section>
        </settings>
 </info>
index 102680d0341a778550f7c2111cae110f32cef84f..54711443f895a6d24aa9cdba6c86baefde5022b5 100644 (file)
@@ -79,7 +79,7 @@ class Admin implements ISettings {
         * @return string the section ID, e.g. 'sharing'
         */
        public function getSection() {
-               return 'files';
+               return 'externalstorages';
        }
 
        /**
diff --git a/apps/files_external/lib/Settings/Section.php b/apps/files_external/lib/Settings/Section.php
new file mode 100644 (file)
index 0000000..4b4bac9
--- /dev/null
@@ -0,0 +1,67 @@
+<?php
+/**
+ * @copyright Copyright (c) 2016 Arthur Schiwon <blizzz@arthur-schiwon.de>
+ *
+ * @author Arthur Schiwon <blizzz@arthur-schiwon.de>
+ *
+ * @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 <http://www.gnu.org/licenses/>.
+ *
+ */
+
+namespace OCA\Files_External\Settings;
+
+use OCP\IL10N;
+use OCP\Settings\ISection;
+
+class Section implements ISection {
+       /** @var IL10N */
+       private $l;
+
+       public function __construct(IL10N $l) {
+               $this->l = $l;
+       }
+
+       /**
+        * returns the ID of the section. It is supposed to be a lower case string,
+        * e.g. 'ldap'
+        *
+        * @returns string
+        */
+       public function getID() {
+               return 'externalstorages';
+       }
+
+       /**
+        * returns the translated name as it should be displayed, e.g. 'LDAP / AD
+        * integration'. Use the L10N service to translate it.
+        *
+        * @return string
+        */
+       public function getName() {
+               return $this->l->t('External storages');
+       }
+
+       /**
+        * @return int whether the form should be rather on the top or bottom of
+        * the settings navigation. The sections are arranged in ascending order of
+        * the priority values. It is required to return a value between 0 and 99.
+        *
+        * E.g.: 70
+        */
+       public function getPriority() {
+               return 10;
+       }
+}
diff --git a/lib/private/Settings/Admin/Additional.php b/lib/private/Settings/Admin/Additional.php
new file mode 100644 (file)
index 0000000..106f0f6
--- /dev/null
@@ -0,0 +1,86 @@
+<?php
+/**
+ * @copyright Copyright (c) 2016 Arthur Schiwon <blizzz@arthur-schiwon.de>
+ *
+ * @author Arthur Schiwon <blizzz@arthur-schiwon.de>
+ *
+ * @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 <http://www.gnu.org/licenses/>.
+ *
+ */
+
+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;
+       }
+}
index 0c72983a887a906a572b89e83c4eeb956a3cc386..20c3a6d7557ed0b2f6a37beb4004e673c4a4f19a 100644 (file)
@@ -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, '');
index 21400a9805affe3ca82833fd41011ea18a030d5c..fd360ede7f038928c591ad650cc7f1037a890334 100644 (file)
@@ -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);
index 3efe481ca9ef9fb9dc26f0e2e052b4568276327b..3954497443b824ec44dab307fbe80a9ba71ddd8e 100644 (file)
@@ -34,6 +34,7 @@ use OCP\INavigationManager;
 use OCP\IRequest;
 use OCP\IUserManager;
 use OCP\Settings\IManager as ISettingsManager;
+use OCP\Template;
 
 /**
  * @package OC\Settings\Controller
@@ -83,12 +84,8 @@ class AdminSettingsController extends Controller {
        }
 
        private function getSettings($section) {
-               if($section === 'additional') {
-                       return $this->getLegacyForms();
-               }
-
-               $settings = $this->settingsManager->getAdminSettings($section);
                $html = '';
+               $settings = $this->settingsManager->getAdminSettings($section);
                foreach ($settings as $prioritizedSettings) {
                        foreach ($prioritizedSettings as $setting) {
                                /** @var \OCP\Settings\ISettings $setting */
@@ -96,6 +93,9 @@ class AdminSettingsController extends Controller {
                                $html .= $form->renderAs('')->render();
                        }
                }
+               if($section === 'additional') {
+                       $html .= $this->getLegacyForms();
+               }
                return ['content' => $html];
        }
 
@@ -120,10 +120,10 @@ class AdminSettingsController extends Controller {
                        );
                }, $forms);
 
-               $out = new \OCP\Template('settings', 'admin/additional');
+               $out = new Template('settings', 'admin/additional');
                $out->assign('forms', $forms);
 
-               return ['content' => $out->fetchPage()];
+               return $out->fetchPage();
        }
 
        /**
diff --git a/settings/templates/admin/additional-mail.php b/settings/templates/admin/additional-mail.php
new file mode 100644 (file)
index 0000000..88eec42
--- /dev/null
@@ -0,0 +1,140 @@
+<?php
+/**
+ * @copyright Copyright (c) 2016 Arthur Schiwon <blizzz@arthur-schiwon.de>
+ *
+ * @author Arthur Schiwon <blizzz@arthur-schiwon.de>
+ *
+ * @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 <http://www.gnu.org/licenses/>.
+ *
+ */
+
+/** @var \OCP\IL10N $l */
+/** @var array $_ */
+
+$mail_smtpauthtype = [
+       ''      => $l->t('None'),
+       'LOGIN' => $l->t('Login'),
+       'PLAIN' => $l->t('Plain'),
+       'NTLM'  => $l->t('NT LAN Manager'),
+];
+
+$mail_smtpsecure = [
+       ''              => $l->t('None'),
+       'ssl'   => $l->t('SSL'),
+       'tls'   => $l->t('TLS'),
+];
+
+$mail_smtpmode = [
+       ['php', 'PHP'],
+       ['smtp', 'SMTP'],
+];
+if ($_['sendmail_is_available']) {
+       $mail_smtpmode[] = ['sendmail', 'Sendmail'];
+}
+if ($_['mail_smtpmode'] == 'qmail') {
+       $mail_smtpmode[] = ['qmail', 'qmail'];
+}
+
+?>
+
+<div class="section" id="mail_general_settings">
+       <form id="mail_general_settings_form" class="mail_settings">
+               <h2><?php p($l->t('Email server'));?></h2>
+               <a target="_blank" rel="noreferrer" class="icon-info"
+                  title="<?php p($l->t('Open documentation'));?>"
+                  href="<?php p(link_to_docs('admin-email')); ?>"></a>
+
+               <p><?php p($l->t('This is used for sending out notifications.')); ?> <span id="mail_settings_msg" class="msg"></span></p>
+
+               <p>
+                       <label for="mail_smtpmode"><?php p($l->t( 'Send mode' )); ?></label>
+                       <select name='mail_smtpmode' id='mail_smtpmode'>
+                               <?php foreach ($mail_smtpmode as $smtpmode):
+                                       $selected = '';
+                                       if ($smtpmode[0] == $_['mail_smtpmode']):
+                                               $selected = 'selected="selected"';
+                                       endif; ?>
+                                       <option value='<?php p($smtpmode[0])?>' <?php p($selected) ?>><?php p($smtpmode[1]) ?></option>
+                               <?php endforeach;?>
+                       </select>
+
+                       <label id="mail_smtpsecure_label" for="mail_smtpsecure"
+                               <?php if ($_['mail_smtpmode'] != 'smtp') print_unescaped(' class="hidden"'); ?>>
+                               <?php p($l->t( 'Encryption' )); ?>
+                       </label>
+                       <select name="mail_smtpsecure" id="mail_smtpsecure"
+                               <?php if ($_['mail_smtpmode'] != 'smtp') print_unescaped(' class="hidden"'); ?>>
+                               <?php foreach ($mail_smtpsecure as $secure => $name):
+                                       $selected = '';
+                                       if ($secure == $_['mail_smtpsecure']):
+                                               $selected = 'selected="selected"';
+                                       endif; ?>
+                                       <option value='<?php p($secure)?>' <?php p($selected) ?>><?php p($name) ?></option>
+                               <?php endforeach;?>
+                       </select>
+               </p>
+
+               <p>
+                       <label for="mail_from_address"><?php p($l->t( 'From address' )); ?></label>
+                       <input type="text" name='mail_from_address' id="mail_from_address" placeholder="<?php p($l->t('mail'))?>"
+                                  value='<?php p($_['mail_from_address']) ?>' />@
+                       <input type="text" name='mail_domain' id="mail_domain" placeholder="example.com"
+                                  value='<?php p($_['mail_domain']) ?>' />
+               </p>
+
+               <p id="setting_smtpauth" <?php if ($_['mail_smtpmode'] != 'smtp') print_unescaped(' class="hidden"'); ?>>
+                       <label for="mail_smtpauthtype"><?php p($l->t( 'Authentication method' )); ?></label>
+                       <select name='mail_smtpauthtype' id='mail_smtpauthtype'>
+                               <?php foreach ($mail_smtpauthtype as $authtype => $name):
+                                       $selected = '';
+                                       if ($authtype == $_['mail_smtpauthtype']):
+                                               $selected = 'selected="selected"';
+                                       endif; ?>
+                                       <option value='<?php p($authtype)?>' <?php p($selected) ?>><?php p($name) ?></option>
+                               <?php endforeach;?>
+                       </select>
+
+                       <input type="checkbox" name="mail_smtpauth" id="mail_smtpauth" class="checkbox" value="1"
+                               <?php if ($_['mail_smtpauth']) print_unescaped('checked="checked"'); ?> />
+                       <label for="mail_smtpauth"><?php p($l->t( 'Authentication required' )); ?></label>
+               </p>
+
+               <p id="setting_smtphost" <?php if ($_['mail_smtpmode'] != 'smtp') print_unescaped(' class="hidden"'); ?>>
+                       <label for="mail_smtphost"><?php p($l->t( 'Server address' )); ?></label>
+                       <input type="text" name='mail_smtphost' id="mail_smtphost" placeholder="smtp.example.com"
+                                  value='<?php p($_['mail_smtphost']) ?>' />
+                       :
+                       <input type="text" name='mail_smtpport' id="mail_smtpport" placeholder="<?php p($l->t('Port'))?>"
+                                  value='<?php p($_['mail_smtpport']) ?>' />
+               </p>
+       </form>
+       <form class="mail_settings" id="mail_credentials_settings">
+               <p id="mail_credentials" <?php if (!$_['mail_smtpauth'] || $_['mail_smtpmode'] != 'smtp') print_unescaped(' class="hidden"'); ?>>
+                       <label for="mail_smtpname"><?php p($l->t( 'Credentials' )); ?></label>
+                       <input type="text" name='mail_smtpname' id="mail_smtpname" placeholder="<?php p($l->t('SMTP Username'))?>"
+                                  value='<?php p($_['mail_smtpname']) ?>' />
+                       <input type="password" name='mail_smtppassword' id="mail_smtppassword" autocomplete="off"
+                                  placeholder="<?php p($l->t('SMTP Password'))?>" value='<?php p($_['mail_smtppassword']) ?>' />
+                       <input id="mail_credentials_settings_submit" type="button" value="<?php p($l->t('Store credentials')) ?>">
+               </p>
+       </form>
+
+       <br />
+       <em><?php p($l->t( 'Test email settings' )); ?></em>
+       <input type="submit" name="sendtestemail" id="sendtestemail" value="<?php p($l->t( 'Send email' )); ?>"/>
+       <span id="sendtestmail_msg" class="msg"></span>
+</div>
+
index c4e70dbddb2cb97b94a8d9010e6ba8ecf54fc7f2..2ad2c5af4e5d524c038360f3e66939e1082264ab 100644 (file)
 
 ?>
 
-<div class="section" id="additional">
-       <h2><?php p($l->t('Additional Settings'));?></h2>
-       <?php foreach($_['forms'] as $form) {
-               if (isset($form['form'])) {?>
-                       <div id="<?php isset($form['anchor']) ? p($form['anchor']) : p('');?>"><?php print_unescaped($form['form']);?></div>
-               <?php }
-       };?>
-</div>
+<?php foreach($_['forms'] as $form) {
+       if (isset($form['form'])) {?>
+               <div id="<?php isset($form['anchor']) ? p($form['anchor']) : p('');?>"><?php print_unescaped($form['form']);?></div>
+       <?php }
+};?>
index 1e24043b3dc13053d41938e34ba9b462e1420b84..a15705a90e2d59b6efb52d57b3bb60b3fc205847 100644 (file)
 /** @var \OCP\IL10N $l */
 /** @var array $_ */
 
-$mail_smtpauthtype = [
-       ''      => $l->t('None'),
-       'LOGIN' => $l->t('Login'),
-       'PLAIN' => $l->t('Plain'),
-       'NTLM'  => $l->t('NT LAN Manager'),
-];
-
-$mail_smtpsecure = [
-       ''              => $l->t('None'),
-       'ssl'   => $l->t('SSL'),
-       'tls'   => $l->t('TLS'),
-];
-
-$mail_smtpmode = [
-       ['php', 'PHP'],
-       ['smtp', 'SMTP'],
-];
-if ($_['sendmail_is_available']) {
-       $mail_smtpmode[] = ['sendmail', 'Sendmail'];
-}
-if ($_['mail_smtpmode'] == 'qmail') {
-       $mail_smtpmode[] = ['qmail', 'qmail'];
-}
 ?>
 
 <div id="security-warning" class="section">
@@ -230,94 +207,6 @@ if ($_['mail_smtpmode'] == 'qmail') {
        </p>
 </div>
 
-<div class="section" id="mail_general_settings">
-       <form id="mail_general_settings_form" class="mail_settings">
-               <h2><?php p($l->t('Email server'));?></h2>
-               <a target="_blank" rel="noreferrer" class="icon-info"
-                  title="<?php p($l->t('Open documentation'));?>"
-                  href="<?php p(link_to_docs('admin-email')); ?>"></a>
-
-               <p><?php p($l->t('This is used for sending out notifications.')); ?> <span id="mail_settings_msg" class="msg"></span></p>
-
-               <p>
-                       <label for="mail_smtpmode"><?php p($l->t( 'Send mode' )); ?></label>
-                       <select name='mail_smtpmode' id='mail_smtpmode'>
-                               <?php foreach ($mail_smtpmode as $smtpmode):
-                                       $selected = '';
-                                       if ($smtpmode[0] == $_['mail_smtpmode']):
-                                               $selected = 'selected="selected"';
-                                       endif; ?>
-                                       <option value='<?php p($smtpmode[0])?>' <?php p($selected) ?>><?php p($smtpmode[1]) ?></option>
-                               <?php endforeach;?>
-                       </select>
-
-                       <label id="mail_smtpsecure_label" for="mail_smtpsecure"
-                               <?php if ($_['mail_smtpmode'] != 'smtp') print_unescaped(' class="hidden"'); ?>>
-                               <?php p($l->t( 'Encryption' )); ?>
-                       </label>
-                       <select name="mail_smtpsecure" id="mail_smtpsecure"
-                               <?php if ($_['mail_smtpmode'] != 'smtp') print_unescaped(' class="hidden"'); ?>>
-                               <?php foreach ($mail_smtpsecure as $secure => $name):
-                                       $selected = '';
-                                       if ($secure == $_['mail_smtpsecure']):
-                                               $selected = 'selected="selected"';
-                                       endif; ?>
-                                       <option value='<?php p($secure)?>' <?php p($selected) ?>><?php p($name) ?></option>
-                               <?php endforeach;?>
-                       </select>
-               </p>
-
-               <p>
-                       <label for="mail_from_address"><?php p($l->t( 'From address' )); ?></label>
-                       <input type="text" name='mail_from_address' id="mail_from_address" placeholder="<?php p($l->t('mail'))?>"
-                                  value='<?php p($_['mail_from_address']) ?>' />@
-                       <input type="text" name='mail_domain' id="mail_domain" placeholder="example.com"
-                                  value='<?php p($_['mail_domain']) ?>' />
-               </p>
-
-               <p id="setting_smtpauth" <?php if ($_['mail_smtpmode'] != 'smtp') print_unescaped(' class="hidden"'); ?>>
-                       <label for="mail_smtpauthtype"><?php p($l->t( 'Authentication method' )); ?></label>
-                       <select name='mail_smtpauthtype' id='mail_smtpauthtype'>
-                               <?php foreach ($mail_smtpauthtype as $authtype => $name):
-                                       $selected = '';
-                                       if ($authtype == $_['mail_smtpauthtype']):
-                                               $selected = 'selected="selected"';
-                                       endif; ?>
-                                       <option value='<?php p($authtype)?>' <?php p($selected) ?>><?php p($name) ?></option>
-                               <?php endforeach;?>
-                       </select>
-
-                       <input type="checkbox" name="mail_smtpauth" id="mail_smtpauth" class="checkbox" value="1"
-                               <?php if ($_['mail_smtpauth']) print_unescaped('checked="checked"'); ?> />
-                       <label for="mail_smtpauth"><?php p($l->t( 'Authentication required' )); ?></label>
-               </p>
-
-               <p id="setting_smtphost" <?php if ($_['mail_smtpmode'] != 'smtp') print_unescaped(' class="hidden"'); ?>>
-                       <label for="mail_smtphost"><?php p($l->t( 'Server address' )); ?></label>
-                       <input type="text" name='mail_smtphost' id="mail_smtphost" placeholder="smtp.example.com"
-                                  value='<?php p($_['mail_smtphost']) ?>' />
-                       :
-                       <input type="text" name='mail_smtpport' id="mail_smtpport" placeholder="<?php p($l->t('Port'))?>"
-                                  value='<?php p($_['mail_smtpport']) ?>' />
-               </p>
-       </form>
-       <form class="mail_settings" id="mail_credentials_settings">
-               <p id="mail_credentials" <?php if (!$_['mail_smtpauth'] || $_['mail_smtpmode'] != 'smtp') print_unescaped(' class="hidden"'); ?>>
-                       <label for="mail_smtpname"><?php p($l->t( 'Credentials' )); ?></label>
-                       <input type="text" name='mail_smtpname' id="mail_smtpname" placeholder="<?php p($l->t('SMTP Username'))?>"
-                                  value='<?php p($_['mail_smtpname']) ?>' />
-                       <input type="password" name='mail_smtppassword' id="mail_smtppassword" autocomplete="off"
-                                  placeholder="<?php p($l->t('SMTP Password'))?>" value='<?php p($_['mail_smtppassword']) ?>' />
-                       <input id="mail_credentials_settings_submit" type="button" value="<?php p($l->t('Store credentials')) ?>">
-               </p>
-       </form>
-
-       <br />
-       <em><?php p($l->t( 'Test email settings' )); ?></em>
-       <input type="submit" name="sendtestemail" id="sendtestemail" value="<?php p($l->t( 'Send email' )); ?>"/>
-       <span id="sendtestmail_msg" class="msg"></span>
-</div>
-
 <div class="section">
        <!-- should be the last part, so Updater can follow if enabled (it has no heading therefore). -->
        <h2><?php p($l->t('Version'));?></h2>