forum_link
Definition
forum_link($type, $node = 0, $main = 0)
modules/forum.module, line 368
Description
Implementation of hook_link().
Code
<?php
function forum_link($type, $node = 0, $main = 0) {
global $user;
$links = array();
if (!$main && $type == 'node' && $node->type == 'forum') {
// get previous and next topic
$sql = "SELECT n.nid, n.title, n.sticky, l.comment_count, l.last_comment_timestamp FROM {node} n INNER JOIN {node_comment_statistics} l ON n.nid = l.nid INNER JOIN {term_node} r ON n.nid = r.nid AND r.tid = %d WHERE n.status = 1 AND n.type = 'forum' ORDER BY n.sticky DESC, ". _forum_get_topic_order_sql(variable_get('forum_order', 1));
$sql = db_rewrite_sql($sql);
$result = db_query($sql, $node->tid);
while ($topic = db_fetch_object($result)) {
if ($stop == 1) {
$next = new StdClass();
$next->nid = $topic->nid;
$next->title = $topic->title;
break;
}
if ($topic->nid == $node->nid) {
$stop = 1;
}
else {
$prev = new StdClass();
$prev->nid = $topic->nid;
$prev->title = $topic->title;
}
}
if ($prev) {
$links[] = l(t('previous forum topic'), "node/$prev->nid", array('title' => check_plain($prev->title)));
}
if ($next) {
$links[] = l(t('next forum topic'), "node/$next->nid", array('title' => check_plain($next->title)));
}
}
return $links;
}
?> 