Don't show an undo link in the diff page when one of the revisions is deleted, since...
authorRotem Liss <rotem@users.mediawiki.org>
Wed, 23 Apr 2008 16:46:31 +0000 (16:46 +0000)
committerRotem Liss <rotem@users.mediawiki.org>
Wed, 23 Apr 2008 16:46:31 +0000 (16:46 +0000)
includes/DifferenceEngine.php

index 3f41d16..49f9e65 100644 (file)
@@ -698,13 +698,14 @@ CONTROL;
                                . " (<a href='$oldEdit'>" . wfMsgHtml( $editable ? 'editold' : 'viewsourceold' ) . "</a>)";
                        // Add an "undo" link
                        $newUndo = $this->mNewPage->escapeLocalUrl( 'action=edit&undoafter=' . $this->mOldid . '&undo=' . $this->mNewid);
-                       if ( $editable && $this->mNewRev->userCan(Revision::DELETED_TEXT) )
+                       if( $editable && !$this->mOldRev->isDeleted( Revision::DELETED_TEXT ) && !$this->mNewRev->isDeleted( Revision::DELETED_TEXT ) ) {
                                $this->mNewtitle .= " (<a href='$newUndo'>" . htmlspecialchars( wfMsg( 'editundo' ) ) . "</a>)";
+                       }
 
-                       if ( !$this->mOldRev->userCan(Revision::DELETED_TEXT) ) {
-                               $this->mOldtitle = "<span class='history-deleted'>{$this->mOldPagetitle}</span>";
-                       } else if ( $this->mOldRev->isDeleted(Revision::DELETED_TEXT) ) {
-                               $this->mOldtitle = '<span class="history-deleted">'.$this->mOldtitle.'</span>';
+                       if( !$this->mOldRev->userCan( Revision::DELETED_TEXT ) ) {
+                               $this->mOldtitle = '<span class="history-deleted">' . $this->mOldPagetitle . '</span>';
+                       } else if( $this->mOldRev->isDeleted( Revision::DELETED_TEXT ) ) {
+                               $this->mOldtitle = '<span class="history-deleted">' . $this->mOldtitle . '</span>';
                        }
                }