dirroot.'/mod/forum/lib.php'); // too much debug output $DB->set_debug(false); forum_update_grades(); $DB->set_debug(true); } if ($result && $oldversion < 2007101512) { /// Cleanup the forum subscriptions notify('Removing stale forum subscriptions', 'notifysuccess'); $roles = get_roles_with_capability('moodle/course:view', CAP_ALLOW); $roles = array_keys($roles); list($usql, $params) = $DB->get_in_or_equal($roles); $sql = "SELECT fs.userid, f.id AS forumid FROM {forum} f JOIN {course} c ON c.id = f.course JOIN {context} ctx ON (ctx.instanceid = c.id AND ctx.contextlevel = ".CONTEXT_COURSE.") JOIN {forum_subscriptions} fs ON fs.forum = f.id LEFT JOIN {role_assignments} ra ON (ra.contextid = ctx.id AND ra.userid = fs.userid AND ra.roleid $usql) WHERE ra.id IS NULL"; if ($rs = $DB->get_recordset_sql($sql, $params)) { $DB->set_debug(false); foreach ($rs as $remove) { $DB->delete_records('forum_subscriptions', array('userid'=>$remove->userid, 'forum'=>$remove->forumid)); echo '.'; } $DB->set_debug(true); $rs-close(); } } return $result; } ?>