AcceptanceMethodPluginManager.php in Entity Legal 8
File
src/Plugin/AcceptanceMethodPluginManager.php
View source
<?php
namespace Drupal\entity_legal\Plugin;
use Drupal\Component\Plugin\Factory\DefaultFactory;
use Drupal\Core\Cache\CacheBackendInterface;
use Drupal\Core\Extension\ModuleHandlerInterface;
use Drupal\Core\Plugin\DefaultPluginManager;
class AcceptanceMethodPluginManager extends DefaultPluginManager {
protected $formatterOptions;
protected $fieldTypeManager;
public function __construct(\Traversable $namespaces, CacheBackendInterface $cache_backend, ModuleHandlerInterface $module_handler) {
parent::__construct('Plugin/EntityLegal/AcceptanceMethod', $namespaces, $module_handler, 'Drupal\\entity_legal\\AcceptanceMethod\\AcceptanceMethodInterface', 'Drupal\\entity_legal\\Annotation\\AcceptanceMethod');
$this
->setCacheBackend($cache_backend, 'entity_legal_acceptance_method_plugins');
}
public function getNewUserPlugins() {
$new_user_plugins = array();
$definitions = $this
->getDefinitions();
foreach ($definitions as $plugin_name => $plugin_definition) {
if (!empty($plugin_definition['new_users'])) {
$new_user_plugins[$plugin_name] = $plugin_definition;
}
}
return $new_user_plugins;
}
public function getNewUserPluginOptions() {
$new_user_plugins = $this
->getNewUserPlugins();
return $this
->getPluginsListAsOptions($new_user_plugins);
}
public function getExistingUserPlugins() {
$existing_user_plugins = array();
$definitions = $this
->getDefinitions();
foreach ($definitions as $plugin_name => $plugin_definition) {
if (!empty($plugin_definition['existing_users'])) {
$existing_user_plugins[$plugin_name] = $plugin_definition;
}
}
return $existing_user_plugins;
}
public function getExistingUserPluginOptions() {
$existing_user_plugins = $this
->getExistingUserPlugins();
return $this
->getPluginsListAsOptions($existing_user_plugins);
}
protected function getPluginsListAsOptions(array $plugin_definition_list) {
$plugin_options = array();
foreach ($plugin_definition_list as $plugin_definition) {
$plugin_options[$plugin_definition['id']] = $plugin_definition['label']
->render();
}
return $plugin_options;
}
}