class SystemConfigSubscriber in Zircon Profile 8
Same name and namespace in other branches
- 8.0 core/modules/system/src/SystemConfigSubscriber.php \Drupal\system\SystemConfigSubscriber
System Config subscriber.
Hierarchy
- class \Drupal\system\SystemConfigSubscriber implements EventSubscriberInterface uses StringTranslationTrait
Expanded class hierarchy of SystemConfigSubscriber
1 string reference to 'SystemConfigSubscriber'
- system.services.yml in core/
modules/ system/ system.services.yml - core/modules/system/system.services.yml
1 service uses SystemConfigSubscriber
- system.config_subscriber in core/
modules/ system/ system.services.yml - Drupal\system\SystemConfigSubscriber
File
- core/
modules/ system/ src/ SystemConfigSubscriber.php, line 20 - Contains \Drupal\system\SystemConfigSubscriber.
Namespace
Drupal\systemView source
class SystemConfigSubscriber implements EventSubscriberInterface {
use StringTranslationTrait;
/**
* The router builder.
*
* @var \Drupal\Core\Routing\RouteBuilderInterface
*/
protected $routerBuilder;
/**
* Constructs the SystemConfigSubscriber.
*
* @param \Drupal\Core\Routing\RouteBuilderInterface $route_builder
* The router builder service.
*/
public function __construct(RouteBuilderInterface $router_builder) {
$this->routerBuilder = $router_builder;
}
/**
* Rebuilds the router when the default or admin theme is changed.
*
* @param \Drupal\Core\Config\ConfigCrudEvent $event
*/
public function onConfigSave(ConfigCrudEvent $event) {
$saved_config = $event
->getConfig();
if ($saved_config
->getName() == 'system.theme' && ($event
->isChanged('admin') || $event
->isChanged('default'))) {
$this->routerBuilder
->setRebuildNeeded();
}
}
/**
* Checks that the configuration synchronization is valid.
*
* This event listener prevents deleting all configuration. If there is
* nothing to import then event propagation is stopped because there is no
* config import to validate.
*
* @param \Drupal\Core\Config\ConfigImporterEvent $event
* The config import event.
*/
public function onConfigImporterValidateNotEmpty(ConfigImporterEvent $event) {
$importList = $event
->getConfigImporter()
->getStorageComparer()
->getSourceStorage()
->listAll();
if (empty($importList)) {
$event
->getConfigImporter()
->logError($this
->t('This import is empty and if applied would delete all of your configuration, so has been rejected.'));
$event
->stopPropagation();
}
}
/**
* Checks that the configuration synchronization is valid.
*
* This event listener checks that the system.site:uuid's in the source and
* target match.
*
* @param ConfigImporterEvent $event
* The config import event.
*/
public function onConfigImporterValidateSiteUUID(ConfigImporterEvent $event) {
if (!$event
->getConfigImporter()
->getStorageComparer()
->validateSiteUuid()) {
$event
->getConfigImporter()
->logError($this
->t('Site UUID in source storage does not match the target storage.'));
}
}
/**
* {@inheritdoc}
*/
public static function getSubscribedEvents() {
$events[ConfigEvents::SAVE][] = array(
'onConfigSave',
0,
);
// The empty check has a high priority so that is can stop propagation if
// there is no configuration to import.
$events[ConfigEvents::IMPORT_VALIDATE][] = array(
'onConfigImporterValidateNotEmpty',
512,
);
$events[ConfigEvents::IMPORT_VALIDATE][] = array(
'onConfigImporterValidateSiteUUID',
256,
);
return $events;
}
}
Members
Name | Modifiers | Type | Description | Overrides |
---|---|---|---|---|
StringTranslationTrait:: |
protected | property | The string translation service. | |
StringTranslationTrait:: |
protected | function | Formats a string containing a count of items. | |
StringTranslationTrait:: |
protected | function | Returns the number of plurals supported by a given language. | |
StringTranslationTrait:: |
protected | function | Gets the string translation service. | |
StringTranslationTrait:: |
public | function | Sets the string translation service to use. | 2 |
StringTranslationTrait:: |
protected | function | Translates a string to the current language or to a given language. | |
SystemConfigSubscriber:: |
protected | property | The router builder. | |
SystemConfigSubscriber:: |
public static | function |
Returns an array of event names this subscriber wants to listen to. Overrides EventSubscriberInterface:: |
|
SystemConfigSubscriber:: |
public | function | Checks that the configuration synchronization is valid. | |
SystemConfigSubscriber:: |
public | function | Checks that the configuration synchronization is valid. | |
SystemConfigSubscriber:: |
public | function | Rebuilds the router when the default or admin theme is changed. | |
SystemConfigSubscriber:: |
public | function | Constructs the SystemConfigSubscriber. |