diff options
author | Neil Drumm <drumm@3064.no-reply.drupal.org> | 2006-04-30 00:43:53 +0000 |
---|---|---|
committer | Neil Drumm <drumm@3064.no-reply.drupal.org> | 2006-04-30 00:43:53 +0000 |
commit | 5fea19e8b6bed9277686f70d97656adea90887b5 (patch) | |
tree | bf522c056896d3b2fcdf06cfbb39b2b7e6887434 | |
parent | 0991afa0429411c506c5c6d528660ec4c8512954 (diff) | |
download | brdo-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.module | 7 | ||||
-rw-r--r-- | modules/node/node.module | 7 |
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'))) { |