summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--modules/node.module14
-rw-r--r--modules/node/node.module14
2 files changed, 16 insertions, 12 deletions
diff --git a/modules/node.module b/modules/node.module
index 9bdb61f39..364e86567 100644
--- a/modules/node.module
+++ b/modules/node.module
@@ -1584,11 +1584,9 @@ function node_submit($node) {
$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);
- $node->revision = in_array('revision', $node_options);
+ foreach (array('status', 'moderate', 'promote', 'sticky', 'revision') as $key) {
+ $node->$key = in_array($key, $node_options);
+ }
unset($node->created);
}
@@ -1710,7 +1708,11 @@ function node_form_array($node) {
$form['options'][$key] = array('#type' => 'value', '#value' => $node->$key);
}
}
- $form['#node'] = $node;
+ else {
+ // Nodes being edited should always be preset with the default revision setting.
+ $node->revision = in_array('revision', $node_options);
+ }
+ $form['#node'] = $node;
if (user_access('administer nodes')) {
// Node author information
diff --git a/modules/node/node.module b/modules/node/node.module
index 9bdb61f39..364e86567 100644
--- a/modules/node/node.module
+++ b/modules/node/node.module
@@ -1584,11 +1584,9 @@ function node_submit($node) {
$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);
- $node->revision = in_array('revision', $node_options);
+ foreach (array('status', 'moderate', 'promote', 'sticky', 'revision') as $key) {
+ $node->$key = in_array($key, $node_options);
+ }
unset($node->created);
}
@@ -1710,7 +1708,11 @@ function node_form_array($node) {
$form['options'][$key] = array('#type' => 'value', '#value' => $node->$key);
}
}
- $form['#node'] = $node;
+ else {
+ // Nodes being edited should always be preset with the default revision setting.
+ $node->revision = in_array('revision', $node_options);
+ }
+ $form['#node'] = $node;
if (user_access('administer nodes')) {
// Node author information