function comment_nodeapi in Drupal 6
Same name and namespace in other branches
- 4 modules/comment.module \comment_nodeapi()
- 5 modules/comment/comment.module \comment_nodeapi()
Implementation of hook_nodeapi().
1 call to comment_nodeapi()
- node_search in modules/
node/ node.module - Implementation of hook_search().
File
- modules/
comment/ comment.module, line 593 - Enables users to comment on published content.
Code
function comment_nodeapi(&$node, $op, $arg = 0) {
switch ($op) {
case 'load':
return db_fetch_array(db_query("SELECT last_comment_timestamp, last_comment_name, comment_count FROM {node_comment_statistics} WHERE nid = %d", $node->nid));
break;
case 'prepare':
if (!isset($node->comment)) {
$node->comment = variable_get("comment_{$node->type}", COMMENT_NODE_READ_WRITE);
}
break;
case 'insert':
db_query('INSERT INTO {node_comment_statistics} (nid, last_comment_timestamp, last_comment_name, last_comment_uid, comment_count) VALUES (%d, %d, NULL, %d, 0)', $node->nid, $node->changed, $node->uid);
break;
case 'delete':
db_query('DELETE FROM {comments} WHERE nid = %d', $node->nid);
db_query('DELETE FROM {node_comment_statistics} WHERE nid = %d', $node->nid);
break;
case 'update index':
$text = '';
$comments = db_query('SELECT subject, comment, format FROM {comments} WHERE nid = %d AND status = %d', $node->nid, COMMENT_PUBLISHED);
while ($comment = db_fetch_object($comments)) {
$text .= '<h2>' . check_plain($comment->subject) . '</h2>' . check_markup($comment->comment, $comment->format, FALSE);
}
return $text;
case 'search result':
$comments = db_result(db_query('SELECT comment_count FROM {node_comment_statistics} WHERE nid = %d', $node->nid));
return format_plural($comments, '1 comment', '@count comments');
case 'rss item':
if ($node->comment != COMMENT_NODE_DISABLED) {
return array(
array(
'key' => 'comments',
'value' => url('node/' . $node->nid, array(
'fragment' => 'comments',
'absolute' => TRUE,
)),
),
);
}
else {
return array();
}
}
}