1
0
mirror of https://github.com/wbbaddons/Tims-Chat.git synced 2024-10-31 14:10:08 +00:00

Optimizing ChatRoom::getUsers()

This commit is contained in:
Tim Düsterhus 2012-05-19 20:41:33 +02:00
parent f72dfb4e54
commit f8193d1050

View File

@ -135,7 +135,7 @@ public function getUsers() {
$userIDs = array(); $userIDs = array();
while ($userIDs[] = $stmt->fetchColumn()); while ($userIDs[] = $stmt->fetchColumn());
if (!count($userIDs)) return array(); if (empty($userIDs)) return array();
$sql = "SELECT $sql = "SELECT
u.*, u.*,
@ -146,16 +146,15 @@ public function getUsers() {
wcf".WCF_N."_user_storage s wcf".WCF_N."_user_storage s
ON ( ON (
u.userID = s.userID u.userID = s.userID
AND s.field = ? AND s.field = ?
AND s.packageID = ? AND s.packageID = ?
) )
WHERE WHERE
u.userID IN (".rtrim(str_repeat('?,', count($userIDs)), ',').") u.userID IN (?)
ORDER BY ORDER BY
u.username ASC"; u.username ASC";
$stmt = WCF::getDB()->prepareStatement($sql); $stmt = WCF::getDB()->prepareStatement($sql);
array_unshift($userIDs, 'away', $packageID); $stmt->execute(array('away', $packageID, $userIDs));
$stmt->execute($userIDs);
return $stmt->fetchObjects('\wcf\data\user\User'); return $stmt->fetchObjects('\wcf\data\user\User');
} }