#721754: Remove node_is_page(), and rename the 'full' view mode to 'page'.

From: Damien Tournoud <damien@commerceguys.com>


---
 blog/blog.module              |    2 +-
 book/book.module              |    4 ++--
 comment/comment.module        |    2 +-
 forum/forum.module            |    2 +-
 node/node.api.php             |    6 +++---
 node/node.module              |   31 ++++++++++---------------------
 node/node.pages.inc           |    4 ++--
 node/node.tpl.php             |    2 +-
 bartik/templates/node.tpl.php |    2 +-
 9 files changed, 22 insertions(+), 33 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', '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..1f74012 100644
--- modules/node/node.module
+++ modules/node/node.module
@@ -187,8 +187,8 @@ function node_entity_info() {
       ),
       'bundles' => array(),
       'view modes' => array(
-        'full' => array(
-          'label' => t('Full content'),
+        'page' => array(
+          'label' => t('Page view'),
           'custom settings' => FALSE,
         ),
         'teaser' => array(
@@ -1196,12 +1196,12 @@ function node_revision_delete($revision_id) {
  * @param $node
  *   A node object.
  * @param $view_mode
- *   View mode, e.g. 'full', 'teaser'...
+ *   View mode, e.g. 'page', 'teaser'...
  *
  * @return
  *   An array as expected by drupal_render().
  */
-function node_view($node, $view_mode = 'full') {
+function node_view($node, $view_mode = 'page') {
   // Populate $node->content with a render() array.
   node_build_content($node, $view_mode);
 
@@ -1218,7 +1218,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,9 +1251,9 @@ 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. 'page', 'teaser'...
  */
-function node_build_content($node, $view_mode = 'full') {
+function node_build_content($node, $view_mode = 'page') {
   // Remove previously built content, if exists.
   $node->content = array();
 
@@ -1310,18 +1310,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 +1340,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 +2418,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. 'page', 'teaser'...
  * @param $weight
  *   An integer representing the weight of the first node in the list.
  * @return
diff --git modules/node/node.pages.inc modules/node/node.pages.inc
index c5a8307..4824f6b 100644
--- modules/node/node.pages.inc
+++ modules/node/node.pages.inc
@@ -336,7 +336,7 @@ function node_preview($node) {
 
     $node->changed = REQUEST_TIME;
     $nodes = array($node->nid => $node);
-    field_attach_prepare_view('node', $nodes, 'full');
+    field_attach_prepare_view('node', $nodes, 'page');
 
     // Display a preview of the node.
     // Previewing alters $node so it needs to be cloned.
@@ -369,7 +369,7 @@ function theme_node_preview($variables) {
 
   $elements = node_view(clone $node, 'teaser');
   $trimmed = drupal_render($elements);
-  $elements = node_view($node, 'full');
+  $elements = node_view($node, 'page');
   $full = drupal_render($elements);
 
   // Do we need to preview trimmed version of post as well as full version?
diff --git modules/node/node.tpl.php modules/node/node.tpl.php
index 19b5f0c..8f5eeaf 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. '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..d095dc1 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. '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.
