function __construct( $target, $namespace = false ) {
parent::__construct();
- foreach( explode( ' ', 'deletionlog undeletebtn minoreditletter diff' ) as $msg ) {
+ foreach( explode( ' ', 'deletionlog undeleteviewlink diff' ) as $msg ) {
$this->messages[$msg] = wfMsgExt( $msg, array( 'escape') );
}
$this->target = $target;
list( $index, $userCond ) = $this->getUserCond();
$conds = array_merge( $userCond, $this->getNamespaceCond() );
// Paranoia: avoid brute force searches (bug 17792)
- if( !$wgUser->isAllowed( 'suppressrevision' ) ) {
- $conds[] = $this->mDb->bitAnd('ar_deleted', Revision::DELETED_USER) . ' = 0';
+ if( !$wgUser->isAllowed( 'deleterevision' ) ) {
+ $conds[] = $this->mDb->bitAnd('ar_deleted',Revision::DELETED_USER) . ' = 0';
+ } else if( !$wgUser->isAllowed( 'suppressrevision' ) ) {
+ $conds[] = $this->mDb->bitAnd('ar_deleted',Revision::SUPPRESSED_USER) .
+ ' != ' . Revision::SUPPRESSED_USER;
}
return array(
'tables' => array( 'archive' ),
if ( isset( $this->mNavigationBar ) ) {
return $this->mNavigationBar;
}
+ $fmtLimit = $wgLang->formatNum( $this->mLimit );
$linkTexts = array(
- 'prev' => wfMsgHtml( 'pager-newer-n', $this->mLimit ),
- 'next' => wfMsgHtml( 'pager-older-n', $this->mLimit ),
+ 'prev' => wfMsgExt( 'pager-newer-n', array( 'escape', 'parsemag' ), $fmtLimit ),
+ 'next' => wfMsgExt( 'pager-older-n', array( 'escape', 'parsemag' ), $fmtLimit ),
'first' => wfMsgHtml( 'histlast' ),
'last' => wfMsgHtml( 'histfirst' )
);
$reviewlink = $sk->linkKnown(
SpecialPage::getTitleFor( 'Undelete', $page->getPrefixedDBkey() ),
- $this->messages['undeletebtn']
+ $this->messages['undeleteviewlink']
);
- $link = $sk->linkKnown(
- $undelete,
- htmlspecialchars( $page->getPrefixedText() ),
- array(),
- array(
- 'target' => $page->getPrefixedText(),
- 'timestamp' => $rev->getTimestamp()
- )
- );
-
- $last = $sk->linkKnown(
- $undelete,
- $this->messages['diff'],
- array(),
- array(
- 'target' => $page->getPrefixedText(),
- 'timestamp' => $rev->getTimestamp(),
- 'diff' => 'prev'
- )
- );
+ if( $wgUser->isAllowed('undelete') ) {
+ $last = $sk->linkKnown(
+ $undelete,
+ $this->messages['diff'],
+ array(),
+ array(
+ 'target' => $page->getPrefixedText(),
+ 'timestamp' => $rev->getTimestamp(),
+ 'diff' => 'prev'
+ )
+ );
+ } else {
+ $last = $this->messages['diff'];
+ }
$comment = $sk->revComment( $rev );
- $d = htmlspecialchars( $wgLang->timeanddate( $rev->getTimestamp(), true ) );
+ $date = htmlspecialchars( $wgLang->timeanddate( $rev->getTimestamp(), true ) );
- if( $rev->isDeleted( Revision::DELETED_TEXT ) ) {
- $d = '<span class="history-deleted">' . $d . '</span>';
+ if( !$wgUser->isAllowed('undelete') || !$rev->userCan(Revision::DELETED_TEXT) ) {
+ $link = $date; // unusable link
} else {
$link = $sk->linkKnown(
$undelete,
- $d,
+ $date,
array(),
array(
'target' => $page->getPrefixedText(),
)
);
}
+ // Style deleted items
+ if( $rev->isDeleted( Revision::DELETED_TEXT ) ) {
+ $link = '<span class="history-deleted">' . $link . '</span>';
+ }
$pagelink = $sk->link( $page );
if( $rev->isMinor() ) {
- $mflag = '<span class="minor">' . $this->messages['minoreditletter'] . '</span> ';
+ $mflag = ChangesList::flag( 'minor' );
} else {
$mflag = '';
}
$pager = new DeletedContribsPager( $target, $options['namespace'] );
if ( !$pager->getNumRows() ) {
- $wgOut->addWikiText( wfMsg( 'nocontribs' ) );
+ $wgOut->addWikiMsg( 'nocontribs' );
return;
}
$text = wfMsgNoTrans( $message, $target );
if( !wfEmptyMsg( $message, $text ) && $text != '-' ) {
- $wgOut->addHTML( '<div class="mw-contributions-footer">' );
- $wgOut->addWikiText( $text );
- $wgOut->addHTML( '</div>' );
+ $wgOut->wrapWikiMsg( "<div class='mw-contributions-footer'>\n$1\n</div>", array( $message, $target ) );
}
}
}
$sk = $wgUser->getSkin();
if ( 0 == $id ) {
- $user = $nt->getText();
+ $user = htmlspecialchars( $nt->getText() );
} else {
$user = $sk->link( $nt, htmlspecialchars( $nt->getText() ) );
}
# Link to undeleted contributions
$tools[] = $sk->linkKnown(
SpecialPage::getTitleFor( 'Contributions', $nt->getDBkey() ),
- wfMsgHtml( 'contributions' )
+ wfMsgHtml( 'sp-deletedcontributions-contribs' )
);
wfRunHooks( 'ContributionsToolLinks', array( $id, $nt, &$tools ) );