summaryrefslogtreecommitdiff
path: root/modules/node.module
diff options
context:
space:
mode:
Diffstat (limited to 'modules/node.module')
-rw-r--r--modules/node.module12
1 files changed, 4 insertions, 8 deletions
diff --git a/modules/node.module b/modules/node.module
index 376d09fc8..fd385d38e 100644
--- a/modules/node.module
+++ b/modules/node.module
@@ -1608,13 +1608,7 @@ function node_form($node) {
$form['type'] = array('#type' => 'value', '#value' => $node->type);
// Get the node-specific bits.
- // We can't use node_invoke() because $param must be passed by reference.
- $function = node_get_base($node) .'_form';
- $param = array();
- if (function_exists($function)) {
- $node_form = $function($node, $param);
- $form = array_merge($form, $function($node, $param));
- }
+ $form = array_merge($form, node_invoke($node, 'form'));
/**
* Node author information
@@ -1772,7 +1766,9 @@ function node_preview($node) {
// Display a preview of the node:
// Previewing alters $node so it needs to be cloned.
if (!form_get_errors()) {
- $output = theme('node_preview', drupal_clone($node));
+ $cloned_node = drupal_clone($node);
+ $cloned_node->in_preview = TRUE;
+ $output = theme('node_preview', $cloned_node);
}
drupal_set_title(t('Preview'));
drupal_set_breadcrumb(array(l(t('Home'), NULL), l(t('create content'), 'node/add'), l(t('Submit %name', array('%name' => node_get_name($node))), 'node/add/'. $node->type)));