summaryrefslogtreecommitdiff
path: root/modules/node/node.module
diff options
context:
space:
mode:
Diffstat (limited to 'modules/node/node.module')
-rw-r--r--modules/node/node.module62
1 files changed, 62 insertions, 0 deletions
diff --git a/modules/node/node.module b/modules/node/node.module
index cf0271f17..368896e4c 100644
--- a/modules/node/node.module
+++ b/modules/node/node.module
@@ -1335,6 +1335,68 @@ function node_show($node, $message = FALSE) {
}
/**
+ * Process variables for node.tpl.php
+ *
+ * Most themes utilize their own copy of node.tpl.php. The default is located
+ * inside "modules/node/node.tpl.php". Look in there for the full list of
+ * variables.
+ *
+ * The $variables array contains the following arguments:
+ * - $node
+ * - $teaser
+ * - $page
+ *
+ * @see node.tpl.php
+ */
+function template_preprocess_node(&$variables) {
+ $variables['teaser'] = $variables['elements']['#teaser'];
+ $variables['node'] = $variables['elements']['#node'];
+ $node = $variables['node'];
+
+ $variables['date'] = format_date($node->created);
+ $variables['name'] = theme('username', $node);
+ $variables['node_url'] = url('node/' . $node->nid);
+ $variables['title'] = check_plain($node->title);
+ $variables['page'] = (bool)menu_get_object();
+
+ if ($node->build_mode == NODE_BUILD_PREVIEW) {
+ unset($node->content['links']);
+ }
+
+ // Render taxonomy links separately.
+ $variables['terms'] = !empty($node->content['links']['terms']) ? drupal_render($node->content['links']['terms']) : '';
+
+ // Render all remaining node links.
+ $variables['links'] = !empty($node->content['links']) ? drupal_render($node->content['links']) : '';
+
+ // Render any comments.
+ $variables['comments'] = !empty($node->content['comments']) ? drupal_render($node->content['comments']) : '';
+
+ // Render the rest of the node into $content.
+ $variables['content'] = drupal_render($node->content);
+
+ // Flatten the node object's member fields.
+ $variables = array_merge((array)$node, $variables);
+
+ // Display post information only on certain node types.
+ if (variable_get('node_submitted_' . $node->type, TRUE)) {
+ $variables['submitted'] = theme('node_submitted', $node);
+ $variables['picture'] = theme_get_setting('toggle_node_user_picture') ? theme('user_picture', $node) : '';
+ }
+ else {
+ $variables['submitted'] = '';
+ $variables['picture'] = '';
+ }
+ // Clean up name so there are no underscores.
+ $variables['template_files'][] = 'node-' . str_replace('_', '-', $node->type);
+ $variables['template_files'][] = 'node-' . $node->nid;
+
+ // Add $FIELD_NAME_rendered variables for fields.
+ drupal_function_exists('field_attach_preprocess');
+ $variables += field_attach_preprocess('node', $node);
+}
+
+/**
* Theme a log message.
*
* @ingroup themeable