diff --git a/message/classes/api.php b/message/classes/api.php index a138fe4ff50..4c389637e5a 100644 --- a/message/classes/api.php +++ b/message/classes/api.php @@ -323,15 +323,11 @@ class api { ORDER BY " . $DB->sql_fullname(); $foundusers = $DB->get_records_sql_menu($sql, $params + $excludeparams, $limitfrom, $limitnum); - $orderedcontacts = array(); + $contacts = []; if (!empty($foundusers)) { $contacts = helper::get_member_info($userid, array_keys($foundusers)); - // The get_member_info returns an associative array, so is not ordered in the same way. - // We need to reorder it again based on query's result. - foreach ($foundusers as $key => $value) { - $contact = $contacts[$key]; - $contact->conversations = self::get_conversations_between_users($userid, $key, 0, 1000); - $orderedcontacts[] = $contact; + foreach ($contacts as $memberuserid => $memberinfo) { + $contacts[$memberuserid]->conversations = self::get_conversations_between_users($userid, $memberuserid, 0, 1000); } } @@ -417,19 +413,15 @@ class api { $foundusers = $returnedusers; } - $orderednoncontacts = array(); + $noncontacts = []; if (!empty($foundusers)) { $noncontacts = helper::get_member_info($userid, array_keys($foundusers)); - // The get_member_info returns an associative array, so is not ordered in the same way. - // We need to reorder it again based on query's result. - foreach ($foundusers as $key => $value) { - $contact = $noncontacts[$key]; - $contact->conversations = self::get_conversations_between_users($userid, $key, 0, 1000); - $orderednoncontacts[] = $contact; + foreach ($noncontacts as $memberuserid => $memberinfo) { + $noncontacts[$memberuserid]->conversations = self::get_conversations_between_users($userid, $memberuserid, 0, 1000); } } - return array($orderedcontacts, $orderednoncontacts); + return array(array_values($contacts), array_values($noncontacts)); } /**