Index: scanner.module
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/scanner/scanner.module,v
retrieving revision 1.4
diff -u -r1.4 scanner.module
--- scanner.module	4 Dec 2008 01:17:52 -0000	1.4
+++ scanner.module	9 Feb 2009 23:23:45 -0000
@@ -57,63 +57,52 @@
 /**
  * Implementation of hook_menu().
  */
-function scanner_menu($may_cache) {
-  global $user;
-  $items = array();
+function scanner_menu() {
 
-  if ($may_cache) {
-    $items[] = array(
-      'path' => 'admin/content/scanner',
-      'title' => t('Search and Replace Scanner'),
-      'callback' => 'scanner_view',
-      'access' => user_access('perform search and replace'),
+    $items['admin/content/scanner'] = array(
+      'title' => 'Search and Replace Scanner',
+      'page callback' => 'scanner_view',
+      'access arguments' => array('perform search and replace'),
     );
-    $items[] = array(
-      'path' => 'admin/content/scanner/scan',
-      'title' => t('Search'),
-      'access' => user_access('perform search and replace'),
+    $items['admin/content/scanner/scan'] = array(
+      'title' => 'Search',
+      'access arguments' => array('perform search and replace'),
       'type' => MENU_DEFAULT_LOCAL_TASK,
     );
-    $items[] = array(
-      'path' => 'admin/content/scanner/scan/confirm',
-      'title' => t('Confirm Replace'),
-      'access' => user_access('perform search and replace'),
-      'callback' => 'drupal_get_form',
-      'callback arguments' => array('scanner_confirm_form'),
+    $items['admin/content/scanner/scan/confirm'] = array(
+      'title' => 'Confirm Replace',
+      'access arguments' => array('perform search and replace'),
+      'page callback' => 'drupal_get_form',
+      'page arguments' => array('scanner_confirm_form'),
       'type' => MENU_CALLBACK,
     );
-    $items[] = array(
-      'path' => 'admin/content/scanner/undo/confirm',
-      'title' => t('Confirm Undo'),
-      'access' => user_access('perform search and replace'),
-      'callback' => 'drupal_get_form',
-      'callback arguments' => array('scanner_undo_confirm_form'),
+    $items['admin/content/scanner/undo/confirm'] = array(
+      'title' => 'Confirm Undo',
+      'access arguments' => array('perform search and replace'),
+      'page callback' => 'drupal_get_form',
+      'page arguments' => array('scanner_undo_confirm_form'),
       'type' => MENU_CALLBACK,
     );
-    $items[] = array( // Shows up on scanner page as tab.
-      'path' => 'admin/content/scanner/settings',
-      'callback' => 'drupal_get_form',
-      'callback arguments' => array('scanner_admin_form'),
-      'access' => user_access('administer scanner settings'),
+    $items['admin/content/scanner/settings'] = array( // Shows up on scanner page as tab.
+      'title' => 'Settings',
+      'page callback' => 'drupal_get_form',
+      'page arguments' => array('scanner_admin_form'),
+      'access arguments' => array('administer scanner settings'),
       'type' => MENU_LOCAL_TASK,
-      'title' => t('Settings'),
       'weight' => 1,
     );
-    $items[] = array( // Shows up on scanner page as tab.
-      'path' => 'admin/content/scanner/undo',
-      'callback' => 'scanner_undo_page',
-      'access' => user_access('perform search and replace'),
+    $items['admin/content/scanner/undo'] = array( // Shows up on scanner page as tab.
+      'title' => 'Undo',
+      'page callback' => 'scanner_undo_page',
+      'access arguments' => array('perform search and replace'),
       'type' => MENU_LOCAL_TASK,
-      'title' => t('Undo'),
     );
-    $items[] = array( // Shows up on admin page.
-      'path' => 'admin/settings/scanner',
-      'callback' => 'drupal_get_form',
-      'callback arguments' => array('scanner_admin_form'),
-      'access' => user_access('administer scanner settings'),
-      'title' => t('Search and Replace Scanner'),
+    $items['admin/settings/scanner'] = array( // Shows up on admin page.
+      'title' => 'Search and Replace Scanner',
+      'page callback' => 'drupal_get_form',
+      'page arguments' => array('scanner_admin_form'),
+      'access arguments' => array('administer scanner settings'),
     );
-  }
   return $items;
 }
 
@@ -355,8 +344,8 @@
 /**
  * Validate form input.
  */
-function scanner_form_validate($form_id, $form_values) {
-  $search = trim($form_values['search']);
+function scanner_form_validate($form, &$form_state) {
+  $search = trim($form_state['values']['search']);
   if ($search == '') {
     form_set_error('search', t('Please enter some keywords.'));
   }
@@ -365,32 +354,31 @@
 /**
  * Handles submission of the search and replace form.
  *
- * @param $form_id
- * @param $form_values
+ * @param $form
+ * @param $form_state
  * @return the new path that will be goto'ed.
  */
-function scanner_form_submit($form_id, $form_values) {
+function scanner_form_submit($form, &$form_state) {
   //save form input:
-  $_SESSION['scanner_search']    = $form_values['search'];
-  $_SESSION['scanner_preceded']  = $form_values['preceded'];
-  //$_SESSION['scanner_notpreceded'] = $form_values['notpreceded'];
-  $_SESSION['scanner_followed']  = $form_values['followed'];
-  //$_SESSION['scanner_notfollowed'] = $form_values['notfollowed'];
-  $_SESSION['scanner_mode']      = $form_values['mode'];
-  $_SESSION['scanner_wholeword'] = $form_values['wholeword'];
-  $_SESSION['scanner_published'] = $form_values['published'];
-  $_SESSION['scanner_regex']     = $form_values['regex'];
-  $_SESSION['scanner_terms']     = array_filter($form_values['terms']);
-  $_SESSION['scanner_replace']   = $form_values['replace'];
+  $_SESSION['scanner_search']    = $form_state['values']['search'];
+  $_SESSION['scanner_preceded']  = $form_state['values']['preceded'];
+  //$_SESSION['scanner_notpreceded'] = $form_state['values']['notpreceded'];
+  $_SESSION['scanner_followed']  = $form_state['values']['followed'];
+  //$_SESSION['scanner_notfollowed'] = $form_state['values']['notfollowed'];
+  $_SESSION['scanner_mode']      = $form_state['values']['mode'];
+  $_SESSION['scanner_wholeword'] = $form_state['values']['wholeword'];
+  $_SESSION['scanner_published'] = $form_state['values']['published'];
+  $_SESSION['scanner_regex']     = $form_state['values']['regex'];
+  $_SESSION['scanner_terms']     = array_filter($form_state['values']['terms']);
+  $_SESSION['scanner_replace']   = $form_state['values']['replace'];
 
-  if ($form_values['op'] == 'Replace') {
+  if ($form_state['values']['op'] == 'Replace') {
     $_SESSION['scanner_status'] = SCANNER_STATUS_GO_CONFIRM;
   }
   else {
     $_SESSION['scanner_status'] = SCANNER_STATUS_GO_SEARCH;
   }
-
-  return 'admin/content/scanner';
+  $form_state['redirect'] = 'admin/content/scanner';
 }
 
 
@@ -480,15 +468,15 @@
 /**
  * Submission handling for scanner confirmation form.
  */
-function scanner_confirm_form_submit($form_id, $form_values) {
-  if ($form_values['op'] == t('Yes, Continue')) {
+function scanner_confirm_form_submit($form, &$form_state) {
+  if ($form_state['values']['op'] == t('Yes, Continue')) {
     $_SESSION['scanner_status'] = SCANNER_STATUS_GO_REPLACE;
   }
   else {
     unset($_SESSION['scanner_status']);
   }
 
-  return 'admin/content/scanner';
+  $form_state['redirect'] = 'admin/content/scanner';
 }
 
 function scanner_undo_page() {
@@ -500,10 +488,10 @@
 
     $query = 'undo_id='. $sandr->undo_id;
     if ($sandr->undone) {
-      $operation = l('Redo', 'admin/content/scanner/undo/confirm', array(), $query);
+      $operation = l('Redo', 'admin/content/scanner/undo/confirm', array('query' => $query));
     }
     else {
-      $operation = l('Undo', 'admin/content/scanner/undo/confirm', array(), $query);
+      $operation = l('Undo', 'admin/content/scanner/undo/confirm', array('query' => $query));
     }
 
     $rows[] = array(
@@ -560,10 +548,10 @@
   return $form;
 }
 
-function scanner_undo_confirm_form_submit($form_id, $form) {
+function scanner_undo_confirm_form_submit($form, &$form_state) {
 
-  if ($form['op'] == t('Yes, Continue')) {
-    $undo = db_fetch_object(db_query('SELECT undo_data, undone FROM {scanner} WHERE undo_id = %d', $form['undo_id']));
+  if ($form_state['values']['op'] == t('Yes, Continue')) {
+    $undo = db_fetch_object(db_query('SELECT undo_data, undone FROM {scanner} WHERE undo_id = %d', $form_state['values']['undo_id']));
 
     $undos = unserialize($undo->undo_data);
 
@@ -589,14 +577,15 @@
     }
 
     drupal_set_message($count .' '. t('Nodes reverted'));
-    db_query('UPDATE {scanner} SET undone = %d WHERE undo_id = %d', $undone, $form['undo_id']);
+    db_query('UPDATE {scanner} SET undone = %d WHERE undo_id = %d', $undone, $form_state['values']['undo_id']);
 
   }
   else {
     drupal_set_message(t('Undo / Redo canceled'));
   }
 
-  return 'admin/content/scanner/undo';
+  $form_state['redirect'] = 'admin/content/scanner/undo';
+  $form_state['nid'] = $node->nid;
 }
 
 /**
@@ -734,15 +723,15 @@
       // checking for possible timeout
       // if within 5 seconds of timeout - attempt to expand environment
       if (time() >= ($start_time + $max_execution_time - 5)) {
-        if(!$expanded) {
+        if (!$expanded) {
           if ($user->uid > 0) {
             $verbose = TRUE;
           }
           else {
             $verbose = FALSE;
           }
-          if(_scanner_change_env('max_execution_time', '600', $verbose)) {
-           drupal_set_message(t('Default max_execution_time too small and changed to 10 minutes.'),'error');
+          if (_scanner_change_env('max_execution_time', '600', $verbose)) {
+           drupal_set_message(t('Default max_execution_time too small and changed to 10 minutes.'), 'error');
            $max_execution_time = 600;
           }
           $expanded = TRUE;
@@ -752,11 +741,11 @@
           $shutting_down = TRUE;
           variable_set('scanner_partially_processed_'. $user->uid, $processed);
           variable_set('scanner_partial_undo_'. $user->uid, $undo_data);
-          if($searchtype == 'search') {
-            drupal_set_message(t('Did not have enough time to complete search.'),'error');
+          if ($searchtype == 'search') {
+            drupal_set_message(t('Did not have enough time to complete search.'), 'error');
           }
           else {
-            drupal_set_message(t('Did not have enough time to complete. Please re-submit replace'),'error');
+            drupal_set_message(t('Did not have enough time to complete. Please re-submit replace'), 'error');
           }
           break 2;
         }
@@ -848,7 +837,7 @@
   } //end foreach
   
   // if completed
-  if(!$shutting_down) {
+  if (!$shutting_down) {
     variable_del('scanner_partially_processed_'. $user->uid);
     variable_del('scanner_partial_undo_'. $user->uid);
   }
@@ -1122,7 +1111,7 @@
 function theme_scanner_item($item) {
   $item['count'] = $item['count'] > 0 ? $item['count'] : 'One or more';
   $output .= '<li class="scanner-result">';
-  $output .=   '<span class="scanner-title">'. l($item['title'], 'node/' . $item['nid']) .'</span><br />';
+  $output .=   '<span class="scanner-title">'. l($item['title'], 'node/'. $item['nid']) .'</span><br />';
   $output .=   '<span class="scanner-info">['. $item['count'] .' matches in '. $item['type'] .' '. $item['field'] .'field:]</span><br />';
   $output .=   '<span class="scanner-text">'. $item['text'] .'</span>';
   $output .= '</li>';

