Ver código fonte

move mail settings and file handling to additional ones, thus files_external gets its own section

tags/v11.0RC2
Arthur Schiwon 7 anos atrás
pai
commit
158d78e1ab
Nenhuma conta vinculada ao e-mail do autor do commit

+ 0
- 1
apps/files/appinfo/info.xml Ver arquivo

@@ -25,6 +25,5 @@

<settings>
<admin>OCA\Files\Settings\Admin</admin>
<admin-section>OCA\Files\Settings\Section</admin-section>
</settings>
</info>

+ 1
- 1
apps/files/lib/Settings/Admin.php Ver arquivo

@@ -76,7 +76,7 @@ class Admin implements ISettings {
* @return string the section ID, e.g. 'sharing'
*/
public function getSection() {
return 'files';
return 'additional';
}

/**

+ 1
- 0
apps/files_external/appinfo/info.xml Ver arquivo

@@ -27,5 +27,6 @@

<settings>
<admin>OCA\Files_External\Settings\Admin</admin>
<admin-section>OCA\Files_External\Settings\Section</admin-section>
</settings>
</info>

+ 1
- 1
apps/files_external/lib/Settings/Admin.php Ver arquivo

@@ -79,7 +79,7 @@ class Admin implements ISettings {
* @return string the section ID, e.g. 'sharing'
*/
public function getSection() {
return 'files';
return 'externalstorages';
}

/**

apps/files/lib/Settings/Section.php → apps/files_external/lib/Settings/Section.php Ver arquivo

@@ -21,7 +21,7 @@
*
*/

namespace OCA\Files\Settings;
namespace OCA\Files_External\Settings;

use OCP\IL10N;
use OCP\Settings\ISection;
@@ -41,7 +41,7 @@ class Section implements ISection {
* @returns string
*/
public function getID() {
return 'files';
return 'externalstorages';
}

/**
@@ -51,7 +51,7 @@ class Section implements ISection {
* @return string
*/
public function getName() {
return $this->l->t('Files & storages');
return $this->l->t('External storages');
}

/**

+ 86
- 0
lib/private/Settings/Admin/Additional.php Ver arquivo

@@ -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;
}
}

+ 0
- 13
lib/private/Settings/Admin/Server.php Ver arquivo

@@ -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, '');

+ 5
- 0
lib/private/Settings/Manager.php Ver arquivo

@@ -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);

+ 7
- 7
settings/Controller/AdminSettingsController.php Ver arquivo

@@ -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();
}

/**

+ 140
- 0
settings/templates/admin/additional-mail.php Ver arquivo

@@ -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>


+ 5
- 8
settings/templates/admin/additional.php Ver arquivo

@@ -26,11 +26,8 @@

?>

<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 }
};?>

+ 0
- 111
settings/templates/admin/server.php Ver arquivo

@@ -24,29 +24,6 @@
/** @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>

Carregando…
Cancelar
Salvar