#721754: Remove node_is_page(), and rename the 'full' view mode to 'page'. From: Damien Tournoud --- blog/blog.module | 2 +- book/book.module | 4 ++-- comment/comment.module | 2 +- forum/forum.module | 2 +- node/node.api.php | 6 +++--- node/node.module | 27 ++++++++++----------------- node/node.tpl.php | 2 +- bartik/templates/node.tpl.php | 2 +- 8 files changed, 20 insertions(+), 27 deletions(-) diff --git modules/blog/blog.module modules/blog/blog.module index 07bf67c..a2531e4 100644 --- modules/blog/blog.module +++ modules/blog/blog.module @@ -67,7 +67,7 @@ function blog_form($node, $form_state) { * Implements hook_view(). */ function blog_view($node, $view_mode) { - if (node_is_page($node)) { + if ($view_mode == 'page') { // Breadcrumb navigation. drupal_set_breadcrumb(array(l(t('Home'), NULL), l(t('Blogs'), 'blog'), l(t("!name's blog", array('!name' => format_username($node))), 'blog/' . $node->uid))); } diff --git modules/book/book.module modules/book/book.module index 04a8f8c..8836ca9 100644 --- modules/book/book.module +++ modules/book/book.module @@ -91,7 +91,7 @@ function book_node_view_link($node, $view_mode) { $links = array(); if (isset($node->book['depth'])) { - if ($view_mode == 'full') { + if ($view_mode == 'page') { $child_type = variable_get('book_child_type', 'book'); if ((user_access('add content to books') || user_access('administer book outlines')) && node_access('create', $child_type) && $node->status == 1 && $node->book['depth'] < MENU_MAX_DEPTH) { $links['book_add_child'] = array( @@ -803,7 +803,7 @@ function book_node_load($nodes, $types) { * Implements hook_node_view(). */ function book_node_view($node, $view_mode) { - if ($view_mode == 'full') { + if ($view_mode == 'page') { if (!empty($node->book['bid']) && empty($node->in_preview)) { $node->content['book_navigation'] = array( '#markup' => theme('book_navigation', array('book_link' => $node->book)), diff --git modules/comment/comment.module modules/comment/comment.module index 1d818f5..6395ff0 100644 --- modules/comment/comment.module +++ modules/comment/comment.module @@ -691,7 +691,7 @@ function comment_node_view($node, $view_mode) { // page. We compare $node and $page_node to ensure that comments are not // appended to other nodes shown on the page, for example a node_reference // displayed in 'full' view mode within another node. - if ($node->comment && node_is_page($node) && empty($node->in_preview) && user_access('access comments')) { + if ($node->comment && $view_mode == 'page' && empty($node->in_preview) && user_access('access comments')) { $node->content['comments'] = comment_node_page_additions($node); } } diff --git modules/forum/forum.module modules/forum/forum.module index eaae274..172524f 100644 --- modules/forum/forum.module +++ modules/forum/forum.module @@ -277,7 +277,7 @@ function forum_node_view($node, $view_mode) { $vid = variable_get('forum_nav_vocabulary', 0); $vocabulary = taxonomy_vocabulary_load($vid); if (_forum_node_check_node_type($node)) { - if (node_is_page($node)) { + if ($view_mode == 'page') { // Breadcrumb navigation $breadcrumb[] = l(t('Home'), NULL); $breadcrumb[] = l($vocabulary->name, 'forum'); diff --git modules/node/node.api.php modules/node/node.api.php index 490205e..b963d66 100644 --- modules/node/node.api.php +++ modules/node/node.api.php @@ -743,7 +743,7 @@ function hook_node_view($node, $view_mode) { * @ingroup node_api_hooks */ function hook_node_view_alter(&$build) { - if ($build['#view_mode'] == 'full' && isset($build['an_additional_field'])) { + if ($build['#view_mode'] == 'page' && isset($build['an_additional_field'])) { // Change its weight. $build['an_additional_field']['#weight'] = -10; } @@ -1137,7 +1137,7 @@ function hook_validate($node, &$form) { * @param $node * The node to be displayed, as returned by node_load(). * @param $view_mode - * View mode, e.g. 'full', 'teaser', ... + * View mode, e.g. 'page', 'full', 'teaser', ... * @return * $node. The passed $node parameter should be modified as necessary and * returned so it can be properly presented. Nodes are prepared for display @@ -1155,7 +1155,7 @@ function hook_validate($node, &$form) { * @ingroup node_api_hooks */ function hook_view($node, $view_mode) { - if (node_is_page($node)) { + if ($view_mode == 'page') { $breadcrumb = array(); $breadcrumb[] = l(t('Home'), NULL); $breadcrumb[] = l(t('Example'), 'example'); diff --git modules/node/node.module modules/node/node.module index bd6a7b9..b2e7563 100644 --- modules/node/node.module +++ modules/node/node.module @@ -191,6 +191,10 @@ function node_entity_info() { 'label' => t('Full content'), 'custom settings' => FALSE, ), + 'page' => array( + 'label' => t('Page view'), + 'custom settings' => FALSE, + ), 'teaser' => array( 'label' => t('Teaser'), 'custom settings' => TRUE, @@ -1196,7 +1200,7 @@ function node_revision_delete($revision_id) { * @param $node * A node object. * @param $view_mode - * View mode, e.g. 'full', 'teaser'... + * View mode, e.g. 'full', 'page', 'teaser'... * * @return * An array as expected by drupal_render(). @@ -1218,7 +1222,7 @@ function node_view($node, $view_mode = 'full') { // displayed on its own page. Modules may alter this behavior (for example, // to restrict contextual links to certain view modes) by implementing // hook_node_view_alter(). - if (!node_is_page($node)) { + if ($view_mode != 'page') { $build['#contextual_links']['node'] = array('node', array($node->nid)); } @@ -1251,7 +1255,7 @@ function node_view($node, $view_mode = 'full') { * @param $node * A node object. * @param $view_mode - * View mode, e.g. 'full', 'teaser'... + * View mode, e.g. 'full', 'page', 'teaser'... */ function node_build_content($node, $view_mode = 'full') { // Remove previously built content, if exists. @@ -1310,18 +1314,7 @@ function node_show($node, $message = FALSE) { node_tag_new($node); // For markup consistency with other pages, use node_view_multiple() rather than node_view(). - return node_view_multiple(array($node->nid => $node), 'full'); -} - -/** - * Returns whether the current page is the full page view of the passed in node. - * - * @param $node - * A node object. - */ -function node_is_page($node) { - $page_node = menu_get_object(); - return (!empty($page_node) ? $page_node->nid == $node->nid : FALSE); + return node_view_multiple(array($node->nid => $node), 'page'); } /** @@ -1351,7 +1344,7 @@ function template_preprocess_node(&$variables) { $uri = entity_uri('node', $node); $variables['node_url'] = url($uri['path'], $uri['options']); $variables['title'] = check_plain($node->title); - $variables['page'] = node_is_page($node); + $variables['page'] = $variables['view_mode'] == 'page'; if (!empty($node->in_preview)) { unset($node->content['links']); @@ -2429,7 +2422,7 @@ function node_feed($nids = FALSE, $channel = array()) { * @param $nodes * An array of nodes as returned by node_load_multiple(). * @param $view_mode - * View mode, e.g. 'full', 'teaser'... + * View mode, e.g. 'full', 'page', 'teaser'... * @param $weight * An integer representing the weight of the first node in the list. * @return diff --git modules/node/node.tpl.php modules/node/node.tpl.php index 19b5f0c..48b385e 100644 --- modules/node/node.tpl.php +++ modules/node/node.tpl.php @@ -52,7 +52,7 @@ * - $id: Position of the node. Increments each time it's output. * * Node status variables: - * - $view_mode: View mode, e.g. 'full', 'teaser'... + * - $view_mode: View mode, e.g. 'full', 'page', 'teaser'... * - $teaser: Flag for the teaser state (shortcut for $view_mode == 'teaser'). * - $page: Flag for the full page state. * - $promote: Flag for front page promotion state. diff --git themes/bartik/templates/node.tpl.php themes/bartik/templates/node.tpl.php index 6961698..8229059 100644 --- themes/bartik/templates/node.tpl.php +++ themes/bartik/templates/node.tpl.php @@ -52,7 +52,7 @@ * - $id: Position of the node. Increments each time it's output. * * Node status variables: - * - $view_mode: View mode, e.g. 'full', 'teaser'... + * - $view_mode: View mode, e.g. 'full', 'page', 'teaser'... * - $teaser: Flag for the teaser state (shortcut for $view_mode == 'teaser'). * - $page: Flag for the full page state. * - $promote: Flag for front page promotion state.