summaryrefslogtreecommitdiff
path: root/modules/node
diff options
context:
space:
mode:
authorDries Buytaert <dries@buytaert.net>2008-12-31 12:02:24 +0000
committerDries Buytaert <dries@buytaert.net>2008-12-31 12:02:24 +0000
commit5ba50b3fe83b1724b6cec12ded62663167a08e14 (patch)
tree20948b0d3e841b7a41ec7d5e511d70d278e24190 /modules/node
parentd813e3679c57da312cc0de61da90ff2c2eff70a6 (diff)
downloadbrdo-5ba50b3fe83b1724b6cec12ded62663167a08e14.tar.gz
brdo-5ba50b3fe83b1724b6cec12ded62663167a08e14.tar.bz2
- Patch #350984 by Moshe: kick comment rendering out of node module.
Diffstat (limited to 'modules/node')
-rw-r--r--modules/node/node.api.php22
-rw-r--r--modules/node/node.module42
-rw-r--r--modules/node/node.tpl.php4
3 files changed, 23 insertions, 45 deletions
diff --git a/modules/node/node.api.php b/modules/node/node.api.php
index e29d3aeab..e6a406a04 100644
--- a/modules/node/node.api.php
+++ b/modules/node/node.api.php
@@ -166,8 +166,6 @@ function hook_node_operations() {
* The node the action is being performed on.
* @param $teaser
* The $teaser parameter from node_view().
- * @param $page
- * The $page parameter from node_view().
* @return
* None.
*/
@@ -392,22 +390,21 @@ function hook_nodeapi_validate($node, $form) {
* The node content is being assembled before rendering.
*
* The module may add elements $node->content prior to rendering. This hook
- * will be called after hook_view(). The format of $node->content is the
- * same as used by Forms API.
+ * will be called after hook_view(). The structure of $node->content is a renderable
+ * array as expected by drupal_render().
*
* @param $node
* The node the action is being performed on.
* @param $teaser
* The $teaser parameter from node_view().
- * @param $page
- * The $page parameter from node_view().
* @return
* None.
*/
-function hook_nodeapi_view($node, $teaser, $page) {
+function hook_nodeapi_view($node, $teaser) {
$node->content['my_additional_field'] = array(
- '#value' => theme('mymodule_my_additional_field', $additional_field),
+ '#value' => $additional_field,
'#weight' => 10,
+ '#theme' => 'mymodule_my_additional_field',
);
}
@@ -766,11 +763,6 @@ function hook_validate($node, &$form) {
* @param $teaser
* Whether we are to generate a "teaser" or summary of the node, rather than
* display the whole thing.
- * @param $page
- * Whether the node is being displayed as a standalone page. If this is
- * TRUE, the node title should not be displayed, as it will be printed
- * automatically by the theme system. Also, the module may choose to alter
- * the default breadcrumb trail in this case.
* @return
* $node. The passed $node parameter should be modified as necessary and
* returned so it can be properly presented. Nodes are prepared for display
@@ -785,8 +777,8 @@ function hook_validate($node, &$form) {
*
* For a detailed usage example, see node_example.module.
*/
-function hook_view($node, $teaser = FALSE, $page = FALSE) {
- if ($page) {
+function hook_view($node, $teaser = FALSE) {
+ if ((bool)menu_get_object()) {
$breadcrumb = array();
$breadcrumb[] = array('path' => 'example', 'title' => t('example'));
$breadcrumb[] = array('path' => 'example/' . $node->field1,
diff --git a/modules/node/node.module b/modules/node/node.module
index 11ae9e99b..f2e616f6a 100644
--- a/modules/node/node.module
+++ b/modules/node/node.module
@@ -1129,20 +1129,18 @@ function node_delete($nid) {
* A node array or node object.
* @param $teaser
* Whether to display the teaser only or the full form.
- * @param $page
- * Whether the node is being displayed by itself as a page.
* @param $links
* Whether or not to display node links. Links are omitted for node previews.
*
* @return
* An HTML representation of the themed node.
*/
-function node_view($node, $teaser = FALSE, $page = FALSE) {
+function node_view($node, $teaser = FALSE) {
$node = (object)$node;
- $node = node_build_content($node, $teaser, $page);
+ $node = node_build_content($node, $teaser);
- return theme('node', $node, $teaser, $page);
+ return theme('node', $node, $teaser);
}
/**
@@ -1176,14 +1174,12 @@ function node_prepare($node, $teaser = FALSE) {
* A node object.
* @param $teaser
* Whether to display the teaser only, as on the main page.
- * @param $page
- * Whether the node is being displayed by itself as a page.
*
* @return
* An structured array containing the individual elements
* of the node's body.
*/
-function node_build_content($node, $teaser = FALSE, $page = FALSE) {
+function node_build_content($node, $teaser = FALSE) {
// The build mode identifies the target for which the node is built.
if (!isset($node->build_mode)) {
@@ -1196,35 +1192,31 @@ function node_build_content($node, $teaser = FALSE, $page = FALSE) {
// The 'view' hook can be implemented to overwrite the default function
// to display nodes.
if (node_hook($node, 'view')) {
- $node = node_invoke($node, 'view', $teaser, $page);
+ $node = node_invoke($node, 'view', $teaser);
}
else {
$node = node_prepare($node, $teaser);
}
// Allow modules to make their own additions to the node.
- node_invoke_nodeapi($node, 'view', $teaser, $page);
+ node_invoke_nodeapi($node, 'view', $teaser);
// Allow modules to modify the structured node.
- drupal_alter('node_view', $node, $teaser, $page);
+ drupal_alter('node_view', $node, $teaser);
return $node;
}
/**
- * Generate a page displaying a single node, along with its comments.
+ * Generate a page displaying a single node.
*/
-function node_show($node, $cid, $message = FALSE) {
+function node_show($node, $message = FALSE) {
if ($message) {
drupal_set_title(t('Revision of %title from %date', array('%title' => $node->title, '%date' => format_date($node->revision_timestamp))), PASS_THROUGH);
}
$output = node_view($node, FALSE, TRUE);
- if (function_exists('comment_render') && $node->comment) {
- $output .= comment_render($node, $cid);
- }
-
// Update the history table, stating that this user viewed this node.
node_tag_new($node->nid);
@@ -1514,14 +1506,6 @@ function theme_node_search_admin($form) {
}
/**
- * Retrieve the comment mode for the given node ID (none, read, or read/write).
- */
-function node_comment_mode($nid) {
- $node = node_load($nid);
- return $node->comment;
-}
-
-/**
* Implementation of hook_link().
*/
function node_link($type, $node = NULL, $teaser = FALSE) {
@@ -1720,7 +1704,7 @@ function node_menu() {
'title' => 'Revisions',
'load arguments' => array(3),
'page callback' => 'node_show',
- 'page arguments' => array(1, NULL, TRUE),
+ 'page arguments' => array(1, TRUE),
'access callback' => '_node_revision_access',
'access arguments' => array(1),
'type' => MENU_CALLBACK,
@@ -1924,9 +1908,9 @@ function node_page_default() {
/**
* Menu callback; view a single node.
*/
-function node_page_view($node, $cid = NULL) {
+function node_page_view($node) {
drupal_set_title($node->title);
- return node_show($node, $cid);
+ return node_show($node);
}
/**
@@ -1935,8 +1919,6 @@ function node_page_view($node, $cid = NULL) {
function node_update_index() {
$limit = (int)variable_get('search_cron_limit', 100);
- // Store the maximum possible comments per thread (used for ranking by reply count)
- variable_set('node_cron_comments_scale', 1.0 / max(1, db_result(db_query('SELECT MAX(comment_count) FROM {node_comment_statistics}'))));
variable_set('node_cron_views_scale', 1.0 / max(1, db_result(db_query('SELECT MAX(totalcount) FROM {node_counter}'))));
$result = db_query_range("SELECT n.nid FROM {node} n LEFT JOIN {search_dataset} d ON d.type = 'node' AND d.sid = n.nid WHERE d.sid IS NULL OR d.reindex <> 0 ORDER BY d.reindex ASC, n.nid ASC", 0, $limit);
diff --git a/modules/node/node.tpl.php b/modules/node/node.tpl.php
index 9a92d5a1c..4162a83e1 100644
--- a/modules/node/node.tpl.php
+++ b/modules/node/node.tpl.php
@@ -8,6 +8,7 @@
* Available variables:
* - $title: the (sanitized) title of the node.
* - $content: Node body or teaser depending on $teaser flag.
+ * - $comments: the themed list of comments (if any).
* - $picture: The authors picture of the node output from
* theme_user_picture().
* - $date: Formatted creation date (use $created to reformat with
@@ -70,4 +71,7 @@
</div>
<?php print $links; ?>
+
+ <?php print $comments; ?>
+
</div> \ No newline at end of file