summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDries Buytaert <dries@buytaert.net>2006-01-04 09:04:27 +0000
committerDries Buytaert <dries@buytaert.net>2006-01-04 09:04:27 +0000
commit9e23a23d7371a555f23da840a9f58f6469c42ad2 (patch)
tree6741d624c30f66939047b8ef28fbd739232235c5
parent72ed68d48be7fa16ba8e191f87685361e385dc04 (diff)
downloadbrdo-9e23a23d7371a555f23da840a9f58f6469c42ad2.tar.gz
brdo-9e23a23d7371a555f23da840a9f58f6469c42ad2.tar.bz2
- Patch #35770 by DriesK: make node preview settings work.
-rw-r--r--modules/node.module17
-rw-r--r--modules/node/node.module17
2 files changed, 22 insertions, 12 deletions
diff --git a/modules/node.module b/modules/node.module
index 06130581e..eb243ef75 100644
--- a/modules/node.module
+++ b/modules/node.module
@@ -1685,17 +1685,22 @@ function node_form($node) {
$form['delete'] = array('#type' => 'button', '#value' => t('Delete'), '#weight' => 50);
}
- if ($op == t('Preview')) {
- $form['#after_build'] = 'node_form_add_preview';
- }
+ $form['#after_build'] = 'node_form_add_preview';
return drupal_get_form($node->type . '_node_form', $form, 'node_form');
}
function node_form_add_preview($form, $edit) {
- $edit = (object)$edit;
- node_validate($edit);
- $form['node_preview'] = array('#value' => node_preview($edit), '#weight' => -100);
+ $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);
+ }
+ }
+ if (variable_get('node_preview', 0) && (form_get_errors() || $op != t('Preview'))) {
+ unset($form['submit']);
+ }
return $form;
}
diff --git a/modules/node/node.module b/modules/node/node.module
index 06130581e..eb243ef75 100644
--- a/modules/node/node.module
+++ b/modules/node/node.module
@@ -1685,17 +1685,22 @@ function node_form($node) {
$form['delete'] = array('#type' => 'button', '#value' => t('Delete'), '#weight' => 50);
}
- if ($op == t('Preview')) {
- $form['#after_build'] = 'node_form_add_preview';
- }
+ $form['#after_build'] = 'node_form_add_preview';
return drupal_get_form($node->type . '_node_form', $form, 'node_form');
}
function node_form_add_preview($form, $edit) {
- $edit = (object)$edit;
- node_validate($edit);
- $form['node_preview'] = array('#value' => node_preview($edit), '#weight' => -100);
+ $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);
+ }
+ }
+ if (variable_get('node_preview', 0) && (form_get_errors() || $op != t('Preview'))) {
+ unset($form['submit']);
+ }
return $form;
}