Index: node.module =================================================================== RCS file: /cvs/drupal/drupal/modules/node.module,v retrieving revision 1.486 diff -u -r1.486 node.module --- node.module 11 Apr 2005 16:39:19 -0000 1.486 +++ node.module 13 Apr 2005 16:37:10 -0000 @@ -1254,12 +1254,24 @@ else { // Validate for normal users: $node->uid = $user->uid ? $user->uid : 0; - // Force defaults in case people modify the form: + $node_options = variable_get('node_options_'. $node->type, array('status', 'promote')); - $node->status = in_array('status', $node_options); - $node->moderate = in_array('moderate', $node_options); - $node->promote = in_array('promote', $node_options); - $node->sticky = in_array('sticky', $node_options); + + if (!$node->nid) { + // Force defaults in case people modify the form: + $node->status = in_array('status', $node_options); + $node->moderate = in_array('moderate', $node_options); + $node->promote = in_array('promote', $node_options); + $node->sticky = in_array('sticky', $node_options); + } + else { + // If the node is being updated, respect is previous settings + unset($node->status); + unset($node->moderate); + unset($node->promote); + unset($node->sticky); + } + $node->revision = in_array('revision', $node_options); unset($node->created); }