From 011dee6fe906328ed136deaa13aa312431fc4748 Mon Sep 17 00:00:00 2001 From: Aaron Schulz Date: Fri, 28 Mar 2008 19:30:38 +0000 Subject: [PATCH] Check permissions for links --- includes/SpecialRevisiondelete.php | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/includes/SpecialRevisiondelete.php b/includes/SpecialRevisiondelete.php index 3cc1867571..9766e2454e 100644 --- a/includes/SpecialRevisiondelete.php +++ b/includes/SpecialRevisiondelete.php @@ -86,18 +86,22 @@ class RevisionDeleteForm { $this->skin = $wgUser->getSkin(); # Give a link to the log for this page if( !is_null($this->page) && $this->page->getNamespace() > -1 ) { + $links = array(); + $logtitle = SpecialPage::getTitleFor( 'Log' ); - $loglink = $this->skin->makeKnownLinkObj( $logtitle, wfMsgHtml( 'viewpagelogs' ), + $links[] = $this->skin->makeKnownLinkObj( $logtitle, wfMsgHtml( 'viewpagelogs' ), wfArrayToCGI( array( 'page' => $this->page->getPrefixedUrl() ) ) ); # Give a link to the page history - $histlink = $this->skin->makeKnownLinkObj( $this->page, wfMsgHtml( 'pagehist' ), + $links[] = $this->skin->makeKnownLinkObj( $this->page, wfMsgHtml( 'pagehist' ), wfArrayToCGI( array( 'action' => 'history' ) ) ); # Link to deleted edits - $undelete = SpecialPage::getTitleFor( 'Undelete' ); - $dellink = $this->skin->makeKnownLinkObj( $undelete, wfMsgHtml( 'deletedhist' ), - wfArrayToCGI( array( 'target' => $this->page->getPrefixedUrl() ) ) ); + if( $wgUser->isAllowed('undelete') ) { + $undelete = SpecialPage::getTitleFor( 'Undelete' ); + $links[] = $this->skin->makeKnownLinkObj( $undelete, wfMsgHtml( 'deletedhist' ), + wfArrayToCGI( array( 'target' => $this->page->getPrefixedUrl() ) ) ); + } # Logs themselves don't have histories or archived revisions - $wgOut->setSubtitle( '

'.$histlink.' / '.$loglink.' / '.$dellink.'

' ); + $wgOut->setSubtitle( '

'.implode($links,' / ').'

' ); } // At this point, we should only have one of these if( $oldids ) { -- 2.20.1