Index: nodequeue.module
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/nodequeue/nodequeue.module,v
retrieving revision 1.53
diff -u -p -r1.53 nodequeue.module
--- nodequeue.module	13 Aug 2008 17:55:45 -0000	1.53
+++ nodequeue.module	16 Aug 2008 15:21:23 -0000
@@ -85,10 +85,11 @@ function nodequeue_menu() {
   }
 
   // Note: This path used to set up with a call to nodequeue_load_queues_by_type, passing the result in.  Now, that function is called inside of nodequeue_node_tab.
+
   $items['node/%node/nodequeue'] = array(
     'title' => variable_get('nodequeue_tab_name', t('Nodequeue')),
-    'access callback' => 'user_access',
-    'access arguments' => $access,
+    'access callback' => 'nodequeue_node_tab_access',
+    'access arguments' => array(1),
     'page callback' => 'nodequeue_node_tab',
     'page arguments' => array(1),
     'type' => MENU_LOCAL_TASK,
@@ -245,7 +246,6 @@ function nodequeue_link($type, $node = N
     }
 
     nodequeue_set_subqueue_positions($subqueues, $node->nid);
-    //drupal_set_message(dprint_r($subqueues, true));
 
     foreach ($subqueues as $subqueue) {
       $queue = $queues[$subqueue->qid];
@@ -361,7 +361,7 @@ function nodequeue_node_tab($node) {
   // moved from hook_menu due to architecture change.  This function seems to only be called from menu anyway...
   $queues = nodequeue_load_queues_by_type($node->type, 'tab');
   if (!$queues) {
-    return false;
+    return FALSE;
   }
   $header = array();
   $header[] = array('data' => t('Title'), 'class' => 'nodequeue-title');
@@ -1483,6 +1483,10 @@ function nodequeue_node_and_queue_access
   return nodequeue_node_access($node->type) && nodequeue_queue_access($queue);
 }
 
+function nodequeue_node_tab_access($access, $node) {
+  $queues = nodequeue_load_queues_by_type($node->type, 'tab');
+  return (variable_get('nodequeue_use_tab', 1) && user_access('manipulate queues') && nodequeue_get_subqueues_by_node($queues, $node));
+}
 /**
  * Return TRUE if $user can queue(s) for this node.
  *
