MDL-11160 'Live cron runs out of memory ...' - added enrolment check, to match HEAD.

This commit is contained in:
nfreear
2007-09-17 09:19:00 +00:00
parent 0e92e35575
commit e2e41efc2a
+12 -5
View File
@@ -151,11 +151,18 @@
mtrace('Removing expired enrolments ...', ''); // See MDL-8785
$timenow = time();
$somefound = false;
//The preferred way saves memory, dmllib.php
$rs_enrol = get_recordset_select('role_assignments',
'timeend > 0 AND timeend < '.$timenow,
$sort='',
'roleid, userid, contextid');
// The preferred way saves memory, dmllib.php
// find courses where limited enrolment is enabled
global $CFG;
$rs_enrol = get_recordset_sql("SELECT ra.roleid, ra.userid, ra.contextid
FROM {$CFG->prefix}course c
INNER JOIN {$CFG->prefix}context cx ON cx.instanceid = c.id
INNER JOIN {$CFG->prefix}role_assignments ra ON ra.contextid = cx.id
WHERE cx.contextlevel = '".CONTEXT_COURSE."'
AND ra.timeend > 0
AND ra.timeend < '$timenow'
AND c.enrolperiod > 0
");
mtrace($rs_enrol->RecordCount().' to delete');
while ($oldenrolment = rs_fetch_next_record($rs_enrol)) {
role_unassign($oldenrolment->roleid, $oldenrolment->userid, 0, $oldenrolment->contextid);