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