Merge "Make wgDisableAnonTalk disable anon links in automatic edit summaries"
[lhc/web/wiklou.git] / includes / actions / pagers / HistoryPager.php
index c5c090d..f178911 100644 (file)
@@ -172,6 +172,7 @@ class HistoryPager extends ReverseChronologicalPager {
         * @return string HTML output
         */
        protected function getStartBody() {
+               $permissionManager = MediaWikiServices::getInstance()->getPermissionManager();
                $this->lastRow = false;
                $this->counter = 1;
                $this->oldIdChecked = 0;
@@ -197,7 +198,7 @@ class HistoryPager extends ReverseChronologicalPager {
 
                        $user = $this->getUser();
                        $actionButtons = '';
-                       if ( $user->isAllowed( 'deleterevision' ) ) {
+                       if ( $permissionManager->userHasRight( $user, 'deleterevision' ) ) {
                                $actionButtons .= $this->getRevisionButton(
                                        'revisiondelete', 'showhideselectedversions' );
                        }
@@ -210,7 +211,7 @@ class HistoryPager extends ReverseChronologicalPager {
                                        'mw-history-revisionactions' ], $actionButtons );
                        }
 
-                       if ( $user->isAllowed( 'deleterevision' ) || $this->showTagEditUI ) {
+                       if ( $permissionManager->userHasRight( $user, 'deleterevision' ) || $this->showTagEditUI ) {
                                $this->buttons .= ( new ListToggle( $this->getOutput() ) )->getHTML();
                        }
 
@@ -305,6 +306,7 @@ class HistoryPager extends ReverseChronologicalPager {
         */
        function historyLine( $row, $next, $notificationtimestamp = false,
                $dummy = false, $firstInList = false ) {
+               $permissionManager = MediaWikiServices::getInstance()->getPermissionManager();
                $rev = new Revision( $row, 0, $this->getTitle() );
 
                if ( is_object( $next ) ) {
@@ -332,7 +334,7 @@ class HistoryPager extends ReverseChronologicalPager {
 
                $del = '';
                $user = $this->getUser();
-               $canRevDelete = $user->isAllowed( 'deleterevision' );
+               $canRevDelete = $permissionManager->userHasRight( $user, 'deleterevision' );
                // Show checkboxes for each revision, to allow for revision deletion and
                // change tags
                if ( $canRevDelete || $this->showTagEditUI ) {
@@ -349,7 +351,8 @@ class HistoryPager extends ReverseChronologicalPager {
                                        [ 'name' => 'ids[' . $rev->getId() . ']' ] );
                        }
                // User can only view deleted revisions...
-               } elseif ( $rev->getVisibility() && $user->isAllowed( 'deletedhistory' ) ) {
+               } elseif ( $rev->getVisibility() &&
+                                  $permissionManager->userHasRight( $user, 'deletedhistory' ) ) {
                        // If revision was hidden from sysops, disable the link
                        if ( !$rev->userCan( RevisionRecord::DELETED_RESTRICTED, $user ) ) {
                                $del = Linker::revDeleteLinkDisabled( false );
@@ -398,8 +401,11 @@ class HistoryPager extends ReverseChronologicalPager {
                $tools = [];
 
                # Rollback and undo links
-               if ( $prevRev && $this->getTitle()->quickUserCan( 'edit', $user ) ) {
-                       if ( $latest && $this->getTitle()->quickUserCan( 'rollback', $user ) ) {
+
+               if ( $prevRev && $permissionManager->quickUserCan( 'edit', $user, $this->getTitle() ) ) {
+                       if ( $latest && $permissionManager->quickUserCan( 'rollback',
+                                       $user, $this->getTitle() )
+                       ) {
                                // Get a rollback link without the brackets
                                $rollbackLink = Linker::generateRollback(
                                        $rev,
@@ -419,7 +425,7 @@ class HistoryPager extends ReverseChronologicalPager {
                                $undoTooltip = $latest
                                        ? [ 'title' => $this->msg( 'tooltip-undo' )->text() ]
                                        : [];
-                               $undolink = MediaWikiServices::getInstance()->getLinkRenderer()->makeKnownLink(
+                               $undolink = $this->getLinkRenderer()->makeKnownLink(
                                        $this->getTitle(),
                                        $this->msg( 'editundo' )->text(),
                                        $undoTooltip,
@@ -499,7 +505,7 @@ class HistoryPager extends ReverseChronologicalPager {
                ) {
                        return $cur;
                } else {
-                       return MediaWikiServices::getInstance()->getLinkRenderer()->makeKnownLink(
+                       return $this->getLinkRenderer()->makeKnownLink(
                                $this->getTitle(),
                                new HtmlArmor( $cur ),
                                [],
@@ -528,7 +534,7 @@ class HistoryPager extends ReverseChronologicalPager {
                        return $last;
                }
 
-               $linkRenderer = MediaWikiServices::getInstance()->getLinkRenderer();
+               $linkRenderer = $this->getLinkRenderer();
                if ( $next === 'unknown' ) {
                        # Next row probably exists but is unknown, use an oldid=prev link
                        return $linkRenderer->makeKnownLink(