class AuthenticationMultivalueKeyType in Key 8
Defines a generic key type for authentication with multiple values.
Plugin annotation
@KeyType(
id = "authentication_multivalue",
label = @Translation("Authentication (Multivalue)"),
description = @Translation("A generic key type to use for an authentication key that contains multiple values."),
group = "authentication",
key_value = {
"plugin" = "textarea_field"
},
multivalue = {
"enabled" = true,
"fields" = {}
}
)
Hierarchy
- class \Drupal\Component\Plugin\PluginBase implements DerivativeInspectionInterface, PluginInspectionInterface
- class \Drupal\Core\Plugin\PluginBase uses DependencySerializationTrait, MessengerTrait, StringTranslationTrait
- class \Drupal\key\Plugin\KeyPluginBase implements KeyPluginInterface
- class \Drupal\key\Plugin\KeyTypeBase implements KeyTypeInterface
- class \Drupal\key\Plugin\KeyType\AuthenticationMultivalueKeyType implements KeyTypeMultivalueInterface
- class \Drupal\key\Plugin\KeyTypeBase implements KeyTypeInterface
- class \Drupal\key\Plugin\KeyPluginBase implements KeyPluginInterface
- class \Drupal\Core\Plugin\PluginBase uses DependencySerializationTrait, MessengerTrait, StringTranslationTrait
Expanded class hierarchy of AuthenticationMultivalueKeyType
File
- src/
Plugin/ KeyType/ AuthenticationMultivalueKeyType.php, line 27
Namespace
Drupal\key\Plugin\KeyTypeView source
class AuthenticationMultivalueKeyType extends KeyTypeBase implements KeyTypeMultivalueInterface {
/**
* {@inheritdoc}
*/
public static function generateKeyValue(array $configuration) {
// Return an empty JSON element.
return '[]';
}
/**
* {@inheritdoc}
*/
public function validateKeyValue(array $form, FormStateInterface $form_state, $key_value) {
if (empty($key_value)) {
return;
}
// If a field named "key_value" exists in the key input settings, use it for
// the error element, if necessary. Otherwise, use the entire form.
if (isset($form['settings']['input_section']['key_input_settings']['key_value'])) {
$error_element = $form['settings']['input_section']['key_input_settings']['key_value'];
}
else {
$error_element = $form;
}
$value = $this
->unserialize($key_value);
if ($value === NULL) {
$form_state
->setError($error_element, $this
->t('The key value does not contain valid JSON.'));
return;
}
$definition = $this
->getPluginDefinition();
$fields = $definition['multivalue']['fields'];
foreach ($fields as $id => $field) {
if (!is_array($field)) {
$field = [
'label' => $field,
];
}
if (isset($field['required']) && $field['required'] === FALSE) {
continue;
}
if (!isset($value[$id])) {
$form_state
->setError($error_element, $this
->t('The key value is missing the field %field.', [
'%field' => $id,
]));
}
elseif (empty($value[$id])) {
$form_state
->setError($error_element, $this
->t('The key value field %field is empty.', [
'%field' => $id,
]));
}
}
}
/**
* {@inheritdoc}
*/
public function serialize(array $array) {
return Json::encode($array);
}
/**
* {@inheritdoc}
*/
public function unserialize($value) {
return Json::decode($value);
}
}
Members
Name | Modifiers | Type | Description | Overrides |
---|---|---|---|---|
AuthenticationMultivalueKeyType:: |
public static | function |
Generate a key value of this type using the submitted configuration. Overrides KeyTypeInterface:: |
|
AuthenticationMultivalueKeyType:: |
public | function |
Serialize an array of key values into a string. Overrides KeyTypeMultivalueInterface:: |
|
AuthenticationMultivalueKeyType:: |
public | function |
Unserialize a string of key values into an array. Overrides KeyTypeMultivalueInterface:: |
|
AuthenticationMultivalueKeyType:: |
public | function |
Allows the Key Type plugin to validate the key value. Overrides KeyTypeInterface:: |
|
DependencySerializationTrait:: |
protected | property | An array of entity type IDs keyed by the property name of their storages. | |
DependencySerializationTrait:: |
protected | property | An array of service IDs keyed by property name used for serialization. | |
DependencySerializationTrait:: |
public | function | 1 | |
DependencySerializationTrait:: |
public | function | 2 | |
KeyPluginBase:: |
public | function |
Calculates dependencies for the configured plugin. Overrides DependentPluginInterface:: |
|
KeyPluginBase:: |
public static | function |
Creates an instance of the plugin. Overrides ContainerFactoryPluginInterface:: |
1 |
KeyPluginBase:: |
public | function |
Gets default configuration for this plugin. Overrides ConfigurableInterface:: |
8 |
KeyPluginBase:: |
public | function |
Gets this plugin's configuration. Overrides ConfigurableInterface:: |
|
KeyPluginBase:: |
public | function |
Returns the type of plugin. Overrides KeyPluginInterface:: |
|
KeyPluginBase:: |
public | function |
Sets the configuration for this plugin instance. Overrides ConfigurableInterface:: |
|
KeyPluginBase:: |
public | function |
Constructs a \Drupal\Component\Plugin\PluginBase object. Overrides PluginBase:: |
|
MessengerTrait:: |
protected | property | The messenger. | 29 |
MessengerTrait:: |
public | function | Gets the messenger. | 29 |
MessengerTrait:: |
public | function | Sets the messenger. | |
PluginBase:: |
protected | property | Configuration information passed into the plugin. | 1 |
PluginBase:: |
protected | property | The plugin implementation definition. | 1 |
PluginBase:: |
protected | property | The plugin_id. | |
PluginBase:: |
constant | A string which is used to separate base plugin IDs from the derivative ID. | ||
PluginBase:: |
public | function |
Gets the base_plugin_id of the plugin instance. Overrides DerivativeInspectionInterface:: |
|
PluginBase:: |
public | function |
Gets the derivative_id of the plugin instance. Overrides DerivativeInspectionInterface:: |
|
PluginBase:: |
public | function |
Gets the definition of the plugin implementation. Overrides PluginInspectionInterface:: |
3 |
PluginBase:: |
public | function |
Gets the plugin_id of the plugin instance. Overrides PluginInspectionInterface:: |
|
PluginBase:: |
public | function | Determines if the plugin is configurable. | |
StringTranslationTrait:: |
protected | property | The string translation service. | 1 |
StringTranslationTrait:: |
protected | function | Formats a string containing a count of items. | |
StringTranslationTrait:: |
protected | function | Returns the number of plurals supported by a given language. | |
StringTranslationTrait:: |
protected | function | Gets the string translation service. | |
StringTranslationTrait:: |
public | function | Sets the string translation service to use. | 2 |
StringTranslationTrait:: |
protected | function | Translates a string to the current language or to a given language. |