--- site_user_list.module	2007-06-22 16:57:42.000000000 +0000
+++ site_user_list_pagination.module	2008-04-17 12:58:48.000000000 +0000
@@ -302,6 +302,18 @@ function site_user_list_admin_settings_f
     '#default_value' => variable_get('site_user_list_display_sql_query', 0),
   );
   
+  $form['display_elements_fs']['pager_form'] = array(
+    '#type' => 'fieldset',
+    '#title' => t('Pager'),
+    '#weight' => variable_get('site_user_list_p_limit', 0),
+  );
+  $form['display_elements_fs']['pager_form']['site_user_list_p_limit'] = array(
+    '#type' => 'select',
+    '#title' => t('Pagination Limit'),
+    '#default_value' => variable_get('site_user_list_p_limit', 0),
+    '#options' => array("0" => 0, "2" => 2, "30" => 30, "50" => 50, "100" => 100)
+  );
+  
   $form[] = array(
     '#type' => 'submit',
     '#value' => 'Save configuration',
@@ -366,6 +378,7 @@ function site_user_list_admin_settings_f
   variable_set('site_user_list_include_blocked_users', $data['site_user_list_include_blocked_users']);
   variable_set('site_user_list_display_sql_query', $data['site_user_list_display_sql_query']);
 
+  variable_set('site_user_list_p_limit', $data['site_user_list_p_limit']);
   // because we've potentially changed the query type, we need to
   // drop all the extant tables and rebuild
   _site_user_list_drop_all();
@@ -907,7 +920,14 @@ function site_user_list_form() {
        ;
   $sql .= tablesort_sql($display_header);
 
-  $res = db_query($sql);
+  if(variable_get('site_user_list_p_limit', 0)){
+    include_once ('includes/pager.inc');
+    $res = pager_query($sql, variable_get('site_user_list_p_limit', 0));
+  }else {
+    $res = db_query($sql);
+  }
+  
+  
 
   $rows = array();
   
@@ -1073,6 +1093,13 @@ function site_user_list_form() {
     }
   }
 
+  if(variable_get('site_user_list_p_limit', 0)){
+    $form['pagination'] = array(
+    '#type' => 'markup',
+    '#value' => theme('pager')
+    );
+  }
+  
   return $form;
 }
 
