diff options
author | Luke Shumaker <lukeshu@sbcglobal.net> | 2016-05-01 15:30:02 -0400 |
---|---|---|
committer | Luke Shumaker <lukeshu@sbcglobal.net> | 2016-05-01 15:30:02 -0400 |
commit | 1de335ad3f395ca6861085393ba366a9e3fb4a0d (patch) | |
tree | f1fdd326034e05177596851be6a7127615d81498 /includes/UserArray.php | |
parent | 9c75fa8ff6d4d38ef552c00fef5969fb154765e8 (diff) | |
parent | f6d65e533c62f6deb21342d4901ece24497b433e (diff) |
Merge commit 'f6d65'
# Conflicts:
# skins/ArchLinux/ArchLinux.php
Diffstat (limited to 'includes/UserArray.php')
-rw-r--r-- | includes/UserArray.php | 23 |
1 files changed, 22 insertions, 1 deletions
diff --git a/includes/UserArray.php b/includes/UserArray.php index 7da65827..31bd601c 100644 --- a/includes/UserArray.php +++ b/includes/UserArray.php @@ -27,7 +27,7 @@ abstract class UserArray implements Iterator { */ static function newFromResult( $res ) { $userArray = null; - if ( !wfRunHooks( 'UserArrayFromResult', array( &$userArray, $res ) ) ) { + if ( !Hooks::run( 'UserArrayFromResult', array( &$userArray, $res ) ) ) { return null; } if ( $userArray === null ) { @@ -57,6 +57,27 @@ abstract class UserArray implements Iterator { } /** + * @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 */ |