Only in revision_moderation.orig: CVS
diff -u revision_moderation.orig/revision_moderation.info revision_moderation.wip/revision_moderation.info
--- revision_moderation.orig/revision_moderation.info	2007-12-17 19:14:40.000000000 -0800
+++ revision_moderation.wip/revision_moderation.info	2011-01-05 13:27:08.000000000 -0800
@@ -1,4 +1,6 @@
 ; $Id: revision_moderation.info,v 1.3 2007/12/18 03:14:40 webchick Exp $
 name = Revision Moderation
 description = Allows moderation of new node revisions while existing approved revisions stay visible.
-core = "6.x"
\ No newline at end of file
+core = 7.x
+files[] = revision_moderation.module
+files[] = revision_moderation_actions.inc
diff -u revision_moderation.orig/revision_moderation.install revision_moderation.wip/revision_moderation.install
--- revision_moderation.orig/revision_moderation.install	2008-12-19 14:11:44.000000000 -0800
+++ revision_moderation.wip/revision_moderation.install	2011-01-05 13:26:42.000000000 -0800
@@ -2,22 +2,30 @@
 // $Id: revision_moderation.install,v 1.6 2008/12/19 22:11:44 add1sun Exp $
 
 /**
+ * @file
+ * Install, update and uninstall functions for the revision_moderation module.
+ */
+
+/**
  * Implementation of hook_schema().
  */ 
 function revision_moderation_schema() {
   $schema['revision_moderation'] = array(
+    'description' => 'holds the last approved revision of the node',
     'fields' => array(
       'nid' => array(
         'type' => 'int',
         'unsigned' => TRUE,
         'not null' => TRUE,
+        'description' => 'Node ID',
         'default' => 0
       ),
       'revision_moderation' => array(
         'type' => 'int',
         'not null' => TRUE,
         'default' => 0,
-        'size' => 'tiny'
+        'size' => 'tiny',
+        'description' => 'last approved revision for the {nid}'
       ),
     ),
     'primary key' => array('nid'),
@@ -27,18 +35,8 @@
 }
 
 /**
- * Implementation of hook_install().
- */
-function revision_moderation_install() {
-  // Create table
-  drupal_install_schema('revision_moderation');
-}
-  
-/**
  * Implementation of hook_uninstall().
  */
 function revision_moderation_uninstall() {
-  // Drop the table
-  drupal_uninstall_schema('revision_moderation');
   variable_del('revision_moderation_exempt');
 }
diff -u revision_moderation.orig/revision_moderation.module revision_moderation.wip/revision_moderation.module
--- revision_moderation.orig/revision_moderation.module	2008-12-27 14:27:36.000000000 -0800
+++ revision_moderation.wip/revision_moderation.module	2011-01-05 13:51:20.000000000 -0800
@@ -7,7 +7,7 @@
  */
 
 // Actions module support.
-include_once drupal_get_path('module', 'revision_moderation') .'/revision_moderation_actions.inc';
+include_once drupal_get_path('module', 'revision_moderation') . '/revision_moderation_actions.inc';
 
 /**
  * Implementation of hook_menu().
@@ -17,7 +17,7 @@
 
   // Admin menu
   $items['admin/content/node/revisions'] = array(
-    'title' => t('Pending revisions'),
+    'title' => 'Pending revisions',
     'page callback' => 'revision_moderation_pending_revisions_admin',
     'access arguments' => array('administer nodes'),
     'type' => MENU_LOCAL_TASK,
@@ -25,16 +25,16 @@
 
   // Admin menu
   $items['admin/settings/revision_moderation'] = array(
-    'title' => t('Revision moderation'),
+    'title' => 'Revision moderation',
     'page callback' => 'drupal_get_form',
     'page arguments' => array('revision_moderation_settings'),
-    'description' => t('Configure revision publishing options.'),
+    'description' => 'Configure revision publishing options.',
     'access arguments' => array('administer nodes'),
   );
 
   // Callback to allow users to edit revisions.
   $items['node/%node/revisions/%/edit'] = array(
-    'title' => t('Edit revision'),
+    'title' => 'Edit revision',
     'load arguments' => array(3),
     'page callback' => 'revision_moderation_edit',
     'page arguments' => array(1),
@@ -47,7 +47,7 @@
 
   // Callback to allow users to publish revisions directly.
   $items['node/%node/revisions/%/publish'] = array(
-    'title' => t('Publish revision'),
+    'title' => 'Publish revision',
     'load arguments' => array(3),
     'page callback' => 'drupal_get_form',
     'page arguments' => array('revision_moderation_publish_confirm', 1),
@@ -62,7 +62,7 @@
 /**
  * Menu permission callback.
  */
-function revision_moderation_admin_perm($nid) {
+function revision_moderation_admin_permission($nid) {
   $node = node_load($nid);
   $access = user_access('administer nodes') || (user_access('view revisions') && node_access('update', $node));
   return $access;
@@ -85,12 +85,12 @@
 /**
  * Implementation of hook_form_alter().
  */
-function revision_moderation_form_alter(&$form, $form_state, $form_id) {
+function revision_moderation_form_alter(&$form, &$form_state, $form_id) {
   // On node edit forms, add in the "New revisions in moderation" option.
-  if (isset($form['#id']) && $form['#id'] == 'node-form') {
+  if (isset($form['type']) && $form['type']['#value'] . '_node_form' == $form_id) {
     $default_value = in_array('revision_moderation', variable_get("node_options_{$form['type']['#value']}", array('status', 'promote')));
     if ($form['nid']['#value']) {
-      $result = db_result(db_query('SELECT revision_moderation FROM {revision_moderation} WHERE nid = %d', $form['nid']['#value']));
+      $result = db_query('SELECT revision_moderation FROM {revision_moderation} WHERE nid = :nid', array(':nid' => $form['nid']['#value']))->fetchField();
       if ($result !== FALSE) {
         $default_value = $result;
       }
@@ -117,126 +117,206 @@
 }
 
 /**
- * Implementation of hook_nodeapi().
+ * Implementation of hook_node_insert().
  */
-function revision_moderation_nodeapi(&$node, $op, $teaser = NULL, $page = NULL) {
-  switch ($op) {
-    case 'insert':
-      // Store revision moderation setting of this node.
-      drupal_write_record('revision_moderation', $node);
-      break;
-
-    case 'update':
-      // Update revision moderation setting of this node.
-      drupal_write_record('revision_moderation', $node, 'nid');
-      break;
-
-    case 'delete':
-      // Delete record from revision_moderation table when node is deleted.
-      db_query('DELETE FROM {revision_moderation} WHERE nid = %d', $node->nid);
-      break;
-
-    case 'load':
-      // Set a revision_moderation property which can be checked later.
-      $node->revision_moderation = db_result(db_query('SELECT revision_moderation FROM {revision_moderation} WHERE nid = %d', $node->nid));
-      break;
-
-    case 'view':
-      // Cannot use _node_revision_access() here, it's static cached with 1 op
-      $access_update = user_access('revert revisions');
-      $access_delete = user_access('delete revisions');
-      // Display more descriptive message at the top of node revision views, including operations
-      // that the current user has available to them.
-      $current_vid = db_result(db_query('SELECT vid FROM {node} WHERE nid = %d', $node->nid));
-      if ($node->vid != $current_vid) {
-        $links = array(); // Array of links to show along with the message.
-        if ($access_update) {
-          // Add a link directly to the diff if we have Diff module installed.
-          if (module_exists('diff')) {
-            if ($node->vid > $current_vid) {
-             $difflink = "node/$node->nid/revisions/view/$current_vid/$node->vid";
-            }
-            else {
-             $difflink = "node/$node->nid/revisions/view/$node->vid/$current_vid";
-            }
-            $links[] = l(t('Compare revisions'), $difflink);
-          }
-          $links[] = l(t('Edit revision'), "node/$node->nid/revisions/$node->vid/edit");
-          // If this revision is old, show an option to revert to it.
-          // Otherwise, show an option to publish it.
-          if ($node->vid < $current_vid) {
-            $links[] = l(t('Revert to revision'), "node/$node->nid/revisions/$node->vid/revert");
-          }
-          else {
-            $links[] = l(t('Publish revision'), "node/$node->nid/revisions/$node->vid/publish");
-          }
+function revision_moderation_node_insert($node) {
+  // Store revision moderation setting of this node.
+  drupal_write_record('revision_moderation', $node);
+}
+
+/**
+ * Implementation of hook_node_update().
+ */
+function revision_moderation_node_update($node) {
+  $args = arg();
+
+  // Update revision moderation setting of this node.
+  drupal_write_record('revision_moderation', $node, 'nid');
+
+  // Only do this logic for non-admin users on nodes with revision moderation
+  // turned on.
+  // And not editing a chose revision
+  if ($node->nid && $node->revision_moderation == 1 && arg(2) != 'revisions' && (!user_access('administer nodes') || !variable_get('revision_moderation_exempt', 1))) {
+    if (isset($node->original)) {
+      // Update node table's vid to the original value.
+
+      db_update('node')
+      ->fields(array(
+        'vid' => $node->original->vid,
+        'title' => $node->original->title,
+        'status' => $node->original->status,
+        ))
+      ->condition('nid', $node->nid, '=')
+      ->execute();
+      // If node doesn't exist in revision_moderation table, add it.
+      $in_db = db_query('SELECT revision_moderation FROM {revision_moderation} WHERE nid = :nid', array(':nid' => $node->nid))->fetchField();
+      if ($in_db === FALSE) {
+        db_insert('revision_moderation')
+        ->fields(array(
+          'nid' => $node->nid,
+          'revision_moderation' => 1,
+          ))
+        ->execute();
+      }
+      
+      // evil evil hack
+      drupal_write_record('node', $node->original, 'nid');
+      field_attach_update('node', $node->original);
+
+      drupal_set_message(t('Your changes have been submitted for moderation.'));
+    }
+  }
+  elseif ($node->nid && $node->revision_moderation == 1 && end($args) == 'edit') {
+    if (isset($node->original)) {
+      // Exempt admin users publish their version immediately
+      if (!user_access('administer nodes') || !variable_get('revision_moderation_exempt', 1)) {
+        // Update node table's vid to the original value.
+
+        db_update('node')
+        ->fields(array(
+          'vid' => $node->original->vid,
+          'title' => $node->original->title,
+          'status' => $node->original->status,
+          ))
+        ->condition('nid', $node->nid, '=')
+        ->execute();
+      
+        // evil evil hack
+        drupal_write_record('node', $node->original, 'nid');
+        field_attach_update('node', $node->original);
+
+        drupal_set_message(t('Your changes have been submitted for moderation.'));
+      }
+    }
+  }
+
+}
+
+/**
+ * Implementation of hook_node_delete().
+ */
+function revision_moderation_node_delete($node) {
+  // Delete record from revision_moderation table when node is deleted.
+  db_query('DELETE FROM {revision_moderation} WHERE nid = :nid', array(':nid' => $node->nid));
+}
+
+/**
+ * Implementation of hook_node_load().
+ */
+function revision_moderation_node_load($nodes, $types) {
+  // Set a revision_moderation property which can be checked later.
+  foreach ($nodes as $node) {
+    $node->revision_moderation = db_query('SELECT revision_moderation FROM {revision_moderation} WHERE nid = :nid', array(':nid' => $node->nid))->fetchField();
+  }
+}
+
+/**
+ * Implementation of hook_node_view().
+ */
+function revision_moderation_node_view($node, $view_mode, $langcode) {
+  // Cannot use _node_revision_access() here, it's static cached with 1 op
+  $access_update = user_access('revert revisions');
+  $access_delete = user_access('delete revisions');
+  // Display more descriptive message at the top of node revision views, including operations
+  // that the current user has available to them.
+  $current_vid = db_query('SELECT vid FROM {node} WHERE nid = :nid', array(':nid' => $node->nid))->fetchField();
+  if ($node->vid != $current_vid) {
+    $links = array(); // Array of links to show along with the message.
+    if ($access_update) {
+      // Add a link directly to the diff if we have Diff module installed.
+      if (module_exists('diff')) {
+        if ($node->vid > $current_vid) {
+          $difflink = "node/$node->nid/revisions/view/$current_vid/$node->vid";
         }
-        if ($access_delete) {
-          $links[] = l(t('Delete revision'), "node/$node->nid/revisions/$node->vid/delete");
+        else {
+          $difflink = "node/$node->nid/revisions/view/$node->vid/$current_vid";
         }
-        // Get username for the revision rather than the original node.
-        $revision_author = user_load($node->revision_uid);
-        drupal_set_message(t('You are currently viewing a revision of this post created on @date by !author.', array('@date' => format_date($node->revision_timestamp, 'small'), '!author' => theme('username', $revision_author))) . theme('item_list', $links));
+        $links[] = l(t('Compare revisions'), $difflink);
       }
-      elseif ($node->revision_moderation == 1 && !$teaser) {
-        // Notify admin if a node has pending revisions.
-        if ($access_update && arg(2) != 'revisions' && revision_moderation_get_node_pending_revisions($node->nid)) {
-          drupal_set_message(t('This post has one or more pending revisions: <a href="@list">view list of revisions</a>.', array('@list' => url("node/$node->nid/revisions"))));
-        }
+      $links[] = l(t('Edit revision'), "node/$node->nid/revisions/$node->vid/edit");
+      // If this revision is old, show an option to revert to it.
+      // Otherwise, show an option to publish it.
+      if ($node->vid < $current_vid) {
+        $links[] = l(t('Revert to revision'), "node/$node->nid/revisions/$node->vid/revert");
+      }
+      else {
+        $links[] = l(t('Publish revision'), "node/$node->nid/revisions/$node->vid/publish");
       }
-      break;
+    }
+    if ($access_delete) {
+      $links[] = l(t('Delete revision'), "node/$node->nid/revisions/$node->vid/delete");
+    }
+    // Get username for the revision rather than the original node.
+    $revision_author = user_load($node->revision_uid);
+    drupal_set_message(t('You are currently viewing a revision of this post created on @date by !author.', array('@date' => format_date($node->revision_timestamp, 'small'), '!author' => theme('username', array('username' => $revision_author)))) . theme('item_list', array('items' => $links)));
   }
+  elseif ($node->revision_moderation == 1) {
+    // Notify admin if a node has pending revisions.
+    if ($access_update && arg(2) != 'revisions' && revision_moderation_get_node_pending_revisions($node->nid)) {
+      drupal_set_message(t('<a href="@url">@title</a> has one or more pending revisions: <a href="@list">view list of revisions</a>.', array('@url' => url("node/$node->nid"), '@title' => check_plain($node->title), '@list' => url("node/$node->nid/revisions"))));
+    }
+  }
+}
+
+/**
+ * Implementation of hook_node_prepare().
+ */
+function revision_moderation_node_prepare($node) {
+  $args = arg();
 
   // Only do this logic for non-admin users on nodes with revision moderation
   // turned on.
   // And not editing a chose revision
-  if ($node->nid && $node->revision_moderation == 1 && arg(2) != 'revisions'
-    && (!user_access('administer nodes') || !variable_get('revision_moderation_exempt', 1))) {
-    switch ($op) {
-      case 'prepare':
-        // If user has a pending revision for this node, load the latest version of
-        // it instead.
-        if ($revisions = revision_moderation_get_node_pending_revisions($node->nid)) {
-          global $user;
-          foreach ($revisions as $revision) {
-            if ($revision->uid == $user->uid) {
-              drupal_set_message(t('Editing your latest revision, which is still pending moderation.'));
-              $node = node_load($node->nid, $revision->vid);
-              break;
-            }
-          }
+  if (isset($node->nid) && isset($node->revision_moderation) && $node->revision_moderation == 1 && arg(2) != 'revisions' && (!user_access('administer nodes') || !variable_get('revision_moderation_exempt', 1))) {
+    // If user has a pending revision for this node, load the latest version of
+    // it instead.
+    if ($revisions = revision_moderation_get_node_pending_revisions($node->nid)) {
+      global $user;
+      foreach ($revisions as $revision) {
+        if ($revision->uid == $user->uid) {
+          drupal_set_message(t('Editing your latest revision, which is still pending moderation.'));
+          $node = node_load($node->nid, $revision->vid);
         }
-        break;
-
-      case 'presave':
-        $current_vid = db_result(db_query('SELECT vid FROM {node} WHERE nid = %d', $node->nid));
-        $node->original_node = node_load($node->nid, $current_vid);
-        break;
-
-      case 'update':
-        if (isset($node->original_node)) {
-          // Update node table's vid to the original value.
+      }
+    }
 
-          db_query("UPDATE {node} SET vid = %d, title = '%s', status = %d, moderate = %d WHERE nid = %d", $node->original_node->vid, $node->original_node->title, $node->original_node->status, $node->original_node->moderate, $node->nid);
-          drupal_set_message(t('Your changes have been submitted for moderation.'));
+  }
+  elseif (isset($node->nid) && isset($node->revision_moderation) && $node->revision_moderation == 1 && end($args) == 'edit') {
+    $revision_author = user_load($node->revision_uid);
+    $current_vid = db_query('SELECT vid FROM {node} WHERE nid = :nid', array(':nid' => $node->nid))->fetchField();
+    if ($node->vid > $current_vid) {
+      drupal_set_message(t('You are currently editing a pending update of this post created on @date by !author.', array('@date' => format_date($node->revision_timestamp, 'small'), '!author' => theme('username', $revision_author))));
+    }
+    if ($node->vid == $current_vid) {
+      if (revision_moderation_get_node_pending_revisions($node->nid)) {
+        if (variable_get('revision_moderation_exempt', 1)) {
+          drupal_set_message(t('You are currently editing the current published version of this post, created on @date by !author. Note that there are other pending revisions, and that pressing save will publish this version of the post instead.', array('@date' => format_date($node->revision_timestamp, 'small'), '!author' => theme('username', $revision_author))));
+        }
+        else {
+          drupal_set_message(t('You are currently editing the current published version of this post, created on @date by !author.', array('@date' => format_date($node->revision_timestamp, 'small'), '!author' => theme('username', $revision_author))));
         }
-        break;
+      }
     }
+
   }
+
 }
 
 /**
- * Implementation of hook_block().
+ * Implementation of hook_block_info().
  */
-function revision_moderation_block($op = 'list', $delta = 0, $edit = array()) {
-  if ($op == 'list') {
-    $blocks[0]['info'] = t('Pending revisions');
+function revision_moderation_block_info() {
+  $block['pending_revisions'] = array('info' => t('Pending revisions'));
+  return $block;
+}
 
-    return $blocks;
-  }
-  elseif ($op == 'view') {
+/**
+ * Implementation of hook_block_view().
+ */
+function revision_moderation_block_view($delta = '') {
+  switch ($delta) {
+    case 'pending_revisions':
     $block = array();
-
     if (user_access('administer nodes')) {
       $output = '';
       $list = array();
@@ -246,19 +326,17 @@
         foreach ($nodes as $node) {
           $list[] = l($node->title, "node/$node->nid/revisions/$node->vid/view");
         }
-        $output .= theme('item_list', $list);
-        $output .= '<p>'. l(t('View all pending revisions'), 'admin/content/node/revisions') .'</p>';
+        $output .= theme('item_list', array('list' => $list));
+        $output .= '<p>' . l(t('View all pending revisions'), 'admin/content/node/revisions') . '</p>';
       }
       else {
         $output .= t('No pending revisions found.');
       }
-
       $block['subject'] = t('Pending revisions');
       $block['content'] = $output;
     }
-
-    return $block;
   }
+  return $block;
 }
 
 /**
@@ -274,7 +352,7 @@
 function revision_moderation_theme() {
   return array(
     'revision_moderation_pending_revisions_admin' => array(
-      'arguments' => array(),
+      'variables' => array(),
     ),
   );
 }
@@ -295,15 +373,15 @@
     foreach ($nodes as $node) {
       $rows[] = array(
         l($node->title, "node/$node->nid/revisions"),
-        check_plain(node_get_types('name', $node)),
-        theme('username', user_load(array('uid' => $node->uid))),
+        check_plain(node_type_get_name($node)),
+        theme('username', array('username' => user_load($node->uid))),
         format_date($node->timestamp),
       );
     }
-    return theme('table', $header, $rows);
+    return theme('table', array('header' => $header, 'rows' => $rows));
   }
   else {
-    return '<p>'. t('No pending revisions found.') .'</p>';
+    return '<p>' . t('No pending revisions found.') . '</p>';
   }
 }
 
@@ -315,10 +393,9 @@
  */
 function revision_moderation_get_all_pending_revisions($limit) {
   // Obtain a list of nodes with revisions higher than current published revision.
-  $sql = "SELECT n.nid, r.vid, n.type, r.title, r.body, r.uid, r.timestamp FROM {node} n INNER JOIN {node_revisions} r ON n.nid = r.nid WHERE r.vid > n.vid ORDER BY r.vid DESC LIMIT %d";
-  $result = db_query($sql, $limit);
+  $result = db_query('SELECT n.nid, r.vid, n.type, r.title, r.uid, r.timestamp FROM {node} n INNER JOIN {node_revision} r ON n.nid = r.nid WHERE r.vid > n.vid ORDER BY r.vid DESC LIMIT :limit', array(':limit' => $limit));
   $revisions = array();
-  while ($revision = db_fetch_object($result)) {
+  foreach ($result as $revision) {
     $revisions[$revision->nid] = $revision;
   }
 
@@ -333,10 +410,9 @@
  */
 function revision_moderation_get_node_pending_revisions($nid) {
   // Obtain a list of revisions higher than current published revision for a given node.
-  $sql = "SELECT n.nid, r.vid, r.uid FROM {node} n INNER JOIN {node_revisions} r ON n.nid = r.nid WHERE r.vid > n.vid AND n.nid = %d ORDER BY r.vid DESC";
-  $result = db_query($sql, $nid);
+  $result = db_query('SELECT n.nid, r.vid, r.uid FROM {node} n INNER JOIN {node_revision} r ON n.nid = r.nid WHERE r.vid > n.vid AND n.nid = :nid ORDER BY r.vid DESC', array(':nid' => $nid));
   $revisions = array();
-  while ($revision = db_fetch_object($result)) {
+  foreach ($result as $revision) {
     $revisions[$revision->vid] = $revision;
   }
 
@@ -350,7 +426,7 @@
   // Get username for the revision rather than the original node.
   $revision_author = user_load($node->revision_uid);
   drupal_set_message(t('You are currently editing a revision of this post created on @date by !author.', array('@date' => format_date($node->revision_timestamp, 'small'), '!author' => theme('username', $revision_author))));
-  return drupal_get_form($node->type .'_node_form', $node);
+  return drupal_get_form($node->type . '_node_form', $node);
 }
 
 /**
@@ -365,7 +441,7 @@
   $form['revision'] = array('#type' => 'value', '#value' => $node->vid);
   $form['type'] = array('#type' => 'value', '#value' => $node->type);
 
-  return confirm_form($form, t('Are you sure you want to publish this revision for %title?', array('%title' => $node->title)), 'node/'. $node->nid .'/revisions/'. $node->vid, t('Publishing this revision will make it public for all users.'), t('Publish'), t('Cancel'));
+  return confirm_form($form, t('Are you sure you want to publish this revision for %title?', array('%title' => $node->title)), 'node/' . $node->nid . '/revisions/' . $node->vid, t('Publishing this revision will make it public for all users.'), t('Publish'), t('Cancel'));
 }
 
 /**
@@ -378,10 +454,16 @@
   $vid = $form_state['values']['revision'];
   $type = $form_state['values']['type'];
 
-  db_query("UPDATE {node} SET vid = %d, title = '%s' WHERE nid = %d", $vid, $title, $nid);
+  db_update('node')
+  ->fields(array(
+    'vid' => $vid,
+    'title' => $title,
+  ))
+  ->condition('nid', $nid, '=')
+  ->execute();
   // Clear the cache so an anonymous poster can see the changes
   cache_clear_all();
-  drupal_set_message('The selected revision has been published.');
+  drupal_set_message(t('The selected revision has been published.'));
   watchdog('content', '@type: published %title revision %revision', array('@type' => t($type), '%title' => $title, '%revision' => $vid), WATCHDOG_NOTICE, l(t('view'), "node/$nid/revisions/$vid/view"));
-  $form_state['redirect'] = 'node/'. $nid;
+  $form_state['redirect'] = 'node/' . $nid;
 }
diff -u revision_moderation.orig/revision_moderation_actions.inc revision_moderation.wip/revision_moderation_actions.inc
--- revision_moderation.orig/revision_moderation_actions.inc	2007-12-17 19:14:40.000000000 -0800
+++ revision_moderation.wip/revision_moderation_actions.inc	2011-01-05 13:26:42.000000000 -0800
@@ -12,21 +12,15 @@
 function revision_moderation_action_info() {
   $actions['revision_moderation_enable_action'] = array(
     'type' => 'node',
-    'description' => t('Enable revision moderation on node'),
+    'label' => t('Enable revision moderation on node'),
     'configurable' => FALSE,
-    'hooks' => array(
-      'nodeapi' => array('presave', 'insert', 'update'),
-      'comment' => array('delete', 'insert', 'update')
-     ),
+    'triggers' => array('node_presave', 'node_insert', 'node_update', 'comment_delete', 'comment_insert', 'comment_update'),
   );
   $actions['revision_moderation_disable_action'] = array(
     'type' => 'node',
-    'description' => t('Disable revision moderation on node'),
+    'label' => t('Disable revision moderation on node'),
     'configurable' => FALSE,
-    'hooks' => array(
-      'nodeapi' => array('presave', 'insert', 'update'),
-      'comment' => array('delete', 'insert', 'update')
-     ),
+    'triggers' => array('node_presave', 'node_insert', 'node_update', 'comment_delete', 'comment_insert', 'comment_update'),
   );
   return $actions;
 }
Common subdirectories: revision_moderation.orig/tests and revision_moderation.wip/tests
Common subdirectories: revision_moderation.orig/views and revision_moderation.wip/views
