diff options
author | Luke Shumaker <lukeshu@sbcglobal.net> | 2016-05-01 15:12:12 -0400 |
---|---|---|
committer | Luke Shumaker <lukeshu@sbcglobal.net> | 2016-05-01 15:12:12 -0400 |
commit | c9aa36da061816dee256a979c2ff8d2ee41824d9 (patch) | |
tree | 29f7002b80ee984b488bd047dbbd80b36bf892e9 /includes/UserArray.php | |
parent | b4274e0e33eafb5e9ead9d949ebf031a9fb8363b (diff) | |
parent | d1ba966140d7a60cd5ae4e8667ceb27c1a138592 (diff) |
Merge branch 'archwiki'
# Conflicts:
# skins/ArchLinux.php
# skins/ArchLinux/archlogo.gif
Diffstat (limited to 'includes/UserArray.php')
-rw-r--r-- | includes/UserArray.php | 83 |
1 files changed, 10 insertions, 73 deletions
diff --git a/includes/UserArray.php b/includes/UserArray.php index 1f55ef35..7da65827 100644 --- a/includes/UserArray.php +++ b/includes/UserArray.php @@ -1,6 +1,6 @@ <?php /** - * Classes to walk into a list of User objects. + * Class to walk into a list of User objects. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -22,7 +22,7 @@ abstract class UserArray implements Iterator { /** - * @param $res ResultWrapper + * @param ResultWrapper $res * @return UserArrayFromResult */ static function newFromResult( $res ) { @@ -37,7 +37,7 @@ abstract class UserArray implements Iterator { } /** - * @param $ids array + * @param array $ids * @return UserArrayFromResult */ static function newFromIDs( $ids ) { @@ -47,83 +47,20 @@ abstract class UserArray implements Iterator { return new ArrayIterator( array() ); } $dbr = wfGetDB( DB_SLAVE ); - $res = $dbr->select( 'user', '*', array( 'user_id' => $ids ), - __METHOD__ ); + $res = $dbr->select( + 'user', + User::selectFields(), + array( 'user_id' => array_unique( $ids ) ), + __METHOD__ + ); return self::newFromResult( $res ); } /** - * @param $res + * @param ResultWrapper $res * @return UserArrayFromResult */ protected static function newFromResult_internal( $res ) { return new UserArrayFromResult( $res ); } } - -class UserArrayFromResult extends UserArray { - - /** - * @var ResultWrapper - */ - var $res; - var $key, $current; - - /** - * @param $res ResultWrapper - */ - function __construct( $res ) { - $this->res = $res; - $this->key = 0; - $this->setCurrent( $this->res->current() ); - } - - /** - * @param $row - * @return void - */ - protected function setCurrent( $row ) { - if ( $row === false ) { - $this->current = false; - } else { - $this->current = User::newFromRow( $row ); - } - } - - /** - * @return int - */ - public function count() { - return $this->res->numRows(); - } - - /** - * @return User - */ - function current() { - return $this->current; - } - - function key() { - return $this->key; - } - - function next() { - $row = $this->res->next(); - $this->setCurrent( $row ); - $this->key++; - } - - function rewind() { - $this->res->rewind(); - $this->key = 0; - $this->setCurrent( $this->res->current() ); - } - - /** - * @return bool - */ - function valid() { - return $this->current !== false; - } -} |