All pastes #503562 Raw Edit

dww

public php v1 · immutable
·published 2007-05-22 22:35 UTC
rendered paste body
Index: modules/devel/devel.module===================================================================RCS file: /cvs/drupal-contrib/contributions/modules/devel/devel.module,vretrieving revision 1.165diff -u -p -r1.165 devel.module--- modules/devel/devel.module	22 May 2007 02:05:01 -0000	1.165+++ modules/devel/devel.module	22 May 2007 22:29:56 -0000@@ -269,12 +269,20 @@ function devel_block($op = 'list', $delt           $dest = drupal_get_destination();           // Try to find at least 10 users that can switch.           $roles = user_roles(1, 'switch users');-          $where = array('u.uid = 1');-          if (count($roles)) {-            $where[] = 'r.rid IN ('. implode(',', array_keys($roles)) .')';+          if (isset($roles[2])) {+            // If authenticated users have this permission, just grab+	    // the last 10 users, since there won't be records in+	    // {user_roles} and every user on the system can switch.+	    $users = db_query_range("SELECT DISTINCT u.uid, u.name FROM {users} u ORDER BY u.access DESC", 0, 10);+          }+          else {+            $where = array('u.uid = 1');+            if (count($roles)) {+              $where[] = 'r.rid IN ('. implode(',', array_keys($roles)) .')';+            }+            $where_sql = implode(' OR ', $where);+            $users = db_query_range("SELECT DISTINCT u.uid, u.name FROM {users} u LEFT JOIN {users_roles} r ON u.uid = r.uid WHERE $where_sql ORDER BY u.access DESC", 0, 10);           }-          $where_sql = implode(' OR ', $where);-          $users = db_query_range("SELECT DISTINCT u.uid, u.name FROM {users} u LEFT JOIN {users_roles} r ON u.uid = r.uid WHERE $where_sql ORDER BY u.access DESC", 0, 10);           while ($user = db_fetch_object($users)) {             $links[$user->uid] = l(theme('placeholder', $user->name), 'devel/switch/'. $user->name, array('attributes' => array('title' => t('This user can switch back.')), 'query' => $dest, 'html' => TRUE));           }