From 63601400e476c6cf43d985f3e7b9864681695ed4 Mon Sep 17 00:00:00 2001 From: Pierre Schmitz Date: Fri, 18 Jan 2013 16:46:04 +0100 Subject: Update to MediaWiki 1.20.2 this update includes: * adjusted Arch Linux skin * updated FluxBBAuthPlugin * patch for https://bugzilla.wikimedia.org/show_bug.cgi?id=44024 --- includes/db/ORMResult.php | 123 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 123 insertions(+) create mode 100644 includes/db/ORMResult.php (limited to 'includes/db/ORMResult.php') diff --git a/includes/db/ORMResult.php b/includes/db/ORMResult.php new file mode 100644 index 00000000..2a5837a1 --- /dev/null +++ b/includes/db/ORMResult.php @@ -0,0 +1,123 @@ + + */ + +class ORMResult implements ORMIterator { + + /** + * @var ResultWrapper + */ + protected $res; + + /** + * @var integer + */ + protected $key; + + /** + * @var IORMRow + */ + protected $current; + + /** + * @var IORMTable + */ + protected $table; + + /** + * @param IORMTable $table + * @param ResultWrapper $res + */ + public function __construct( IORMTable $table, ResultWrapper $res ) { + $this->table = $table; + $this->res = $res; + $this->key = 0; + $this->setCurrent( $this->res->current() ); + } + + /** + * @param $row + */ + protected function setCurrent( $row ) { + if ( $row === false ) { + $this->current = false; + } else { + $this->current = $this->table->newRowFromDBResult( $row ); + } + } + + /** + * @return integer + */ + public function count() { + return $this->res->numRows(); + } + + /** + * @return boolean + */ + public function isEmpty() { + return $this->res->numRows() === 0; + } + + /** + * @return IORMRow + */ + public function current() { + return $this->current; + } + + /** + * @return integer + */ + public function key() { + return $this->key; + } + + public function next() { + $row = $this->res->next(); + $this->setCurrent( $row ); + $this->key++; + } + + public function rewind() { + $this->res->rewind(); + $this->key = 0; + $this->setCurrent( $this->res->current() ); + } + + /** + * @return boolean + */ + public function valid() { + return $this->current !== false; + } + +} -- cgit v1.2.2