X-Git-Url: https://git.heureux-cyclage.org/?a=blobdiff_plain;ds=sidebyside;f=includes%2Fpage%2FArticle.php;h=6aeb038251eeaa6b5a06ab68b5999800ebf59787;hb=a1ef77b2d80830fbcb617a83961d78cff9d6e384;hp=4bede965ab7f1c6c76bef98db380b76529400a11;hpb=5d1b19ed478271f4ef3204f4a388eb39effb275f;p=lhc%2Fweb%2Fwiklou.git diff --git a/includes/page/Article.php b/includes/page/Article.php index 4bede965ab..6aeb038251 100644 --- a/includes/page/Article.php +++ b/includes/page/Article.php @@ -363,8 +363,16 @@ class Article implements Page { } } + $rl = MediaWikiServices::getInstance()->getRevisionLookup(); + $oldRev = $this->mRevision ? $this->mRevision->getRevisionRecord() : null; if ( $request->getVal( 'direction' ) == 'next' ) { - $nextid = $this->getTitle()->getNextRevisionID( $oldid ); + $nextid = 0; + if ( $oldRev ) { + $nextRev = $rl->getNextRevision( $oldRev ); + if ( $nextRev ) { + $nextid = $nextRev->getId(); + } + } if ( $nextid ) { $oldid = $nextid; $this->mRevision = null; @@ -372,7 +380,13 @@ class Article implements Page { $this->mRedirectUrl = $this->getTitle()->getFullURL( 'redirect=no' ); } } elseif ( $request->getVal( 'direction' ) == 'prev' ) { - $previd = $this->getTitle()->getPreviousRevisionID( $oldid ); + $previd = 0; + if ( $oldRev ) { + $prevRev = $rl->getPreviousRevision( $oldRev ); + if ( $prevRev ) { + $previd = $prevRev->getId(); + } + } if ( $previd ) { $oldid = $previd; $this->mRevision = null; @@ -1599,8 +1613,9 @@ class Article implements Page { 'oldid' => $oldid ] + $extraParams ); - $prev = $this->getTitle()->getPreviousRevisionID( $oldid ); - $prevlink = $prev + $rl = MediaWikiServices::getInstance()->getRevisionLookup(); + $prevExist = (bool)$rl->getPreviousRevision( $revision->getRevisionRecord() ); + $prevlink = $prevExist ? Linker::linkKnown( $this->getTitle(), $context->msg( 'previousrevision' )->escaped(), @@ -1611,7 +1626,7 @@ class Article implements Page { ] + $extraParams ) : $context->msg( 'previousrevision' )->escaped(); - $prevdiff = $prev + $prevdiff = $prevExist ? Linker::linkKnown( $this->getTitle(), $context->msg( 'diff' )->escaped(),