Mercurial > hg > isophonics-drupal-site
view core/lib/Drupal/Core/Config/ConfigCollectionInfo.php @ 13:5fb285c0d0e3
Update Drupal core to 8.4.7 via Composer. Security update; I *think* we've
been lucky to get away with this so far, as we don't support self-registration
which seems to be used by the so-called "drupalgeddon 2" attack that 8.4.5
was vulnerable to.
author | Chris Cannam |
---|---|
date | Mon, 23 Apr 2018 09:33:26 +0100 |
parents | 4c8ae668cc8c |
children |
line wrap: on
line source
<?php namespace Drupal\Core\Config; use Symfony\Component\EventDispatcher\Event; /** * Gets information on all the possible configuration collections. */ class ConfigCollectionInfo extends Event { /** * Configuration collection information keyed by collection name. * * The value is either the configuration factory override that is responsible * for the collection or null if there is not one. * * @var array */ protected $collections = []; /** * Adds a collection to the list of possible collections. * * @param string $collection * Collection name to add. * @param \Drupal\Core\Config\ConfigFactoryOverrideInterface $override_service * (optional) The configuration factory override service responsible for the * collection. * * @throws \InvalidArgumentException * Exception thrown if $collection is equal to * \Drupal\Core\Config\StorageInterface::DEFAULT_COLLECTION. */ public function addCollection($collection, ConfigFactoryOverrideInterface $override_service = NULL) { if ($collection == StorageInterface::DEFAULT_COLLECTION) { throw new \InvalidArgumentException('Can not add the default collection to the ConfigCollectionInfo object'); } $this->collections[$collection] = $override_service; } /** * Gets the list of possible collection names. * * @param bool $include_default * (Optional) Include the default collection. Defaults to TRUE. * * @return array * The list of possible collection names. */ public function getCollectionNames($include_default = TRUE) { $collection_names = array_keys($this->collections); sort($collection_names); if ($include_default) { array_unshift($collection_names, StorageInterface::DEFAULT_COLLECTION); } return $collection_names; } /** * Gets the config factory override service responsible for the collection. * * @param string $collection * The configuration collection. * * @return \Drupal\Core\Config\ConfigFactoryOverrideInterface|null * The override service responsible for the collection if one exists. NULL * if not. */ public function getOverrideService($collection) { return isset($this->collections[$collection]) ? $this->collections[$collection] : NULL; } }