X-Git-Url: https://git.heureux-cyclage.org/?a=blobdiff_plain;f=includes%2Fuser%2FUserArray.php;h=f3a7f9f2366174d9cc766ebef07124319cedf86a;hb=f938f15bea1a27f098fc7a0f93673adba31d2efe;hp=dddc850bd034304983dd70747c61e7f45701b8da;hpb=dc178bf8f6b768919464f52905fc0d42d17fc3fe;p=lhc%2Fweb%2Fwiklou.git diff --git a/includes/user/UserArray.php b/includes/user/UserArray.php index dddc850bd0..f3a7f9f236 100644 --- a/includes/user/UserArray.php +++ b/includes/user/UserArray.php @@ -20,6 +20,8 @@ * @file */ +use Wikimedia\Rdbms\ResultWrapper; + abstract class UserArray implements Iterator { /** * @param ResultWrapper $res @@ -38,7 +40,7 @@ abstract class UserArray implements Iterator { /** * @param array $ids - * @return UserArrayFromResult + * @return UserArrayFromResult|ArrayIterator */ static function newFromIDs( $ids ) { $ids = array_map( 'intval', (array)$ids ); // paranoia @@ -47,11 +49,14 @@ abstract class UserArray implements Iterator { return new ArrayIterator( [] ); } $dbr = wfGetDB( DB_REPLICA ); + $userQuery = User::getQueryInfo(); $res = $dbr->select( - 'user', - User::selectFields(), + $userQuery['tables'], + $userQuery['fields'], [ 'user_id' => array_unique( $ids ) ], - __METHOD__ + __METHOD__, + [], + $userQuery['joins'] ); return self::newFromResult( $res ); } @@ -59,7 +64,7 @@ abstract class UserArray implements Iterator { /** * @since 1.25 * @param array $names - * @return UserArrayFromResult + * @return UserArrayFromResult|ArrayIterator */ static function newFromNames( $names ) { $names = array_map( 'strval', (array)$names ); // paranoia @@ -68,11 +73,14 @@ abstract class UserArray implements Iterator { return new ArrayIterator( [] ); } $dbr = wfGetDB( DB_REPLICA ); + $userQuery = User::getQueryInfo(); $res = $dbr->select( - 'user', - User::selectFields(), + $userQuery['tables'], + $userQuery['fields'], [ 'user_name' => array_unique( $names ) ], - __METHOD__ + __METHOD__, + [], + $userQuery['joins'] ); return self::newFromResult( $res ); }