[ Index ]

PHP Cross Reference of MediaWiki-1.24.0

title

Body

[close]

/includes/ -> UserArray.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  abstract class UserArray implements Iterator {
  24      /**
  25       * @param ResultWrapper $res
  26       * @return UserArrayFromResult
  27       */
  28  	static function newFromResult( $res ) {
  29          $userArray = null;
  30          if ( !wfRunHooks( 'UserArrayFromResult', array( &$userArray, $res ) ) ) {
  31              return null;
  32          }
  33          if ( $userArray === null ) {
  34              $userArray = self::newFromResult_internal( $res );
  35          }
  36          return $userArray;
  37      }
  38  
  39      /**
  40       * @param array $ids
  41       * @return UserArrayFromResult
  42       */
  43  	static function newFromIDs( $ids ) {
  44          $ids = array_map( 'intval', (array)$ids ); // paranoia
  45          if ( !$ids ) {
  46              // Database::select() doesn't like empty arrays
  47              return new ArrayIterator( array() );
  48          }
  49          $dbr = wfGetDB( DB_SLAVE );
  50          $res = $dbr->select(
  51              'user',
  52              User::selectFields(),
  53              array( 'user_id' => array_unique( $ids ) ),
  54              __METHOD__
  55          );
  56          return self::newFromResult( $res );
  57      }
  58  
  59      /**
  60       * @param ResultWrapper $res
  61       * @return UserArrayFromResult
  62       */
  63  	protected static function newFromResult_internal( $res ) {
  64          return new UserArrayFromResult( $res );
  65      }
  66  }


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