MDL-57193 auth_db: Use a recordset and array_key_exists

This commit is contained in:
John Okely
2016-12-02 16:29:47 +08:00
committed by Frederic Massart
parent 34949c1a55
commit ec3e79134f
+6 -3
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