From b5d624f1c08bc0eb11a99e92cf1f41004df321f3 Mon Sep 17 00:00:00 2001 From: Alex Z Date: Sun, 18 Jan 2009 21:07:09 +0000 Subject: [PATCH] (bug 17055) Use a CSS class ('mw-revdelundel-link') for RevisionDelete "(show/hide)" links rather than hardcoded , reduce some code duplication by creating Linker::revDeleteLink() to make the links. --- RELEASE-NOTES | 2 ++ includes/DefaultSettings.php | 2 +- includes/Linker.php | 19 +++++++++++++++ includes/LogEventsList.php | 15 ++++++------ includes/diff/DifferenceEngine.php | 34 ++++++++++----------------- includes/specials/SpecialUndelete.php | 14 ++++------- skins/common/shared.css | 7 ++++++ 7 files changed, 54 insertions(+), 39 deletions(-) diff --git a/RELEASE-NOTES b/RELEASE-NOTES index 7ad920e0f8..fef2c84c0c 100644 --- a/RELEASE-NOTES +++ b/RELEASE-NOTES @@ -41,6 +41,8 @@ it from source control: http://www.mediawiki.org/wiki/Download_from_SVN from the database. * (bug 17045) Options on the block form are prefilled with the options of the existing block when modifying an existing block. +* (bug 17055) "(show/hide)" links to Special:RevisionDelete now use a CSS class + rather than hardcoded HTML tags === Bug fixes in 1.15 === * (bug 16968) Special:Upload no longer throws useless warnings. diff --git a/includes/DefaultSettings.php b/includes/DefaultSettings.php index ca26e666f2..9492c55f37 100644 --- a/includes/DefaultSettings.php +++ b/includes/DefaultSettings.php @@ -1455,7 +1455,7 @@ $wgCacheEpoch = '20030516000000'; * to ensure that client-side caches don't keep obsolete copies of global * styles. */ -$wgStyleVersion = '197'; +$wgStyleVersion = '198'; # Server-side caching: diff --git a/includes/Linker.php b/includes/Linker.php index 5a346ccd64..ccb34e52ec 100644 --- a/includes/Linker.php +++ b/includes/Linker.php @@ -1793,4 +1793,23 @@ class Linker { wfProfileOut( __METHOD__ ); return false; } + + /** + * Creates a (show/hide) link for deleting revisions/log entries + * + * @param array $query Query parameters to be passed to link() + * @param bool $restricted Set to true to use a instead of a + * + * @return string HTML link to Special:Revisiondelete, wrapped in a + * span to allow for customization of appearance with CSS + */ + public function revDeleteLink( $query = array(), $restricted = false ) { + $sp = SpecialPage::getTitleFor( 'Revisiondelete' ); + $text = wfMsgHtml( 'rev-delundel' ); + $tag = 'span'; + if( $restricted ) + $tag = 'strong'; + $link = $this->link( $sp, $text, array(), $query, array( 'known', 'noclasses' ) ); + return Xml::tags( $tag, array( 'class' => 'mw-revdelundel-link' ), "($link)" ); + } } diff --git a/includes/LogEventsList.php b/includes/LogEventsList.php index 994257c7d6..129ed3471d 100644 --- a/includes/LogEventsList.php +++ b/includes/LogEventsList.php @@ -373,19 +373,18 @@ class LogEventsList { $revdel = SpecialPage::getTitleFor( 'Revisiondelete' ); // If event was hidden from sysops if( !self::userCan( $row, LogPage::DELETED_RESTRICTED ) ) { - $del = $this->message['rev-delundel']; + $del = Xml::tags( 'span', array( 'class'=>'mw-revdelundel-link' ), '('.$this->message['rev-delundel'].')' ); } else if( $row->log_type == 'suppress' ) { // No one should be hiding from the oversight log - $del = $this->message['rev-delundel']; + $del = Xml::tags( 'span', array( 'class'=>'mw-revdelundel-link' ), '('.$this->message['rev-delundel'].')' ); } else { $target = SpecialPage::getTitleFor( 'Log', $row->log_type ); - $del = $this->skin->makeKnownLinkObj( $revdel, $this->message['rev-delundel'], - 'target=' . $target->getPrefixedUrl() . '&logid='.$row->log_id ); - // Bolden oversighted content - if( self::isDeleted( $row, LogPage::DELETED_RESTRICTED ) ) - $del = "$del"; + $query = array( 'target' => $target->getPrefixedUrl(), + 'logid' => $row->log_id + ); + $del = $this->skin->revDeleteLink( $query, self::isDeleted( $row, LogPage::DELETED_RESTRICTED ) ); } - return "($del)"; + return $del; } /** diff --git a/includes/diff/DifferenceEngine.php b/includes/diff/DifferenceEngine.php index 8233451f48..05e69ffbab 100644 --- a/includes/diff/DifferenceEngine.php +++ b/includes/diff/DifferenceEngine.php @@ -226,37 +226,29 @@ CONTROL; $rdel = ''; $ldel = ''; if( $wgUser->isAllowed( 'deleterevision' ) ) { - $revdel = SpecialPage::getTitleFor( 'Revisiondelete' ); if( !$this->mOldRev->userCan( Revision::DELETED_RESTRICTED ) ) { // If revision was hidden from sysops - $ldel = wfMsgHtml( 'rev-delundel' ); + $ldel = Xml::tags( 'span', array( 'class'=>'mw-revdelundel-link' ), '('.wfMsgHtml( 'rev-delundel' ).')' ); } else { - $ldel = $sk->makeKnownLinkObj( $revdel, - wfMsgHtml( 'rev-delundel' ), - 'target=' . urlencode( $this->mOldRev->mTitle->getPrefixedDbkey() ) . - '&oldid=' . urlencode( $this->mOldRev->getId() ) ); - // Bolden oversighted content - if( $this->mOldRev->isDeleted( Revision::DELETED_RESTRICTED ) ) - $ldel = "$ldel"; + $query = array( 'target' => $this->mOldRev->mTitle->getPrefixedDbkey(), + 'oldid' => $this->mOldRev->getId() + ); + $ldel = $sk->revDeleteLink( $query, $this->mOldRev->isDeleted( Revision::DELETED_RESTRICTED ) ); } - $ldel = "   ($ldel) "; + $ldel = "   $ldel "; // We don't currently handle well changing the top revision's settings if( $this->mNewRev->isCurrent() ) { - // If revision was hidden from sysops - $rdel = wfMsgHtml( 'rev-delundel' ); + $rdel = Xml::tags( 'span', array( 'class'=>'mw-revdelundel-link' ), '('.wfMsgHtml( 'rev-delundel' ).')' ); } else if( !$this->mNewRev->userCan( Revision::DELETED_RESTRICTED ) ) { // If revision was hidden from sysops - $rdel = wfMsgHtml( 'rev-delundel' ); + $rdel = Xml::tags( 'span', array( 'class'=>'mw-revdelundel-link' ), '('.wfMsgHtml( 'rev-delundel' ).')' ); } else { - $rdel = $sk->makeKnownLinkObj( $revdel, - wfMsgHtml( 'rev-delundel' ), - 'target=' . urlencode( $this->mNewRev->mTitle->getPrefixedDbkey() ) . - '&oldid=' . urlencode( $this->mNewRev->getId() ) ); - // Bolden oversighted content - if( $this->mNewRev->isDeleted( Revision::DELETED_RESTRICTED ) ) - $rdel = "$rdel"; + $query = array( 'target' => $this->mNewRev->mTitle->getPrefixedDbkey(), + 'oldid' => $this->mNewRev->getId() + ); + $rdel = $sk->revDeleteLink( $query, $this->mNewRev->isDeleted( Revision::DELETED_RESTRICTED ) ); } - $rdel = "   ($rdel) "; + $rdel = "   $rdel "; } $oldHeader = '
'.$this->mOldtitle.'
' . diff --git a/includes/specials/SpecialUndelete.php b/includes/specials/SpecialUndelete.php index a9fb4ef1ac..4bbaff6b29 100644 --- a/includes/specials/SpecialUndelete.php +++ b/includes/specials/SpecialUndelete.php @@ -1132,19 +1132,15 @@ class UndeleteForm { $comment = $sk->revComment( $rev ); $revdlink = ''; if( $wgUser->isAllowed( 'deleterevision' ) ) { - $revdel = SpecialPage::getTitleFor( 'Revisiondelete' ); if( !$rev->userCan( Revision::DELETED_RESTRICTED ) ) { // If revision was hidden from sysops - $del = wfMsgHtml('rev-delundel'); + $revdlink = Xml::tags( 'span', array( 'class'=>'mw-revdelundel-link' ), '('.wfMsgHtml('rev-delundel').')' ); } else { - $del = $sk->makeKnownLinkObj( $revdel, - wfMsgHtml('rev-delundel'), - 'target=' . $this->mTargetObj->getPrefixedUrl() . "&artimestamp=$ts" ); - // Bolden oversighted content - if( $rev->isDeleted( Revision::DELETED_RESTRICTED ) ) - $del = "$del"; + $query = array( 'target' => $this->mTargetObj->getPrefixedUrl(), + 'artimestamp' => $ts + ); + $revdlink = $sk->revDeleteLink( $query, $rev->isDeleted( Revision::DELETED_RESTRICTED ) ); } - $revdlink = "($del)"; } return "
  • $checkBox $revdlink ($last) $pageLink . . $userLink $stxt $comment
  • "; diff --git a/skins/common/shared.css b/skins/common/shared.css index bd30616740..7404a156b4 100644 --- a/skins/common/shared.css +++ b/skins/common/shared.css @@ -311,3 +311,10 @@ div.mw-warning-with-logexcerpt { div.mw-warning-with-logexcerpt ul li { font-size: 90%; } + +/* (show/hide) revision deletion links */ +span.mw-revdelundel-link, +strong.mw-revdelundel-link { + font-family: monospace; + font-size: smaller +} \ No newline at end of file -- 2.20.1