Revert "[MCR] Add and use $title param to RevisionStore getPrevious/Next"
authoraddshore <addshorewiki@gmail.com>
Thu, 28 Dec 2017 18:48:55 +0000 (18:48 +0000)
committeraddshore <addshorewiki@gmail.com>
Thu, 28 Dec 2017 18:48:55 +0000 (18:48 +0000)
This reverts commit a760526bb41df8a46f70b498a2059323a99a683c.
This is a PARTIAL revert and the changes to the follwing methods remain:
 - Revision::newFromArchiveRow

This is no longer needed as the underlying issue has been fixed
in commit 4de36baa63afc23398f5d1747f08fc47309c314c
I15e4663902e2cbfe15b0da2e46449330e313bd0d

Change-Id: I3e0ae29e62d59bcb4be871ef5b389a673ce8f103

includes/Revision.php
includes/Storage/RevisionStore.php
includes/page/PageArchive.php

index 9a29386..7d38b4e 100644 (file)
@@ -145,7 +145,6 @@ class Revision implements IDBAccessObject {
         *
         * @param object $row
         * @param array $overrides
-        * @param Title $title (optional)
         *
         * @throws MWException
         * @return Revision
@@ -895,10 +894,8 @@ class Revision implements IDBAccessObject {
         * @return Revision|null
         */
        public function getPrevious() {
-               $rec = self::getRevisionStore()->getPreviousRevision( $this->mRecord, $this->getTitle() );
-               return $rec === null
-                       ? null
-                       : new Revision( $rec, self::READ_NORMAL, $this->getTitle() );
+               $rec = self::getRevisionStore()->getPreviousRevision( $this->mRecord );
+               return $rec === null ? null : new Revision( $rec );
        }
 
        /**
@@ -907,10 +904,8 @@ class Revision implements IDBAccessObject {
         * @return Revision|null
         */
        public function getNext() {
-               $rec = self::getRevisionStore()->getNextRevision( $this->mRecord, $this->getTitle() );
-               return $rec === null
-                       ? null
-                       : new Revision( $rec, self::READ_NORMAL, $this->getTitle() );
+               $rec = self::getRevisionStore()->getNextRevision( $this->mRecord );
+               return $rec === null ? null : new Revision( $rec );
        }
 
        /**
index b571294..c22ed30 100644 (file)
@@ -1678,14 +1678,11 @@ class RevisionStore implements IDBAccessObject, RevisionFactory, RevisionLookup
         * MCR migration note: this replaces Revision::getPrevious
         *
         * @param RevisionRecord $rev
-        * @param Title $title if known (optional)
         *
         * @return RevisionRecord|null
         */
-       public function getPreviousRevision( RevisionRecord $rev, Title $title = null ) {
-               if ( $title === null ) {
-                       $title = $this->getTitle( $rev->getPageId(), $rev->getId() );
-               }
+       public function getPreviousRevision( RevisionRecord $rev ) {
+               $title = $this->getTitle( $rev->getPageId(), $rev->getId() );
                $prev = $title->getPreviousRevisionID( $rev->getId() );
                if ( $prev ) {
                        return $this->getRevisionByTitle( $title, $prev );
@@ -1699,14 +1696,11 @@ class RevisionStore implements IDBAccessObject, RevisionFactory, RevisionLookup
         * MCR migration note: this replaces Revision::getNext
         *
         * @param RevisionRecord $rev
-        * @param Title $title if known (optional)
         *
         * @return RevisionRecord|null
         */
-       public function getNextRevision( RevisionRecord $rev, Title $title = null ) {
-               if ( $title === null ) {
-                       $title = $this->getTitle( $rev->getPageId(), $rev->getId() );
-               }
+       public function getNextRevision( RevisionRecord $rev ) {
+               $title = $this->getTitle( $rev->getPageId(), $rev->getId() );
                $next = $title->getNextRevisionID( $rev->getId() );
                if ( $next ) {
                        return $this->getRevisionByTitle( $title, $next );
index 0ef038f..05247ca 100644 (file)
@@ -255,11 +255,7 @@ class PageArchive {
                );
 
                if ( $row ) {
-                       return Revision::newFromArchiveRow(
-                               $row,
-                               [ 'title' => $this->title ],
-                               $this->title
-                       );
+                       return Revision::newFromArchiveRow( $row, [ 'title' => $this->title ] );
                }
 
                return null;
@@ -608,12 +604,10 @@ class PageArchive {
                        $oldPageId = (int)$latestRestorableRow->ar_page_id; // pass this to ArticleUndelete hook
 
                        // grab the content to check consistency with global state before restoring the page.
-                       $revision = Revision::newFromArchiveRow(
-                               $latestRestorableRow,
+                       $revision = Revision::newFromArchiveRow( $latestRestorableRow,
                                [
                                        'title' => $article->getTitle(), // used to derive default content model
-                               ],
-                               $article->getTitle()
+                               ]
                        );
                        $user = User::newFromName( $revision->getUserText( Revision::RAW ), false );
                        $content = $revision->getContent( Revision::RAW );
@@ -676,15 +670,12 @@ class PageArchive {
                                }
                                // Insert one revision at a time...maintaining deletion status
                                // unless we are specifically removing all restrictions...
-                               $revision = Revision::newFromArchiveRow(
-                                       $row,
+                               $revision = Revision::newFromArchiveRow( $row,
                                        [
                                                'page' => $pageId,
                                                'title' => $this->title,
                                                'deleted' => $unsuppress ? 0 : $row->ar_deleted
-                                       ],
-                                       $this->title
-                               );
+                                       ] );
 
                                // This will also copy the revision to ip_changes if it was an IP edit.
                                $revision->insertOn( $dbw );