diff --git a/modules/book/book.module b/modules/book/book.module index 9d3284bc8fea82936ece043be6d6e37350070e7f..1351fb6250073da1f2fec60195a5fbc6d9714c14 100644 --- a/modules/book/book.module +++ b/modules/book/book.module @@ -370,12 +370,12 @@ function book_get_books() { if ($nids) { $query = db_select('book', 'b', array('fetch' => PDO::FETCH_ASSOC)); - $node_alias = $query->join('node', 'n', 'b.nid = n.nid'); - $menu_links_alias = $query->join('menu_links', 'ml', 'b.mlid = ml.mlid'); + $query->join('node', 'n', 'b.nid = n.nid'); + $query->join('menu_links', 'ml', 'b.mlid = ml.mlid'); $query->addField('n', 'type', 'type'); $query->addField('n', 'title', 'title'); $query->fields('b'); - $query->fields($menu_links_alias); + $query->fields('ml'); $query->condition('n.nid', $nids, 'IN'); $query->condition('n.status', 1); $query->orderBy('ml.weight'); @@ -1268,10 +1268,10 @@ function book_menu_subtree_data($link) { // If the subtree data was not in the cache, $data will be NULL. if (!isset($data)) { $query = db_select('menu_links', 'ml', array('fetch' => PDO::FETCH_ASSOC)); - $menu_router_alias = $query->join('menu_router', 'm', 'm.path = ml.router_path'); - $book_alias = $query->join('book', 'b', 'ml.mlid = b.mlid'); - $query->fields($book_alias); - $query->fields($menu_router_alias, array('load_functions', 'to_arg_functions', 'access_callback', 'access_arguments', 'page_callback', 'page_arguments', 'delivery_callback', 'title', 'title_callback', 'title_arguments', 'type')); + $query->join('menu_router', 'm', 'm.path = ml.router_path'); + $query->join('book', 'b', 'ml.mlid = b.mlid'); + $query->fields('b'); + $query->fields('m', array('load_functions', 'to_arg_functions', 'access_callback', 'access_arguments', 'page_callback', 'page_arguments', 'delivery_callback', 'title', 'title_callback', 'title_arguments', 'type')); $query->fields('ml'); $query->condition('menu_name', $link['menu_name']); for ($i = 1; $i <= MENU_MAX_DEPTH && $link["p$i"]; ++$i) { diff --git a/modules/node/node.admin.inc b/modules/node/node.admin.inc index 15c0593adee4d497e5c711a2242a7688e7470f38..d20f1983d3f494a8391e523f424995ce4e6a9b9a 100644 --- a/modules/node/node.admin.inc +++ b/modules/node/node.admin.inc @@ -119,14 +119,12 @@ function node_filters() { function node_build_filter_query(SelectQueryInterface $query) { // Build query $filter_data = isset($_SESSION['node_overview_filter']) ? $_SESSION['node_overview_filter'] : array(); - $counter = 0; foreach ($filter_data as $index => $filter) { list($key, $value) = $filter; switch ($key) { case 'term': - $index = 'ti' . $counter++; - $query->join('taxonomy_index', $index, "n.nid = $index.nid"); - $query->condition($index . '.tid', $value); + $alias = $query->join('taxonomy_index', 'ti', "n.nid = %alias.nid"); + $query->condition($alias . '.tid', $value); break; case 'status': // Note: no exploitable hole as $key/$value have already been checked when submitted diff --git a/modules/node/node.module b/modules/node/node.module index fc75cd7951d57bdfd03d9c62ca747c94deb6aa86..594df724133c0f06368c941ad44bb7369107613f 100644 --- a/modules/node/node.module +++ b/modules/node/node.module @@ -3031,15 +3031,15 @@ function node_query_node_access_alter(QueryAlterableInterface $query) { if (!($table instanceof SelectQueryInterface) && $table == 'node') { // The node_access table has the access grants for any given node. - $access_alias = $query->join('node_access', 'na', "na.nid = {$nalias}.nid"); + $access_alias = $query->join('node_access', 'na', '%alias.nid = ' . $nalias . '.nid'); $or = db_or(); // If any grant exists for the specified user, then user has access // to the node for the specified operation. foreach ($grants as $realm => $gids) { foreach ($gids as $gid) { $or->condition(db_and() - ->condition("{$access_alias}.gid", $gid) - ->condition("{$access_alias}.realm", $realm) + ->condition($access_alias . '.gid', $gid) + ->condition($access_alias . '.realm', $realm) ); } } @@ -3048,7 +3048,7 @@ function node_query_node_access_alter(QueryAlterableInterface $query) { $query->condition($or); } - $query->condition("{$access_alias}.grant_$op", 1, '>='); + $query->condition($access_alias . '.grant_' . $op, 1, '>='); } } } diff --git a/modules/simpletest/tests/database_test.module b/modules/simpletest/tests/database_test.module index ea94601e3c47cccefe6d9d5300ea365cd86a4882..18fc056aa39d8709e2ef7078b01766dfa3281536 100644 --- a/modules/simpletest/tests/database_test.module +++ b/modules/simpletest/tests/database_test.module @@ -11,8 +11,8 @@ function database_test_query_alter(QueryAlterableInterface $query) { } if ($query->hasTag('database_test_alter_add_join')) { - $people_alias = $query->join('test', 'people', "test_task.pid=people.id"); - $name_field = $query->addField('people', 'name', 'name'); + $people_alias = $query->join('test', 'people', "test_task.pid = %alias.id"); + $name_field = $query->addField($people_alias, 'name', 'name'); $query->condition($people_alias . '.id', 2); } diff --git a/modules/system/system.api.php b/modules/system/system.api.php index 6101c3fe145db2531ccaf37114a8613a94887cbe..0a37d895182cf14d155432815d045e784ab83d2f 100644 --- a/modules/system/system.api.php +++ b/modules/system/system.api.php @@ -2656,14 +2656,14 @@ function hook_query_TAG_alter(QueryAlterableInterface $query) { // Skip the extra joins and conditions for node admins. if (!user_access('bypass node access')) { // The node_access table has the access grants for any given node. - $access_alias = $query->join('node_access', 'na', 'na.nid = n.nid'); + $access_alias = $query->join('node_access', 'na', '%alias.nid = n.nid'); $or = db_or(); // If any grant exists for the specified user, then user has access to the node for the specified operation. foreach (node_access_grants($op, $query->getMetaData('account')) as $realm => $gids) { foreach ($gids as $gid) { $or->condition(db_and() - ->condition("{$access_alias}.gid", $gid) - ->condition("{$access_alias}.realm", $realm) + ->condition($access_alias . '.gid', $gid) + ->condition($access_alias . '.realm', $realm) ); } } @@ -2672,7 +2672,7 @@ function hook_query_TAG_alter(QueryAlterableInterface $query) { $query->condition($or); } - $query->condition("{$access_alias}.grant_$op", 1, '>='); + $query->condition($access_alias . 'grant_' . $op, 1, '>='); } } } diff --git a/modules/user/user.module b/modules/user/user.module index 8f226d6131b47861ae0afc3c167d4fd0f4007c95..132ec622cc3c2cca760d051f14652df0b3d881ff 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);