From f2f5371d89f94625416c4a6a42d4e9d9fd06a112 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Julius=20H=C3=A4rtl?= Date: Thu, 29 Mar 2018 17:12:03 +0200 Subject: [PATCH 01/18] Add overview settings section MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Julius Härtl --- lib/private/Settings/Admin/Additional.php | 2 +- lib/private/Settings/Admin/Overview.php | 159 ++++++++++++++++ lib/private/Settings/Manager.php | 12 +- .../templates/settings/admin/overview.php | 172 ++++++++++++++++++ settings/templates/settings/admin/server.php | 136 +------------- 5 files changed, 342 insertions(+), 139 deletions(-) create mode 100644 lib/private/Settings/Admin/Overview.php create mode 100644 settings/templates/settings/admin/overview.php diff --git a/lib/private/Settings/Admin/Additional.php b/lib/private/Settings/Admin/Additional.php index 3625857304..46a0d654f5 100644 --- a/lib/private/Settings/Admin/Additional.php +++ b/lib/private/Settings/Admin/Additional.php @@ -70,7 +70,7 @@ class Additional implements ISettings { * @return string the section ID, e.g. 'sharing' */ public function getSection() { - return 'additional'; + return 'server'; } /** diff --git a/lib/private/Settings/Admin/Overview.php b/lib/private/Settings/Admin/Overview.php new file mode 100644 index 0000000000..7d0cf10753 --- /dev/null +++ b/lib/private/Settings/Admin/Overview.php @@ -0,0 +1,159 @@ + + * + * @author Julius Härtl + * + * @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\IRequest; +use OCP\Lock\ILockingProvider; +use OCP\Settings\ISettings; + +class Overview implements ISettings { + /** @var IDBConnection|Connection */ + private $db; + /** @var IRequest */ + private $request; + /** @var IConfig */ + private $config; + /** @var ILockingProvider */ + private $lockingProvider; + /** @var IL10N */ + private $l; + + /** + * @param IDBConnection $db + * @param IRequest $request + * @param IConfig $config + * @param ILockingProvider $lockingProvider + * @param IL10N $l + */ + public function __construct(IDBConnection $db, + IRequest $request, + IConfig $config, + ILockingProvider $lockingProvider, + IL10N $l) { + $this->db = $db; + $this->request = $request; + $this->config = $config; + $this->lockingProvider = $lockingProvider; + $this->l = $l; + } + + /** + * @return TemplateResponse + */ + public function getForm() { + try { + if ($this->db->getDatabasePlatform() instanceof SqlitePlatform) { + $invalidTransactionIsolationLevel = false; + } else { + $invalidTransactionIsolationLevel = $this->db->getTransactionIsolation() !== Connection::TRANSACTION_READ_COMMITTED; + } + } catch (DBALException $e) { + // ignore + $invalidTransactionIsolationLevel = false; + } + + $envPath = getenv('PATH'); + + // warn if outdated version of a memcache module is used + $caches = [ + 'apcu' => ['name' => $this->l->t('APCu'), 'version' => '4.0.6'], + 'redis' => ['name' => $this->l->t('Redis'), 'version' => '2.2.5'], + ]; + $outdatedCaches = []; + foreach ($caches as $php_module => $data) { + $isOutdated = extension_loaded($php_module) && version_compare(phpversion($php_module), $data['version'], '<'); + if ($isOutdated) { + $outdatedCaches[$php_module] = $data; + } + } + + if ($this->lockingProvider instanceof NoopLockingProvider) { + $fileLockingType = 'none'; + } else if ($this->lockingProvider instanceof DBLockingProvider) { + $fileLockingType = 'db'; + } else { + $fileLockingType = 'cache'; + } + + $suggestedOverwriteCliUrl = ''; + if ($this->config->getSystemValue('overwrite.cli.url', '') === '') { + $suggestedOverwriteCliUrl = $this->request->getServerProtocol() . '://' . $this->request->getInsecureServerHost() . \OC::$WEBROOT; + if (!$this->config->getSystemValue('config_is_read_only', false)) { + // Set the overwrite URL when it was not set yet. + $this->config->setSystemValue('overwrite.cli.url', $suggestedOverwriteCliUrl); + $suggestedOverwriteCliUrl = ''; + } + } + + $parameters = [ + // Diagnosis + 'readOnlyConfigEnabled' => \OC_Helper::isReadOnlyConfigEnabled(), + 'isLocaleWorking' => \OC_Util::isSetLocaleWorking(), + 'isAnnotationsWorking' => \OC_Util::isAnnotationsWorking(), + 'checkForWorkingWellKnownSetup' => $this->config->getSystemValue('check_for_working_wellknown_setup', true), + 'has_fileinfo' => \OC_Util::fileInfoLoaded(), + 'invalidTransactionIsolationLevel' => $invalidTransactionIsolationLevel, + 'getenvServerNotWorking' => empty($envPath), + 'OutdatedCacheWarning' => $outdatedCaches, + 'fileLockingType' => $fileLockingType, + 'suggestedOverwriteCliUrl' => $suggestedOverwriteCliUrl, + + // Background jobs + 'backgroundjobs_mode' => $this->config->getAppValue('core', 'backgroundjobs_mode', 'ajax'), + 'lastcron' => $this->config->getAppValue('core', 'lastcron', false), + 'cronErrors' => $this->config->getAppValue('core', 'cronErrors'), + 'cli_based_cron_possible' => function_exists('posix_getpwuid'), + 'cli_based_cron_user' => function_exists('posix_getpwuid') ? posix_getpwuid(fileowner(\OC::$configDir . 'config.php'))['name'] : '', + ]; + + return new TemplateResponse('settings', 'settings/admin/overview', $parameters, ''); + } + + /** + * @return string the section ID, e.g. 'sharing' + */ + public function getSection() { + return 'overview'; + } + + /** + * @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 10; + } +} diff --git a/lib/private/Settings/Manager.php b/lib/private/Settings/Manager.php index 49f699223f..ebca8e6492 100644 --- a/lib/private/Settings/Manager.php +++ b/lib/private/Settings/Manager.php @@ -226,7 +226,8 @@ class Manager implements IManager { public function getAdminSections(): array { // built-in sections $sections = [ - 0 => [new Section('server', $this->l->t('Basic settings'), 0, $this->url->imagePath('settings', 'admin.svg'))], + 0 => [new Section('overview', $this->l->t('Overview'), 0, $this->url->imagePath('settings', 'admin.svg'))], + 1 => [new Section('server', $this->l->t('Basic settings'), 0, $this->url->imagePath('settings', 'admin.svg'))], 5 => [new Section('sharing', $this->l->t('Sharing'), 0, $this->url->imagePath('core', 'actions/share.svg'))], 10 => [new Section('security', $this->l->t('Security'), 0, $this->url->imagePath('core', 'actions/password.svg'))], 45 => [new Section('encryption', $this->l->t('Encryption'), 0, $this->url->imagePath('core', 'actions/password.svg'))], @@ -257,12 +258,17 @@ class Manager implements IManager { private function getBuiltInAdminSettings($section): array { $forms = []; + if ($section === 'overview') { + /** @var ISettings $form */ + $form = new Admin\Overview($this->dbc, $this->request, $this->config, $this->lockingProvider, $this->l); + $forms[$form->getPriority()] = [$form]; + $form = new Admin\ServerDevNotice(); + $forms[$form->getPriority()] = [$form]; + } if ($section === 'server') { /** @var ISettings $form */ $form = new Admin\Server($this->dbc, $this->request, $this->config, $this->lockingProvider, $this->l); $forms[$form->getPriority()] = [$form]; - $form = new Admin\ServerDevNotice(); - $forms[$form->getPriority()] = [$form]; } if ($section === 'encryption') { /** @var ISettings $form */ diff --git a/settings/templates/settings/admin/overview.php b/settings/templates/settings/admin/overview.php new file mode 100644 index 0000000000..2bddd1f9c3 --- /dev/null +++ b/settings/templates/settings/admin/overview.php @@ -0,0 +1,172 @@ + + * + * @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 . + * + */ + +/** @var \OCP\IL10N $l */ +/** @var array $_ */ + +?> + +
+

t('Security & setup warnings'));?>

+

t('It\'s important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the Tips & Tricks section and the documentation for more information.'));?>

+
    + +
  • + t('PHP does not seem to be setup properly to query system environment variables. The test with getenv("PATH") only returns an empty response.')); ?>
    + t('Please check the installation documentation ↗ for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm.', link_to_docs('admin-php-fpm'))); ?> +
  • + +
  • + t('The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update.')); ?> +
  • + +
  • + t('PHP is apparently set up to strip inline doc blocks. This will make several core apps inaccessible.')); ?>
    + t('This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator.')); ?> +
  • + +
  • + t('Your database does not run with "READ COMMITTED" transaction isolation level. This can cause problems when multiple actions are executed in parallel.')); ?> +
  • + $data) { + ?> +
  • + t('%1$s below version %2$s is installed, for stability and performance reasons it is recommended to update to a newer %1$s version.', $data)); ?> +
  • + +
  • + t('The PHP module \'fileinfo\' is missing. It is strongly recommended to enable this module to get the best results with MIME type detection.')); ?> +
  • + +
  • + t('Transactional file locking is disabled, this might lead to issues with race conditions. Enable \'filelocking.enabled\' in config.php to avoid these problems. See the documentation ↗ for more information.', link_to_docs('admin-transactional-locking'))); ?> +
  • + +
  • + t('System locale can not be set to a one which supports UTF-8.')); + ?> +
    + t('This means that there might be problems with certain characters in filenames.')); + ?> +
    + t('It is strongly proposed to install the required packages on your system to support one of the following locales: %s.', [$locales])); + ?> +
  • + +
  • + t('If your installation is not installed at the root of the domain and uses system Cron, there can be issues with the URL generation. To avoid these problems, please set the "overwrite.cli.url" option in your config.php file to the webroot path of your installation (Suggested: "%s")', $_['suggestedOverwriteCliUrl'])); ?> +
  • + +
  • + t('It was not possible to execute the cron job via CLI. The following technical errors have appeared:')); ?> +
    +
      + error)) {?> +
    1. error) ?> hint) ?>
    2. + +
    +
  • + + getDateTimeFormatter(); + $absolute_time = $formatter->formatDateTime($_['lastcron'], 'long', 'long'); + if (time() - $_['lastcron'] > 3600): ?> +
  • + t("Last background job execution ran %s. Something seems wrong.", [$relative_time]));?> + t('Check the background job settings')); ?> +
  • + + +
+ +
+
+ + + + +
+
+ +
+
+ +
+ +

t('Version'));?>

+

getTitle()); ?>

+
diff --git a/settings/templates/settings/admin/server.php b/settings/templates/settings/admin/server.php index d467577f61..8dc00e26e5 100644 --- a/settings/templates/settings/admin/server.php +++ b/settings/templates/settings/admin/server.php @@ -26,134 +26,6 @@ ?> -
-

t('Security & setup warnings'));?>

-

t('It\'s important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the Tips & Tricks section and the documentation for more information.'));?>

-
    - -
  • - t('PHP does not seem to be setup properly to query system environment variables. The test with getenv("PATH") only returns an empty response.')); ?>
    - t('Please check the installation documentation ↗ for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm.', link_to_docs('admin-php-fpm'))); ?> -
  • - -
  • - t('The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update.')); ?> -
  • - -
  • - t('PHP is apparently set up to strip inline doc blocks. This will make several core apps inaccessible.')); ?>
    - t('This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator.')); ?> -
  • - -
  • - t('Your database does not run with "READ COMMITTED" transaction isolation level. This can cause problems when multiple actions are executed in parallel.')); ?> -
  • - $data) { - ?> -
  • - t('%1$s below version %2$s is installed, for stability and performance reasons it is recommended to update to a newer %1$s version.', $data)); ?> -
  • - -
  • - t('The PHP module \'fileinfo\' is missing. It is strongly recommended to enable this module to get the best results with MIME type detection.')); ?> -
  • - -
  • - t('Transactional file locking is disabled, this might lead to issues with race conditions. Enable \'filelocking.enabled\' in config.php to avoid these problems. See the documentation ↗ for more information.', link_to_docs('admin-transactional-locking'))); ?> -
  • - -
  • - t('System locale can not be set to a one which supports UTF-8.')); - ?> -
    - t('This means that there might be problems with certain characters in filenames.')); - ?> -
    - t('It is strongly proposed to install the required packages on your system to support one of the following locales: %s.', [$locales])); - ?> -
  • - -
  • - t('If your installation is not installed at the root of the domain and uses system Cron, there can be issues with the URL generation. To avoid these problems, please set the "overwrite.cli.url" option in your config.php file to the webroot path of your installation (Suggested: "%s")', $_['suggestedOverwriteCliUrl'])); ?> -
  • - -
  • - t('It was not possible to execute the cron job via CLI. The following technical errors have appeared:')); ?> -
    -
      - error)) {?> -
    1. error) ?> hint) ?>
    2. - -
    -
  • - -
- -
-
- - - - -
-
- -
-
-

t('Background jobs'));?>

@@ -220,10 +92,4 @@ } ?>

-
- -
- -

t('Version'));?>

-

getTitle()); ?>

-
+ \ No newline at end of file From a77efe0a55f9ccf791882d532c1fe571f18d35a7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Julius=20H=C3=A4rtl?= Date: Thu, 29 Mar 2018 17:12:24 +0200 Subject: [PATCH 02/18] Move dav settings to main server settings MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Julius Härtl --- apps/dav/lib/Settings/CalDAVSettings.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/dav/lib/Settings/CalDAVSettings.php b/apps/dav/lib/Settings/CalDAVSettings.php index a419afa1c5..e4b4ca6452 100644 --- a/apps/dav/lib/Settings/CalDAVSettings.php +++ b/apps/dav/lib/Settings/CalDAVSettings.php @@ -57,7 +57,7 @@ class CalDAVSettings implements ISettings { * @return string */ public function getSection() { - return 'additional'; + return 'server'; } /** From cea4c9d00091e765e36849d4ff2edaf7134f8963 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Julius=20H=C3=A4rtl?= Date: Thu, 29 Mar 2018 17:12:37 +0200 Subject: [PATCH 03/18] Move files settings to main server settings MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Julius Härtl --- apps/files/lib/Settings/Admin.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/files/lib/Settings/Admin.php b/apps/files/lib/Settings/Admin.php index 2f4406c150..11b66dab84 100644 --- a/apps/files/lib/Settings/Admin.php +++ b/apps/files/lib/Settings/Admin.php @@ -70,7 +70,7 @@ class Admin implements ISettings { * @return string the section ID, e.g. 'sharing' */ public function getSection() { - return 'additional'; + return 'server'; } /** From adef21ba719b3374dc2f786821f73c5adab42a58 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Julius=20H=C3=A4rtl?= Date: Thu, 29 Mar 2018 17:15:42 +0200 Subject: [PATCH 04/18] Update autoloader MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Julius Härtl --- lib/composer/composer/autoload_classmap.php | 1 + lib/composer/composer/autoload_static.php | 1 + 2 files changed, 2 insertions(+) diff --git a/lib/composer/composer/autoload_classmap.php b/lib/composer/composer/autoload_classmap.php index 6f8c413154..24ac0eaaa3 100644 --- a/lib/composer/composer/autoload_classmap.php +++ b/lib/composer/composer/autoload_classmap.php @@ -894,6 +894,7 @@ return array( 'OC\\Settings\\Activity\\Setting' => $baseDir . '/settings/Activity/Setting.php', 'OC\\Settings\\Admin\\Additional' => $baseDir . '/lib/private/Settings/Admin/Additional.php', 'OC\\Settings\\Admin\\Encryption' => $baseDir . '/lib/private/Settings/Admin/Encryption.php', + 'OC\\Settings\\Admin\\Overview' => $baseDir . '/lib/private/Settings/Admin/Overview.php', 'OC\\Settings\\Admin\\Server' => $baseDir . '/lib/private/Settings/Admin/Server.php', 'OC\\Settings\\Admin\\ServerDevNotice' => $baseDir . '/lib/private/Settings/Admin/ServerDevNotice.php', 'OC\\Settings\\Admin\\Sharing' => $baseDir . '/lib/private/Settings/Admin/Sharing.php', diff --git a/lib/composer/composer/autoload_static.php b/lib/composer/composer/autoload_static.php index 92726f7789..1438a3f781 100644 --- a/lib/composer/composer/autoload_static.php +++ b/lib/composer/composer/autoload_static.php @@ -924,6 +924,7 @@ class ComposerStaticInit53792487c5a8370acc0b06b1a864ff4c 'OC\\Settings\\Activity\\Setting' => __DIR__ . '/../../..' . '/settings/Activity/Setting.php', 'OC\\Settings\\Admin\\Additional' => __DIR__ . '/../../..' . '/lib/private/Settings/Admin/Additional.php', 'OC\\Settings\\Admin\\Encryption' => __DIR__ . '/../../..' . '/lib/private/Settings/Admin/Encryption.php', + 'OC\\Settings\\Admin\\Overview' => __DIR__ . '/../../..' . '/lib/private/Settings/Admin/Overview.php', 'OC\\Settings\\Admin\\Server' => __DIR__ . '/../../..' . '/lib/private/Settings/Admin/Server.php', 'OC\\Settings\\Admin\\ServerDevNotice' => __DIR__ . '/../../..' . '/lib/private/Settings/Admin/ServerDevNotice.php', 'OC\\Settings\\Admin\\Sharing' => __DIR__ . '/../../..' . '/lib/private/Settings/Admin/Sharing.php', From 82ff26f4ec358402b94ae975b0e691b9cc41b84e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Julius=20H=C3=A4rtl?= Date: Thu, 29 Mar 2018 17:16:07 +0200 Subject: [PATCH 05/18] Fix styling of system check list MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Julius Härtl --- settings/css/settings.scss | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/settings/css/settings.scss b/settings/css/settings.scss index a040ee6195..0dc418af01 100644 --- a/settings/css/settings.scss +++ b/settings/css/settings.scss @@ -1101,6 +1101,7 @@ table.grid td.date { #security-warning li { list-style: initial; margin: 10px 0; + list-style-position: inside; } #security-warning-state span { @@ -1260,13 +1261,16 @@ doesnotexist:-o-prefocus, .strengthify-wrapper { height: 50px; background-position: left center; } - .errors, .warnings { - color: #ce3702; + .errors, .errors a { + color: $color-error; + } + .warnings, .warnings a { + color: $color-warning; } } #security-warning > ul { - color: #ce3702; + color: $color-error; } #admin-tips li { From d30109c31661f6039e3f2035dce67b462820488c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Julius=20H=C3=A4rtl?= Date: Thu, 29 Mar 2018 17:21:27 +0200 Subject: [PATCH 06/18] Make mail settings form width equal MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Julius Härtl --- lib/private/Settings/Admin/{Additional.php => Mail.php} | 0 settings/css/settings.scss | 3 ++- 2 files changed, 2 insertions(+), 1 deletion(-) rename lib/private/Settings/Admin/{Additional.php => Mail.php} (100%) diff --git a/lib/private/Settings/Admin/Additional.php b/lib/private/Settings/Admin/Mail.php similarity index 100% rename from lib/private/Settings/Admin/Additional.php rename to lib/private/Settings/Admin/Mail.php diff --git a/settings/css/settings.scss b/settings/css/settings.scss index 0dc418af01..c668cc7adb 100644 --- a/settings/css/settings.scss +++ b/settings/css/settings.scss @@ -1168,7 +1168,8 @@ table.grid td.date { width: 300px; text-align: right; } - select:nth-child(2) { + select:nth-child(2), + input { width: 143px; } } From f6f0f5be4095b0551ae522889c503cf6150b1a6c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Julius=20H=C3=A4rtl?= Date: Tue, 27 Mar 2018 16:08:23 +0200 Subject: [PATCH 07/18] Add separator between settings sections MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Julius Härtl --- settings/css/settings.scss | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/settings/css/settings.scss b/settings/css/settings.scss index c668cc7adb..30798f0ba8 100644 --- a/settings/css/settings.scss +++ b/settings/css/settings.scss @@ -882,6 +882,10 @@ span.version { margin: 8px 0; } margin-bottom: 0; + /* use 2nd child since app-navigation-toggle is the first */ + &:not(:nth-child(2)) { + border-top: 1px solid $color-border; + } } .personal-settings-setting-box .section { From 9a6b2d28fa4bb6f10a8568c37a5729ac00054561 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Julius=20H=C3=A4rtl?= Date: Thu, 29 Mar 2018 17:23:22 +0200 Subject: [PATCH 08/18] Move additional settings to main server settings MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Julius Härtl --- lib/private/Settings/Admin/Mail.php | 4 ++-- lib/private/Settings/Manager.php | 7 ++----- 2 files changed, 4 insertions(+), 7 deletions(-) diff --git a/lib/private/Settings/Admin/Mail.php b/lib/private/Settings/Admin/Mail.php index 46a0d654f5..74a94a4c7a 100644 --- a/lib/private/Settings/Admin/Mail.php +++ b/lib/private/Settings/Admin/Mail.php @@ -29,7 +29,7 @@ use OCP\AppFramework\Http\TemplateResponse; use OCP\IConfig; use OCP\Settings\ISettings; -class Additional implements ISettings { +class Mail implements ISettings { /** @var IConfig */ private $config; @@ -81,6 +81,6 @@ class Additional implements ISettings { * E.g.: 70 */ public function getPriority() { - return 0; + return 10; } } diff --git a/lib/private/Settings/Manager.php b/lib/private/Settings/Manager.php index ebca8e6492..68f43a60c9 100644 --- a/lib/private/Settings/Manager.php +++ b/lib/private/Settings/Manager.php @@ -269,6 +269,8 @@ class Manager implements IManager { /** @var ISettings $form */ $form = new Admin\Server($this->dbc, $this->request, $this->config, $this->lockingProvider, $this->l); $forms[$form->getPriority()] = [$form]; + $form = new Admin\Mail($this->config); + $forms[$form->getPriority()] = [$form]; } if ($section === 'encryption') { /** @var ISettings $form */ @@ -280,11 +282,6 @@ class Manager implements IManager { $form = new Admin\Sharing($this->config, $this->l); $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); From 8b0c6c6df12fb7c44f3e87f69737bb2a34752cac Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Julius=20H=C3=A4rtl?= Date: Mon, 9 Apr 2018 21:49:03 +0200 Subject: [PATCH 09/18] Do not hide additional settings if there are only legacy forms MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Julius Härtl --- lib/private/Settings/Manager.php | 2 +- settings/Controller/CommonSettingsTrait.php | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/private/Settings/Manager.php b/lib/private/Settings/Manager.php index 68f43a60c9..becc670c6f 100644 --- a/lib/private/Settings/Manager.php +++ b/lib/private/Settings/Manager.php @@ -227,7 +227,7 @@ class Manager implements IManager { // built-in sections $sections = [ 0 => [new Section('overview', $this->l->t('Overview'), 0, $this->url->imagePath('settings', 'admin.svg'))], - 1 => [new Section('server', $this->l->t('Basic settings'), 0, $this->url->imagePath('settings', 'admin.svg'))], + 1 => [new Section('server', $this->l->t('Basic settings'), 0, $this->url->imagePath('core', 'actions/settings-dark.svg'))], 5 => [new Section('sharing', $this->l->t('Sharing'), 0, $this->url->imagePath('core', 'actions/share.svg'))], 10 => [new Section('security', $this->l->t('Security'), 0, $this->url->imagePath('core', 'actions/password.svg'))], 45 => [new Section('encryption', $this->l->t('Encryption'), 0, $this->url->imagePath('core', 'actions/password.svg'))], diff --git a/settings/Controller/CommonSettingsTrait.php b/settings/Controller/CommonSettingsTrait.php index 3d314d9ed5..10fc0d84bb 100644 --- a/settings/Controller/CommonSettingsTrait.php +++ b/settings/Controller/CommonSettingsTrait.php @@ -66,7 +66,7 @@ trait CommonSettingsTrait { } else if($type === 'personal') { $settings = $this->settingsManager->getPersonalSettings($section->getID()); } - if (empty($settings)) { + if (empty($settings) && !($section->getID() === 'additional' && count(\OC_App::getForms('admin')) > 0)) { continue; } From 2b840250c3b96a3eaed383819ec4a10b1f2211db Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Julius=20H=C3=A4rtl?= Date: Tue, 17 Apr 2018 18:49:08 +0200 Subject: [PATCH 10/18] Move documentation link in relation to the heading MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Julius Härtl --- .../templates/settings-admin.php | 13 ++++++++----- apps/federation/css/settings-admin.css | 4 ++++ settings/css/settings.scss | 7 +++++++ 3 files changed, 19 insertions(+), 5 deletions(-) diff --git a/apps/federatedfilesharing/templates/settings-admin.php b/apps/federatedfilesharing/templates/settings-admin.php index 8d04169ea8..187d75f21a 100644 --- a/apps/federatedfilesharing/templates/settings-admin.php +++ b/apps/federatedfilesharing/templates/settings-admin.php @@ -6,11 +6,14 @@ script('federatedfilesharing', 'settings-admin'); -
-

t('Federated Cloud Sharing'));?>

- +
+

+ t('Federated Cloud Sharing'));?> + +

+

t('Adjust how people can share between servers.')); ?>

diff --git a/apps/federation/css/settings-admin.css b/apps/federation/css/settings-admin.css index 3fd5f5aea6..c4c846bd81 100644 --- a/apps/federation/css/settings-admin.css +++ b/apps/federation/css/settings-admin.css @@ -26,3 +26,7 @@ vertical-align: middle; margin-left: 10px; } + +#ocFederationAddServer #serverUrl { + width: 300px; +} diff --git a/settings/css/settings.scss b/settings/css/settings.scss index 30798f0ba8..14900a52af 100644 --- a/settings/css/settings.scss +++ b/settings/css/settings.scss @@ -886,6 +886,13 @@ span.version { &:not(:nth-child(2)) { border-top: 1px solid $color-border; } + + /* correctly display help icons next to headings */ + h2 .icon-info { + padding: 6px 20px; + vertical-align: text-bottom; + display: inline-block; + } } .personal-settings-setting-box .section { From 154a579651008beca5179e2df48e073cecab15dd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Julius=20H=C3=A4rtl?= Date: Tue, 17 Apr 2018 19:15:05 +0200 Subject: [PATCH 11/18] Increase visibility of the warning color MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Julius Härtl --- core/css/variables.scss | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/css/variables.scss b/core/css/variables.scss index a60460a308..4e2c1c396c 100644 --- a/core/css/variables.scss +++ b/core/css/variables.scss @@ -3,7 +3,7 @@ $color-main-background: #ffffff; $color-primary: #0082c9; $color-primary-text: #ffffff; $color-error: #e9322d; -$color-warning: #ffcc44; +$color-warning: #eca700; $color-success: #46ba61; $color-primary-element: $color-primary; From 4251856218c55fad1524d22c038365efc396dfbf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Julius=20H=C3=A4rtl?= Date: Tue, 17 Apr 2018 19:17:12 +0200 Subject: [PATCH 12/18] Increase space of settings headers MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Julius Härtl --- settings/css/settings.scss | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/settings/css/settings.scss b/settings/css/settings.scss index 14900a52af..7a12e4f7d9 100644 --- a/settings/css/settings.scss +++ b/settings/css/settings.scss @@ -877,10 +877,6 @@ span.version { } .section { - h2.app-name { - display: block; - margin: 8px 0; - } margin-bottom: 0; /* use 2nd child since app-navigation-toggle is the first */ &:not(:nth-child(2)) { @@ -888,10 +884,13 @@ span.version { } /* correctly display help icons next to headings */ - h2 .icon-info { - padding: 6px 20px; - vertical-align: text-bottom; - display: inline-block; + h2 { + margin-bottom: 22px; + .icon-info { + padding: 6px 20px; + vertical-align: text-bottom; + display: inline-block; + } } } From 1f2f7019319cd9f4cfa759be35aea0d888beaba8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Julius=20H=C3=A4rtl?= Date: Tue, 17 Apr 2018 19:19:58 +0200 Subject: [PATCH 13/18] Readd space in app store view MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Julius Härtl --- settings/css/settings.scss | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/settings/css/settings.scss b/settings/css/settings.scss index 7a12e4f7d9..2d687f9dad 100644 --- a/settings/css/settings.scss +++ b/settings/css/settings.scss @@ -1036,6 +1036,10 @@ span.version { &.apps-experimental { flex-basis: 90%; } + h2.app-name { + display: block; + margin: 8px 0; + } } .app-description { p { @@ -1074,6 +1078,7 @@ span.version { position: absolute; padding-left: 6px; padding-top: 15px; + .enable { position: relative; top: -1px; From 9bfc108b79f793ed5dd6812d1ca193a38ba02231 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Julius=20H=C3=A4rtl?= Date: Tue, 17 Apr 2018 20:03:26 +0200 Subject: [PATCH 14/18] Cleanup and fix tests MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Julius Härtl --- lib/private/Settings/Admin/Overview.php | 5 -- lib/private/Settings/Admin/Server.php | 56 ------------------- .../{AdditionalTest.php => MailTest.php} | 5 +- tests/lib/Settings/ManagerTest.php | 30 +++++----- 4 files changed, 19 insertions(+), 77 deletions(-) rename tests/lib/Settings/Admin/{AdditionalTest.php => MailTest.php} (97%) diff --git a/lib/private/Settings/Admin/Overview.php b/lib/private/Settings/Admin/Overview.php index 7d0cf10753..6e186dc6f9 100644 --- a/lib/private/Settings/Admin/Overview.php +++ b/lib/private/Settings/Admin/Overview.php @@ -127,13 +127,8 @@ class Overview implements ISettings { 'OutdatedCacheWarning' => $outdatedCaches, 'fileLockingType' => $fileLockingType, 'suggestedOverwriteCliUrl' => $suggestedOverwriteCliUrl, - - // Background jobs - 'backgroundjobs_mode' => $this->config->getAppValue('core', 'backgroundjobs_mode', 'ajax'), 'lastcron' => $this->config->getAppValue('core', 'lastcron', false), 'cronErrors' => $this->config->getAppValue('core', 'cronErrors'), - 'cli_based_cron_possible' => function_exists('posix_getpwuid'), - 'cli_based_cron_user' => function_exists('posix_getpwuid') ? posix_getpwuid(fileowner(\OC::$configDir . 'config.php'))['name'] : '', ]; return new TemplateResponse('settings', 'settings/admin/overview', $parameters, ''); diff --git a/lib/private/Settings/Admin/Server.php b/lib/private/Settings/Admin/Server.php index 0b9c042e4f..1ebea8a4dc 100644 --- a/lib/private/Settings/Admin/Server.php +++ b/lib/private/Settings/Admin/Server.php @@ -74,63 +74,7 @@ class Server implements ISettings { * @return TemplateResponse */ public function getForm() { - try { - if ($this->db->getDatabasePlatform() instanceof SqlitePlatform) { - $invalidTransactionIsolationLevel = false; - } else { - $invalidTransactionIsolationLevel = $this->db->getTransactionIsolation() !== Connection::TRANSACTION_READ_COMMITTED; - } - } catch (DBALException $e) { - // ignore - $invalidTransactionIsolationLevel = false; - } - - $envPath = getenv('PATH'); - - // warn if outdated version of a memcache module is used - $caches = [ - 'apcu' => ['name' => $this->l->t('APCu'), 'version' => '4.0.6'], - 'redis' => ['name' => $this->l->t('Redis'), 'version' => '2.2.5'], - ]; - $outdatedCaches = []; - foreach ($caches as $php_module => $data) { - $isOutdated = extension_loaded($php_module) && version_compare(phpversion($php_module), $data['version'], '<'); - if ($isOutdated) { - $outdatedCaches[$php_module] = $data; - } - } - - if ($this->lockingProvider instanceof NoopLockingProvider) { - $fileLockingType = 'none'; - } else if ($this->lockingProvider instanceof DBLockingProvider) { - $fileLockingType = 'db'; - } else { - $fileLockingType = 'cache'; - } - - $suggestedOverwriteCliUrl = ''; - if ($this->config->getSystemValue('overwrite.cli.url', '') === '') { - $suggestedOverwriteCliUrl = $this->request->getServerProtocol() . '://' . $this->request->getInsecureServerHost() . \OC::$WEBROOT; - if (!$this->config->getSystemValue('config_is_read_only', false)) { - // Set the overwrite URL when it was not set yet. - $this->config->setSystemValue('overwrite.cli.url', $suggestedOverwriteCliUrl); - $suggestedOverwriteCliUrl = ''; - } - } - $parameters = [ - // Diagnosis - 'readOnlyConfigEnabled' => \OC_Helper::isReadOnlyConfigEnabled(), - 'isLocaleWorking' => \OC_Util::isSetLocaleWorking(), - 'isAnnotationsWorking' => \OC_Util::isAnnotationsWorking(), - 'checkForWorkingWellKnownSetup' => $this->config->getSystemValue('check_for_working_wellknown_setup', true), - 'has_fileinfo' => \OC_Util::fileInfoLoaded(), - 'invalidTransactionIsolationLevel' => $invalidTransactionIsolationLevel, - 'getenvServerNotWorking' => empty($envPath), - 'OutdatedCacheWarning' => $outdatedCaches, - 'fileLockingType' => $fileLockingType, - 'suggestedOverwriteCliUrl' => $suggestedOverwriteCliUrl, - // Background jobs 'backgroundjobs_mode' => $this->config->getAppValue('core', 'backgroundjobs_mode', 'ajax'), 'lastcron' => $this->config->getAppValue('core', 'lastcron', false), diff --git a/tests/lib/Settings/Admin/AdditionalTest.php b/tests/lib/Settings/Admin/MailTest.php similarity index 97% rename from tests/lib/Settings/Admin/AdditionalTest.php rename to tests/lib/Settings/Admin/MailTest.php index 4a254da060..445aa94205 100644 --- a/tests/lib/Settings/Admin/AdditionalTest.php +++ b/tests/lib/Settings/Admin/MailTest.php @@ -24,11 +24,12 @@ namespace Test\Settings\Admin; use OC\Settings\Admin\Additional; +use OC\Settings\Admin\Mail; use OCP\AppFramework\Http\TemplateResponse; use OCP\IConfig; use Test\TestCase; -class AdditionalTest extends TestCase { +class MailTest extends TestCase { /** @var Additional */ private $admin; /** @var IConfig */ @@ -38,7 +39,7 @@ class AdditionalTest extends TestCase { parent::setUp(); $this->config = $this->getMockBuilder(IConfig::class)->getMock(); - $this->admin = new Additional( + $this->admin = new Mail( $this->config ); } diff --git a/tests/lib/Settings/ManagerTest.php b/tests/lib/Settings/ManagerTest.php index b218a347e8..d51a57598b 100644 --- a/tests/lib/Settings/ManagerTest.php +++ b/tests/lib/Settings/ManagerTest.php @@ -115,24 +115,25 @@ class ManagerTest extends TestCase { $this->manager->registerSection('admin', \OCA\WorkflowEngine\Settings\Section::class); - $this->url->expects($this->exactly(6)) + $this->url->expects($this->exactly(7)) ->method('imagePath') ->willReturnMap([ - ['settings', 'admin.svg', '1'], + ['settings', 'admin.svg', '0'], + ['core', 'actions/settings-dark.svg', '1'], ['core', 'actions/share.svg', '2'], ['core', 'actions/password.svg', '3'], - ['core', 'actions/settings-dark.svg', '4'], - ['settings', 'help.svg', '5'], + ['settings', 'help.svg', '4'], ]); $this->assertEquals([ - 0 => [new Section('server', 'Basic settings', 0, '1')], + 0 => [new Section('overview', 'Overview', 0, '0')], + 1 => [new Section('server', 'Basic settings', 0, '1')], 5 => [new Section('sharing', 'Sharing', 0, '2')], 10 => [new Section('security', 'Security', 0, '3')], 45 => [new Section('encryption', 'Encryption', 0, '3')], 55 => [\OC::$server->query(\OCA\WorkflowEngine\Settings\Section::class)], - 98 => [new Section('additional', 'Additional settings', 0, '4')], - 99 => [new Section('tips-tricks', 'Tips & tricks', 0, '5')], + 98 => [new Section('additional', 'Additional settings', 0, '1')], + 99 => [new Section('tips-tricks', 'Tips & tricks', 0, '4')], ], $this->manager->getAdminSections()); } @@ -166,23 +167,24 @@ class ManagerTest extends TestCase { ->method('t') ->will($this->returnArgument(0)); - $this->url->expects($this->exactly(6)) + $this->url->expects($this->exactly(7)) ->method('imagePath') ->willReturnMap([ - ['settings', 'admin.svg', '1'], + ['settings', 'admin.svg', '0'], + ['core', 'actions/settings-dark.svg', '1'], ['core', 'actions/share.svg', '2'], ['core', 'actions/password.svg', '3'], - ['core', 'actions/settings-dark.svg', '4'], - ['settings', 'help.svg', '5'], + ['settings', 'help.svg', '4'], ]); $this->assertEquals([ - 0 => [new Section('server', 'Basic settings', 0, '1')], + 0 => [new Section('overview', 'Overview', 0, '0')], + 1 => [new Section('server', 'Basic settings', 0, '1')], 5 => [new Section('sharing', 'Sharing', 0, '2')], 10 => [new Section('security', 'Security', 0, '3')], 45 => [new Section('encryption', 'Encryption', 0, '3')], - 98 => [new Section('additional', 'Additional settings', 0, '4')], - 99 => [new Section('tips-tricks', 'Tips & tricks', 0, '5')], + 98 => [new Section('additional', 'Additional settings', 0, '1')], + 99 => [new Section('tips-tricks', 'Tips & tricks', 0, '4')], ], $this->manager->getAdminSections()); } From 5f9503abdb308757bfa21e5221a8f4d86a37b0a3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Julius=20H=C3=A4rtl?= Date: Tue, 17 Apr 2018 20:06:35 +0200 Subject: [PATCH 15/18] Dump autoloader MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Julius Härtl --- lib/composer/composer/autoload_classmap.php | 2 +- lib/composer/composer/autoload_static.php | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/composer/composer/autoload_classmap.php b/lib/composer/composer/autoload_classmap.php index 24ac0eaaa3..bf223204e2 100644 --- a/lib/composer/composer/autoload_classmap.php +++ b/lib/composer/composer/autoload_classmap.php @@ -892,8 +892,8 @@ return array( 'OC\\Settings\\Activity\\SecurityProvider' => $baseDir . '/settings/Activity/SecurityProvider.php', 'OC\\Settings\\Activity\\SecuritySetting' => $baseDir . '/settings/Activity/SecuritySetting.php', 'OC\\Settings\\Activity\\Setting' => $baseDir . '/settings/Activity/Setting.php', - 'OC\\Settings\\Admin\\Additional' => $baseDir . '/lib/private/Settings/Admin/Additional.php', 'OC\\Settings\\Admin\\Encryption' => $baseDir . '/lib/private/Settings/Admin/Encryption.php', + 'OC\\Settings\\Admin\\Mail' => $baseDir . '/lib/private/Settings/Admin/Mail.php', 'OC\\Settings\\Admin\\Overview' => $baseDir . '/lib/private/Settings/Admin/Overview.php', 'OC\\Settings\\Admin\\Server' => $baseDir . '/lib/private/Settings/Admin/Server.php', 'OC\\Settings\\Admin\\ServerDevNotice' => $baseDir . '/lib/private/Settings/Admin/ServerDevNotice.php', diff --git a/lib/composer/composer/autoload_static.php b/lib/composer/composer/autoload_static.php index 1438a3f781..cb723ef70e 100644 --- a/lib/composer/composer/autoload_static.php +++ b/lib/composer/composer/autoload_static.php @@ -922,8 +922,8 @@ class ComposerStaticInit53792487c5a8370acc0b06b1a864ff4c 'OC\\Settings\\Activity\\SecurityProvider' => __DIR__ . '/../../..' . '/settings/Activity/SecurityProvider.php', 'OC\\Settings\\Activity\\SecuritySetting' => __DIR__ . '/../../..' . '/settings/Activity/SecuritySetting.php', 'OC\\Settings\\Activity\\Setting' => __DIR__ . '/../../..' . '/settings/Activity/Setting.php', - 'OC\\Settings\\Admin\\Additional' => __DIR__ . '/../../..' . '/lib/private/Settings/Admin/Additional.php', 'OC\\Settings\\Admin\\Encryption' => __DIR__ . '/../../..' . '/lib/private/Settings/Admin/Encryption.php', + 'OC\\Settings\\Admin\\Mail' => __DIR__ . '/../../..' . '/lib/private/Settings/Admin/Mail.php', 'OC\\Settings\\Admin\\Overview' => __DIR__ . '/../../..' . '/lib/private/Settings/Admin/Overview.php', 'OC\\Settings\\Admin\\Server' => __DIR__ . '/../../..' . '/lib/private/Settings/Admin/Server.php', 'OC\\Settings\\Admin\\ServerDevNotice' => __DIR__ . '/../../..' . '/lib/private/Settings/Admin/ServerDevNotice.php', From e81b1399d49e64fb3cf93217a4c17d1a4764580e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Julius=20H=C3=A4rtl?= Date: Tue, 17 Apr 2018 20:13:50 +0200 Subject: [PATCH 16/18] Remove border from personal settings MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Julius Härtl --- settings/css/settings.scss | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/settings/css/settings.scss b/settings/css/settings.scss index 2d687f9dad..b54083827a 100644 --- a/settings/css/settings.scss +++ b/settings/css/settings.scss @@ -153,6 +153,11 @@ input { width: 100%; } } +#personal-settings { + .section { + border: 0; + } +} #personal-settings { display: grid; From 35cb529df37d33f4c74a5602a3bb9f6bd84fbe40 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Julius=20H=C3=A4rtl?= Date: Tue, 17 Apr 2018 20:56:39 +0200 Subject: [PATCH 17/18] Fix settings tests MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Julius Härtl --- .../unit/Settings/CalDAVSettingsTest.php | 2 +- apps/files/tests/Settings/AdminTest.php | 2 +- tests/lib/Settings/Admin/MailTest.php | 4 +- tests/lib/Settings/Admin/ServerTest.php | 53 +------------------ 4 files changed, 6 insertions(+), 55 deletions(-) diff --git a/apps/dav/tests/unit/Settings/CalDAVSettingsTest.php b/apps/dav/tests/unit/Settings/CalDAVSettingsTest.php index 8ee5810748..36e2aaa9eb 100644 --- a/apps/dav/tests/unit/Settings/CalDAVSettingsTest.php +++ b/apps/dav/tests/unit/Settings/CalDAVSettingsTest.php @@ -49,7 +49,7 @@ class CalDAVSettingsTest extends TestCase { } public function testGetSection() { - $this->assertEquals('additional', $this->settings->getSection()); + $this->assertEquals('server', $this->settings->getSection()); } public function testGetPriority() { diff --git a/apps/files/tests/Settings/AdminTest.php b/apps/files/tests/Settings/AdminTest.php index 071cef7d75..027a37d7b2 100644 --- a/apps/files/tests/Settings/AdminTest.php +++ b/apps/files/tests/Settings/AdminTest.php @@ -75,7 +75,7 @@ class AdminTest extends TestCase { } public function testGetSection() { - $this->assertSame('additional', $this->admin->getSection()); + $this->assertSame('server', $this->admin->getSection()); } public function testGetPriority() { diff --git a/tests/lib/Settings/Admin/MailTest.php b/tests/lib/Settings/Admin/MailTest.php index 445aa94205..04c0e7fa92 100644 --- a/tests/lib/Settings/Admin/MailTest.php +++ b/tests/lib/Settings/Admin/MailTest.php @@ -119,10 +119,10 @@ class MailTest extends TestCase { } public function testGetSection() { - $this->assertSame('additional', $this->admin->getSection()); + $this->assertSame('server', $this->admin->getSection()); } public function testGetPriority() { - $this->assertSame(0, $this->admin->getPriority()); + $this->assertSame(10, $this->admin->getPriority()); } } diff --git a/tests/lib/Settings/Admin/ServerTest.php b/tests/lib/Settings/Admin/ServerTest.php index b831754011..a121abc3df 100644 --- a/tests/lib/Settings/Admin/ServerTest.php +++ b/tests/lib/Settings/Admin/ServerTest.php @@ -65,74 +65,25 @@ class ServerTest extends TestCase { } public function testGetForm() { - $this->dbConnection - ->expects($this->once()) - ->method('getDatabasePlatform') - ->willReturn(new SqlitePlatform()); $this->config ->expects($this->at(0)) - ->method('getSystemValue') - ->with('overwrite.cli.url', '') - ->willReturn(true); - $this->config - ->expects($this->at(2)) ->method('getAppValue') ->with('core', 'backgroundjobs_mode', 'ajax') ->willReturn('ajax'); $this->config - ->expects($this->at(3)) + ->expects($this->at(1)) ->method('getAppValue') ->with('core', 'lastcron', false) ->willReturn(false); $this->config - ->expects($this->at(4)) + ->expects($this->at(2)) ->method('getAppValue') ->with('core', 'cronErrors') ->willReturn(''); - $this->config - ->expects($this->at(1)) - ->method('getSystemValue') - ->with('check_for_working_wellknown_setup', true) - ->willReturn(true); - $this->l10n - ->expects($this->at(0)) - ->method('t') - ->with('APCu') - ->willReturn('APCu'); - $this->l10n - ->expects($this->at(1)) - ->method('t') - ->with('Redis') - ->willReturn('Redis'); - $outdatedCaches = []; - $caches = [ - 'apcu' => ['name' => 'APCu', 'version' => '4.0.6'], - 'redis' => ['name' => 'Redis', 'version' => '2.2.5'], - ]; - foreach ($caches as $php_module => $data) { - $isOutdated = extension_loaded($php_module) && version_compare(phpversion($php_module), $data['version'], '<'); - if ($isOutdated) { - $outdatedCaches[$php_module] = $data; - } - } - $envPath = getenv('PATH'); $expected = new TemplateResponse( 'settings', 'settings/admin/server', [ - // Diagnosis - 'readOnlyConfigEnabled' => \OC_Helper::isReadOnlyConfigEnabled(), - 'isLocaleWorking' => \OC_Util::isSetLocaleWorking(), - 'isAnnotationsWorking' => \OC_Util::isAnnotationsWorking(), - 'checkForWorkingWellKnownSetup' => true, - 'has_fileinfo' => \OC_Util::fileInfoLoaded(), - 'invalidTransactionIsolationLevel' => false, - 'getenvServerNotWorking' => empty($envPath), - 'OutdatedCacheWarning' => $outdatedCaches, - 'fileLockingType' => 'cache', - 'suggestedOverwriteCliUrl' => '', - - // Background jobs 'backgroundjobs_mode' => 'ajax', 'lastcron' => false, 'cronErrors' => '', From ea8e80c20ba2a2f4d6547a184ccc0358fa42940c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Julius=20H=C3=A4rtl?= Date: Thu, 19 Apr 2018 20:10:29 +0200 Subject: [PATCH 18/18] Adjust updatenotification app settings section/priority MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Julius Härtl --- apps/updatenotification/lib/Settings/Admin.php | 4 ++-- apps/updatenotification/tests/Settings/AdminTest.php | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/apps/updatenotification/lib/Settings/Admin.php b/apps/updatenotification/lib/Settings/Admin.php index 5213eb905e..bb12402aa0 100644 --- a/apps/updatenotification/lib/Settings/Admin.php +++ b/apps/updatenotification/lib/Settings/Admin.php @@ -130,7 +130,7 @@ class Admin implements ISettings { * @return string the section ID, e.g. 'sharing' */ public function getSection(): string { - return 'server'; + return 'overview'; } /** @@ -141,6 +141,6 @@ class Admin implements ISettings { * E.g.: 70 */ public function getPriority(): int { - return 1; + return 11; } } diff --git a/apps/updatenotification/tests/Settings/AdminTest.php b/apps/updatenotification/tests/Settings/AdminTest.php index 4e2ac3a53d..d5915a9c10 100644 --- a/apps/updatenotification/tests/Settings/AdminTest.php +++ b/apps/updatenotification/tests/Settings/AdminTest.php @@ -140,10 +140,10 @@ class AdminTest extends TestCase { public function testGetSection() { - $this->assertSame('server', $this->admin->getSection()); + $this->assertSame('overview', $this->admin->getSection()); } public function testGetPriority() { - $this->assertSame(1, $this->admin->getPriority()); + $this->assertSame(11, $this->admin->getPriority()); } }