theme_forum_topic_navigation
Definition
theme_forum_topic_navigation($node)
modules/forum.module, line 1050
Description
Format the next/previous forum topic navigation links.
Related topics
| Name | Description |
|---|---|
| Themeable functions | Functions that display HTML, and which can be customized by themes. |
Code
<?php
function theme_forum_topic_navigation($node) {
$output = '';
// 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));
$result = db_query(db_rewrite_sql($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 || $next) {
$output .= '<div class="forum-topic-navigation">';
if ($prev) {
$output .= l(t('‹ ') . $prev->title, 'node/'. $prev->nid, array('class' => 'topic-previous', 'title' => t('Go to previous forum topic')));
}
if ($prev && $next) {
// Word break (a is an inline element)
$output .= ' ';
}
if ($next) {
$output .= l($next->title . t(' ›'), 'node/'. $next->nid, array('class' => 'topic-next', 'title' => t('Go to next forum topic')));
}
$output .= '<br class="clear" /></div>';
}
return $output;
}
?> 