--- user_list.module.ori 2006-09-10 16:51:10.000000000 +0200 +++ user_list.module.pat 2006-11-28 06:23:20.000000000 +0100 @@ -65,18 +65,23 @@ function _user_list($op = 'all', $number $embedded_menu = _user_list_embedded_menu($args); } + $uids_to_exclude = array(0); + if (module_exist('excluded_users')) { + $uids_to_exclude = excluded_users_get_excluded_uids(); + } + if (strlen($op) == 1 && variable_get('user_list_alpha_listing', true)) { - $result = pager_query("SELECT u.uid, u.name FROM {users} u WHERE u.status != 0 AND u.access != 0 AND LOWER(u.name) LIKE '%s%%' ORDER BY u.name ASC", $number, $element_override, NULL, strtolower($op)); + $result = pager_query("SELECT u.uid, u.name FROM {users} u WHERE u.uid NOT IN (" . implode(",", $uids_to_exclude) . ") AND u.status != 0 AND u.access != 0 AND LOWER(u.name) LIKE '%s%%' ORDER BY u.name ASC", $number, $element_override, NULL, strtolower($op)); if ($include_more_link) { - $count = db_result(db_query("SELECT COUNT(u.uid) FROM {users} u WHERE u.status != 0 AND u.access != 0 AND LOWER(u.name) LIKE '%s%%'")); + $count = db_result(db_query("SELECT COUNT(u.uid) FROM {users} u WHERE u.uid NOT IN (" . implode(",", $uids_to_exclude) . ") AND u.status != 0 AND u.access != 0 AND LOWER(u.name) LIKE '%s%%'")); } $header = t('Users Beginning with %letter', array('%letter' => strtoupper($op))); $empty_msg = t('There are currently no users with usernames beginning with %letter.', array('%letter' => $op)); } else if ($op == 'content' && _node_names('base', $content_type) && (in_array($content_type, variable_get('user_list_content_types', array('blog'))))) { $header = t('Users who have a %content', array('%content' => _node_names('name', $content_type))); - $count_query = "SELECT COUNT(DISTINCT(u.uid)) FROM {users} u INNER JOIN {node} n ON n.uid = u.uid AND n.type = '%s' WHERE u.status != 0 AND u.access != 0"; - $result = pager_query("SELECT DISTINCT(u.uid), u.name FROM {users} u INNER JOIN {node} n ON n.uid = u.uid AND n.type = '%s' WHERE u.status != 0 AND u.access != 0 ORDER BY u.name ASC", $number, $element_override, $count_query, $content_type); + $count_query = "SELECT COUNT(DISTINCT(u.uid)) FROM {users} u INNER JOIN {node} n ON n.uid = u.uid AND n.type = '%s' WHERE u.uid NOT IN (" . implode(",", $uids_to_exclude) . ") AND u.status != 0 AND u.access != 0"; + $result = pager_query("SELECT DISTINCT(u.uid), u.name FROM {users} u INNER JOIN {node} n ON n.uid = u.uid AND n.type = '%s' WHERE u.uid NOT IN (" . implode(",", $uids_to_exclude) . ") AND u.status != 0 AND u.access != 0 ORDER BY u.name ASC", $number, $element_override, $count_query, $content_type); if ($include_more_link) { $count = db_result(db_query($count_query, $content_type)); } @@ -84,25 +89,25 @@ function _user_list($op = 'all', $number } else if ($op == 'newest' && variable_get('user_list_newest', true)) { $header = t('Newest Users'); - $result = pager_query('SELECT uid, name FROM {users} WHERE status != 0 AND access != 0 ORDER BY created DESC', $number, $element_override); + $result = pager_query("SELECT uid, name FROM {users} WHERE (uid NOT IN (" . implode(",", $uids_to_exclude) . ")) AND status != 0 AND access != 0 ORDER BY created DESC", $number, $element_override); if ($include_more_link) { - $count = db_result(db_query("SELECT COUNT(u.uid) FROM {users} u WHERE u.status != 0 AND u.access != 0")); + $count = db_result(db_query("SELECT COUNT(u.uid) FROM {users} u WHERE u.uid NOT IN (" . implode(",", $uids_to_exclude) . ") AND u.status != 0 AND u.access != 0")); } $empty_msg = t('There are currently no users.'); } else if ($op == 'other' && variable_get('user_list_alpha_listing', true)) { $header = t('Users Not in A-Z'); - $result = pager_query("SELECT u.uid, u.name FROM {users} u WHERE (LOWER(u.name) < 'a' OR LOWER(u.name) > 'z') AND u.status != 0 AND u.access != 0 ORDER BY u.name ASC", $number, $element_override); + $result = pager_query("SELECT u.uid, u.name FROM {users} u WHERE u.uid NOT IN (" . implode(",", $uids_to_exclude) . ") AND (LOWER(u.name) < 'a' OR LOWER(u.name) > 'z') AND u.status != 0 AND u.access != 0 ORDER BY u.name ASC", $number, $element_override); if ($include_more_link) { - $count = db_result(db_query("SELECT COUNT(u.uid) FROM {users} u WHERE (LOWER(u.name) < 'a' OR LOWER(u.name) > 'z') AND u.status != 0 AND u.access != 0")); + $count = db_result(db_query("SELECT COUNT(u.uid) FROM {users} u WHERE u.uid NOT IN (" . implode(",", $uids_to_exclude) . ") AND (LOWER(u.name) < 'a' OR LOWER(u.name) > 'z') AND u.status != 0 AND u.access != 0")); } $empty_msg = t('There are currently no users with usernames not beginning with A-Z.'); } else { $header = t('All Users'); - $result = pager_query('SELECT u.uid, u.name FROM {users} u WHERE status != 0 AND access != 0 ORDER BY u.name ASC', $number, $element_override); + $result = pager_query("SELECT u.uid, u.name FROM {users} u WHERE u.uid NOT IN (" . implode(",", $uids_to_exclude) . ") AND status != 0 AND access != 0 ORDER BY u.name ASC", $number, $element_override); if ($include_more_link) { - $count = db_result(db_query("SELECT COUNT(u.uid) FROM {users} u WHERE u.status != 0 AND u.access != 0")); + $count = db_result(db_query("SELECT COUNT(u.uid) FROM {users} u WHERE u.uid NOT IN (" . implode(",", $uids_to_exclude) . ") AND u.status != 0 AND u.access != 0")); } $empty_msg = t('There are currenly no users.'); }