Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>tags/v28.0.0beta1
@@ -74,11 +74,13 @@ return array( | |||
'OCA\\Settings\\Settings\\Personal\\Security\\WebAuthn' => $baseDir . '/../lib/Settings/Personal/Security/WebAuthn.php', | |||
'OCA\\Settings\\Settings\\Personal\\ServerDevNotice' => $baseDir . '/../lib/Settings/Personal/ServerDevNotice.php', | |||
'OCA\\Settings\\SetupChecks\\CheckUserCertificates' => $baseDir . '/../lib/SetupChecks/CheckUserCertificates.php', | |||
'OCA\\Settings\\SetupChecks\\DefaultPhoneRegionSet' => $baseDir . '/../lib/SetupChecks/DefaultPhoneRegionSet.php', | |||
'OCA\\Settings\\SetupChecks\\LegacySSEKeyFormat' => $baseDir . '/../lib/SetupChecks/LegacySSEKeyFormat.php', | |||
'OCA\\Settings\\SetupChecks\\NeedsSystemAddressBookSync' => $baseDir . '/../lib/SetupChecks/NeedsSystemAddressBookSync.php', | |||
'OCA\\Settings\\SetupChecks\\PhpDefaultCharset' => $baseDir . '/../lib/SetupChecks/PhpDefaultCharset.php', | |||
'OCA\\Settings\\SetupChecks\\PhpOutdated' => $baseDir . '/../lib/SetupChecks/PhpOutdated.php', | |||
'OCA\\Settings\\SetupChecks\\PhpOutputBuffering' => $baseDir . '/../lib/SetupChecks/PhpOutputBuffering.php', | |||
'OCA\\Settings\\SetupChecks\\ReadOnlyConfig' => $baseDir . '/../lib/SetupChecks/ReadOnlyConfig.php', | |||
'OCA\\Settings\\SetupChecks\\SupportedDatabase' => $baseDir . '/../lib/SetupChecks/SupportedDatabase.php', | |||
'OCA\\Settings\\UserMigration\\AccountMigrator' => $baseDir . '/../lib/UserMigration/AccountMigrator.php', | |||
'OCA\\Settings\\UserMigration\\AccountMigratorException' => $baseDir . '/../lib/UserMigration/AccountMigratorException.php', |
@@ -89,11 +89,13 @@ class ComposerStaticInitSettings | |||
'OCA\\Settings\\Settings\\Personal\\Security\\WebAuthn' => __DIR__ . '/..' . '/../lib/Settings/Personal/Security/WebAuthn.php', | |||
'OCA\\Settings\\Settings\\Personal\\ServerDevNotice' => __DIR__ . '/..' . '/../lib/Settings/Personal/ServerDevNotice.php', | |||
'OCA\\Settings\\SetupChecks\\CheckUserCertificates' => __DIR__ . '/..' . '/../lib/SetupChecks/CheckUserCertificates.php', | |||
'OCA\\Settings\\SetupChecks\\DefaultPhoneRegionSet' => __DIR__ . '/..' . '/../lib/SetupChecks/DefaultPhoneRegionSet.php', | |||
'OCA\\Settings\\SetupChecks\\LegacySSEKeyFormat' => __DIR__ . '/..' . '/../lib/SetupChecks/LegacySSEKeyFormat.php', | |||
'OCA\\Settings\\SetupChecks\\NeedsSystemAddressBookSync' => __DIR__ . '/..' . '/../lib/SetupChecks/NeedsSystemAddressBookSync.php', | |||
'OCA\\Settings\\SetupChecks\\PhpDefaultCharset' => __DIR__ . '/..' . '/../lib/SetupChecks/PhpDefaultCharset.php', | |||
'OCA\\Settings\\SetupChecks\\PhpOutdated' => __DIR__ . '/..' . '/../lib/SetupChecks/PhpOutdated.php', | |||
'OCA\\Settings\\SetupChecks\\PhpOutputBuffering' => __DIR__ . '/..' . '/../lib/SetupChecks/PhpOutputBuffering.php', | |||
'OCA\\Settings\\SetupChecks\\ReadOnlyConfig' => __DIR__ . '/..' . '/../lib/SetupChecks/ReadOnlyConfig.php', | |||
'OCA\\Settings\\SetupChecks\\SupportedDatabase' => __DIR__ . '/..' . '/../lib/SetupChecks/SupportedDatabase.php', | |||
'OCA\\Settings\\UserMigration\\AccountMigrator' => __DIR__ . '/..' . '/../lib/UserMigration/AccountMigrator.php', | |||
'OCA\\Settings\\UserMigration\\AccountMigratorException' => __DIR__ . '/..' . '/../lib/UserMigration/AccountMigratorException.php', |
@@ -49,10 +49,12 @@ use OCA\Settings\Search\AppSearch; | |||
use OCA\Settings\Search\SectionSearch; | |||
use OCA\Settings\Search\UserSearch; | |||
use OCA\Settings\SetupChecks\CheckUserCertificates; | |||
use OCA\Settings\SetupChecks\DefaultPhoneRegionSet; | |||
use OCA\Settings\SetupChecks\LegacySSEKeyFormat; | |||
use OCA\Settings\SetupChecks\PhpDefaultCharset; | |||
use OCA\Settings\SetupChecks\PhpOutdated; | |||
use OCA\Settings\SetupChecks\PhpOutputBuffering; | |||
use OCA\Settings\SetupChecks\ReadOnlyConfig; | |||
use OCA\Settings\SetupChecks\SupportedDatabase; | |||
use OCA\Settings\UserMigration\AccountMigrator; | |||
use OCA\Settings\WellKnown\ChangePasswordHandler; | |||
@@ -149,6 +151,8 @@ class Application extends App implements IBootstrap { | |||
$context->registerSetupCheck(PhpOutdated::class); | |||
$context->registerSetupCheck(PhpOutputBuffering::class); | |||
$context->registerSetupCheck(SupportedDatabase::class); | |||
$context->registerSetupCheck(DefaultPhoneRegionSet::class); | |||
$context->registerSetupCheck(ReadOnlyConfig::class); | |||
$context->registerUserMigrator(AccountMigrator::class); | |||
} |
@@ -0,0 +1,59 @@ | |||
<?php | |||
declare(strict_types=1); | |||
/** | |||
* @copyright Copyright (c) 2023 Côme Chilliet <come.chilliet@nextcloud.com> | |||
* | |||
* @author Côme Chilliet <come.chilliet@nextcloud.com> | |||
* | |||
* @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\Settings\SetupChecks; | |||
use OCP\IConfig; | |||
use OCP\IL10N; | |||
use OCP\SetupCheck\ISetupCheck; | |||
use OCP\SetupCheck\SetupResult; | |||
class DefaultPhoneRegionSet implements ISetupCheck { | |||
public function __construct( | |||
private IL10N $l10n, | |||
private IConfig $config, | |||
) { | |||
} | |||
public function getName(): string { | |||
return $this->l10n->t('Checking for default phone region'); | |||
} | |||
public function getCategory(): string { | |||
return 'config'; | |||
} | |||
public function run(): SetupResult { | |||
if ($this->config->getSystemValueString('default_phone_region', '') !== '') { | |||
return new SetupResult(SetupResult::SUCCESS, $this->config->getSystemValueString('default_phone_region', '')); | |||
} else { | |||
return new SetupResult( | |||
SetupResult::INFO, | |||
$this->l10n->t('Your installation has no default phone region set. This is required to validate phone numbers in the profile settings without a country code. To allow numbers without a country code, please add "default_phone_region" with the respective ISO 3166-1 code of the region to your config file.'), | |||
'https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2#Officially_assigned_code_elements' | |||
); | |||
} | |||
} | |||
} |
@@ -0,0 +1,55 @@ | |||
<?php | |||
declare(strict_types=1); | |||
/** | |||
* @copyright Copyright (c) 2023 Côme Chilliet <come.chilliet@nextcloud.com> | |||
* | |||
* @author Côme Chilliet <come.chilliet@nextcloud.com> | |||
* | |||
* @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\Settings\SetupChecks; | |||
use OCP\IConfig; | |||
use OCP\IL10N; | |||
use OCP\SetupCheck\ISetupCheck; | |||
use OCP\SetupCheck\SetupResult; | |||
class ReadOnlyConfig implements ISetupCheck { | |||
public function __construct( | |||
private IL10N $l10n, | |||
private IConfig $config, | |||
) { | |||
} | |||
public function getName(): string { | |||
return $this->l10n->t('Checking for configuration file access rights'); | |||
} | |||
public function getCategory(): string { | |||
return 'config'; | |||
} | |||
public function run(): SetupResult { | |||
if ($this->config->getSystemValueBool('config_is_read_only', false)) { | |||
return new SetupResult(SetupResult::INFO, $this->l10n->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.')); | |||
} else { | |||
return new SetupResult(SetupResult::SUCCESS, $this->l10n->t('Nextcloud configuration file is writable')); | |||
} | |||
} | |||
} |