function mothership_preprocess_forum_list(&$variables) { global $user; $row = 0; $count = 0; $count2 = 0; // Sanitize each forum so that the template can safely print the data. foreach ($variables['forums'] as $id => $forum) { $variables['forums'][$id]->description = !empty($forum->description) ? filter_xss_admin($forum->description) : ''; $variables['forums'][$id]->link = url("forum/{$forum->tid}"); $variables['forums'][$id]->name = check_plain($forum->name); $variables['forums'][$id]->is_container = !empty($forum->container); $variables['forums'][$id]->zebra = $row % 2 == 0 ? 'odd' : 'even'; $row++; // $variables['forums'][$id]->depth == 1 // make a count of the non container forums if ($variables['forums'][$id]->depth) { if (!$variables['forums'][$id]->is_container) { $variables['forums'][$id]->count = $count; $count++; } } else { if (!$variables['forums'][$id]->is_container) { $variables['forums'][$id]->count = $count2; $count2++; } } $variables['forums'][$id]->new_text = ''; $variables['forums'][$id]->new_url = ''; $variables['forums'][$id]->new_topics = 0; $variables['forums'][$id]->old_topics = $forum->num_topics; $variables['forums'][$id]->icon_class = 'default'; $variables['forums'][$id]->icon_title = t('No new posts'); if ($user->uid) { $variables['forums'][$id]->new_topics = _forum_topics_unread($forum->tid, $user->uid); if ($variables['forums'][$id]->new_topics) { $variables['forums'][$id]->new_text = format_plural($variables['forums'][$id]->new_topics, '1 new', '@count new'); $variables['forums'][$id]->new_url = url("forum/{$forum->tid}", array('fragment' => 'new')); $variables['forums'][$id]->icon_class = 'new'; $variables['forums'][$id]->icon_title = t('New posts'); } $variables['forums'][$id]->old_topics = $forum->num_topics - $variables['forums'][$id]->new_topics; } $variables['forums'][$id]->last_reply = theme('forum_submitted', array('topic' => $forum->last_post)); } // $tid = term id. if (isset($variables['tid'])) { $variables['forum_id'] = $variables['tid']; unset($variables['tid']); } }
function _scratchy_forum_list($forums, $parents, $tid) { global $user; if ($forums) { $header = array(t('Forum'), t('Topics'), t('Posts'), t('Last post')); foreach ($forums as $forum) { if ($forum->container) { $description = '<div style="margin-left: ' . $forum->depth * 30 . "px;\">\n"; $description .= ' <div class="name">' . l($forum->name, "forum/{$forum->tid}") . "</div>\n"; if ($forum->description) { $description .= ' <div class="description">' . filter_xss_admin($forum->description) . "</div>\n"; } $description .= "</div>\n"; $rows[] = array(array('data' => $description, 'class' => 'container', 'colspan' => '4')); } else { $new_topics = _forum_topics_unread($forum->tid, $user->uid); $forum->old_topics = $forum->num_topics - $new_topics; if (!$user->uid) { $new_topics = 0; } $description = '<div style="margin-left: ' . $forum->depth * 30 . "px;\">\n"; $description .= ' <div class="name">' . l($forum->name, "forum/{$forum->tid}") . "</div>\n"; if ($forum->description) { $description .= ' <div class="description">' . filter_xss_admin($forum->description) . "</div>\n"; } $description .= "</div>\n"; $rows[] = array(array('data' => $description, 'class' => 'forum'), array('data' => $forum->num_topics . ($new_topics ? '<br />' . l(format_plural($new_topics, '1 new', '@count new'), "forum/{$forum->tid}", NULL, NULL, 'new') : ''), 'class' => 'topics'), array('data' => $forum->num_posts, 'class' => 'posts'), array('data' => _forum_format($forum->last_post), 'class' => 'last-reply')); } } //return print_r($rows,true); return '<div class="node"><div class="content forum">' . theme('table', $header, $rows) . '</div></div> '; } }
/** * Number of new forum topics for user * @see forum.module */ function _authcache_forum_topic_new($vars) { global $user; $new = array(); drupal_bootstrap(DRUPAL_BOOTSTRAP_PATH); include_once './modules/node/node.module'; // Need NODE_NEW_LIMIT definition include_once './modules/forum/forum.module'; foreach($vars as $tid) { $new_topics = (int)_forum_topics_unread($tid, $user->uid); if($new_topics) { $new[$tid] = format_plural($new_topics, '1 new', '@count new'); } } return $new; }