Same name and namespace in other branches
- 5.x modules/user/user.module \user_build_filter_query()
- 7.x modules/user/user.module \user_build_filter_query()
Build query for user administration filters based on session.
1 call to user_build_filter_query()
- user_admin_account in modules/
user/ user.admin.inc - Form builder; User administration page.
File
- modules/
user/ user.module, line 2089 - Enables the user registration and login system.
Code
function user_build_filter_query() {
$filters = user_filters();
// Build query
$where = $args = $join = array();
foreach ($_SESSION['user_overview_filter'] as $filter) {
list($key, $value) = $filter;
// This checks to see if this permission filter is an enabled permission for
// the authenticated role. If so, then all users would be listed, and we can
// skip adding it to the filter query.
if ($key == 'permission') {
$account = new stdClass();
$account->uid = 'user_filter';
$account->roles = array(
DRUPAL_AUTHENTICATED_RID => 1,
);
if (user_access($value, $account)) {
continue;
}
}
$where[] = $filters[$key]['where'];
$args[] = $value;
$join[] = $filters[$key]['join'];
}
$where = !empty($where) ? 'AND ' . implode(' AND ', $where) : '';
$join = !empty($join) ? ' ' . implode(' ', array_unique($join)) : '';
return array(
'where' => $where,
'join' => $join,
'args' => $args,
);
}