Index: smartqueue_users.module
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/smartqueue_users/smartqueue_users.module,v
retrieving revision 1.14.2.13
diff -u -p -r1.14.2.13 smartqueue_users.module
--- smartqueue_users.module	14 Aug 2008 20:29:19 -0000	1.14.2.13
+++ smartqueue_users.module	15 Aug 2008 04:00:51 -0000
@@ -46,6 +46,12 @@ function smartqueue_users_nodequeue_form
     '#weight' => 1,
     '#disabled' => !(module_exists('views')),
   );
+  $form['admin_hide_links'] = array(
+    '#type'=> 'checkbox',
+    '#title' => t("Hide other users' add/remove links from administrators (Recommended)"),
+    '#description' => t("When checked, users with the 'manipulate all user node queues' permission will not see add/remove links for other users' node queues. Useful for preventing Administrators from seeing an overwhelming number of links. This can also be a performance improvement for sites with large numbers of user node queues."),
+    '#default_value' => variable_get('smartqueue_users_'. smartqueue_users_get_qid() . '_admin_hide_links', 1),
+  );
   
   $form['submit_actions'] = array(
     '#type' => 'fieldset',
@@ -113,6 +119,7 @@ function _smartqueue_users_get_eligible_
 function smartqueue_users_nodequeue_form_submit(&$queue, $form_values) {
   variable_set('smartqueue_users_sq_'. $form_values['qid'] .'_restrict_author', $form_values['restrict_by_author']);
   variable_set('smartqueue_users_'. $form_values['qid'] .'_display_user_page', $form_values['display_user_page']);
+  variable_set('smartqueue_users_'. $form_values['qid'] . '_admin_hide_links', $form_values['admin_hide_links']);
 
   if ($form_values['submit_actions']['create'] == 1) {
     $accounts = _smartqueue_users_get_eligible_accounts($form_values['roles']);
@@ -165,7 +172,7 @@ function smartqueue_users_nodequeue_subq
   global $user;
   $restrict_by_author = variable_get('smartqueue_users_sq_'. $queue->qid .'_restrict_author', 0);
   $access_own = user_access('manipulate own user node queue');
-  
+  $admin_hide_links = variable_get('smartqueue_users_'. smartqueue_users_get_qid() . '_admin_hide_links', 1);
   /*
   if (user_access("manipulate all queues" || user_access('manipulate all user node queues'))) {
     $access_all = TRUE;
@@ -182,10 +189,10 @@ function smartqueue_users_nodequeue_subq
   }
 
   else {
-    if ($access_own && !$access_all) {
+    if ($access_own && (!$access_all || $admin_hide_links)) {
       return db_result(db_query("SELECT reference FROM {nodequeue_subqueue} WHERE qid = %d AND reference = %d", $queue->qid, $user->uid));
     }
-    if ($access_all) {
+    if ($access_all && !$admin_hide_links) {
       //the uid of everyone with a subqueue.
       //TODO: Cache this variable.
       $query = db_query("SELECT reference FROM {nodequeue_subqueue} WHERE qid = %d", $queue->qid);
