2014-10-03 09:14:22 -04:00
|
|
|
<?php
|
2020-06-08 13:03:46 -04:00
|
|
|
|
|
|
|
|
declare(strict_types=1);
|
2014-10-03 09:14:22 -04:00
|
|
|
/**
|
2024-06-03 04:23:34 -04:00
|
|
|
* SPDX-FileCopyrightText: 2019-2024 Nextcloud GmbH and Nextcloud contributors
|
|
|
|
|
* SPDX-FileCopyrightText: 2016 ownCloud, Inc.
|
|
|
|
|
* SPDX-License-Identifier: AGPL-3.0-only
|
2014-10-03 09:14:22 -04:00
|
|
|
*/
|
2019-09-17 10:33:27 -04:00
|
|
|
namespace OCA\Settings\AppInfo;
|
2014-10-03 09:14:22 -04:00
|
|
|
|
2016-10-27 11:41:15 -04:00
|
|
|
use OC\AppFramework\Utility\TimeFactory;
|
2021-02-09 05:51:09 -05:00
|
|
|
use OC\Authentication\Events\AppPasswordCreatedEvent;
|
2016-10-05 10:31:28 -04:00
|
|
|
use OC\Authentication\Token\IProvider;
|
2016-04-25 08:56:11 -04:00
|
|
|
use OC\Server;
|
2025-09-16 07:46:45 -04:00
|
|
|
use OCA\Settings\ConfigLexicon;
|
2019-09-17 10:33:27 -04:00
|
|
|
use OCA\Settings\Hooks;
|
2021-02-09 05:51:09 -05:00
|
|
|
use OCA\Settings\Listener\AppPasswordCreatedActivityListener;
|
2021-07-22 05:41:29 -04:00
|
|
|
use OCA\Settings\Listener\GroupRemovedListener;
|
2024-09-17 07:45:44 -04:00
|
|
|
use OCA\Settings\Listener\MailProviderListener;
|
2021-03-02 04:38:24 -05:00
|
|
|
use OCA\Settings\Listener\UserAddedToGroupActivityListener;
|
|
|
|
|
use OCA\Settings\Listener\UserRemovedFromGroupActivityListener;
|
2019-09-17 10:33:27 -04:00
|
|
|
use OCA\Settings\Mailer\NewUserMailHelper;
|
|
|
|
|
use OCA\Settings\Middleware\SubadminMiddleware;
|
2020-08-04 10:21:22 -04:00
|
|
|
use OCA\Settings\Search\AppSearch;
|
2020-08-03 11:03:06 -04:00
|
|
|
use OCA\Settings\Search\SectionSearch;
|
2023-09-13 04:43:45 -04:00
|
|
|
use OCA\Settings\Search\UserSearch;
|
2024-09-17 07:45:44 -04:00
|
|
|
use OCA\Settings\Settings\Admin\MailProvider;
|
2024-07-12 10:25:49 -04:00
|
|
|
use OCA\Settings\SetupChecks\AllowedAdminRanges;
|
2023-12-12 10:53:13 -05:00
|
|
|
use OCA\Settings\SetupChecks\AppDirsWithDifferentOwner;
|
2023-11-13 10:24:16 -05:00
|
|
|
use OCA\Settings\SetupChecks\BruteForceThrottler;
|
2022-05-23 03:25:47 -04:00
|
|
|
use OCA\Settings\SetupChecks\CheckUserCertificates;
|
2023-10-26 09:51:51 -04:00
|
|
|
use OCA\Settings\SetupChecks\CodeIntegrity;
|
2024-01-15 09:05:14 -05:00
|
|
|
use OCA\Settings\SetupChecks\CronErrors;
|
|
|
|
|
use OCA\Settings\SetupChecks\CronInfo;
|
2023-11-14 09:14:14 -05:00
|
|
|
use OCA\Settings\SetupChecks\DatabaseHasMissingColumns;
|
2023-11-14 09:51:26 -05:00
|
|
|
use OCA\Settings\SetupChecks\DatabaseHasMissingIndices;
|
2023-11-14 10:07:37 -05:00
|
|
|
use OCA\Settings\SetupChecks\DatabaseHasMissingPrimaryKeys;
|
2023-11-14 10:57:32 -05:00
|
|
|
use OCA\Settings\SetupChecks\DatabasePendingBigIntConversions;
|
2024-02-29 07:35:36 -05:00
|
|
|
use OCA\Settings\SetupChecks\DataDirectoryProtected;
|
2024-01-18 10:09:11 -05:00
|
|
|
use OCA\Settings\SetupChecks\DebugMode;
|
2023-10-02 09:41:51 -04:00
|
|
|
use OCA\Settings\SetupChecks\DefaultPhoneRegionSet;
|
2023-10-26 08:45:05 -04:00
|
|
|
use OCA\Settings\SetupChecks\EmailTestSuccessful;
|
2023-10-26 09:16:28 -04:00
|
|
|
use OCA\Settings\SetupChecks\FileLocking;
|
2023-11-13 11:07:25 -05:00
|
|
|
use OCA\Settings\SetupChecks\ForwardedForHeaders;
|
2024-02-29 06:21:36 -05:00
|
|
|
use OCA\Settings\SetupChecks\HttpsUrlGeneration;
|
2023-10-09 11:32:04 -04:00
|
|
|
use OCA\Settings\SetupChecks\InternetConnectivity;
|
2023-12-21 18:00:04 -05:00
|
|
|
use OCA\Settings\SetupChecks\JavaScriptModules;
|
2024-03-06 05:09:50 -05:00
|
|
|
use OCA\Settings\SetupChecks\JavaScriptSourceMaps;
|
2022-05-30 03:59:52 -04:00
|
|
|
use OCA\Settings\SetupChecks\LegacySSEKeyFormat;
|
2023-12-13 10:19:21 -05:00
|
|
|
use OCA\Settings\SetupChecks\MaintenanceWindowStart;
|
2023-10-26 09:24:00 -04:00
|
|
|
use OCA\Settings\SetupChecks\MemcacheConfigured;
|
2024-06-18 05:27:29 -04:00
|
|
|
use OCA\Settings\SetupChecks\MimeTypeMigrationAvailable;
|
2024-10-03 04:42:42 -04:00
|
|
|
use OCA\Settings\SetupChecks\MysqlRowFormat;
|
2024-01-16 05:30:08 -05:00
|
|
|
use OCA\Settings\SetupChecks\MysqlUnicodeSupport;
|
2024-02-15 12:11:25 -05:00
|
|
|
use OCA\Settings\SetupChecks\OcxProviders;
|
2024-01-15 07:54:26 -05:00
|
|
|
use OCA\Settings\SetupChecks\OverwriteCliUrl;
|
2024-08-27 03:02:05 -04:00
|
|
|
use OCA\Settings\SetupChecks\PhpApcuConfig;
|
2023-10-02 05:21:45 -04:00
|
|
|
use OCA\Settings\SetupChecks\PhpDefaultCharset;
|
2024-01-15 11:08:14 -05:00
|
|
|
use OCA\Settings\SetupChecks\PhpDisabledFunctions;
|
2023-10-26 10:07:11 -04:00
|
|
|
use OCA\Settings\SetupChecks\PhpFreetypeSupport;
|
2023-10-26 06:20:25 -04:00
|
|
|
use OCA\Settings\SetupChecks\PhpGetEnv;
|
2023-10-24 08:19:23 -04:00
|
|
|
use OCA\Settings\SetupChecks\PhpMemoryLimit;
|
2023-11-06 11:48:42 -05:00
|
|
|
use OCA\Settings\SetupChecks\PhpModules;
|
2023-11-16 11:05:24 -05:00
|
|
|
use OCA\Settings\SetupChecks\PhpOpcacheSetup;
|
2023-09-28 06:13:44 -04:00
|
|
|
use OCA\Settings\SetupChecks\PhpOutdated;
|
2023-10-02 05:21:45 -04:00
|
|
|
use OCA\Settings\SetupChecks\PhpOutputBuffering;
|
2024-01-25 09:23:54 -05:00
|
|
|
use OCA\Settings\SetupChecks\PushService;
|
2023-10-26 09:31:09 -04:00
|
|
|
use OCA\Settings\SetupChecks\RandomnessSecure;
|
2023-10-02 09:41:51 -04:00
|
|
|
use OCA\Settings\SetupChecks\ReadOnlyConfig;
|
2024-05-08 14:38:51 -04:00
|
|
|
use OCA\Settings\SetupChecks\SchedulingTableSize;
|
2024-03-07 11:38:24 -05:00
|
|
|
use OCA\Settings\SetupChecks\SecurityHeaders;
|
2023-10-02 05:21:45 -04:00
|
|
|
use OCA\Settings\SetupChecks\SupportedDatabase;
|
2023-10-26 10:53:57 -04:00
|
|
|
use OCA\Settings\SetupChecks\SystemIs64bit;
|
2025-05-20 12:40:23 -04:00
|
|
|
use OCA\Settings\SetupChecks\TaskProcessingPickupSpeed;
|
2024-01-18 09:32:24 -05:00
|
|
|
use OCA\Settings\SetupChecks\TempSpaceAvailable;
|
2023-10-26 09:04:02 -04:00
|
|
|
use OCA\Settings\SetupChecks\TransactionIsolation;
|
2024-02-06 11:24:47 -05:00
|
|
|
use OCA\Settings\SetupChecks\WellKnownUrls;
|
2024-02-14 20:08:04 -05:00
|
|
|
use OCA\Settings\SetupChecks\Woff2Loading;
|
2022-03-04 01:36:49 -05:00
|
|
|
use OCA\Settings\UserMigration\AccountMigrator;
|
2022-10-22 07:23:59 -04:00
|
|
|
use OCA\Settings\WellKnown\ChangePasswordHandler;
|
2021-06-23 07:46:51 -04:00
|
|
|
use OCA\Settings\WellKnown\SecurityTxtHandler;
|
2016-05-18 06:03:22 -04:00
|
|
|
use OCP\AppFramework\App;
|
2020-06-08 13:03:46 -04:00
|
|
|
use OCP\AppFramework\Bootstrap\IBootContext;
|
|
|
|
|
use OCP\AppFramework\Bootstrap\IBootstrap;
|
|
|
|
|
use OCP\AppFramework\Bootstrap\IRegistrationContext;
|
2020-07-21 08:36:40 -04:00
|
|
|
use OCP\AppFramework\IAppContainer;
|
2024-10-18 06:04:22 -04:00
|
|
|
use OCP\AppFramework\QueryException;
|
2017-04-07 16:42:43 -04:00
|
|
|
use OCP\Defaults;
|
2021-07-22 05:41:29 -04:00
|
|
|
use OCP\Group\Events\GroupDeletedEvent;
|
2021-03-02 04:38:24 -05:00
|
|
|
use OCP\Group\Events\UserAddedEvent;
|
|
|
|
|
use OCP\Group\Events\UserRemovedEvent;
|
2020-07-16 04:34:53 -04:00
|
|
|
use OCP\IServerContainer;
|
2024-09-17 07:45:44 -04:00
|
|
|
use OCP\Settings\Events\DeclarativeSettingsGetValueEvent;
|
|
|
|
|
use OCP\Settings\Events\DeclarativeSettingsSetValueEvent;
|
2016-10-05 10:31:28 -04:00
|
|
|
use OCP\Settings\IManager;
|
2016-05-18 06:03:22 -04:00
|
|
|
use OCP\Util;
|
2014-10-03 09:14:22 -04:00
|
|
|
|
2020-06-08 13:03:46 -04:00
|
|
|
class Application extends App implements IBootstrap {
|
2020-04-10 10:54:27 -04:00
|
|
|
public const APP_ID = 'settings';
|
2014-10-03 09:14:22 -04:00
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* @param array $urlParams
|
|
|
|
|
*/
|
2020-10-05 09:12:57 -04:00
|
|
|
public function __construct(array $urlParams = []) {
|
2020-02-09 14:06:08 -05:00
|
|
|
parent::__construct(self::APP_ID, $urlParams);
|
2020-06-08 13:03:46 -04:00
|
|
|
}
|
2014-10-03 09:14:22 -04:00
|
|
|
|
2020-06-08 13:03:46 -04:00
|
|
|
public function register(IRegistrationContext $context): void {
|
2016-10-05 10:31:28 -04:00
|
|
|
// Register Middleware
|
2020-06-08 13:03:46 -04:00
|
|
|
$context->registerServiceAlias('SubadminMiddleware', SubadminMiddleware::class);
|
|
|
|
|
$context->registerMiddleware(SubadminMiddleware::class);
|
2020-08-03 11:03:06 -04:00
|
|
|
$context->registerSearchProvider(SectionSearch::class);
|
2020-08-04 10:21:22 -04:00
|
|
|
$context->registerSearchProvider(AppSearch::class);
|
2023-09-13 04:43:45 -04:00
|
|
|
$context->registerSearchProvider(UserSearch::class);
|
2016-11-22 07:33:23 -05:00
|
|
|
|
2025-09-16 07:46:45 -04:00
|
|
|
$context->registerConfigLexicon(ConfigLexicon::class);
|
|
|
|
|
|
2021-02-09 05:51:09 -05:00
|
|
|
// Register listeners
|
|
|
|
|
$context->registerEventListener(AppPasswordCreatedEvent::class, AppPasswordCreatedActivityListener::class);
|
2021-03-02 04:38:24 -05:00
|
|
|
$context->registerEventListener(UserAddedEvent::class, UserAddedToGroupActivityListener::class);
|
|
|
|
|
$context->registerEventListener(UserRemovedEvent::class, UserRemovedFromGroupActivityListener::class);
|
2021-07-22 05:41:29 -04:00
|
|
|
$context->registerEventListener(GroupDeletedEvent::class, GroupRemovedListener::class);
|
2021-02-09 05:51:09 -05:00
|
|
|
|
2024-09-17 07:45:44 -04:00
|
|
|
// Register Mail Provider listeners
|
|
|
|
|
$context->registerEventListener(DeclarativeSettingsGetValueEvent::class, MailProviderListener::class);
|
|
|
|
|
$context->registerEventListener(DeclarativeSettingsSetValueEvent::class, MailProviderListener::class);
|
|
|
|
|
|
2021-06-23 07:46:51 -04:00
|
|
|
// Register well-known handlers
|
|
|
|
|
$context->registerWellKnownHandler(SecurityTxtHandler::class);
|
2022-10-22 07:23:59 -04:00
|
|
|
$context->registerWellKnownHandler(ChangePasswordHandler::class);
|
2021-06-23 07:46:51 -04:00
|
|
|
|
2024-09-17 07:45:44 -04:00
|
|
|
// Register Settings Form(s)
|
|
|
|
|
$context->registerDeclarativeSettings(MailProvider::class);
|
|
|
|
|
|
2014-10-03 09:14:22 -04:00
|
|
|
/**
|
|
|
|
|
* Core class wrappers
|
|
|
|
|
*/
|
2020-07-21 08:36:40 -04:00
|
|
|
$context->registerService(IProvider::class, function (IAppContainer $appContainer) {
|
2020-07-16 04:34:53 -04:00
|
|
|
/** @var IServerContainer $serverContainer */
|
2020-07-21 08:36:40 -04:00
|
|
|
$serverContainer = $appContainer->query(IServerContainer::class);
|
2020-07-16 04:34:53 -04:00
|
|
|
return $serverContainer->query(IProvider::class);
|
2015-12-22 11:42:28 -05:00
|
|
|
});
|
2020-07-21 08:36:40 -04:00
|
|
|
$context->registerService(IManager::class, function (IAppContainer $appContainer) {
|
2020-07-16 04:34:53 -04:00
|
|
|
/** @var IServerContainer $serverContainer */
|
2020-07-21 08:36:40 -04:00
|
|
|
$serverContainer = $appContainer->query(IServerContainer::class);
|
2020-07-16 04:34:53 -04:00
|
|
|
return $serverContainer->getSettingsManager();
|
2016-08-08 17:31:26 -04:00
|
|
|
});
|
2017-04-07 08:51:05 -04:00
|
|
|
|
2020-07-21 08:36:40 -04:00
|
|
|
$context->registerService(NewUserMailHelper::class, function (IAppContainer $appContainer) {
|
2017-04-07 08:51:05 -04:00
|
|
|
/** @var Server $server */
|
2020-07-21 08:36:40 -04:00
|
|
|
$server = $appContainer->query(IServerContainer::class);
|
2017-04-07 16:42:43 -04:00
|
|
|
/** @var Defaults $defaults */
|
|
|
|
|
$defaults = $server->query(Defaults::class);
|
2017-04-07 08:51:05 -04:00
|
|
|
|
|
|
|
|
return new NewUserMailHelper(
|
2017-04-07 16:42:43 -04:00
|
|
|
$defaults,
|
2017-04-07 08:51:05 -04:00
|
|
|
$server->getURLGenerator(),
|
2018-09-24 16:54:57 -04:00
|
|
|
$server->getL10NFactory(),
|
2017-04-07 08:51:05 -04:00
|
|
|
$server->getMailer(),
|
|
|
|
|
$server->getSecureRandom(),
|
|
|
|
|
new TimeFactory(),
|
|
|
|
|
$server->getConfig(),
|
|
|
|
|
$server->getCrypto(),
|
|
|
|
|
Util::getDefaultEmailAddress('no-reply')
|
|
|
|
|
);
|
|
|
|
|
});
|
2024-07-12 10:25:49 -04:00
|
|
|
$context->registerSetupCheck(AllowedAdminRanges::class);
|
2023-12-12 10:53:13 -05:00
|
|
|
$context->registerSetupCheck(AppDirsWithDifferentOwner::class);
|
2023-11-13 10:24:16 -05:00
|
|
|
$context->registerSetupCheck(BruteForceThrottler::class);
|
2022-05-23 03:25:47 -04:00
|
|
|
$context->registerSetupCheck(CheckUserCertificates::class);
|
2023-10-26 09:51:51 -04:00
|
|
|
$context->registerSetupCheck(CodeIntegrity::class);
|
2024-01-15 09:05:14 -05:00
|
|
|
$context->registerSetupCheck(CronErrors::class);
|
|
|
|
|
$context->registerSetupCheck(CronInfo::class);
|
2023-11-14 09:14:14 -05:00
|
|
|
$context->registerSetupCheck(DatabaseHasMissingColumns::class);
|
2023-11-14 09:51:26 -05:00
|
|
|
$context->registerSetupCheck(DatabaseHasMissingIndices::class);
|
2023-11-14 10:07:37 -05:00
|
|
|
$context->registerSetupCheck(DatabaseHasMissingPrimaryKeys::class);
|
2023-11-14 10:57:32 -05:00
|
|
|
$context->registerSetupCheck(DatabasePendingBigIntConversions::class);
|
2024-02-29 07:35:36 -05:00
|
|
|
$context->registerSetupCheck(DataDirectoryProtected::class);
|
2024-01-18 10:09:11 -05:00
|
|
|
$context->registerSetupCheck(DebugMode::class);
|
2023-10-09 11:32:04 -04:00
|
|
|
$context->registerSetupCheck(DefaultPhoneRegionSet::class);
|
2023-10-26 08:45:05 -04:00
|
|
|
$context->registerSetupCheck(EmailTestSuccessful::class);
|
2023-10-26 09:16:28 -04:00
|
|
|
$context->registerSetupCheck(FileLocking::class);
|
2023-11-13 11:07:25 -05:00
|
|
|
$context->registerSetupCheck(ForwardedForHeaders::class);
|
2024-02-29 06:21:36 -05:00
|
|
|
$context->registerSetupCheck(HttpsUrlGeneration::class);
|
2023-10-09 11:32:04 -04:00
|
|
|
$context->registerSetupCheck(InternetConnectivity::class);
|
2024-03-06 05:09:50 -05:00
|
|
|
$context->registerSetupCheck(JavaScriptSourceMaps::class);
|
2023-12-21 18:00:04 -05:00
|
|
|
$context->registerSetupCheck(JavaScriptModules::class);
|
2022-05-30 03:59:52 -04:00
|
|
|
$context->registerSetupCheck(LegacySSEKeyFormat::class);
|
2023-12-13 10:19:21 -05:00
|
|
|
$context->registerSetupCheck(MaintenanceWindowStart::class);
|
2023-10-26 09:24:00 -04:00
|
|
|
$context->registerSetupCheck(MemcacheConfigured::class);
|
2024-06-18 05:27:29 -04:00
|
|
|
$context->registerSetupCheck(MimeTypeMigrationAvailable::class);
|
2024-10-03 04:42:42 -04:00
|
|
|
$context->registerSetupCheck(MysqlRowFormat::class);
|
2024-01-16 05:30:08 -05:00
|
|
|
$context->registerSetupCheck(MysqlUnicodeSupport::class);
|
2024-02-15 12:11:25 -05:00
|
|
|
$context->registerSetupCheck(OcxProviders::class);
|
2024-01-15 07:54:26 -05:00
|
|
|
$context->registerSetupCheck(OverwriteCliUrl::class);
|
2023-10-02 05:21:45 -04:00
|
|
|
$context->registerSetupCheck(PhpDefaultCharset::class);
|
2024-01-15 11:08:14 -05:00
|
|
|
$context->registerSetupCheck(PhpDisabledFunctions::class);
|
2023-10-26 10:07:11 -04:00
|
|
|
$context->registerSetupCheck(PhpFreetypeSupport::class);
|
2024-08-27 03:02:05 -04:00
|
|
|
$context->registerSetupCheck(PhpApcuConfig::class);
|
2023-10-26 06:20:25 -04:00
|
|
|
$context->registerSetupCheck(PhpGetEnv::class);
|
2024-12-03 15:19:45 -05:00
|
|
|
// Temporarily disabled $context->registerSetupCheck(PhpMaxFileSize::class);
|
2023-10-24 08:19:23 -04:00
|
|
|
$context->registerSetupCheck(PhpMemoryLimit::class);
|
|
|
|
|
$context->registerSetupCheck(PhpModules::class);
|
2023-11-16 11:05:24 -05:00
|
|
|
$context->registerSetupCheck(PhpOpcacheSetup::class);
|
2023-09-28 06:13:44 -04:00
|
|
|
$context->registerSetupCheck(PhpOutdated::class);
|
2023-10-02 05:21:45 -04:00
|
|
|
$context->registerSetupCheck(PhpOutputBuffering::class);
|
2023-10-26 09:31:09 -04:00
|
|
|
$context->registerSetupCheck(RandomnessSecure::class);
|
2023-10-02 09:41:51 -04:00
|
|
|
$context->registerSetupCheck(ReadOnlyConfig::class);
|
2024-03-07 11:38:24 -05:00
|
|
|
$context->registerSetupCheck(SecurityHeaders::class);
|
2024-05-08 14:38:51 -04:00
|
|
|
$context->registerSetupCheck(SchedulingTableSize::class);
|
2023-10-09 11:32:04 -04:00
|
|
|
$context->registerSetupCheck(SupportedDatabase::class);
|
2023-10-26 10:53:57 -04:00
|
|
|
$context->registerSetupCheck(SystemIs64bit::class);
|
2025-05-20 12:40:23 -04:00
|
|
|
$context->registerSetupCheck(TaskProcessingPickupSpeed::class);
|
2024-01-18 09:32:24 -05:00
|
|
|
$context->registerSetupCheck(TempSpaceAvailable::class);
|
2023-10-26 09:04:02 -04:00
|
|
|
$context->registerSetupCheck(TransactionIsolation::class);
|
2024-01-25 09:23:54 -05:00
|
|
|
$context->registerSetupCheck(PushService::class);
|
2024-02-06 11:24:47 -05:00
|
|
|
$context->registerSetupCheck(WellKnownUrls::class);
|
2024-02-14 20:08:04 -05:00
|
|
|
$context->registerSetupCheck(Woff2Loading::class);
|
2022-03-04 01:36:49 -05:00
|
|
|
|
|
|
|
|
$context->registerUserMigrator(AccountMigrator::class);
|
2020-06-08 13:03:46 -04:00
|
|
|
}
|
2019-02-18 11:38:38 -05:00
|
|
|
|
2020-06-08 13:03:46 -04:00
|
|
|
public function boot(IBootContext $context): void {
|
2017-04-13 05:58:19 -04:00
|
|
|
Util::connectHook('OC_User', 'post_setPassword', $this, 'onChangePassword');
|
2017-04-12 09:19:45 -04:00
|
|
|
Util::connectHook('OC_User', 'changeUser', $this, 'onChangeInfo');
|
2019-03-04 06:46:59 -05:00
|
|
|
}
|
|
|
|
|
|
2017-04-13 05:49:02 -04:00
|
|
|
/**
|
|
|
|
|
* @param array $parameters
|
|
|
|
|
* @throws \InvalidArgumentException
|
|
|
|
|
* @throws \BadMethodCallException
|
|
|
|
|
* @throws \Exception
|
2024-10-18 06:04:22 -04:00
|
|
|
* @throws QueryException
|
2017-04-13 05:49:02 -04:00
|
|
|
*/
|
2017-04-13 05:58:19 -04:00
|
|
|
public function onChangePassword(array $parameters) {
|
|
|
|
|
/** @var Hooks $hooks */
|
|
|
|
|
$hooks = $this->getContainer()->query(Hooks::class);
|
|
|
|
|
$hooks->onChangePassword($parameters['uid']);
|
2017-04-12 09:19:45 -04:00
|
|
|
}
|
|
|
|
|
|
2017-04-13 05:58:19 -04:00
|
|
|
/**
|
|
|
|
|
* @param array $parameters
|
|
|
|
|
* @throws \InvalidArgumentException
|
|
|
|
|
* @throws \BadMethodCallException
|
|
|
|
|
* @throws \Exception
|
2024-10-18 06:04:22 -04:00
|
|
|
* @throws QueryException
|
2017-04-13 05:58:19 -04:00
|
|
|
*/
|
|
|
|
|
public function onChangeInfo(array $parameters) {
|
2017-04-12 09:19:45 -04:00
|
|
|
if ($parameters['feature'] !== 'eMailAddress') {
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
|
2017-04-13 05:58:19 -04:00
|
|
|
/** @var Hooks $hooks */
|
|
|
|
|
$hooks = $this->getContainer()->query(Hooks::class);
|
2017-04-13 06:34:34 -04:00
|
|
|
$hooks->onChangeEmail($parameters['user'], $parameters['old_value']);
|
2017-04-12 09:19:45 -04:00
|
|
|
}
|
2014-10-03 09:14:22 -04:00
|
|
|
}
|