| 5 user.module | user_search($op = 'search', $keys = NULL) |
| 6 user.module | user_search($op = 'search', $keys = NULL, $skip_access_check = FALSE) |
Implementation of hook_search().
File
- modules/
user/ user.module, line 590 - Enables the user registration and login system.
Code
function user_search($op = 'search', $keys = NULL, $skip_access_check = FALSE) {
switch ($op) {
case 'name':
if ($skip_access_check || user_access('access user profiles')) {
return t('Users');
}
case 'search':
if (user_access('access user profiles')) {
$find = array();
// Replace wildcards with MySQL/PostgreSQL wildcards.
$keys = preg_replace('!\*+!', '%', $keys);
if (user_access('administer users')) {
// Administrators can also search in the otherwise private email field.
$result = pager_query("SELECT name, uid, mail FROM {users} WHERE LOWER(name) LIKE LOWER('%%%s%%') OR LOWER(mail) LIKE LOWER('%%%s%%')", 15, 0, NULL, $keys, $keys);
while ($account = db_fetch_object($result)) {
$find[] = array(
'title' => $account->name . ' (' . $account->mail . ')',
'link' => url('user/' . $account->uid, array('absolute' => TRUE)),
);
}
}
else {
$result = pager_query("SELECT name, uid FROM {users} WHERE LOWER(name) LIKE LOWER('%%%s%%')", 15, 0, NULL, $keys);
while ($account = db_fetch_object($result)) {
$find[] = array(
'title' => $account->name,
'link' => url('user/' . $account->uid, array('absolute' => TRUE)),
);
}
}
return $find;
}
}
}
Login or register to post comments