node_preview
- Versions
- 4.6 – 7
node_preview($node)
Generate a node preview.
Code
modules/node/node.pages.inc, line 341
<?php
function node_preview($node) {
if (node_access('create', $node) || node_access('update', $node)) {
_field_invoke_multiple('load', 'node', array($node->nid => $node));
// Load the user's name when needed.
if (isset($node->name)) {
// The use of isset() is mandatory in the context of user IDs, because
// user ID 0 denotes the anonymous user.
if ($user = user_load_by_name($node->name)) {
$node->uid = $user->uid;
$node->picture = $user->picture;
}
else {
$node->uid = 0; // anonymous user
}
}
elseif ($node->uid) {
$user = user_load($node->uid);
$node->name = $user->name;
$node->picture = $user->picture;
}
$node->changed = REQUEST_TIME;
$nodes = array($node->nid => $node);
field_attach_prepare_view('node', $nodes, 'full');
// Display a preview of the node.
// Previewing alters $node so it needs to be cloned.
if (!form_get_errors()) {
$cloned_node = clone $node;
$cloned_node->in_preview = TRUE;
$output = theme('node_preview', array('node' => $cloned_node));
}
drupal_set_title(t('Preview'), PASS_THROUGH);
return $output;
}
}
?>Login or register to post comments 