$canHide = $wgUser->isAllowed( 'deleterevision' );
// If event was hidden from sysops
if( !self::userCan( $row, LogPage::DELETED_RESTRICTED ) ) {
- $del = Linker::revDeleteLinkDisabled( $canHide );
+ $del = Xml::check( 'deleterevisions', false, array( 'disabled' => 'disabled' ) );
} 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 );
+ $del = Xml::check( 'showhiderevisions', false, array( 'name' => 'ids[' . $row->log_id . ']' ) );
}
}
}
if ( $logBody ) {
$this->getOutput()->addHTML(
$pager->getNavigationBar() .
- $loglist->beginLogEventsList() .
- $logBody .
- $loglist->endLogEventsList() .
+ $this->getRevisionButton( $loglist->beginLogEventsList() . $logBody . $loglist->endLogEventsList() ) .
$pager->getNavigationBar()
);
} else {
}
}
+ private function getRevisionButton( $formcontents ) {
+ # If the user doesn't have the ability to delete revisions, don't bother showing him/her the button.
+ if ( !$this->getUser()->isAllowed( 'deleterevision' ) ) {
+ return $formcontents;
+ }
+
+ # Show button to hide log entries
+ global $wgScript;
+ $s = Html::openElement( 'form', array( 'action' => $wgScript, 'id' => 'mw-log-deleterevision-submit' ) ) . "\n";
+ $s .= Html::hidden( 'title', SpecialPage::getTitleFor( 'Revisiondelete' ) ) . "\n";
+ $s .= Html::hidden( 'target', SpecialPage::getTitleFor( 'Log' ) ) . "\n";
+ $s .= Html::hidden( 'type', 'logging' ) . "\n";
+ $button = Html::element( 'button',
+ array( 'type' => 'submit', 'class' => "deleterevision-log-submit mw-log-deleterevision-button" ),
+ $this->msg( 'showhideselectedversions' )->text()
+ ) . "\n";
+ $s .= $button . $formcontents . $button;
+ $s .= Html::closeElement( 'form' );
+
+ return $s;
+ }
+
+
/**
* Set page title and show header for this log type
* @param $type string