diff --git a/auth/db/auth.php b/auth/db/auth.php index a355a7fa169..76c70621bc7 100644 --- a/auth/db/auth.php +++ b/auth/db/auth.php @@ -307,12 +307,15 @@ class auth_plugin_db extends auth_plugin_base { FROM {user} u WHERE u.auth=:authtype AND u.deleted=0 AND u.mnethostid=:mnethostid $suspendselect"; $params['mnethostid'] = $CFG->mnet_localhost_id; - $internalusers = $DB->get_records_sql($sql, $params); - foreach ($internalusers as $internaluser) { - if (!in_array($internaluser->username, $userlist)) { + $internalusersrs = $DB->get_recordset_sql($sql, $params); + foreach ($internalusersrs as $internaluser) { + // Arrange the associative array. + $usernamelist = array_flip($userlist); + if (!array_key_exists($internaluser->username, $usernamelist)) { $removeusers[] = $internaluser; } } + $internalusersrs->close(); } else { $sql = "SELECT u.id, u.username FROM {user} u