From: Aaron Schulz Date: Mon, 11 Jan 2010 21:35:31 +0000 (+0000) Subject: Refactored duplication into revisionDeleteLink() X-Git-Tag: 1.31.0-rc.0~38312 X-Git-Url: http://git.cyclocoop.org/%7B%24www_url%7Dadmin/compta/operations/recherche.php?a=commitdiff_plain;h=35294bb23edf2c56bc28615062c221b1947a63d8;p=lhc%2Fweb%2Fwiklou.git Refactored duplication into revisionDeleteLink() --- diff --git a/includes/diff/DifferenceInterface.php b/includes/diff/DifferenceInterface.php index e350945535..9f6b53dd3c 100644 --- a/includes/diff/DifferenceInterface.php +++ b/includes/diff/DifferenceInterface.php @@ -312,47 +312,21 @@ CONTROL; $newminor = ChangesList::flag( 'minor' ); } - $rdel = $ldel = ''; # Handle RevisionDelete links... - $canHide = $wgUser->isAllowed( 'deleterevision' ); - // Don't show useless link to people who cannot hide revisions - if( $canHide || ($this->mOldRev->getVisibility() && $wgUser->isAllowed('deletedhistory')) ) { - if( !$this->mOldRev->userCan( Revision::DELETED_RESTRICTED ) ) { - $ldel = $sk->revDeleteLinkDisabled( $canHide ); // revision was hidden from sysops - } else { - $query = array( - 'type' => 'revision', - 'target' => $this->mOldRev->mTitle->getPrefixedDbkey(), - 'ids' => $this->mOldRev->getId() - ); - $ldel = $sk->revDeleteLink( $query, - $this->mOldRev->isDeleted( Revision::DELETED_RESTRICTED ), $canHide ); - } - $ldel = "   $ldel "; - } - // Don't show useless link to people who cannot hide revisions - if( $canHide || ($this->mNewRev->getVisibility() && $wgUser->isAllowed('deletedhistory')) ) { - if( !$this->mNewRev->userCan( Revision::DELETED_RESTRICTED ) ) { - $rdel = $sk->revDeleteLinkDisabled( $canHide ); // revision was hidden from sysops - } else { - $query = array( - 'type' => 'revision', - 'target' => $this->mNewRev->mTitle->getPrefixedDbkey(), - 'ids' => $this->mNewRev->getId() - ); - $rdel = $sk->revDeleteLink( $query, - $this->mNewRev->isDeleted( Revision::DELETED_RESTRICTED ), $canHide ); - } - $rdel = "   $rdel "; - } + $ldel = $this->revisionDeleteLink( $this->mOldRev ); + $rdel = $this->revisionDeleteLink( $this->mNewRev ); $oldHeader = '
'.$this->mOldtitle.'
' . - '
' . $sk->revUserTools( $this->mOldRev, !$this->unhide ) . "
" . - '
' . $oldminor . $sk->revComment( $this->mOldRev, !$diffOnly, !$this->unhide ).$ldel."
" . + '
' . + $sk->revUserTools( $this->mOldRev, !$this->unhide ).'
' . + '
' . $oldminor . + $sk->revComment( $this->mOldRev, !$diffOnly, !$this->unhide ).$ldel.'
' . '
' . $prevlink .'
'; $newHeader = '
'.$this->mNewtitle.'
' . - '
' . $sk->revUserTools( $this->mNewRev, !$this->unhide ) . " $rollback
" . - '
' . $newminor . $sk->revComment( $this->mNewRev, !$diffOnly, !$this->unhide ).$rdel."
" . + '
' . $sk->revUserTools( $this->mNewRev, !$this->unhide ) . + " $rollback
" . + '
' . $newminor . + $sk->revComment( $this->mNewRev, !$diffOnly, !$this->unhide ).$rdel.'
' . '
' . $nextlink . $patrol . '
'; # Check if this user can see the revisions @@ -406,6 +380,31 @@ CONTROL; } wfProfileOut( __METHOD__ ); } + + protected function revisionDeleteLink( $rev ) { + global $wgUser; + $link = ''; + $canHide = $wgUser->isAllowed( 'deleterevision' ); + // Show del/undel link if: + // (a) the user can delete revisions, or + // (b) the user can view deleted revision *and* this one is deleted + if( $canHide || ($rev->getVisibility() && $wgUser->isAllowed( 'deletedhistory' )) ) { + $sk = $wgUser->getSkin(); + if( !$rev->userCan( Revision::DELETED_RESTRICTED ) ) { + $link = $sk->revDeleteLinkDisabled( $canHide ); // revision was hidden from sysops + } else { + $query = array( + 'type' => 'revision', + 'target' => $this->mOldRev->mTitle->getPrefixedDbkey(), + 'ids' => $this->mOldRev->getId() + ); + $link = $sk->revDeleteLink( $query, + $rev->isDeleted( Revision::DELETED_RESTRICTED ), $canHide ); + } + $link = '   '.$link.' '; + } + return $link; + } /** * Show the new revision of the page.