Index: wp-admin/users.php
===================================================================
--- wp-admin/users.php	(revision 6603)
+++ wp-admin/users.php	(working copy)
@@ -20,102 +20,6 @@
 	$redirect = 'users.php';
 }
 
-
-// WP_User_Search class
-// by Mark Jaquith
-
-
-class WP_User_Search {
-	var $results;
-	var $search_term;
-	var $page;
-	var $raw_page;
-	var $users_per_page = 50;
-	var $first_user;
-	var $last_user;
-	var $query_limit;
-	var $query_from_where;
-	var $total_users_for_query = 0;
-	var $too_many_total_users = false;
-	var $search_errors;
-
-	function WP_User_Search ($search_term = '', $page = '') { // constructor
-		$this->search_term = $search_term;
-		$this->raw_page = ( '' == $page ) ? false : (int) $page;
-		$this->page = (int) ( '' == $page ) ? 1 : $page;
-
-		$this->prepare_query();
-		$this->query();
-		$this->prepare_vars_for_template_usage();
-		$this->do_paging();
-	}
-
-	function prepare_query() {
-		global $wpdb;
-		$this->first_user = ($this->page - 1) * $this->users_per_page;
-		$this->query_limit = 'LIMIT ' . $this->first_user . ',' . $this->users_per_page;
-		if ( $this->search_term ) {
-			$searches = array();
-			$search_sql = 'AND (';
-			foreach ( array('user_login', 'user_nicename', 'user_email', 'user_url', 'display_name') as $col )
-				$searches[] = $col . " LIKE '%$this->search_term%'";
-			$search_sql .= implode(' OR ', $searches);
-			$search_sql .= ')';
-		}
-		$this->query_from_where = "FROM $wpdb->users WHERE 1=1 $search_sql";
-
-	}
-
-	function query() {
-		global $wpdb;
-		$this->results = $wpdb->get_col('SELECT ID ' . $this->query_from_where . $this->query_limit);
-
-		if ( $this->results )
-			$this->total_users_for_query = $wpdb->get_var('SELECT COUNT(ID) ' . $this->query_from_where); // no limit
-		else
-			$this->search_errors = new WP_Error('no_matching_users_found', __('No matching users were found!'));
-	}
-
-	function prepare_vars_for_template_usage() {
-		$this->search_term = stripslashes($this->search_term); // done with DB, from now on we want slashes gone
-	}
-
-	function do_paging() {
-		if ( $this->total_users_for_query > $this->users_per_page ) { // have to page the results
-			$this->paging_text = paginate_links( array(
-				'total' => ceil($this->total_users_for_query / $this->users_per_page),
-				'current' => $this->page,
-				'prev_text' => __('&laquo; Previous Page'),
-				'next_text' => __('Next Page &raquo;'),
-				'base' => 'users.php?%_%',
-				'format' => 'userspage=%#%',
-				'add_args' => array( 'usersearch' => urlencode($this->search_term) )
-			) );
-		}
-	}
-
-	function get_results() {
-		return (array) $this->results;
-	}
-
-	function page_links() {
-		echo $this->paging_text;
-	}
-
-	function results_are_paged() {
-		if ( $this->paging_text )
-			return true;
-		return false;
-	}
-
-	function is_search() {
-		if ( $this->search_term )
-			return true;
-		return false;
-	}
-}
-
-
 switch ($action) {
 
 case 'promote':
Index: wp-admin/includes/user.php
===================================================================
--- wp-admin/includes/user.php	(revision 6603)
+++ wp-admin/includes/user.php	(working copy)
@@ -281,4 +281,99 @@
 	$user->remove_all_caps();
 }
 
+// WP_User_Search class
+// by Mark Jaquith
+
+if (!class_exists('WP_User_Search')) {
+	class WP_User_Search {
+		var $results;
+		var $search_term;
+		var $page;
+		var $raw_page;
+		var $users_per_page = 50;
+		var $first_user;
+		var $last_user;
+		var $query_limit;
+		var $query_from_where;
+		var $total_users_for_query = 0;
+		var $too_many_total_users = false;
+		var $search_errors;
+
+		function WP_User_Search ($search_term = '', $page = '') { // constructor
+			$this->search_term = $search_term;
+			$this->raw_page = ( '' == $page ) ? false : (int) $page;
+			$this->page = (int) ( '' == $page ) ? 1 : $page;
+
+			$this->prepare_query();
+			$this->query();
+			$this->prepare_vars_for_template_usage();
+			$this->do_paging();
+		}
+
+		function prepare_query() {
+			global $wpdb;
+			$this->first_user = ($this->page - 1) * $this->users_per_page;
+			$this->query_limit = 'LIMIT ' . $this->first_user . ',' . $this->users_per_page;
+			if ( $this->search_term ) {
+				$searches = array();
+				$search_sql = 'AND (';
+				foreach ( array('user_login', 'user_nicename', 'user_email', 'user_url', 'display_name') as $col )
+					$searches[] = $col . " LIKE '%$this->search_term%'";
+				$search_sql .= implode(' OR ', $searches);
+				$search_sql .= ')';
+			}
+			$this->query_from_where = "FROM $wpdb->users WHERE 1=1 $search_sql";
+
+		}
+
+		function query() {
+			global $wpdb;
+			$this->results = $wpdb->get_col('SELECT ID ' . $this->query_from_where . $this->query_limit);
+
+			if ( $this->results )
+				$this->total_users_for_query = $wpdb->get_var('SELECT COUNT(ID) ' . $this->query_from_where); // no limit
+			else
+				$this->search_errors = new WP_Error('no_matching_users_found', __('No matching users were found!'));
+		}
+
+		function prepare_vars_for_template_usage() {
+			$this->search_term = stripslashes($this->search_term); // done with DB, from now on we want slashes gone
+		}
+
+		function do_paging() {
+			if ( $this->total_users_for_query > $this->users_per_page ) { // have to page the results
+				$this->paging_text = paginate_links( array(
+					'total' => ceil($this->total_users_for_query / $this->users_per_page),
+					'current' => $this->page,
+					'prev_text' => __('&laquo; Previous Page'),
+					'next_text' => __('Next Page &raquo;'),
+					'base' => 'users.php?%_%',
+					'format' => 'userspage=%#%',
+					'add_args' => array( 'usersearch' => urlencode($this->search_term) )
+				) );
+			}
+		}
+
+		function get_results() {
+			return (array) $this->results;
+		}
+
+		function page_links() {
+			echo $this->paging_text;
+		}
+
+		function results_are_paged() {
+			if ( $this->paging_text )
+				return true;
+			return false;
+		}
+
+		function is_search() {
+			if ( $this->search_term )
+				return true;
+			return false;
+		}
+	}
+}
+
 ?>
\ No newline at end of file

