From: Kunal Mehta Date: Tue, 24 Feb 2015 20:46:13 +0000 (-0800) Subject: Add UserArray::newFromNames() X-Git-Tag: 1.31.0-rc.0~12263 X-Git-Url: https://git.cyclocoop.org/%242?a=commitdiff_plain;h=e5bc3400e4e884f67d79d4f59e438cd1a4dc7fdd;p=lhc%2Fweb%2Fwiklou.git Add UserArray::newFromNames() Change-Id: I91bb8349dd846e982be9294c7f4f3858995ad2eb --- diff --git a/includes/UserArray.php b/includes/UserArray.php index e5621da3af..31bd601c06 100644 --- a/includes/UserArray.php +++ b/includes/UserArray.php @@ -56,6 +56,27 @@ abstract class UserArray implements Iterator { return self::newFromResult( $res ); } + /** + * @since 1.25 + * @param array $names + * @return UserArrayFromResult + */ + static function newFromNames( $names ) { + $names = array_map( 'strval', (array)$names ); // paranoia + if ( !$names ) { + // Database::select() doesn't like empty arrays + return new ArrayIterator( array() ); + } + $dbr = wfGetDB( DB_SLAVE ); + $res = $dbr->select( + 'user', + User::selectFields(), + array( 'user_name' => array_unique( $names ) ), + __METHOD__ + ); + return self::newFromResult( $res ); + } + /** * @param ResultWrapper $res * @return UserArrayFromResult