From 086ae52d12011746a75f5588e877347bc0457352 Mon Sep 17 00:00:00 2001 From: Pierre Schmitz Date: Fri, 21 Mar 2008 11:49:34 +0100 Subject: Update auf MediaWiki 1.12.0 --- includes/FileDeleteForm.php | 88 +++++++++++++++++++++++++++++++-------------- 1 file changed, 62 insertions(+), 26 deletions(-) (limited to 'includes/FileDeleteForm.php') diff --git a/includes/FileDeleteForm.php b/includes/FileDeleteForm.php index ee165cd1..71e2c1ae 100644 --- a/includes/FileDeleteForm.php +++ b/includes/FileDeleteForm.php @@ -39,7 +39,7 @@ class FileDeleteForm { $wgOut->showErrorPage( 'uploadnologin', 'uploadnologintext' ); return; } elseif( !$wgUser->isAllowed( 'delete' ) ) { - $wgOut->permissionError( 'delete' ); + $wgOut->permissionRequired( 'delete' ); return; } elseif( $wgUser->isBlocked() ) { $wgOut->blockedPage(); @@ -63,25 +63,37 @@ class FileDeleteForm { // Perform the deletion if appropriate if( $wgRequest->wasPosted() && $wgUser->matchEditToken( $token, $this->oldimage ) ) { - $comment = $wgRequest->getText( 'wpReason' ); + $this->DeleteReasonList = $wgRequest->getText( 'wpDeleteReasonList' ); + $this->DeleteReason = $wgRequest->getText( 'wpReason' ); + $reason = $this->DeleteReasonList; + if ( $reason != 'other' && $this->DeleteReason != '') { + // Entry from drop down menu + additional comment + $reason .= ': ' . $this->DeleteReason; + } elseif ( $reason == 'other' ) { + $reason = $this->DeleteReason; + } if( $this->oldimage ) { - $status = $this->file->deleteOld( $this->oldimage, $comment ); + $status = $this->file->deleteOld( $this->oldimage, $reason ); if( $status->ok ) { // Need to do a log item $log = new LogPage( 'delete' ); - $log->addEntry( 'delete', $this->title, wfMsg( 'deletedrevision' , $this->oldimage ) ); + $logComment = wfMsgForContent( 'deletedrevision', $this->oldimage ); + if( trim( $reason ) != '' ) + $logComment .= ": {$reason}"; + $log->addEntry( 'delete', $this->title, $logComment ); } } else { - $status = $this->file->delete( $comment ); + $status = $this->file->delete( $reason ); if( $status->ok ) { // Need to delete the associated article $article = new Article( $this->title ); - $article->doDeleteArticle( $comment ); + $article->doDeleteArticle( $reason ); } } if( !$status->isGood() ) $wgOut->addWikiText( $status->getWikiText( 'filedeleteerror-short', 'filedeleteerror-long' ) ); if( $status->ok ) { + $wgOut->setPagetitle( wfMsg( 'actioncomplete' ) ); $wgOut->addHtml( $this->prepareMessage( 'filedelete-success' ) ); // Return to the main page if we just deleted all versions of the // file, otherwise go back to the description page @@ -93,27 +105,51 @@ class FileDeleteForm { $this->showForm(); $this->showLogEntries(); } - + /** * Show the confirmation form */ private function showForm() { - global $wgOut, $wgUser, $wgRequest; - - $form = Xml::openElement( 'form', array( 'method' => 'post', 'action' => $this->getAction() ) ); - $form .= Xml::hidden( 'wpEditToken', $wgUser->editToken( $this->oldimage ) ); - $form .= '
' . wfMsgHtml( 'filedelete-legend' ) . ''; - $form .= $this->prepareMessage( 'filedelete-intro' ); - - $form .= '

' . Xml::inputLabel( wfMsg( 'filedelete-comment' ), 'wpReason', 'wpReason', - 60, $wgRequest->getText( 'wpReason' ) ) . '

'; - $form .= '

' . Xml::submitButton( wfMsg( 'filedelete-submit' ) ) . '

'; - $form .= '
'; - $form .= ''; - + global $wgOut, $wgUser, $wgRequest, $wgContLang; + $align = $wgContLang->isRtl() ? 'left' : 'right'; + + $form = Xml::openElement( 'form', array( 'method' => 'post', 'action' => $this->getAction() ) ) . + Xml::openElement( 'fieldset' ) . + Xml::element( 'legend', null, wfMsg( 'filedelete-legend' ) ) . + Xml::hidden( 'wpEditToken', $wgUser->editToken( $this->oldimage ) ) . + $this->prepareMessage( 'filedelete-intro' ) . + Xml::openElement( 'table' ) . + " + " . + Xml::label( wfMsg( 'filedelete-comment' ), 'wpDeleteReasonList' ) . + " + " . + Xml::listDropDown( 'wpDeleteReasonList', + wfMsgForContent( 'filedelete-reason-dropdown' ), + wfMsgForContent( 'filedelete-reason-otherlist' ), '', 'wpReasonDropDown', 1 ) . + " + + + " . + Xml::label( wfMsg( 'filedelete-otherreason' ), 'wpReason' ) . + " + " . + Xml::input( 'wpReason', 60, $wgRequest->getText( 'wpReason' ), array( 'type' => 'text', 'maxlength' => '255', 'tabindex' => '2', 'id' => 'wpReason' ) ) . + " + + + + " . + Xml::submitButton( wfMsg( 'filedelete-submit' ), array( 'name' => 'mw-filedelete-submit', 'id' => 'mw-filedelete-submit', 'tabindex' => '3' ) ) . + " + " . + Xml::closeElement( 'table' ) . + Xml::closeElement( 'fieldset' ) . + Xml::closeElement( 'form' ); + $wgOut->addHtml( $form ); } - + /** * Show deletion log fragments pertaining to the current file */ @@ -142,16 +178,16 @@ class FileDeleteForm { * @return string */ private function prepareMessage( $message ) { - global $wgLang, $wgServer; + global $wgLang; if( $this->oldimage ) { + $url = $this->file->getArchiveUrl( $this->oldimage ); return wfMsgExt( - "{$message}-old", + "{$message}-old", # To ensure grep will find them: 'filedelete-intro-old', 'filedelete-nofile-old', 'filedelete-success-old' 'parse', $this->title->getText(), $wgLang->date( $this->getTimestamp(), true ), $wgLang->time( $this->getTimestamp(), true ), - $wgServer . $this->file->getArchiveUrl( $this->oldimage ) - ); + wfExpandUrl( $this->file->getArchiveUrl( $this->oldimage ) ) ); } else { return wfMsgExt( $message, @@ -217,4 +253,4 @@ class FileDeleteForm { return $this->oldfile->getTimestamp(); } -} \ No newline at end of file +} -- cgit v1.2.2