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)) {