new FauxRequest(
array( 'page' => $page->getPrefixedText(), 'type' => 'delete' ) ) ) );
$logViewer->showList( $wgOut );
+ if( $wgUser->isAllowed( 'suppress' ) ){
+ $wgOut->addHTML( "<h2>" . htmlspecialchars( LogPage::logName( 'suppress' ) ) . "</h2>\n" );
+ $logViewer = new LogViewer(
+ new LogReader(
+ new FauxRequest(
+ array( 'page' => $page->getPrefixedText(), 'type' => 'suppress' ) ) ) );
+ $logViewer->showList( $wgOut );
+ }
}
}
* @param string $file
*/
function __construct( $page, $oldids, $logids, $artimestamps, $fileids, $img, $file ) {
- global $wgUser;
+ global $wgUser, $wgOut;
$this->page = $page;
# For reviewing deleted files...
return;
}
$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' );
+ $links[] = $this->skin->makeKnownLinkObj( $logtitle, wfMsgHtml( 'viewpagelogs' ),
+ wfArrayToCGI( array( 'page' => $this->page->getPrefixedUrl() ) ) );
+ # Give a link to the page history
+ $links[] = $this->skin->makeKnownLinkObj( $this->page, wfMsgHtml( 'pagehist' ),
+ wfArrayToCGI( array( 'action' => 'history' ) ) );
+ # Link to deleted edits
+ 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( '<p>'.implode($links,' / ').'</p>' );
+ }
// At this point, we should only have one of these
if( $oldids ) {
$this->revisions = $oldids;
$wgOut->addHtml( $this->historyLine( $rev ) );
$bitfields |= $rev->mDeleted;
}
- }
+ }
$wgOut->addHtml( "</ul>" );
-
+
$wgOut->addWikiText( wfMsgHtml( 'revdelete-text' ) );
-
+
// Normal sysops can always see what they did, but can't always change it
if( !$UserAllowed ) return;
-
+
$items = array(
- wfInputLabel( wfMsgHtml( 'revdelete-log' ), 'wpReason', 'wpReason', 60 ),
- wfSubmitButton( wfMsgHtml( 'revdelete-submit' ) ) );
+ Xml::inputLabel( wfMsg( 'revdelete-log' ), 'wpReason', 'wpReason', 60 ),
+ Xml::submitButton( wfMsg( 'revdelete-submit' ) )
+ );
$hidden = array(
- wfHidden( 'wpEditToken', $wgUser->editToken() ),
- wfHidden( 'target', $this->page->getPrefixedText() ),
- wfHidden( 'type', $this->deleteKey ) );
+ Xml::hidden( 'wpEditToken', $wgUser->editToken() ),
+ Xml::hidden( 'target', $this->page->getPrefixedText() ),
+ Xml::hidden( 'type', $this->deleteKey )
+ );
if( $this->deleteKey=='oldid' ) {
foreach( $revObjs as $rev )
$hidden[] = wfHidden( 'oldid[]', $rev->getID() );
- } else {
+ } else {
foreach( $revObjs as $rev )
$hidden[] = wfHidden( 'artimestamp[]', $rev->getTimestamp() );
}
$special = SpecialPage::getTitleFor( 'Revisiondelete' );
- $wgOut->addHtml( wfElement( 'form', array(
- 'method' => 'post',
- 'action' => $special->getLocalUrl( 'action=submit' ) ),
- null ) );
-
- $wgOut->addHtml( '<fieldset><legend>' . wfMsgHtml( 'revdelete-legend' ) . '</legend>' );
+ $wgOut->addHtml(
+ Xml::openElement( 'form', array( 'method' => 'post', 'action' => $special->getLocalUrl( 'action=submit' ), 'id' => 'mw-revdel-form-revisions' ) ) .
+ Xml::openElement( 'fieldset' ) .
+ xml::element( 'legend', null, wfMsg( 'revdelete-legend' ) )
+ );
// FIXME: all items checked for just one rev are checked, even if not set for the others
foreach( $this->checks as $item ) {
list( $message, $name, $field ) = $item;
- $wgOut->addHtml( "<div>" .
- wfCheckLabel( wfMsgHtml( $message), $name, $name, $bitfields & $field ) .
- "</div>\n" );
+ $wgOut->addHtml( Xml::tags( 'div', null, Xml::checkLabel( wfMsg( $message ), $name, $name, $bitfields & $field ) ) );
}
- $wgOut->addHtml( '</fieldset>' );
foreach( $items as $item ) {
- $wgOut->addHtml( '<p>' . $item . '</p>' );
+ $wgOut->addHtml( Xml::tags( 'p', null, $item ) );
}
foreach( $hidden as $item ) {
$wgOut->addHtml( $item );
}
-
- $wgOut->addHtml( '</form>' );
+ $wgOut->addHtml(
+ Xml::closeElement( 'fieldset' ) .
+ Xml::closeElement( 'form' ) . "\n"
+ );
+
}
/**
}
}
$wgOut->addHtml( "</ul>" );
-
+
$wgOut->addWikiText( wfMsgHtml( 'revdelete-text' ) );
//Normal sysops can always see what they did, but can't always change it
if( !$UserAllowed ) return;
-
+
$items = array(
- wfInputLabel( wfMsgHtml( 'revdelete-log' ), 'wpReason', 'wpReason', 60 ),
- wfSubmitButton( wfMsgHtml( 'revdelete-submit' ) ) );
+ Xml::inputLabel( wfMsg( 'revdelete-log' ), 'wpReason', 'wpReason', 60 ),
+ Xml::submitButton( wfMsg( 'revdelete-submit' ) )
+ );
$hidden = array(
- wfHidden( 'wpEditToken', $wgUser->editToken() ),
- wfHidden( 'target', $this->page->getPrefixedText() ),
- wfHidden( 'type', $this->deleteKey ) );
+ Xml::hidden( 'wpEditToken', $wgUser->editToken() ),
+ Xml::hidden( 'target', $this->page->getPrefixedText() ),
+ Xml::hidden( 'type', $this->deleteKey )
+ );
if( $this->deleteKey=='oldimage' ) {
foreach( $this->ofiles as $filename )
$hidden[] = wfHidden( 'oldimage[]', $filename );
$hidden[] = wfHidden( 'fileid[]', $fileid );
}
$special = SpecialPage::getTitleFor( 'Revisiondelete' );
- $wgOut->addHtml( wfElement( 'form', array(
- 'method' => 'post',
- 'action' => $special->getLocalUrl( 'action=submit' ) ),
- null ) );
-
- $wgOut->addHtml( '<fieldset><legend>' . wfMsgHtml( 'revdelete-legend' ) . '</legend>' );
+ $wgOut->addHtml(
+ Xml::openElement( 'form', array( 'method' => 'post', 'action' => $special->getLocalUrl( 'action=submit' ), 'id' => 'mw-revdel-form-filerevisions' ) ) .
+ Xml::openElement( 'fieldset' ) .
+ xml::element( 'legend', null, wfMsg( 'revdelete-legend' ) )
+ );
// FIXME: all items checked for just one file are checked, even if not set for the others
foreach( $this->checks as $item ) {
list( $message, $name, $field ) = $item;
- $wgOut->addHtml( '<div>' .
- wfCheckLabel( wfMsgHtml( $message), $name, $name, $bitfields & $field ) .
- '</div>' );
+ $wgOut->addHtml( Xml::tags( 'div', null, Xml::checkLabel( wfMsg( $message ), $name, $name, $bitfields & $field ) ) );
}
- $wgOut->addHtml( '</fieldset>' );
foreach( $items as $item ) {
- $wgOut->addHtml( '<p>' . $item . '</p>' );
+ $wgOut->addHtml( Xml::tags( 'p', null, $item ) );
}
foreach( $hidden as $item ) {
$wgOut->addHtml( $item );
}
-
- $wgOut->addHtml( '</form>' );
+
+ $wgOut->addHtml(
+ Xml::closeElement( 'fieldset' ) .
+ Xml::closeElement( 'form' ) . "\n"
+ );
}
-
+
/**
* This lets a user set restrictions for log items
* @param WebRequest $request
*/
function showLogItems( $request ) {
- global $wgOut, $wgUser, $action;
+ global $wgOut, $wgUser, $action, $wgMessageCache;
$UserAllowed = true;
$wgOut->addWikiText( wfMsgExt( 'logdelete-selected', array('parsemag'), count($this->events) ) );
while( $row = $dbr->fetchObject( $result ) ) {
$logRows[$row->log_id] = $row;
}
+ $wgMessageCache->loadAllMessages();
foreach( $this->events as $logid ) {
// Don't hide from oversight log!!!
- if( !isset( $logRows[$logid] ) || $logRows[$logid]->log_type=='oversight' ) {
+ if( !isset( $logRows[$logid] ) || $logRows[$logid]->log_type=='suppress' ) {
$wgOut->showErrorPage( 'revdelete-nooldid-title', 'revdelete-nooldid-text' );
return;
} else if( !LogPage::userCan( $logRows[$logid],Revision::DELETED_RESTRICTED) ) {
$wgOut->addWikiMsg( 'revdelete-text' );
// Normal sysops can always see what they did, but can't always change it
if( !$UserAllowed ) return;
-
+
$items = array(
Xml::inputLabel( wfMsg( 'revdelete-log' ), 'wpReason', 'wpReason', 60 ),
Xml::submitButton( wfMsg( 'revdelete-submit' ) ) );
foreach( $this->events as $logid ) {
$hidden[] = Xml::hidden( 'logid[]', $logid );
}
-
+
$special = SpecialPage::getTitleFor( 'Revisiondelete' );
- $wgOut->addHtml( Xml::element( 'form', array(
- 'method' => 'post',
- 'action' => $special->getLocalUrl( 'action=submit' ) ),
- null ) );
-
- $wgOut->addHtml( '<fieldset><legend>' . wfMsgHtml( 'revdelete-legend' ) . '</legend>' );
+ $wgOut->addHtml(
+ Xml::openElement( 'form', array( 'method' => 'post', 'action' => $special->getLocalUrl( 'action=submit' ), 'id' => 'mw-revdel-form-logs' ) ) .
+ Xml::openElement( 'fieldset' ) .
+ xml::element( 'legend', null, wfMsg( 'revdelete-legend' ) )
+ );
// FIXME: all items checked for just on event are checked, even if not set for the others
foreach( $this->checks as $item ) {
list( $message, $name, $field ) = $item;
- $wgOut->addHtml( '<div>' .
- Xml::checkLabel( wfMsg( $message), $name, $name, $bitfields & $field ) .
- '</div>' );
+ $wgOut->addHtml( Xml::tags( 'div', null, Xml::checkLabel( wfMsg( $message ), $name, $name, $bitfields & $field ) ) );
}
- $wgOut->addHtml( '</fieldset>' );
foreach( $items as $item ) {
- $wgOut->addHtml( '<p>' . $item . '</p>' );
+ $wgOut->addHtml( Xml::tags( 'p', null, $item ) );
}
foreach( $hidden as $item ) {
$wgOut->addHtml( $item );
}
-
- $wgOut->addHtml( '</form>' );
+
+ $wgOut->addHtml(
+ Xml::closeElement( 'fieldset' ) .
+ Xml::closeElement( 'form' ) . "\n"
+ );
}
-
+
/**
* @param Revision $rev
* @returns string
$date = $wgContLang->timeanddate( $row->log_timestamp );
$paramArray = LogPage::extractParams( $row->log_params );
+ $title = Title::makeTitle( $row->log_namespace, $row->log_title );
+
+ $logtitle = SpecialPage::getTitleFor( 'Log' );
+ $loglink = $this->skin->makeKnownLinkObj( $logtitle, wfMsgHtml( 'log' ),
+ wfArrayToCGI( array( 'page' => $title->getPrefixedUrl() ) ) );
// Action text
if( !LogPage::userCan($row,LogPage::DELETED_ACTION) ) {
$action = '<span class="history-deleted">' . wfMsgHtml('rev-deleted-event') . '</span>';
} else {
- $title = Title::makeTitle( $row->log_namespace, $row->log_title );
$action = LogPage::actionText( $row->log_type, $row->log_action, $title,
$this->skin, $paramArray, true, true );
if( $row->log_deleted & LogPage::DELETED_ACTION )
if( LogPage::isDeleted($row,LogPage::DELETED_COMMENT) ) {
$comment = '<span class="history-deleted">' . $comment . '</span>';
}
- return "<li>$date $userLink $action $comment</li>";
+ return "<li>($loglink) $date $userLink $action $comment</li>";
}
/**
global $wgOut;
$wgOut->setPagetitle( wfMsgHtml( 'actioncomplete' ) );
- # Give a link to the log for this page
- $logtitle = SpecialPage::getTitleFor( 'Log' );
- $loglink = $this->skin->makeKnownLinkObj( $logtitle, wfMsgHtml( 'viewpagelogs' ),
- wfArrayToCGI( array('page' => $this->target ) ) );
- # Give a link to the page history
- $histlink = $this->skin->makeKnownLinkObj( $this->title, 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->target) ) );
- # Logs themselves don't have histories or archived revisions
- if( !is_null($this->title) && $this->title->getNamespace() > -1)
- $wgOut->setSubtitle( '<p>'.$histlink.' / '.$loglink.' / '.$dellink.'</p>' );
+
if( $this->deleteKey=='logid' ) {
$wgOut->addWikiText( Xml::element( 'span', array( 'class' => 'success' ), wfMsg( 'logdelete-success' ) ), false );
$this->showLogItems( $request );
$wgOut->addWikiText( Xml::element( 'span', array( 'class' => 'success' ), wfMsg( 'revdelete-success' ) ), false );
$this->showImages( $request );
} else if( $this->deleteKey=='oldimage' ) {
+ $wgOut->addWikiText( Xml::element( 'span', array( 'class' => 'success' ), wfMsg( 'revdelete-success' ) ), false );
$this->showImages( $request );
}
}
$success = false;
continue; // Must exist
} else if( !LogPage::userCan($logRows[$logid], Revision::DELETED_RESTRICTED)
- || $logRows[$logid]->log_type=='oversight' ) {
+ || $logRows[$logid]->log_type == 'suppress' ) {
// Don't hide from oversight log!!!
$userAllowedAll=false;
continue;
*/
function updateLog( $title, $count, $nbitfield, $obitfield, $comment, $target, $param, $items = array() ) {
// Put things hidden from sysops in the oversight log
- $logtype = ( ($nbitfield | $obitfield) & Revision::DELETED_RESTRICTED ) ? 'oversight' : 'delete';
+ $logtype = ( ($nbitfield | $obitfield) & Revision::DELETED_RESTRICTED ) ? 'suppress' : 'delete';
$log = new LogPage( $logtype );
// FIXME: do this better
if( $param=='logid' ) {