Index: modules/node.module
===================================================================
RCS file: /cvs/drupal/drupal/modules/node.module,v
retrieving revision 1.557
diff -u -F^f -r1.557 node.module
--- modules/node.module	29 Nov 2005 03:18:57 -0000	1.557
+++ modules/node.module	29 Nov 2005 22:29:14 -0000
@@ -1495,14 +1495,18 @@ function node_execute($node) {
   else {
     // Validate for normal users:
     $node->uid = $user->uid ? $user->uid : 0;
-    // Force defaults in case people modify the form:
+    unset($node->created);
+  }
+
+  if (!user_access('administer nodes') && variable_get('node_reset_options_'. $node->type, 1)) {
+    // Reset post options to defaults if the user is not an administrator and
+    // the node type is set to reset to defaults.
     $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);
     $node->revision = in_array('revision', $node_options);
-    unset($node->created);
   }
 
   // Do node-type-specific validation checks.
@@ -2082,6 +2086,13 @@ function node_form_alter($form_id, &$for
       '#options' => array('status' => t('Published'), 'moderate' => t('In moderation queue'), 'promote' => t('Promoted to front page'), 'sticky' => t('Sticky at top of lists'), 'revision' => t('Create new revision')),
       '#description' => t('Users with the <em>administer nodes</em> permission will be able to override these options.'),
     );
+    $form['workflow']['node_reset_options_'. $form['type']['#value']] = array(
+      '#type' => 'radios',
+      '#title' => t('Reset publishing options to defaults'),
+      '#options' => array(0 => t('Never reset'), 1 => t('Reset when unpriviledged users edit a post')),
+      '#default_value' => variable_get('node_reset_options_'. $form['type']['#value'], 1),
+      '#description' => t('In some situations a user can create and edit their posts, but do not have permission to control the publishing options. Resetting the publishing options ensures that the new content goes through the same review by administrators as the initial posting.'),
+    );
   }
 }
 
