class UserController
Same name in other branches
- 9 core/modules/user/src/Controller/UserController.php \Drupal\user\Controller\UserController
- 8.9.x core/modules/user/src/Controller/UserController.php \Drupal\user\Controller\UserController
- 10 core/modules/user/src/Controller/UserController.php \Drupal\user\Controller\UserController
- 11.x core/modules/user/src/Controller/UserController.php \Drupal\user\Controller\UserController
Controller class for users.
This extends the DrupalDefaultEntityController class, adding required special handling for user objects.
Hierarchy
- class \DrupalDefaultEntityController implements \DrupalEntityControllerInterface
- class \UserController extends \DrupalDefaultEntityController
Expanded class hierarchy of UserController
1 string reference to 'UserController'
- user_entity_info in modules/
user/ user.module - Implements hook_entity_info().
File
-
modules/
user/ user.module, line 300
View source
class UserController extends DrupalDefaultEntityController {
function attachLoad(&$queried_users, $revision_id = FALSE) {
// Build an array of user picture IDs so that these can be fetched later.
$picture_fids = array();
foreach ($queried_users as $key => $record) {
$picture_fids[] = $record->picture;
$queried_users[$key]->data = unserialize((string) $record->data);
$queried_users[$key]->roles = array();
if ($record->uid) {
$queried_users[$record->uid]->roles[DRUPAL_AUTHENTICATED_RID] = 'authenticated user';
}
else {
$queried_users[$record->uid]->roles[DRUPAL_ANONYMOUS_RID] = 'anonymous user';
}
}
// Add any additional roles from the database.
$result = db_query('SELECT r.rid, r.name, ur.uid FROM {role} r INNER JOIN {users_roles} ur ON ur.rid = r.rid WHERE ur.uid IN (:uids)', array(
':uids' => array_keys($queried_users),
));
foreach ($result as $record) {
$queried_users[$record->uid]->roles[$record->rid] = $record->name;
}
// Add the full file objects for user pictures if enabled.
if (!empty($picture_fids) && variable_get('user_pictures', 0)) {
$pictures = file_load_multiple(array_filter($picture_fids));
foreach ($queried_users as $account) {
if (!empty($account->picture) && isset($pictures[$account->picture])) {
$account->picture = $pictures[$account->picture];
}
else {
$account->picture = NULL;
}
}
}
// Call the default attachLoad() method. This will add fields and call
// hook_user_load().
parent::attachLoad($queried_users, $revision_id);
}
}
Members
Title Sort descending | Modifiers | Object type | Summary | Overriden Title | Overrides |
---|---|---|---|---|---|
DrupalDefaultEntityController::$cache | protected | property | Whether this entity type should use the static cache. | ||
DrupalDefaultEntityController::$entityCache | protected | property | Static cache of entities, keyed by entity ID. | ||
DrupalDefaultEntityController::$entityInfo | protected | property | Array of information about the entity. | ||
DrupalDefaultEntityController::$entityType | protected | property | Entity type for this controller instance. | ||
DrupalDefaultEntityController::$hookLoadArguments | protected | property | Additional arguments to pass to hook_TYPE_load(). | ||
DrupalDefaultEntityController::$idKey | protected | property | Name of the entity's ID field in the entity database table. | ||
DrupalDefaultEntityController::$revisionKey | protected | property | Name of entity's revision database table field, if it supports revisions. | ||
DrupalDefaultEntityController::$revisionTable | protected | property | The table that stores revisions, if the entity supports revisions. | ||
DrupalDefaultEntityController::buildQuery | protected | function | Builds the query to load the entity. | 4 | |
DrupalDefaultEntityController::cacheGet | protected | function | Gets entities from the static cache. | 1 | |
DrupalDefaultEntityController::cacheSet | protected | function | Stores entities in the static entity cache. | ||
DrupalDefaultEntityController::cleanIds | protected | function | Ensures integer entity IDs are valid. | ||
DrupalDefaultEntityController::filterId | protected | function | Callback for array_filter that removes non-integer IDs. | ||
DrupalDefaultEntityController::load | public | function | Implements DrupalEntityControllerInterface::load(). | Overrides DrupalEntityControllerInterface::load | |
DrupalDefaultEntityController::resetCache | public | function | Implements DrupalEntityControllerInterface::resetCache(). | Overrides DrupalEntityControllerInterface::resetCache | |
DrupalDefaultEntityController::__construct | public | function | Constructor: sets basic variables. | ||
UserController::attachLoad | function | Attaches data to entities upon loading. | Overrides DrupalDefaultEntityController::attachLoad |
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.