summaryrefslogtreecommitdiff
path: root/modules/node
diff options
context:
space:
mode:
authorDries Buytaert <dries@buytaert.net>2004-11-04 21:02:30 +0000
committerDries Buytaert <dries@buytaert.net>2004-11-04 21:02:30 +0000
commit14353d18ad4682ed6f1e3ab554ef85c42a2bafee (patch)
treee101e98ec87d7762c5c54315bec719d6d80ba32e /modules/node
parent7ad36e3f59b9e50e7da68dff87a254eac4084977 (diff)
downloadbrdo-14353d18ad4682ed6f1e3ab554ef85c42a2bafee.tar.gz
brdo-14353d18ad4682ed6f1e3ab554ef85c42a2bafee.tar.bz2
- Slightly modified the API of node_title_list(): it will no longer call comment_num_all() for each node. Instead, it checks for the availability of the node_comment field, available through the node_comment_statistics table. If updated the Doxygen comments accordingly.
People were using node_title_list() without realizing it would do numereous database queries. This change greatly reduces the number of database queries required to render the node statistics block as well as to render the forum block (coming up next). If your module is using node_title_list() and you want the number of comments to be shown as title attributes, chances are you have to update your SQL query to join node_comment_statistics.
Diffstat (limited to 'modules/node')
-rw-r--r--modules/node/node.module6
1 files changed, 3 insertions, 3 deletions
diff --git a/modules/node/node.module b/modules/node/node.module
index 1f2b24f0d..d16b60127 100644
--- a/modules/node/node.module
+++ b/modules/node/node.module
@@ -75,7 +75,8 @@ function node_help_page() {
* Gather a listing of links to nodes.
*
* @param $result
- * A DB result object from a query to fetch node objects.
+ * A DB result object from a query to fetch node objects. If your query joins the <code>node_comment_statistics</code> table so that the <code>comment_count</code> field is available, a title attribute will be added to show the number of comments.
+ * field to be set.
* @param $title
* A heading for the resulting list.
*
@@ -84,8 +85,7 @@ function node_help_page() {
*/
function node_title_list($result, $title = NULL) {
while ($node = db_fetch_object($result)) {
- $number = module_invoke('comment', 'num_all', $node->nid);
- $items[] = l($node->title, 'node/'. $node->nid, $number ? array('title' => format_plural($number, '1 comment', '%count comments')) : '');
+ $items[] = l($node->title, 'node/'. $node->nid, $node->comment_count ? array('title' => format_plural($node->comment_count, '1 comment', '%count comments')) : '');
}
return theme('node_list', $items, $title);