$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 {
Example #2
0
        }
        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)) {