class LogEventsList {
const NO_ACTION_LINK = 1;
const NO_EXTRA_USER_LINKS = 2;
+ const USE_REVDEL_CHECKBOXES = 3;
/**
* @var Skin
if( self::typeAction( $row, 'move', 'move', 'move' ) && !empty( $paramArray[0] ) ) {
$destTitle = Title::newFromText( $paramArray[0] );
if( $destTitle ) {
- $revert = '(' . Linker::link(
+ $revert = Linker::link(
SpecialPage::getTitleFor( 'Movepage' ),
$this->message['revertmove'],
array(),
'wpMovetalk' => 0
),
array( 'known', 'noclasses' )
- ) . ')';
+ );
+ $revert = wfMessage( 'parentheses' )->rawParams( $revert )->escaped();
}
// Show undelete link
} elseif( self::typeAction( $row, array( 'delete', 'suppress' ), 'delete', 'deletedhistory' ) ) {
} else {
$viewdeleted = $this->message['undeletelink'];
}
- $revert = '(' . Linker::link(
+ $revert = Linker::link(
SpecialPage::getTitleFor( 'Undelete' ),
$viewdeleted,
array(),
array( 'target' => $title->getPrefixedDBkey() ),
array( 'known', 'noclasses' )
- ) . ')';
+ );
+ $revert = wfMessage( 'parentheses' )->rawParams( $revert )->escaped();
// Show unblock/change block link
} elseif( self::typeAction( $row, array( 'block', 'suppress' ), array( 'block', 'reblock' ), 'block' ) ) {
- $revert = '(' .
- Linker::link(
+ $revert = Linker::link(
SpecialPage::getTitleFor( 'Unblock', $row->log_title ),
$this->message['unblocklink'],
array(),
array(),
array(),
'known'
- ) .
- ')';
+ );
+ $revert = wfMessage( 'parentheses' )->rawParams( $revert )->escaped();
// Show change protection link
} elseif( self::typeAction( $row, 'protect', array( 'modify', 'protect', 'unprotect' ) ) ) {
- $revert .= ' (' .
- Linker::link( $title,
+ $revert .= Linker::link( $title,
$this->message['hist'],
array(),
array(
array( 'action' => 'protect' ),
'known' );
}
- $revert .= ')';
+ $revert = ' ' . wfMessage( 'parentheses' )->rawParams( $revert )->escaped();
// Show unmerge link
} elseif( self::typeAction( $row, 'merge', 'merge', 'mergehistory' ) ) {
- $revert = '(' . Linker::link(
+ $revert = Linker::link(
SpecialPage::getTitleFor( 'MergeHistory' ),
$this->message['revertmerge'],
array(),
'mergepoint' => $paramArray[1]
),
array( 'known', 'noclasses' )
- ) . ')';
+ );
+ $revert = wfMessage( 'parentheses' )->rawParams( $revert )->escaped();
// If an edit was hidden from a page give a review link to the history
} elseif( self::typeAction( $row, array( 'delete', 'suppress' ), 'revision', 'deletedhistory' ) ) {
$revert = RevisionDeleter::getLogLinks( $title, $paramArray,
// $paramArray[1] is a CSV of the IDs
$query = $paramArray[0];
// Link to each hidden object ID, $paramArray[1] is the url param
- $revert = '(' . Linker::link(
+ $revert = Linker::link(
$revdel,
$this->message['revdel-restore'],
array(),
'ids' => $query
),
array( 'known', 'noclasses' )
- ) . ')';
+ );
+ $revert = wfMessage( 'parentheses' )->rawParams( $revert )->escaped();
}
// Do nothing. The implementation is handled by the hook modifiying the passed-by-ref parameters.
} else {
*/
private function getShowHideLinks( $row ) {
global $wgUser;
- if( ( $this->flags & self::NO_ACTION_LINK ) // we don't want to see the links
+ if( ( $this->flags == self::NO_ACTION_LINK ) // we don't want to see the links
|| $row->log_type == 'suppress' ) { // no one can hide items from the suppress log
return '';
}
$del = '';
- // Don't show useless link to people who cannot hide revisions
+ // Don't show useless checkbox to people who cannot hide revisions
if( $wgUser->isAllowed( 'deletedhistory' ) ) {
if( $row->log_deleted || $wgUser->isAllowed( 'deleterevision' ) ) {
$canHide = $wgUser->isAllowed( 'deleterevision' );
- // If event was hidden from sysops
- if( !self::userCan( $row, LogPage::DELETED_RESTRICTED ) ) {
- $del = Linker::revDeleteLinkDisabled( $canHide );
+ if ( $this->flags & self::USE_REVDEL_CHECKBOXES ) { // Show checkboxes instead of links.
+ if ( !self::userCan( $row, LogPage::DELETED_RESTRICTED ) ) { // If event was hidden from sysops
+ $del = Xml::check( 'deleterevisions', false, array( 'disabled' => 'disabled' ) );
+ } else {
+ $del = Xml::check( 'showhiderevisions', false, array( 'name' => 'ids[' . $row->log_id . ']' ) );
+ }
} else {
- $target = SpecialPage::getTitleFor( 'Log', $row->log_type );
- $query = array(
- 'target' => $target->getPrefixedDBkey(),
- 'type' => 'logging',
- 'ids' => $row->log_id,
- );
- $del = Linker::revDeleteLink( $query,
- self::isDeleted( $row, LogPage::DELETED_RESTRICTED ), $canHide );
+ if ( !self::userCan( $row, LogPage::DELETED_RESTRICTED ) ) { // If event was hidden from sysops
+ $del = Linker::revDeleteLinkDisabled( $canHide );
+ } else {
+ $query = array(
+ 'target' => SpecialPage::getTitleFor( 'Log', $row->log_type )->getPrefixedDBkey(),
+ 'type' => 'logging',
+ 'ids' => $row->log_id,
+ );
+ $del = Linker::revDeleteLink( $query, self::isDeleted( $row, LogPage::DELETED_RESTRICTED ), $canHide );
+ }
}
}
}