From f5896f0fb6770fee52a27b78e9d1ff6ed809eef6 Mon Sep 17 00:00:00 2001 From: martinlanghoff Date: Thu, 28 Sep 2006 01:20:42 +0000 Subject: [PATCH] enrol/db/enrol.php ignore delt'd usrs when enroling Previously the import process would throw a non-fatal error when it found a non-one number of users with the remote key. This meant that when there was a deleted user with the same remote key as an existing user, it would throw an error, and report that there were no users for that remote key. Fixed it so that it now ignores deleted users, and provides more accurate and more precise error messages in the event that there are further problems. Author: Peter Bulmer --- enrol/database/enrol.php | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/enrol/database/enrol.php b/enrol/database/enrol.php index 052a0783ce..66773f0cab 100644 --- a/enrol/database/enrol.php +++ b/enrol/database/enrol.php @@ -305,14 +305,15 @@ function sync_enrolments($role = null) { LEFT OUTER JOIN {$CFG->prefix}role_assignments ra ON u.id = ra.userid AND ra.roleid = {$role->id} AND ra.contextid = {$context->id} - WHERE u.{$CFG->enrol_localuserfield} = ".$db->quote($member); + WHERE u.{$CFG->enrol_localuserfield} = ".$db->quote($member) . + " AND (u.deleted IS NULL OR u.deleted=0) "; $ers = $db->Execute($sql); if (!$ers) { trigger_error($db->ErrorMsg() .' STATEMENT: '. $sql); return false; } - if ( $ers->RecordCount() != 1 ) { // if this returns empty, it means we don't have the student record. + if ( $ers->RecordCount() == 0 ) { // if this returns empty, it means we don't have the student record. // should not happen -- but skip it anyway trigger_error('weird! no user record entry?'); continue; -- 2.39.5