Index: smartqueue_users.module =================================================================== RCS file: /cvs/drupal-contrib/contributions/modules/smartqueue_users/smartqueue_users.module,v retrieving revision 1.14.2.11 diff -u -p -r1.14.2.11 smartqueue_users.module --- smartqueue_users.module 12 Aug 2008 20:58:11 -0000 1.14.2.11 +++ smartqueue_users.module 13 Aug 2008 17:37:36 -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('display_user_page'. $form_values['qid'] .'_restrict_author', $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);