class UserMatcher in Linkit 8.4
Same name and namespace in other branches
- 8.5 src/Plugin/Linkit/Matcher/UserMatcher.php \Drupal\linkit\Plugin\Linkit\Matcher\UserMatcher
Plugin annotation
@Matcher(
id = "entity:user",
target_entity = "user",
label = @Translation("User"),
provider = "user"
)
Hierarchy
- class \Drupal\Component\Plugin\PluginBase implements DerivativeInspectionInterface, PluginInspectionInterface
- class \Drupal\Core\Plugin\PluginBase uses DependencySerializationTrait, MessengerTrait, StringTranslationTrait
- class \Drupal\linkit\MatcherBase implements ContainerFactoryPluginInterface, MatcherInterface
- class \Drupal\linkit\ConfigurableMatcherBase implements ConfigurableMatcherInterface
- class \Drupal\linkit\Plugin\Linkit\Matcher\EntityMatcher uses MatcherTokensTrait
- class \Drupal\linkit\Plugin\Linkit\Matcher\UserMatcher
- class \Drupal\linkit\Plugin\Linkit\Matcher\EntityMatcher uses MatcherTokensTrait
- class \Drupal\linkit\ConfigurableMatcherBase implements ConfigurableMatcherInterface
- class \Drupal\linkit\MatcherBase implements ContainerFactoryPluginInterface, MatcherInterface
- class \Drupal\Core\Plugin\PluginBase uses DependencySerializationTrait, MessengerTrait, StringTranslationTrait
Expanded class hierarchy of UserMatcher
File
- src/
Plugin/ Linkit/ Matcher/ UserMatcher.php, line 20 - Contains \Drupal\linkit\Plugin\Linkit\Matcher\UserMatcher.
Namespace
Drupal\linkit\Plugin\Linkit\MatcherView source
class UserMatcher extends EntityMatcher {
/**
* {@inheritdoc}
*/
public function getSummary() {
$summery = parent::getSummary();
$roles = !empty($this->configuration['roles']) ? $this->configuration['roles'] : [
'None',
];
$summery[] = $this
->t('Role filter: @role_filter', [
'@role_filter' => implode(', ', $roles),
]);
$summery[] = $this
->t('Include blocked users: @include_blocked', [
'@include_blocked' => $this->configuration['include_blocked'] ? $this
->t('Yes') : $this
->t('No'),
]);
return $summery;
}
/**
* {@inheritdoc}
*/
public function defaultConfiguration() {
return parent::defaultConfiguration() + [
'roles' => [],
'include_blocked' => FALSE,
];
}
/**
* {@inheritdoc}
*/
public function calculateDependencies() {
return parent::calculateDependencies() + [
'module' => [
'user',
],
];
}
/**
* {@inheritdoc}
*/
public function buildConfigurationForm(array $form, FormStateInterface $form_state) {
$form = parent::buildConfigurationForm($form, $form_state);
$form['roles'] = array(
'#type' => 'checkboxes',
'#title' => $this
->t('Restrict to the selected roles'),
'#options' => array_diff_key(user_role_names(TRUE), array(
RoleInterface::AUTHENTICATED_ID => RoleInterface::AUTHENTICATED_ID,
)),
'#default_value' => $this->configuration['roles'],
'#description' => $this
->t('If none of the checkboxes is checked, allow all roles.'),
'#element_validate' => [
[
get_class($this),
'elementValidateFilter',
],
],
);
$form['include_blocked'] = [
'#title' => t('Include blocked user'),
'#type' => 'checkbox',
'#default_value' => $this->configuration['include_blocked'],
'#description' => t('In order to see blocked users, the requesting user must also have permissions to do so.'),
];
return $form;
}
/**
* {@inheritdoc}
*/
public function submitConfigurationForm(array &$form, FormStateInterface $form_state) {
parent::submitConfigurationForm($form, $form_state);
$this->configuration['roles'] = $form_state
->getValue('roles');
$this->configuration['include_blocked'] = $form_state
->getValue('include_blocked');
}
/**
* {@inheritdoc}
*/
protected function buildEntityQuery($match) {
$query = parent::buildEntityQuery($match);
$match = $this->database
->escapeLike($match);
// The user entity don't specify a label key so we have to do it instead.
$query
->condition('name', '%' . $match . '%', 'LIKE');
// Filter by role.
if (!empty($this->configuration['roles'])) {
$query
->condition('roles', $this->configuration['roles'], 'IN');
}
if ($this->configuration['include_blocked'] !== TRUE || !$this->currentUser
->hasPermission('administer users')) {
$query
->condition('status', 1);
}
return $query;
}
}
Members
Name | Modifiers | Type | Description | Overrides |
---|---|---|---|---|
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 | |
EntityMatcher:: |
protected | property | The current user. | |
EntityMatcher:: |
protected | property | The database connection. | |
EntityMatcher:: |
protected | property | The entity manager. | |
EntityMatcher:: |
protected | property | The module handler service. | |
EntityMatcher:: |
protected | property | The target entity type id | |
EntityMatcher:: |
protected | function | Builds the description string used in the match array. | 2 |
EntityMatcher:: |
protected | function | Builds the group string used in the match array. | |
EntityMatcher:: |
protected | function | Builds the label string used in the match array. | |
EntityMatcher:: |
protected | function | Builds the path string used in the match array. | 1 |
EntityMatcher:: |
public static | function |
Creates an instance of the plugin. Overrides ContainerFactoryPluginInterface:: |
|
EntityMatcher:: |
public static | function | Form element validation handler; Filters the #value property of an element. | |
EntityMatcher:: |
public | function |
Gets an array with search matches that will be presented in the autocomplete
widget. Overrides MatcherInterface:: |
|
EntityMatcher:: |
public | function |
Form validation handler. Overrides PluginFormInterface:: |
|
EntityMatcher:: |
public | function |
Constructs a \Drupal\Component\Plugin\PluginBase object. Overrides MatcherBase:: |
|
MatcherBase:: |
protected | property | The matcher ID. | |
MatcherBase:: |
protected | property | The weight of the matcher compared to others in a matcher collection. | |
MatcherBase:: |
public | function |
Gets this plugin's configuration. Overrides ConfigurablePluginInterface:: |
|
MatcherBase:: |
public | function |
Returns the matcher label. Overrides MatcherInterface:: |
|
MatcherBase:: |
public | function |
Returns the unique ID representing the matcher. Overrides MatcherInterface:: |
|
MatcherBase:: |
public | function |
Returns the weight of the matcher. Overrides MatcherInterface:: |
|
MatcherBase:: |
public | function |
Sets the configuration for this plugin instance. Overrides ConfigurablePluginInterface:: |
|
MatcherBase:: |
public | function |
Sets the weight for the matcher. Overrides MatcherInterface:: |
|
MatcherTokensTrait:: |
public | function | Gets all available tokens. | |
MatcherTokensTrait:: |
public | function | Inserts a form element with a list of available tokens. | |
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. | |
UserMatcher:: |
public | function |
Form constructor. Overrides EntityMatcher:: |
|
UserMatcher:: |
protected | function |
Builds an EntityQuery to get entities. Overrides EntityMatcher:: |
|
UserMatcher:: |
public | function |
Calculates dependencies for the configured plugin. Overrides MatcherBase:: |
|
UserMatcher:: |
public | function |
Gets default configuration for this plugin. Overrides EntityMatcher:: |
|
UserMatcher:: |
public | function |
Returns the summarized configuration of the matcher. Overrides EntityMatcher:: |
|
UserMatcher:: |
public | function |
Form submission handler. Overrides EntityMatcher:: |