X-Git-Url: http://git.heureux-cyclage.org/?a=blobdiff_plain;f=includes%2FRevisionList.php;h=811870c8c0c22e6afb09a92b260ef9b1eb138846;hb=4fa2e1833ddef6ee8a241418cece9292561da6ad;hp=1df0ca0a98b6a8791941d9ecc6655c9a62579e9e;hpb=df8e1a3d875d0107b1a9ae696bac4c1233e93da1;p=lhc%2Fweb%2Fwiklou.git diff --git a/includes/RevisionList.php b/includes/RevisionList.php index 1df0ca0a98..811870c8c0 100644 --- a/includes/RevisionList.php +++ b/includes/RevisionList.php @@ -23,7 +23,7 @@ /** * List for revision table items for a single page */ -abstract class RevisionListBase extends ContextSource { +abstract class RevisionListBase extends ContextSource implements Iterator { /** @var Title */ public $title; @@ -89,6 +89,10 @@ abstract class RevisionListBase extends ContextSource { return $this->current; } + public function rewind() { + $this->reset(); + } + /** * Get the current list item, or false if we are at the end * @return Revision @@ -107,6 +111,14 @@ abstract class RevisionListBase extends ContextSource { return $this->current; } + public function key() { + return $this->res ? $this->res->key(): 0; + } + + public function valid() { + return $this->res ? $this->res->valid() : false; + } + /** * Get the number of items in the list. * @return int @@ -121,7 +133,7 @@ abstract class RevisionListBase extends ContextSource { /** * Do the DB query to iterate through the objects. - * @param IDatabase $db DatabaseBase object to use for the query + * @param IDatabase $db DB object to use for the query */ abstract public function doQuery( $db ); @@ -268,19 +280,19 @@ class RevisionList extends RevisionListBase { * @return mixed */ public function doQuery( $db ) { - $conds = array( 'rev_page' => $this->title->getArticleID() ); + $conds = [ 'rev_page' => $this->title->getArticleID() ]; if ( $this->ids !== null ) { $conds['rev_id'] = array_map( 'intval', $this->ids ); } return $db->select( - array( 'revision', 'page', 'user' ), + [ 'revision', 'page', 'user' ], array_merge( Revision::selectFields(), Revision::selectUserFields() ), $conds, __METHOD__, - array( 'ORDER BY' => 'rev_id DESC' ), - array( + [ 'ORDER BY' => 'rev_id DESC' ], + [ 'page' => Revision::pageJoinCond(), - 'user' => Revision::userJoinCond() ) + 'user' => Revision::userJoinCond() ] ); } @@ -350,11 +362,11 @@ class RevisionItem extends RevisionItemBase { return Linker::linkKnown( $this->list->title, $date, - array(), - array( + [], + [ 'oldid' => $this->revision->getId(), 'unhide' => 1 - ) + ] ); } @@ -372,12 +384,12 @@ class RevisionItem extends RevisionItemBase { return Linker::linkKnown( $this->list->title, $this->list->msg( 'diff' )->escaped(), - array(), - array( + [], + [ 'diff' => $this->revision->getId(), 'oldid' => 'prev', 'unhide' => 1 - ) + ] ); } }