/////////////////////// //////// 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 .= ''.$strmarkallread.''; } 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 .= ''.$strmarkallread.''; } 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 ///////////////////////