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
  1. 11.x core/modules/user/src/Controller/UserController.php \Drupal\user\Controller\UserController
  2. 10 core/modules/user/src/Controller/UserController.php \Drupal\user\Controller\UserController
  3. 9 core/modules/user/src/Controller/UserController.php \Drupal\user\Controller\UserController
  4. 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

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.