Index: path_access/path_access.module
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/path_access/path_access.module,v
retrieving revision 1.10.2.2
diff -u -p -r1.10.2.2 path_access.module
--- path_access/path_access.module	28 Mar 2007 13:13:00 -0000	1.10.2.2
+++ path_access/path_access.module	1 May 2007 22:55:46 -0000
@@ -24,7 +24,6 @@ function _path_access_stringquote(&$item
 
 function path_access_init() {
   global $user;
-
   drupal_bootstrap(DRUPAL_BOOTSTRAP_PATH);
 
   // User #1 has all privileges:
@@ -32,21 +31,24 @@ function path_access_init() {
     return 1;
   }
 
-  $role = module_exists('role_weights') ? module_invoke('role_weights', 'get_highest', $user->roles) : array('name' => $user->roles[1]);
-  $result = db_query("SELECT pages, visibility FROM {path_access} pa INNER JOIN {role} r ON r.rid = pa.rid WHERE r.name = '%s'", $role['name']);
-
+  $rid = module_exists('role_weights') ? module_invoke('role_weights', 'get_highest', $user->roles) : array('name' => $user->roles[1]);  
+  $role = $user->roles[$rid];
+  $result = db_query("SELECT pages, visibility FROM {path_access} WHERE rid = '%s'", $rid);
+  
   $visibility = 1;
   $pages = '';
   while($role = db_fetch_object($result)) {
     $pages .= $role->pages . "\n";
     $visibility = $role->visibility AND $visibility;
   }
+  $pages = trim($pages);
+  
   $visibility = $visibility > 0 ? true : false;
   
   // Match path if necessary
   if ($pages) {
     // The current page
-    $path = drupal_get_path_alias($_GET['q']);
+    $path = drupal_get_path_alias($_GET['q']);        
 
     $regexp = '/^('. preg_replace(array('/(\r\n?|\n)/', '/\\\\\*/', '/(^|\|)\\\\<front\\\\>($|\|)/'), array('|', '.*', '\1'. variable_get('site_frontpage', 'node') .'\2'), preg_quote($pages, '/')) .')$/';
     $page_match = ($visibility xor preg_match($regexp, $path));
@@ -192,4 +194,5 @@ function path_access_protected_pages($pa
   $pages = array('logout');
 
   return in_array($page, $pages);
-}
\ No newline at end of file
+}
+
