///////////////////////
//////// Public forum hack
//////// This hack shows a public forum if no course id is selected
///////////////////////
if (!$id) {
unset($mytable);
$mytable->head = array ($strforum, $strdescription, $strdiscussions);
$mytable->align = array ('left', 'left', 'center');
if ($usetracking) {
$mytable->head[] = $strunreadposts;
$mytable->align[] = 'center';
$mytable->head[] = $strtracking;
$mytable->align[] = 'center';
}
if ($can_subscribe) {
$mytable->head[] = $strsubscribed;
$mytable->align[] = 'center';
}
if ($show_rss = (($can_subscribe || $course->id == SITEID) && isset($CFG->enablerssfeeds) && isset($CFG->forum_enablerssfeeds) && $CFG->enablerssfeeds && $CFG->forum_enablerssfeeds)) {
$mytable->head[] = $strrss;
$mytable->align[] = 'center';
}
$course = get_record('course', 'id', 7);
$myForums = get_records('forum', 'course', $course->id);
$modinfo =& get_fast_modinfo($course);
foreach ($myForums as $forum) {
if ($forum->type == 'general'){
$cm = $modinfo->instances['forum'][$forum->id];
$context = get_context_instance(CONTEXT_MODULE, $cm->id);
$count = forum_count_discussions($forum, $cm, $course);
if ($usetracking) {
if ($forum->trackingtype == FORUM_TRACKING_OFF) {
$unreadlink = '-';
$trackedlink = '-';
} else {
if (isset($untracked[$forum->id])) {
$unreadlink = '-';
} else
if ($unread = forum_tp_count_forum_unread_posts($cm, $course)) {
$unreadlink = ''.$unread.'';
$unreadlink .= '
';
} else {
$unreadlink = '0';
}
if ($forum->trackingtype == FORUM_TRACKING_ON) {
$trackedlink = $stryes;
} else {
$options = array('id'=>$forum->id);
if (!isset($untracked[$forum->id])) {
$trackedlink = print_single_button($CFG->wwwroot.'/mod/forum/settracking.php', $options, $stryes, 'post', '_self', true, $strnotrackforum);
} else {
$trackedlink = print_single_button($CFG->wwwroot.'/mod/forum/settracking.php', $options, $strno, 'post', '_self', true, $strtrackforum);
}
}
}
}
$forum->intro = shorten_text(trim(format_text($forum->intro, FORMAT_HTML, $introoptions)), $CFG->forum_shortpost);
$forumname = format_string($forum->name, true);
if ($cm->visible) {
$style = '';
} else {
$style = 'class="dimmed"';
}
$forumlink = "id\" $style>".format_string($forum->name,true)."";
$discussionlink = "id\" $style>".$count."";
$row = array ($forumlink, $forum->intro, $discussionlink);
if ($usetracking) {
$row[] = $unreadlink;
$row[] = $trackedlink;
// Tracking.
}
if ($can_subscribe) {
if ($forum->forcesubscribe != FORUM_DISALLOWSUBSCRIBE) {
$row[] = forum_get_subscribe_link($forum, $context, array('subscribed' => $stryes,'unsubscribed' => $strno, 'forcesubscribed' => $stryes,'cantsubscribe' => '-'), false, false, true, $subscribed_forums);
} else {
$row[] = '-';
}
}
//If this forum has RSS activated, calculate it
if ($show_rss) {
if ($forum->rsstype and $forum->rssarticles) {
//Calculate the tolltip text
if ($forum->rsstype == 1) {
$tooltiptext = get_string('rsssubscriberssdiscussions', 'forum', format_string($forum->name));
} else {
$tooltiptext = get_string('rsssubscriberssposts', 'forum', format_string($forum->name));
}
//Get html code for RSS link
$row[] = rss_get_link($course->id, $USER->id, 'forum', $forum->id, $tooltiptext);
} else {
$row[] = ' ';
}
}
$mytable->data[] = $row;
}
}
print_heading($course->fullname);
print_table($mytable);
}
///////////////////////
//////// Public forum hack END
///////////////////////
///////////////////////
//////// My Course Forums hack
//////// This hack shows a logged in users the forums of their courses
///////////////////////
if (!$id and !isguest()) {
unset($mytable);
$mytable->head = array ('Course',$strforum, $strdescription, $strdiscussions);
$mytable->align = array ('left','left', 'left', 'center');
if ($usetracking) {
$mytable->head[] = $strunreadposts;
$mytable->align[] = 'center';
$mytable->head[] = $strtracking;
$mytable->align[] = 'center';
}
if ($can_subscribe) {
$mytable->head[] = $strsubscribed;
$mytable->align[] = 'center';
}
if ($show_rss = (($can_subscribe || $course->id == SITEID) && isset($CFG->enablerssfeeds) && isset($CFG->forum_enablerssfeeds) && $CFG->enablerssfeeds && $CFG->forum_enablerssfeeds)) {
$mytable->head[] = $strrss;
$mytable->align[] = 'center';
}
$myCourses = get_my_courses($USER->id, 'visible DESC,sortorder ASC');
foreach ($myCourses as $course) {
$myForums = get_records('forum', 'course', $course->id);
$modinfo =& get_fast_modinfo($course);
foreach ($myForums as $forum) {
if ($forum->type == 'general'){
$cm = $modinfo->instances['forum'][$forum->id];
$context = get_context_instance(CONTEXT_MODULE, $cm->id);
$count = forum_count_discussions($forum, $cm, $course);
if ($usetracking) {
if ($forum->trackingtype == FORUM_TRACKING_OFF) {
$unreadlink = '-';
$trackedlink = '-';
} else {
if (isset($untracked[$forum->id])) {
$unreadlink = '-';
} else
if ($unread = forum_tp_count_forum_unread_posts($cm, $course)) {
$unreadlink = ''.$unread.'';
$unreadlink .= '
';
} else {
$unreadlink = '0';
}
if ($forum->trackingtype == FORUM_TRACKING_ON) {
$trackedlink = $stryes;
} else {
$options = array('id'=>$forum->id);
if (!isset($untracked[$forum->id])) {
$trackedlink = print_single_button($CFG->wwwroot.'/mod/forum/settracking.php', $options, $stryes, 'post', '_self', true, $strnotrackforum);
} else {
$trackedlink = print_single_button($CFG->wwwroot.'/mod/forum/settracking.php', $options, $strno, 'post', '_self', true, $strtrackforum);
}
}
}
}
$forum->intro = shorten_text(trim(format_text($forum->intro, FORMAT_HTML, $introoptions)), $CFG->forum_shortpost);
$forumname = format_string($forum->name, true);
if ($cm->visible) {
$style = '';
} else {
$style = 'class="dimmed"';
}
$courselink = "wwwroot."/course/view.php?f=$course->id\" $style>".format_string($course->fullname,true)."";
$forumlink = "id\" $style>".format_string($forum->name,true)."";
$discussionlink = "id\" $style>".$count."";
$row = array ($courselink,$forumlink, $forum->intro, $discussionlink);
if ($usetracking) {
$row[] = $unreadlink;
$row[] = $trackedlink;
// Tracking.
}
if ($can_subscribe) {
if ($forum->forcesubscribe != FORUM_DISALLOWSUBSCRIBE) {
$row[] = forum_get_subscribe_link($forum, $context, array('subscribed' => $stryes,'unsubscribed' => $strno, 'forcesubscribed' => $stryes,'cantsubscribe' => '-'), false, false, true, $subscribed_forums);
} else {
$row[] = '-';
}
}
//If this forum has RSS activated, calculate it
if ($show_rss) {
if ($forum->rsstype and $forum->rssarticles) {
//Calculate the tolltip text
if ($forum->rsstype == 1) {
$tooltiptext = get_string('rsssubscriberssdiscussions', 'forum', format_string($forum->name));
} else {
$tooltiptext = get_string('rsssubscriberssposts', 'forum', format_string($forum->name));
}
//Get html code for RSS link
$row[] = rss_get_link($course->id, $USER->id, 'forum', $forum->id, $tooltiptext);
} else {
$row[] = ' ';
}
}
$mytable->data[] = $row;
}
}
}
if ($row)
{
print_heading('My Course Forums');
print_table($mytable);
}
}
///////////////////////
//////// My Course Forums hack END
///////////////////////