summaryrefslogtreecommitdiff
path: root/modules/user
diff options
context:
space:
mode:
authorDries Buytaert <dries@buytaert.net>2010-06-25 19:33:47 +0000
committerDries Buytaert <dries@buytaert.net>2010-06-25 19:33:47 +0000
commit7b77b90c03f1d2a7c8aa4531c8c3e916348770ce (patch)
tree21e5850a4fc960b7ad0f3b1f1d0cd7cc45173101 /modules/user
parentb54ff2c810b7bf9bc5240e8def48d9f4abd58466 (diff)
downloadbrdo-7b77b90c03f1d2a7c8aa4531c8c3e916348770ce.tar.gz
brdo-7b77b90c03f1d2a7c8aa4531c8c3e916348770ce.tar.bz2
- Patch #795174 by Berdir: use %alias in SelectQuery joins and remove workarounds.
Diffstat (limited to 'modules/user')
-rw-r--r--modules/user/user.module14
1 files changed, 3 insertions, 11 deletions
diff --git a/modules/user/user.module b/modules/user/user.module
index 8f226d613..132ec622c 100644
--- a/modules/user/user.module
+++ b/modules/user/user.module
@@ -3144,8 +3144,6 @@ function user_filters() {
*/
function user_build_filter_query(SelectQuery $query) {
$filters = user_filters();
- $role_count = 0;
- $permission_count = 0;
// Extend Query with filter conditions.
foreach (isset($_SESSION['user_overview_filter']) ? $_SESSION['user_overview_filter'] : array() as $filter) {
list($key, $value) = $filter;
@@ -3159,19 +3157,13 @@ function user_build_filter_query(SelectQuery $query) {
if (user_access($value, $account)) {
continue;
}
- $user_role_alias = 'ur' . $role_count;
- $permission_alias = 'p' . $permission_count;
- $query->innerJoin('users_roles', $user_role_alias, $user_role_alias . '.uid = u.uid');
- $query->innerJoin('role_permission', $permission_alias , $user_role_alias . '.rid = ' . $permission_alias . '.rid');
+ $user_role_alias = $query->join('users_roles', 'ur', '%alias.uid = u.uid');
+ $permission_alias = $query->join('role_permission', 'p', $user_role_alias . '.rid = %alias.rid');
$query->condition($permission_alias . '.permission', $value);
- $role_count++;
- $permission_count++;
}
else if ($key == 'role') {
- $user_role_alias = 'ur' . $role_count;
- $query->innerJoin('users_roles', $user_role_alias, $user_role_alias . '.uid = u.uid');
+ $user_roles_alias = $query->join('users_roles', 'ur', '%alias.uid = u.uid');
$query->condition($user_role_alias . '.rid' , $value);
- $role_count++;
}
else {
$query->condition($filters[$key]['field'], $value);