LanguageSelectionPageConditionManager.php in Language Selection Page 8.2
File
src/LanguageSelectionPageConditionManager.php
View source
<?php
declare (strict_types=1);
namespace Drupal\language_selection_page;
use Drupal\Core\Cache\CacheBackendInterface;
use Drupal\Core\Executable\ExecutableInterface;
use Drupal\Core\Executable\ExecutableManagerInterface;
use Drupal\Core\Extension\ModuleHandlerInterface;
use Drupal\Core\Plugin\DefaultPluginManager;
final class LanguageSelectionPageConditionManager extends DefaultPluginManager implements ExecutableManagerInterface {
public function __construct(\Traversable $namespaces, CacheBackendInterface $cache_backend, ModuleHandlerInterface $module_handler) {
parent::__construct('Plugin/LanguageSelectionPageCondition', $namespaces, $module_handler, 'Drupal\\language_selection_page\\LanguageSelectionPageConditionInterface', 'Drupal\\language_selection_page\\Annotation\\LanguageSelectionPageCondition');
$this->cacheBackend = $cache_backend;
$this->cacheKeyPrefix = 'language_selection_page_condition_plugins';
$this->cacheKey = 'language_selection_page_condition_plugins';
$this
->alterInfo('language_selection_page_condition_info');
}
public function createInstance($plugin_id, array $configuration = []) {
$plugin = $this
->getFactory()
->createInstance($plugin_id, $configuration);
if (!empty($configuration['context'])) {
foreach ($configuration['context'] as $name => $context) {
$plugin
->setContextValue($name, $context);
}
}
return $plugin
->setExecutableManager($this);
}
public function execute(ExecutableInterface $condition) {
return $condition
->evaluate();
}
public function getDefinitions() {
$definitions = parent::getDefinitions();
uasort($definitions, 'Drupal\\Component\\Utility\\SortArray::sortByWeightElement');
return $definitions;
}
}