theme_forum_topic_list

  1. drupal
    1. 4.7
    2. 5 forum.module
    3. 6 theme.php
    4. 7 theme.php
Versions
4.7 – 5 theme_forum_topic_list($tid, $topics, $sortby, $forum_per_page)
6 theme_forum_topic_list()
7 theme_forum_topic_list($variables)

Format the topic listing.

Related topics

Code

modules/forum.module, line 983

<?php
function theme_forum_topic_list($tid, $topics, $sortby, $forum_per_page) {
  global $forum_topic_list_header;

  if ($topics) {

    foreach ($topics as $topic) {
      // folder is new if topic is new or there are new comments since last visit
      if ($topic->tid != $tid) {
        $rows[] = array(
          array(
            'data' => theme('forum_icon', $topic->new, $topic->num_comments, $topic->comment_mode, $topic->sticky),
            'class' => 'icon',
          ),
          array(
            'data' => check_plain($topic->title),
            'class' => 'title',
          ),
          array(
            'data' => l(t('This topic has been moved'), "forum/$topic->tid"),
            'colspan' => '3',
          ),
        );
      }
      else {
        $rows[] = array(
          array(
            'data' => theme('forum_icon', $topic->new, $topic->num_comments, $topic->comment_mode, $topic->sticky),
            'class' => 'icon',
          ),
          array(
            'data' => l($topic->title, "node/$topic->nid"),
            'class' => 'topic',
          ),
          array(
            'data' => $topic->num_comments . ($topic->new_replies ? '<br />' . l(format_plural($topic->new_replies, '1 new', '%count new'), "node/$topic->nid", NULL, NULL, 'new') : ''),
            'class' => 'replies',
          ),
          array(
            'data' => _forum_format($topic),
            'class' => 'created',
          ),
          array(
            'data' => _forum_format($topic->last_reply),
            'class' => 'last-reply',
          ),
        );
      }
    }
  }

  $output .= theme('table', $forum_topic_list_header, $rows);
  $output .= theme('pager', NULL, $forum_per_page, 0);

  return $output;
}
?>