Same filename and directory in other branches
- 9 core/modules/system/src/EventSubscriber/AdvisoriesConfigSubscriber.php
Namespace
Drupal\system\EventSubscriber
File
core/modules/system/src/EventSubscriber/AdvisoriesConfigSubscriber.php
View source
<?php
namespace Drupal\system\EventSubscriber;
use Drupal\Core\Config\ConfigCrudEvent;
use Drupal\Core\Config\ConfigEvents;
use Drupal\system\SecurityAdvisories\SecurityAdvisoriesFetcher;
use Symfony\Component\EventDispatcher\EventSubscriberInterface;
class AdvisoriesConfigSubscriber implements EventSubscriberInterface {
protected $securityAdvisoriesFetcher;
public function __construct(SecurityAdvisoriesFetcher $security_advisories_fetcher) {
$this->securityAdvisoriesFetcher = $security_advisories_fetcher;
}
public function onConfigSave(ConfigCrudEvent $event) : void {
$saved_config = $event
->getConfig();
if ($saved_config
->getName() === 'system.advisories' && $event
->isChanged('interval_hours')) {
$original_interval = $saved_config
->getOriginal('interval_hours');
if ($original_interval && $saved_config
->get('interval_hours') < $original_interval) {
$this->securityAdvisoriesFetcher
->deleteStoredResponse();
}
}
}
public static function getSubscribedEvents() : array {
$events[ConfigEvents::SAVE][] = [
'onConfigSave',
];
return $events;
}
}
Classes