--- revision_moderation.module	2007-02-15 20:25:41.000000000 -0600
+++ revision_moderation.module.jimmygoon	2007-02-15 20:23:24.000000000 -0600
@@ -26,13 +26,14 @@
       'type' => MENU_LOCAL_TASK,
       'access' => user_access('administer nodes'),
     );
-    $items[] = array(
+/*    $items[] = array(
       'path' => 'admin/settings/revision_moderation',
       'title' => t('Revision moderation'),
       'description' => t('Configure revision publishing options.'),
       'callback' => 'drupal_get_form',
       'callback arguments' => array('revision_moderation_settings'),
     );
+*/
   }
   else {
     if (arg(0) == 'node' && is_numeric(arg(1))) {
@@ -65,7 +66,7 @@
 }
 
 /**
- * Menu callback; admin settings page.
+ * Menu callback; admin settings page. (with my patch, this isn't used)
  */
 function revision_moderation_settings() {
   $form['revision_moderation_exempt'] = array(
@@ -166,7 +167,8 @@
 
   // Only do this logic for non-admin users on nodes with revision moderation
   // turned on.
-  if ($node->nid && $node->revision_moderation == 1 && (!user_access('administer nodes') || !variable_get('revision_moderation_exempt', 1))) {
+//  if ($node->nid && $node->revision_moderation == 1 && (!user_access('administer nodes') || !variable_get('revision_moderation_exempt', 1))) {
+  if ($node->nid && $node->revision_moderation == 1 && (!user_access('bypass moderation queue'))) {
     switch ($op) {
       case 'prepare':
         // If user has a pending revision for this node, load the latest version of
@@ -314,3 +316,7 @@
   drupal_set_message('The selected revision has been published.');
   drupal_goto("node/$nid");
 }
+
+function revision_moderation_perm() {
+  return array("bypass moderation queue");
+}
