class User
Same name in this branch
- 11.x core/modules/user/src/Entity/User.php \Drupal\user\Entity\User
- 11.x core/modules/user/src/Plugin/views/argument_default/User.php \Drupal\user\Plugin\views\argument_default\User
- 11.x core/modules/user/src/Plugin/migrate/source/d6/User.php \Drupal\user\Plugin\migrate\source\d6\User
- 11.x core/modules/user/src/Plugin/migrate/source/d7/User.php \Drupal\user\Plugin\migrate\source\d7\User
- 11.x core/modules/user/src/Plugin/migrate/User.php \Drupal\user\Plugin\migrate\User
Same name in other branches
- 9 core/modules/user/src/Entity/User.php \Drupal\user\Entity\User
- 9 core/modules/user/src/Plugin/views/argument_validator/User.php \Drupal\user\Plugin\views\argument_validator\User
- 9 core/modules/user/src/Plugin/views/argument_default/User.php \Drupal\user\Plugin\views\argument_default\User
- 9 core/modules/user/src/Plugin/migrate/source/d6/User.php \Drupal\user\Plugin\migrate\source\d6\User
- 9 core/modules/user/src/Plugin/migrate/source/d7/User.php \Drupal\user\Plugin\migrate\source\d7\User
- 9 core/modules/user/src/Plugin/migrate/User.php \Drupal\user\Plugin\migrate\User
- 8.9.x core/modules/user/src/Entity/User.php \Drupal\user\Entity\User
- 8.9.x core/modules/user/src/Plugin/views/argument_validator/User.php \Drupal\user\Plugin\views\argument_validator\User
- 8.9.x core/modules/user/src/Plugin/views/argument_default/User.php \Drupal\user\Plugin\views\argument_default\User
- 8.9.x core/modules/user/src/Plugin/migrate/source/d6/User.php \Drupal\user\Plugin\migrate\source\d6\User
- 8.9.x core/modules/user/src/Plugin/migrate/source/d7/User.php \Drupal\user\Plugin\migrate\source\d7\User
- 8.9.x core/modules/user/src/Plugin/migrate/User.php \Drupal\user\Plugin\migrate\User
- 10 core/modules/user/src/Entity/User.php \Drupal\user\Entity\User
- 10 core/modules/user/src/Plugin/views/argument_validator/User.php \Drupal\user\Plugin\views\argument_validator\User
- 10 core/modules/user/src/Plugin/views/argument_default/User.php \Drupal\user\Plugin\views\argument_default\User
- 10 core/modules/user/src/Plugin/migrate/source/d6/User.php \Drupal\user\Plugin\migrate\source\d6\User
- 10 core/modules/user/src/Plugin/migrate/source/d7/User.php \Drupal\user\Plugin\migrate\source\d7\User
- 10 core/modules/user/src/Plugin/migrate/User.php \Drupal\user\Plugin\migrate\User
Validate whether an argument is a valid user.
This supports either numeric arguments (UID) or strings (username) and converts either one into the user's UID. This validator also sets the argument's title to the username.
Hierarchy
- class \Drupal\user\Plugin\views\argument_validator\User extends \Drupal\views\Plugin\views\argument_validator\Entity
Expanded class hierarchy of User
1063 string references to 'User'
- 2d3581c3-92c7-4600-8991-a0d4b3741198.yml in core/
tests/ fixtures/ default_content/ node/ 2d3581c3-92c7-4600-8991-a0d4b3741198.yml - core/tests/fixtures/default_content/node/2d3581c3-92c7-4600-8991-a0d4b3741198.yml
- 7f1dd75a-0be2-4d3b-be5d-9d1a868b9267.yml in core/
tests/ fixtures/ default_content/ node/ 7f1dd75a-0be2-4d3b-be5d-9d1a868b9267.yml - core/tests/fixtures/default_content/node/7f1dd75a-0be2-4d3b-be5d-9d1a868b9267.yml
- 94503467-be7f-406c-9795-fc25baa22203.yml in core/
tests/ fixtures/ default_content/ user/ 94503467-be7f-406c-9795-fc25baa22203.yml - core/tests/fixtures/default_content/user/94503467-be7f-406c-9795-fc25baa22203.yml
- AccessPermissionTest::setUp in core/
modules/ user/ tests/ src/ Kernel/ Views/ AccessPermissionTest.php - AccessPolicyProcessor::processAccessPolicies in core/
lib/ Drupal/ Core/ Session/ AccessPolicyProcessor.php
File
-
core/
modules/ user/ src/ Plugin/ views/ argument_validator/ User.php, line 22
Namespace
Drupal\user\Plugin\views\argument_validatorView source
class User extends Entity {
/**
* The user storage.
*
* @var \Drupal\Core\Entity\EntityStorageInterface
*/
protected $userStorage;
/**
* {@inheritdoc}
*/
public function __construct(array $configuration, $plugin_id, $plugin_definition, EntityTypeManagerInterface $entity_type_manager, ?EntityTypeBundleInfoInterface $entity_type_bundle_info = NULL) {
parent::__construct($configuration, $plugin_id, $plugin_definition, $entity_type_manager, $entity_type_bundle_info);
$this->userStorage = $entity_type_manager->getStorage('user');
}
/**
* {@inheritdoc}
*/
protected function defineOptions() {
$options = parent::defineOptions();
$options['restrict_roles'] = [
'default' => FALSE,
];
$options['roles'] = [
'default' => [],
];
return $options;
}
/**
* {@inheritdoc}
*/
public function buildOptionsForm(&$form, FormStateInterface $form_state) {
parent::buildOptionsForm($form, $form_state);
$sanitized_id = ArgumentPluginBase::encodeValidatorId($this->definition['id']);
$form['restrict_roles'] = [
'#type' => 'checkbox',
'#title' => $this->t('Restrict user based on role'),
'#default_value' => $this->options['restrict_roles'],
];
$roles = Role::loadMultiple();
unset($roles[RoleInterface::ANONYMOUS_ID]);
$roles = array_map(fn(RoleInterface $role) => Html::escape($role->label()), $roles);
$form['roles'] = [
'#type' => 'checkboxes',
'#title' => $this->t('Restrict to the selected roles'),
'#options' => $roles,
'#default_value' => $this->options['roles'],
'#description' => $this->t('If no roles are selected, users from any role will be allowed.'),
'#states' => [
'visible' => [
':input[name="options[validate][options][' . $sanitized_id . '][restrict_roles]"]' => [
'checked' => TRUE,
],
],
],
];
}
/**
* {@inheritdoc}
*/
public function submitOptionsForm(&$form, FormStateInterface $form_state, &$options = []) {
// Filter trash out of the options so we don't store giant unnecessary arrays
$options['roles'] = array_filter($options['roles']);
}
/**
* {@inheritdoc}
*/
protected function validateEntity(EntityInterface $entity) {
/** @var \Drupal\user\UserInterface $entity */
$role_check_success = TRUE;
// See if we're filtering users based on roles.
if (!empty($this->options['restrict_roles']) && !empty($this->options['roles'])) {
$roles = $this->options['roles'];
if (!(bool) array_intersect($entity->getRoles(), $roles)) {
$role_check_success = FALSE;
}
}
return $role_check_success && parent::validateEntity($entity);
}
/**
* {@inheritdoc}
*/
public function calculateDependencies() {
$dependencies = parent::calculateDependencies();
foreach ($this->entityTypeManager
->getStorage('user_role')
->loadMultiple(array_keys($this->options['roles'])) as $role) {
$dependencies[$role->getConfigDependencyKey()][] = $role->getConfigDependencyName();
}
return $dependencies;
}
}
Members
Title Sort descending | Modifiers | Object type | Summary | Overriden Title | Overrides |
---|---|---|---|---|---|
ArgumentValidatorPluginBase::$argument | protected | property | The argument handler instance associated with this plugin. | ||
ArgumentValidatorPluginBase::$option_name | public | property | |||
ArgumentValidatorPluginBase::access | public | function | Determines if the administrator has the privileges to use this plugin. | ||
ArgumentValidatorPluginBase::checkAccess | protected | function | Blocks user input when the form is shown but we donĀ“t have access. | ||
ArgumentValidatorPluginBase::processSummaryArguments | public | function | Processes the summary arguments for displaying. | 1 | |
ArgumentValidatorPluginBase::setArgument | public | function | Sets the parent argument this plugin is associated with. | ||
ArgumentValidatorPluginBase::validateOptionsForm | public | function | Provides the default form for validating options. | Overrides PluginBase::validateOptionsForm | |
DerivativeInspectionInterface::getBaseId | public | function | Gets the base_plugin_id of the plugin instance. | 1 | |
DerivativeInspectionInterface::getDerivativeId | public | function | Gets the derivative_id of the plugin instance. | 1 | |
Entity::$entityTypeBundleInfo | protected | property | The entity bundle info. | ||
Entity::$entityTypeManager | protected | property | The entity type manager. | ||
Entity::$multipleCapable | protected | property | If this validator can handle multiple arguments. | ||
Entity::create | public static | function | Overrides PluginBase::create | ||
Entity::getContextDefinition | public | function | Overrides ArgumentValidatorPluginBase::getContextDefinition | ||
Entity::validateArgument | public | function | Overrides ArgumentValidatorPluginBase::validateArgument | 2 | |
PluginBase::$definition | public | property | Plugins' definition. | ||
PluginBase::$displayHandler | public | property | The display object this plugin is for. | ||
PluginBase::$options | public | property | Options for this plugin will be held here. | ||
PluginBase::$position | public | property | The handler position. | ||
PluginBase::$renderer | protected | property | Stores the render API renderer. | 3 | |
PluginBase::$usesOptions | protected | property | Denotes whether the plugin has an additional options form. | 8 | |
PluginBase::$view | public | property | The top object of a view. | 1 | |
PluginBase::destroy | public | function | Overrides ViewsPluginInterface::destroy | 2 | |
PluginBase::doFilterByDefinedOptions | protected | function | Do the work to filter out stored options depending on the defined options. | ||
PluginBase::filterByDefinedOptions | public | function | Overrides ViewsPluginInterface::filterByDefinedOptions | ||
PluginBase::getAvailableGlobalTokens | public | function | Overrides ViewsPluginInterface::getAvailableGlobalTokens | ||
PluginBase::getProvider | public | function | Overrides ViewsPluginInterface::getProvider | ||
PluginBase::getRenderer | protected | function | Returns the render API renderer. | 1 | |
PluginBase::globalTokenForm | public | function | Overrides ViewsPluginInterface::globalTokenForm | ||
PluginBase::globalTokenReplace | public | function | Overrides ViewsPluginInterface::globalTokenReplace | ||
PluginBase::INCLUDE_ENTITY | constant | Include entity row languages when listing languages. | |||
PluginBase::INCLUDE_NEGOTIATED | constant | Include negotiated languages when listing languages. | |||
PluginBase::init | public | function | Overrides ViewsPluginInterface::init | 6 | |
PluginBase::listLanguages | protected | function | Makes an array of languages, optionally including special languages. | ||
PluginBase::pluginTitle | public | function | Overrides ViewsPluginInterface::pluginTitle | ||
PluginBase::preRenderAddFieldsetMarkup | public static | function | Overrides ViewsPluginInterface::preRenderAddFieldsetMarkup | ||
PluginBase::preRenderFlattenData | public static | function | Overrides ViewsPluginInterface::preRenderFlattenData | ||
PluginBase::query | public | function | Overrides ViewsPluginInterface::query | 8 | |
PluginBase::queryLanguageSubstitutions | public static | function | Returns substitutions for Views queries for languages. | ||
PluginBase::setOptionDefaults | protected | function | Fills up the options of the plugin with defaults. | ||
PluginBase::summaryTitle | public | function | Overrides ViewsPluginInterface::summaryTitle | 6 | |
PluginBase::themeFunctions | public | function | Overrides ViewsPluginInterface::themeFunctions | 1 | |
PluginBase::trustedCallbacks | public static | function | Overrides TrustedCallbackInterface::trustedCallbacks | 6 | |
PluginBase::unpackOptions | public | function | Overrides ViewsPluginInterface::unpackOptions | ||
PluginBase::usesOptions | public | function | Overrides ViewsPluginInterface::usesOptions | 8 | |
PluginBase::validate | public | function | Overrides ViewsPluginInterface::validate | 6 | |
PluginBase::viewsTokenReplace | protected | function | Replaces Views' tokens in a given string. | 1 | |
PluginBase::VIEWS_QUERY_LANGUAGE_SITE_DEFAULT | constant | Query string to indicate the site default language. | |||
PluginInspectionInterface::getPluginDefinition | public | function | Gets the definition of the plugin implementation. | 6 | |
PluginInspectionInterface::getPluginId | public | function | Gets the plugin ID of the plugin instance. | 2 | |
TrustedCallbackInterface::THROW_EXCEPTION | constant | Untrusted callbacks throw exceptions. | |||
TrustedCallbackInterface::TRIGGER_SILENCED_DEPRECATION | constant | Untrusted callbacks trigger silenced E_USER_DEPRECATION errors. | |||
User::$userStorage | protected | property | The user storage. | ||
User::buildOptionsForm | public | function | Overrides Entity::buildOptionsForm | 1 | |
User::calculateDependencies | public | function | Overrides Entity::calculateDependencies | ||
User::defineOptions | protected | function | Overrides Entity::defineOptions | ||
User::submitOptionsForm | public | function | Overrides Entity::submitOptionsForm | ||
User::validateEntity | protected | function | Overrides Entity::validateEntity | ||
User::__construct | public | function | Overrides Entity::__construct |
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.