course)) { error("Forum doesn't belong to a course!"); } if (!$cm = get_coursemodule_from_instance("forum", $forum->id, $course->id)) { error("Incorrect cm!"); } $user = $USER; require_course_login($course, false, $cm); if ($returnpage == 'index.php') { $returnto = forum_go_back_to($returnpage.'?id='.$course->id); } else { $returnto = forum_go_back_to($returnpage.'?f='.$forum->id); } if (isguest()) { // Guests can't change forum $wwwroot = $CFG->wwwroot.'/login/index.php'; if (!empty($CFG->loginhttps)) { $wwwroot = str_replace('http:','https:', $wwwroot); } $navigation = build_navigation('', $cm); print_header($course->shortname, $course->fullname, $navigation, '', '', true, "", navmenu($course, $cm)); notice_yesno(get_string('noguesttracking', 'forum').'

'.get_string('liketologin'), $wwwroot, $returnto); print_footer($course); exit; } $info = new object(); $info->name = fullname($user); $info->forum = format_string($forum->name); if ($mark == 'read') { if (!empty($d)) { if (! $discussion = get_record('forum_discussions', 'id', $d, 'forum', $forum->id)) { error("Discussion ID was incorrect"); } if (forum_tp_mark_discussion_read($user, $d)) { add_to_log($course->id, "discussion", "mark read", "view.php?f=$forum->id", $d, $cm->id); } } else { if (forum_tp_mark_forum_read($user, $forum->id)) { add_to_log($course->id, "forum", "mark read", "view.php?f=$forum->id", $forum->id, $cm->id); } } /// FUTURE - Add ability to mark them as unread. // } else { // subscribe // if (forum_tp_start_tracking($forum->id, $user->id)) { // add_to_log($course->id, "forum", "mark unread", "view.php?f=$forum->id", $forum->id, $cm->id); // redirect($returnto, get_string("nowtracking", "forum", $info), 1); // } else { // error("Could not start tracking that forum", $_SERVER["HTTP_REFERER"]); // } } redirect($returnto); ?>