Code Coverage |
||||||||||
Classes and Traits |
Functions and Methods |
Lines |
||||||||
| Total | |
0.00% |
0 / 1 |
|
0.00% |
0 / 4 |
CRAP | |
0.00% |
0 / 19 |
| ConditionPluginCollection | |
0.00% |
0 / 1 |
|
0.00% |
0 / 4 |
42 | |
0.00% |
0 / 19 |
| get | |
0.00% |
0 / 1 |
2 | |
0.00% |
0 / 2 |
|||
| getConfiguration | |
0.00% |
0 / 1 |
12 | |
0.00% |
0 / 12 |
|||
| addContext | |
0.00% |
0 / 1 |
2 | |
0.00% |
0 / 3 |
|||
| getConditionContexts | |
0.00% |
0 / 1 |
2 | |
0.00% |
0 / 2 |
|||
| <?php | |
| /** | |
| * @file | |
| * Contains \Drupal\Core\Condition\ConditionPluginCollection. | |
| */ | |
| namespace Drupal\Core\Condition; | |
| use Drupal\Component\Plugin\Context\ContextInterface; | |
| use Drupal\Core\Plugin\DefaultLazyPluginCollection; | |
| /** | |
| * Provides a collection of condition plugins. | |
| */ | |
| class ConditionPluginCollection extends DefaultLazyPluginCollection { | |
| /** | |
| * An array of collected contexts for conditions. | |
| * | |
| * @var \Drupal\Component\Plugin\Context\ContextInterface[] | |
| */ | |
| protected $conditionContexts = array(); | |
| /** | |
| * {@inheritdoc} | |
| * | |
| * @return \Drupal\Core\Condition\ConditionInterface | |
| */ | |
| public function &get($instance_id) { | |
| return parent::get($instance_id); | |
| } | |
| /** | |
| * {@inheritdoc} | |
| */ | |
| public function getConfiguration() { | |
| $configuration = parent::getConfiguration(); | |
| // Remove configuration if it matches the defaults. | |
| foreach ($configuration as $instance_id => $instance_config) { | |
| $default_config = array(); | |
| $default_config['id'] = $instance_id; | |
| $default_config += $this->get($instance_id)->defaultConfiguration(); | |
| // In order to determine if a plugin is configured, we must compare it to | |
| // its default configuration. The default configuration of a plugin does | |
| // not contain context_mapping and it is not used when the plugin is not | |
| // configured, so remove the context_mapping from the instance config to | |
| // compare the remaining values. | |
| unset($instance_config['context_mapping']); | |
| if ($default_config === $instance_config) { | |
| unset($configuration[$instance_id]); | |
| } | |
| } | |
| return $configuration; | |
| } | |
| /** | |
| * Sets the condition context for a given name. | |
| * | |
| * @param string $name | |
| * The name of the context. | |
| * @param \Drupal\Component\Plugin\Context\ContextInterface $context | |
| * The context to add. | |
| * | |
| * @return $this | |
| */ | |
| public function addContext($name, ContextInterface $context) { | |
| $this->conditionContexts[$name] = $context; | |
| return $this; | |
| } | |
| /** | |
| * Gets the values for all defined contexts. | |
| * | |
| * @return \Drupal\Component\Plugin\Context\ContextInterface[] | |
| * An array of set contexts, keyed by context name. | |
| */ | |
| public function getConditionContexts() { | |
| return $this->conditionContexts; | |
| } | |
| } |