Code Coverage |
||||||||||
Classes and Traits |
Functions and Methods |
Lines |
||||||||
| Total | |
0.00% |
0 / 1 |
|
0.00% |
0 / 3 |
CRAP | |
0.00% |
0 / 15 |
| ConditionManager | |
0.00% |
0 / 1 |
|
0.00% |
0 / 3 |
42 | |
0.00% |
0 / 15 |
| __construct | |
0.00% |
0 / 1 |
2 | |
0.00% |
0 / 4 |
|||
| createInstance | |
0.00% |
0 / 1 |
12 | |
0.00% |
0 / 8 |
|||
| execute | |
0.00% |
0 / 1 |
6 | |
0.00% |
0 / 3 |
|||
| <?php | |
| /** | |
| * @file | |
| * Contains \Drupal\Core\Condition\ConditionManager. | |
| */ | |
| namespace Drupal\Core\Condition; | |
| use Drupal\Component\Plugin\CategorizingPluginManagerInterface; | |
| use Drupal\Core\Cache\CacheBackendInterface; | |
| use Drupal\Core\Executable\ExecutableManagerInterface; | |
| use Drupal\Core\Executable\ExecutableInterface; | |
| use Drupal\Core\Extension\ModuleHandlerInterface; | |
| use Drupal\Core\Plugin\CategorizingPluginManagerTrait; | |
| use Drupal\Core\Plugin\Context\ContextAwarePluginManagerTrait; | |
| use Drupal\Core\Plugin\DefaultPluginManager; | |
| /** | |
| * A plugin manager for condition plugins. | |
| * | |
| * @see \Drupal\Core\Condition\Annotation\Condition | |
| * @see \Drupal\Core\Condition\ConditionInterface | |
| * @see \Drupal\Core\Condition\ConditionPluginBase | |
| * | |
| * @ingroup plugin_api | |
| */ | |
| class ConditionManager extends DefaultPluginManager implements ExecutableManagerInterface, CategorizingPluginManagerInterface { | |
| use CategorizingPluginManagerTrait; | |
| use ContextAwarePluginManagerTrait; | |
| /** | |
| * Constructs a ConditionManager object. | |
| * | |
| * @param \Traversable $namespaces | |
| * An object that implements \Traversable which contains the root paths | |
| * keyed by the corresponding namespace to look for plugin implementations. | |
| * @param \Drupal\Core\Cache\CacheBackendInterface $cache_backend | |
| * Cache backend instance to use. | |
| * @param \Drupal\Core\Extension\ModuleHandlerInterface $module_handler | |
| * The module handler to invoke the alter hook with. | |
| */ | |
| public function __construct(\Traversable $namespaces, CacheBackendInterface $cache_backend, ModuleHandlerInterface $module_handler) { | |
| $this->alterInfo('condition_info'); | |
| $this->setCacheBackend($cache_backend, 'condition_plugins'); | |
| parent::__construct('Plugin/Condition', $namespaces, $module_handler, 'Drupal\Core\Condition\ConditionInterface', 'Drupal\Core\Condition\Annotation\Condition'); | |
| } | |
| /** | |
| * {@inheritdoc} | |
| */ | |
| public function createInstance($plugin_id, array $configuration = array()) { | |
| $plugin = $this->getFactory()->createInstance($plugin_id, $configuration); | |
| // If we receive any context values via config set it into the plugin. | |
| if (!empty($configuration['context'])) { | |
| foreach ($configuration['context'] as $name => $context) { | |
| $plugin->setContextValue($name, $context); | |
| } | |
| } | |
| return $plugin->setExecutableManager($this); | |
| } | |
| /** | |
| * {@inheritdoc} | |
| */ | |
| public function execute(ExecutableInterface $condition) { | |
| $result = $condition->evaluate(); | |
| return $condition->isNegated() ? !$result : $result; | |
| } | |
| } |