Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit b15afcc7 authored by Ronak Patel's avatar Ronak Patel
Browse files

recoveryEmail attribute update on change of NC config change

parent dd3bc747
Loading
Loading
Loading
Loading
Loading
+37 −0
Original line number Diff line number Diff line
<?php

declare(strict_types=1);

namespace OCA\EcloudAccounts\Listeners;

use OCP\EventDispatcher\Event;
use OCP\EventDispatcher\IEventListener;
use OCP\ILogger;
use OCP\User\Events\UserConfigChangedEvent;
use OCA\EcloudAccounts\Service\UserService;

class UserConfigChangedListener implements IEventListener {
	private $logger;
	private $userService;

	public function __construct(ILogger $logger, UserService $userService) {
		$this->logger = $logger;
		$this->userService = $userService;
	}

	public function handle(Event $event): void {
		if (!($event instanceof UserConfigChangedEvent)) {
			return;
		}
		if ($event->getKey() === 'recovery-email') {
			$uid = $event->getUserId();
			$newRecoveryEmail = $event->getValue();
			if ($newRecoveryEmail !== '') {
				$recoveryMailAddressAttribute = [
					'recoveryMailAddress' => $newRecoveryEmail
				];
				$this->userService->updateAttributesInLDAP($uid, $recoveryMailAddressAttribute);
			}
		}
	}
}
+0 −4
Original line number Diff line number Diff line
@@ -104,10 +104,6 @@ class UserService {

	public function setRecoveryEmail(string $uid, string $recoveryEmail): void {
		$this->config->setUserValue($uid, 'email-recovery', 'recovery-email', $recoveryEmail);
		$recoveryMailAddressAttribute = [
			'recoveryMailAddress' => $recoveryEmail
		];
		$this->updateAttributesInLDAP($uid, $recoveryMailAddressAttribute);
	}
	public function setUnverifiedRecoveryEmail(string $uid, string $recoveryEmail): void {
		$this->config->setUserValue($uid, 'email-recovery', 'unverified-recovery-email', $recoveryEmail);