$url = new moodle_url('/mod/anonforum/settracking.php', array('id' => $id)); if ($returnpage !== 'index.php') { $url->param('returnpage', $returnpage); } $PAGE->set_url($url); if (!($anonforum = $DB->get_record("anonforum", array("id" => $id)))) { print_error('invalidanonforumid', 'anonforum'); } if (!($course = $DB->get_record("course", array("id" => $anonforum->course)))) { print_error('invalidcoursemodule'); } if (!($cm = get_coursemodule_from_instance("anonforum", $anonforum->id, $course->id))) { print_error('invalidcoursemodule'); } require_course_login($course, false, $cm); $returnto = anonforum_go_back_to($returnpage . '?id=' . $course->id . '&f=' . $anonforum->id); if (!anonforum_tp_can_track_anonforums($anonforum)) { redirect($returnto); } $info = new stdClass(); $info->name = fullname($USER); $info->anonforum = format_string($anonforum->name); $eventparams = array('context' => context_module::instance($cm->id), 'relateduserid' => $USER->id, 'anonymous' => 1, 'other' => array('anonforumid' => $anonforum->id)); if (anonforum_tp_is_tracked($anonforum)) { if (anonforum_tp_stop_tracking($anonforum->id)) { if (empty($anonforum->anonymous)) { $event = \mod_anonforum\event\readtracking_disabled::create($eventparams); $event->trigger(); } redirect($returnto, get_string("nownottracking", "anonforum", $info), 1); } else {
} if ($cansub && $cm->visible == 0 && !has_capability('mod/anonforum:managesubscriptions', $modcontext)) { $cansub = false; } if (!anonforum_is_forcesubscribed($anonforum)) { $subscribed = anonforum_is_subscribed($USER->id, $anonforum); if ((has_capability('moodle/course:manageactivities', $coursecontext, $USER->id) || $anonforum->forcesubscribe != ANONFORUM_DISALLOWSUBSCRIBE) && $subscribe && !$subscribed && $cansub) { anonforum_subscribe($USER->id, $anonforumid); } else { if (!$subscribe && $subscribed) { anonforum_unsubscribe($USER->id, $anonforumid); } } } } $returnto = anonforum_go_back_to("index.php?id={$course->id}"); $shortname = format_string($course->shortname, true, array('context' => context_course::instance($course->id))); if ($subscribe) { redirect($returnto, get_string('nowallsubscribed', 'anonforum', $shortname), 1); } else { redirect($returnto, get_string('nowallunsubscribed', 'anonforum', $shortname), 1); } } /// First, let's process the general anonymous forums and build up a display if ($generalanonforums) { foreach ($generalanonforums as $anonforum) { $cm = $modinfo->instances['anonforum'][$anonforum->id]; $context = context_module::instance($cm->id); $count = anonforum_count_discussions($anonforum, $cm, $course); if ($usetracking) { if ($anonforum->trackingtype == ANONFORUM_TRACKING_OFF) {
$PAGE->set_url($url); if (!($anonforum = $DB->get_record("anonforum", array("id" => $f)))) { print_error('invalidanonforumid', 'anonforum'); } if (!($course = $DB->get_record("course", array("id" => $anonforum->course)))) { print_error('invalidcourseid'); } if (!($cm = get_coursemodule_from_instance("anonforum", $anonforum->id, $course->id))) { print_error('invalidcoursemodule'); } $user = $USER; require_login($course, false, $cm); if ($returnpage == 'index.php') { $returnto = anonforum_go_back_to($returnpage . '?id=' . $course->id); } else { $returnto = anonforum_go_back_to($returnpage . '?f=' . $anonforum->id); } if (isguestuser()) { // Guests can't change anonforum $PAGE->set_title($course->shortname); $PAGE->set_heading($course->fullname); echo $OUTPUT->header(); echo $OUTPUT->confirm(get_string('noguesttracking', 'anonforum') . '<br /><br />' . get_string('liketologin'), get_login_url(), $returnto); echo $OUTPUT->footer(); exit; } $info = new stdClass(); $info->name = fullname($user); $info->anonforum = format_string($anonforum->name); if ($mark == 'read') { if (!empty($d)) {