Error message
You are browsing documentation for drupal 7.x, which is not supported anymore. Read the updated version of this page for drupal 11.x (the latest version).class UserController
Same name and namespace in other branches
- 11.x core/modules/user/src/Controller/UserController.php \Drupal\user\Controller\UserController
- 10 core/modules/user/src/Controller/UserController.php \Drupal\user\Controller\UserController
- 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
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.