Same name and namespace in other branches
- 4.7.x modules/user.module \user_load()
- 5.x modules/user/user.module \user_load()
- 6.x modules/user/user.module \user_load()
- 7.x modules/user/user.module \user_load()
- 8.9.x core/modules/user/user.module \user_load()
Fetch a user object.
Parameters
$array: An associative array of attributes to search for in selecting the user, such as user name or email address.
Return value
A fully-loaded $user object.
12 calls to user_load()
- blog_feed_user in modules/
blog.module - Displays an RSS feed containing recent blog entries of a given user.
- blog_page_user in modules/
blog.module - Displays a Drupal page containing recent blog entries of a given user.
- node_access_grants in modules/
node.module - Fetch an array of permission IDs granted to the given user ID.
- node_revision_overview in modules/
node.module - Generate an overview table of older revisions of a node.
- profile_browse in modules/
profile.module - Menu callback; display a list of user information.
File
- modules/
user.module, line 44 - Enables the user registration and login system.
Code
function user_load($array = array()) {
// Dynamically compose a SQL query:
$query = '';
$params = array();
foreach ($array as $key => $value) {
if ($key == 'pass') {
$query .= "u.pass = '%s' AND ";
$params[] = md5($value);
}
else {
if ($key == 'uid') {
$query .= "u.uid = %d AND ";
$params[] = $value;
}
else {
$query .= "LOWER(u.{$key}) = '%s' AND ";
$params[] = strtolower($value);
}
}
}
$result = db_query_range("SELECT u.* FROM {users} u WHERE {$query} u.status < 3", $params, 0, 1);
if (db_num_rows($result)) {
$user = db_fetch_object($result);
$user = drupal_unpack($user);
$user->roles = array();
$result = db_query('SELECT r.rid, r.name FROM {role} r INNER JOIN {users_roles} ur ON ur.rid = r.rid WHERE ur.uid = %d', $user->uid);
while ($role = db_fetch_object($result)) {
$user->roles[$role->rid] = $role->name;
}
user_module_invoke('load', $array, $user);
}
else {
$user = new StdClass();
}
return $user;
}