You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
nextcloud/apps/testing/lib/Listener/GetDeclarativeSettingsValue...

33 lines
746 B
PHP

<?php
declare(strict_types=1);
namespace OCA\Testing\Listener;
use OCP\EventDispatcher\Event;
use OCP\EventDispatcher\IEventListener;
use OCP\IConfig;
use OCP\Settings\Events\DeclarativeSettingsGetValueEvent;
/**
* @template-implements IEventListener<DeclarativeSettingsGetValueEvent>
*/
class GetDeclarativeSettingsValueListener implements IEventListener {
public function __construct(private IConfig $config) {
}
public function handle(Event $event): void {
if (!$event instanceof DeclarativeSettingsGetValueEvent) {
return;
}
if ($event->getApp() !== 'testing') {
return;
}
$value = $this->config->getUserValue($event->getUser()->getUID(), $event->getApp(), $event->getFieldId());
$event->setValue($value);
}
}