diff options
author | Pierre Schmitz <pierre@archlinux.de> | 2008-03-21 11:49:34 +0100 |
---|---|---|
committer | Pierre Schmitz <pierre@archlinux.de> | 2008-03-21 11:49:34 +0100 |
commit | 086ae52d12011746a75f5588e877347bc0457352 (patch) | |
tree | e73263c7a29d0f94fafb874562610e16eb292ba8 /includes/FileDeleteForm.php | |
parent | 749e7fb2bae7bbda855de3c9e319435b9f698ff7 (diff) |
Update auf MediaWiki 1.12.0
Diffstat (limited to 'includes/FileDeleteForm.php')
-rw-r--r-- | includes/FileDeleteForm.php | 88 |
1 files changed, 62 insertions, 26 deletions
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 .= '<fieldset><legend>' . wfMsgHtml( 'filedelete-legend' ) . '</legend>'; - $form .= $this->prepareMessage( 'filedelete-intro' ); - - $form .= '<p>' . Xml::inputLabel( wfMsg( 'filedelete-comment' ), 'wpReason', 'wpReason', - 60, $wgRequest->getText( 'wpReason' ) ) . '</p>'; - $form .= '<p>' . Xml::submitButton( wfMsg( 'filedelete-submit' ) ) . '</p>'; - $form .= '</fieldset>'; - $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' ) . + "<tr> + <td align='$align'>" . + Xml::label( wfMsg( 'filedelete-comment' ), 'wpDeleteReasonList' ) . + "</td> + <td>" . + Xml::listDropDown( 'wpDeleteReasonList', + wfMsgForContent( 'filedelete-reason-dropdown' ), + wfMsgForContent( 'filedelete-reason-otherlist' ), '', 'wpReasonDropDown', 1 ) . + "</td> + </tr> + <tr> + <td align='$align'>" . + Xml::label( wfMsg( 'filedelete-otherreason' ), 'wpReason' ) . + "</td> + <td>" . + Xml::input( 'wpReason', 60, $wgRequest->getText( 'wpReason' ), array( 'type' => 'text', 'maxlength' => '255', 'tabindex' => '2', 'id' => 'wpReason' ) ) . + "</td> + </tr> + <tr> + <td></td> + <td>" . + Xml::submitButton( wfMsg( 'filedelete-submit' ), array( 'name' => 'mw-filedelete-submit', 'id' => 'mw-filedelete-submit', 'tabindex' => '3' ) ) . + "</td> + </tr>" . + 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 +} |