[ Index ]

PHP Cross Reference of MediaWiki-1.24.0

title

Body

[close]

/includes/ -> UserArrayFromResult.php (source)

   1  <?php
   2  /**
   3   * Class to walk into a list of User objects.
   4   *
   5   * This program is free software; you can redistribute it and/or modify
   6   * it under the terms of the GNU General Public License as published by
   7   * the Free Software Foundation; either version 2 of the License, or
   8   * (at your option) any later version.
   9   *
  10   * This program is distributed in the hope that it will be useful,
  11   * but WITHOUT ANY WARRANTY; without even the implied warranty of
  12   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  13   * GNU General Public License for more details.
  14   *
  15   * You should have received a copy of the GNU General Public License along
  16   * with this program; if not, write to the Free Software Foundation, Inc.,
  17   * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
  18   * http://www.gnu.org/copyleft/gpl.html
  19   *
  20   * @file
  21   */
  22  
  23  class UserArrayFromResult extends UserArray implements Countable {
  24      /** @var ResultWrapper */
  25      public $res;
  26  
  27      /** @var int */
  28      public $key;
  29  
  30      /** @var bool|stdClass */
  31      public $current;
  32  
  33      /**
  34       * @param ResultWrapper $res
  35       */
  36  	function __construct( $res ) {
  37          $this->res = $res;
  38          $this->key = 0;
  39          $this->setCurrent( $this->res->current() );
  40      }
  41  
  42      /**
  43       * @param bool|stdClass $row
  44       * @return void
  45       */
  46  	protected function setCurrent( $row ) {
  47          if ( $row === false ) {
  48              $this->current = false;
  49          } else {
  50              $this->current = User::newFromRow( $row );
  51          }
  52      }
  53  
  54      /**
  55       * @return int
  56       */
  57  	public function count() {
  58          return $this->res->numRows();
  59      }
  60  
  61      /**
  62       * @return User
  63       */
  64  	function current() {
  65          return $this->current;
  66      }
  67  
  68  	function key() {
  69          return $this->key;
  70      }
  71  
  72  	function next() {
  73          $row = $this->res->next();
  74          $this->setCurrent( $row );
  75          $this->key++;
  76      }
  77  
  78  	function rewind() {
  79          $this->res->rewind();
  80          $this->key = 0;
  81          $this->setCurrent( $this->res->current() );
  82      }
  83  
  84      /**
  85       * @return bool
  86       */
  87  	function valid() {
  88          return $this->current !== false;
  89      }
  90  }


Generated: Fri Nov 28 14:03:12 2014 Cross-referenced by PHPXref 0.7.1