--- revision_deletion_old.module	2007-06-27 16:26:11.424054136 -0500
+++ revision_deletion.module	2007-06-27 16:25:14.827658096 -0500
@@ -37,18 +37,28 @@ function revision_deletion_menu($may_cac
   if ($may_cache) {
     $items[] = array(
       'path'     => 'admin/revision_deletion',
-      'callback' => 'revision_deletion',
+      'callback' => 'revision_deletion_page',
       'title'    => t('Revisions to Mass Delete'),
       'access'   => user_access(REV_DEL_PERM),
       'type'     => MENU_NORMAL_ITEM
     );
+
+    $items[] = array(
+      'path'     => 'admin/settings/revisions',
+      'title'    => t('Revision deletion'),
+      'callback arguments' => array('revision_deletion_settings'),
+      'callback' => 'drupal_get_form',
+      'access' => user_access('administer site configuration'),
+      'type' => MENU_NORMAL_ITEM,
+      'description' => t('Configure settings for the revision deletion module'),
+    );
   }
   return $items;
 }
 
 function revision_deletion_settings() {
-  $period = drupal_map_assoc(array(86400, 604800, 1209600, 2419200, 4838400), 'format_interval');
-  $period2 = drupal_map_assoc(array(604800, 2419200, 4838400, 9676800, 15724800, 31449600), 'format_interval');
+  $frequency = drupal_map_assoc(array(86400, 604800, 1209600, 2419200, 4838400), 'format_interval');
+  $age = drupal_map_assoc(array(604800, 2419200, 4838400, 9676800, 15724800, 31449600), 'format_interval');
 
   $form['rev_del'] = array(
     '#type' => 'fieldset',
@@ -60,7 +70,7 @@ function revision_deletion_settings() {
     '#type' => 'select',
     '#title' => t('Cron Settings'),
     '#default_value' => variable_get('revision_delete_freq', 604800),
-    '#options' => $period,
+    '#options' => $frequency,
     '#description' => t('Frequency of the mass revision delete cron jobs.')
   );
   
@@ -69,21 +79,21 @@ function revision_deletion_settings() {
     '#type' => 'select',
     '#title' => t('Revision Age Setting'),
     '#default_value' => variable_get('revision_delete_age', 2419200),
-    '#options' => $period2,
+    '#options' => $age,
     '#description' => t('Age in days of revisions that should be deleted.')
   );
-  
+
 	//Set node types to be deleted
   $form['rev_del']['revision_delete'] = array(
     '#type' => 'select',
     '#title' => t('Select node types for revision deletion. Multiple select enabled.'),
-    '#default_value' => variable_get('revision_delete', node_get_types()),
+    '#default_value' => variable_get('revision_delete', array()),
     '#multiple' => true,
     '#required' => true,
-    '#options' => node_get_types()
+    '#options' => node_get_types('names')
   );
 	
-  return $form;
+  return system_settings_form($form);
 }
 
 
@@ -93,7 +103,8 @@ function revision_deletion_settings() {
 function revision_deletion_cron() {
   $last_update = variable_get('revision_delete_cron', 0);
   $rev_del_freq = variable_get('revision_delete_freq', 604800);
-  $diff = time()-$rev_del_freq;
+  $diff = time() - $rev_del_freq;
+
   if ($diff > $last_update) {
     $result = revision_data();
     if (db_num_rows($result)) {
@@ -105,7 +116,7 @@ function revision_deletion_cron() {
   }
 }
 
-function revision_deletion() {
+function revision_deletion_page() {
   $result = revision_data();
 
   if (db_num_rows($result)) { 
@@ -121,19 +132,27 @@ function revision_deletion() {
     }
     
     $output = theme('table', $header, $rows);
-    $form['submit'] = array('#type' => 'submit',
-      '#value' => t('Run Revision Deletion'),
-    );
-  $output .= drupal_get_form('revision_del', $form);	
+    $output .= drupal_get_form('revision_deletion_page_form');	
   } 
   else {
     $output = 'No Node Revisions to delete at this time.';
   } 
+
   return $output;
 }
 
-function revision_del_submit() {
+function revision_deletion_page_form() {
+  $form['submit'] = array(
+    '#type' => 'submit',
+    '#value' => t('Run Revision Deletion'),
+  );
+
+  return $form;
+}
+
+function revision_deletion_page_form_submit() {
   $result = revision_data();
+
   if (db_num_rows($result)) {
     while ($data = db_fetch_object($result)) {
       delete_rev($data);
@@ -149,7 +168,7 @@ function revision_del_submit() {
 function revision_data() {
   $aged = time() - variable_get('revision_delete_age', 2419200);
   $arguments[] = $aged;
-  $nodes = variable_get('revision_delete', node_get_types());
+  $nodes = variable_get('revision_delete', node_get_types('names'));
 	
   foreach ($nodes as $type => $name) {
     $cond[] = "'%s'";
@@ -180,4 +199,4 @@ function delete_rev($data = NULL) {
   $node = node_load($data->nid);
   node_invoke_nodeapi($node, 'delete revision');
   watchdog('content', t('@type: deleted %title revision %revision.', array('@type' => t($data->type), '%title' => $data->title, '%revision' => $data->vid)));
-}
\ No newline at end of file
+}
