summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNeil Drumm <drumm@3064.no-reply.drupal.org>2006-04-30 00:43:53 +0000
committerNeil Drumm <drumm@3064.no-reply.drupal.org>2006-04-30 00:43:53 +0000
commit5fea19e8b6bed9277686f70d97656adea90887b5 (patch)
treebf522c056896d3b2fcdf06cfbb39b2b7e6887434
parent0991afa0429411c506c5c6d528660ec4c8512954 (diff)
downloadbrdo-5fea19e8b6bed9277686f70d97656adea90887b5.tar.gz
brdo-5fea19e8b6bed9277686f70d97656adea90887b5.tar.bz2
Forward port from 4.7
#59935, It's impossible to preserve stuff by calling form_set_value from hook_validate to submit, patch by tenrapid
-rw-r--r--modules/node.module7
-rw-r--r--modules/node/node.module7
2 files changed, 10 insertions, 4 deletions
diff --git a/modules/node.module b/modules/node.module
index 3a57c1c87..ab6ae83e1 100644
--- a/modules/node.module
+++ b/modules/node.module
@@ -1659,12 +1659,15 @@ function node_form_array($node) {
return $form;
}
-function node_form_add_preview($form, $edit) {
+function node_form_add_preview($form) {
+ global $form_values;
+
$op = isset($_POST['op']) ? $_POST['op'] : '';
if ($op == t('Preview')) {
drupal_validate_form($form['form_id']['#value'], $form);
if (!form_get_errors()) {
- $form['node_preview'] = array('#value' => node_preview((object)$edit), '#weight' => -100);
+ // We pass the global $form_values here to preserve changes made during form validation
+ $form['node_preview'] = array('#value' => node_preview((object)$form_values), '#weight' => -100);
}
}
if (variable_get('node_preview', 0) && (form_get_errors() || $op != t('Preview'))) {
diff --git a/modules/node/node.module b/modules/node/node.module
index 3a57c1c87..ab6ae83e1 100644
--- a/modules/node/node.module
+++ b/modules/node/node.module
@@ -1659,12 +1659,15 @@ function node_form_array($node) {
return $form;
}
-function node_form_add_preview($form, $edit) {
+function node_form_add_preview($form) {
+ global $form_values;
+
$op = isset($_POST['op']) ? $_POST['op'] : '';
if ($op == t('Preview')) {
drupal_validate_form($form['form_id']['#value'], $form);
if (!form_get_errors()) {
- $form['node_preview'] = array('#value' => node_preview((object)$edit), '#weight' => -100);
+ // We pass the global $form_values here to preserve changes made during form validation
+ $form['node_preview'] = array('#value' => node_preview((object)$form_values), '#weight' => -100);
}
}
if (variable_get('node_preview', 0) && (form_get_errors() || $op != t('Preview'))) {