Index: override_node_options.module
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/override_node_options/override_node_options.module,v
retrieving revision 1.5
diff -u -p -r1.5 override_node_options.module
--- override_node_options.module	8 Dec 2008 22:01:40 -0000	1.5
+++ override_node_options.module	17 Mar 2009 16:45:43 -0000
@@ -132,7 +132,12 @@ function override_node_options_admin_set
 function override_node_options_form_alter(&$form, $form_state, $form_id) {
   if (isset($form['type']) && $form['type']['#value'] .'_node_form' == $form_id && !user_access('administer nodes')) {
     $node = $form['#node'];
-    
+
+    /* make sure the preview shows the correct values */
+    if($node->op == 'Preview') {
+      _override_node_options_apply_keys($node);
+    }
+
     if(user_access('override ' . $form['type']['#value'] . ' published option') || user_access('override ' . $form['type']['#value'] . ' promote to front page option') || user_access('override ' . $form['type']['#value'] . ' sticky option') || user_access('override ' . $form['type']['#value'] . ' revision option')){
     
     $form['options'] = array(
@@ -225,6 +230,23 @@ function override_node_options_form_alte
 
 
 /**
+ * Assign the values to their proper keys.
+ */
+function _override_node_options_apply_keys(&$node) {
+  $keys = array(
+    'override_publishing_status' => 'status',
+    'override_publishing_promote' => 'promote',
+    'override_publishing_sticky' => 'sticky',
+    'override_publishing_revision' => 'revision'          
+  );
+  foreach ($keys as $override_key => $real_key) {
+    if (isset($node->$override_key)) {
+      $node->$real_key = $node->$override_key;
+    }
+  }
+}
+
+/**
  * Implementation of hook_nodeapi().
  */
 function override_node_options_nodeapi(&$node, $op, $a3 = NULL, $a4 = NULL) {
@@ -234,17 +256,7 @@ function override_node_options_nodeapi(&
       // options.
       // TODO: Once in core, remove adminster nodes check.
       if (!user_access('administer nodes')) {
-        $keys = array(
-          'override_publishing_status' => 'status',
-          'override_publishing_promote' => 'promote',
-          'override_publishing_sticky' => 'sticky',
-          'override_publishing_revision' => 'revision'          
-        );
-        foreach ($keys as $override_key => $real_key) {
-          if (isset($node->$override_key)) {
-            $node->$real_key = $node->$override_key;
-          }
-        }
+        _override_node_options_apply_keys($node);
         if(user_access('override authored on option')){
         // Node creation date override
         if ($node->date !== $node->override_authored_on || !empty($node->override_authored_on)) {
