You are here

function node_view in Drupal 5

Same name and namespace in other branches
  1. 8 core/modules/node/node.module \node_view()
  2. 4 modules/node.module \node_view()
  3. 6 modules/node/node.module \node_view()
  4. 7 modules/node/node.module \node_view()

Generate a display of the given node.

Parameters

$node: A node array or node object.

$teaser: Whether to display the teaser only, as on the main page.

$page: Whether the node is being displayed by itself as a page.

$links: Whether or not to display node links. Links are omitted for node previews.

Return value

An HTML representation of the themed node.

8 calls to node_view()
blog_page_last in modules/blog/blog.module
Displays a Drupal page containing recent blog entries of all users.
blog_page_user in modules/blog/blog.module
Displays a Drupal page containing recent blog entries of a given user.
comment_form_add_preview in modules/comment/comment.module
comment_reply in modules/comment/comment.module
This function is responsible for generating a comment reply form. There are several cases that have to be handled, including:
node_page_default in modules/node/node.module
Menu callback; Generate a listing of promoted nodes.

... See full list

File

modules/node/node.module, line 725
The core that allows content to be submitted to the site. Modules and scripts may programmatically submit nodes using the usual form API pattern.

Code

function node_view($node, $teaser = FALSE, $page = FALSE, $links = TRUE) {
  $node = (object) $node;
  $node = node_build_content($node, $teaser, $page);
  if ($links) {
    $node->links = module_invoke_all('link', 'node', $node, $teaser);
    foreach (module_implements('link_alter') as $module) {
      $function = $module . '_link_alter';
      $function($node, $node->links);
    }
  }

  // Set the proper node part, then unset unused $node part so that a bad
  // theme can not open a security hole.
  $content = drupal_render($node->content);
  if ($teaser) {
    $node->teaser = $content;
    unset($node->body);
  }
  else {
    $node->body = $content;
    unset($node->teaser);
  }

  // Allow modules to modify the fully-built node.
  node_invoke_nodeapi($node, 'alter', $teaser, $page);
  return theme('node', $node, $teaser, $page);
}