MDL-57193 auth_db: Use a recordset and array_key_exists

This commit is contained in:
John Okely 2016-12-02 14:34:18 +08:00 committed by Frederic Massart
parent 34949c1a55
commit ec3e79134f
No known key found for this signature in database
GPG Key ID: AC343CE142B12FB9

View File

@ -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