From 04f15f94891007cc706f3a295021ebce62ded950 Mon Sep 17 00:00:00 2001 From: Raimond Spekking Date: Thu, 27 Sep 2007 09:47:33 +0000 Subject: [PATCH] * Show relevant deletion log lines when uploading a previously deleted file (when the desired filename is part of the URL: &wpDestFile=filename.jpg) --- RELEASE-NOTES | 1 + includes/DefaultSettings.php | 2 +- includes/SpecialUpload.php | 43 ++++++++++++++++++++++++++----- languages/messages/MessagesDe.php | 4 +++ languages/messages/MessagesEn.php | 4 +++ maintenance/language/messages.inc | 1 + skins/chick/main.css | 3 ++- skins/common/cologneblue.css | 4 ++- skins/common/oldshared.css | 3 ++- skins/monobook/main.css | 6 +++-- skins/simple/main.css | 3 ++- 11 files changed, 61 insertions(+), 13 deletions(-) diff --git a/RELEASE-NOTES b/RELEASE-NOTES index bba49aba22..6840507761 100644 --- a/RELEASE-NOTES +++ b/RELEASE-NOTES @@ -29,6 +29,7 @@ it from source control: http://www.mediawiki.org/wiki/Download_from_SVN * (bug 11151) Add descriptive to revision history page * (bug 5412) Add feed links for the site to all pages * (bug 11353) Add ability to retrieve raw section content via action=raw +* Show relevant deletion log lines when uploading a previously deleted file === Bug fixes in 1.12 === diff --git a/includes/DefaultSettings.php b/includes/DefaultSettings.php index 60b193a62f..17c31aeb30 100644 --- a/includes/DefaultSettings.php +++ b/includes/DefaultSettings.php @@ -1215,7 +1215,7 @@ $wgCacheEpoch = '20030516000000'; * to ensure that client-side caches don't keep obsolete copies of global * styles. */ -$wgStyleVersion = '99'; +$wgStyleVersion = '100'; # Server-side caching: diff --git a/includes/SpecialUpload.php b/includes/SpecialUpload.php index cdaa74e777..4ff6d76858 100644 --- a/includes/SpecialUpload.php +++ b/includes/SpecialUpload.php @@ -795,10 +795,10 @@ class UploadForm { $useAjaxDestCheck = $wgUseAjax && $wgAjaxUploadDestCheck; $useAjaxLicensePreview = $wgUseAjax && $wgAjaxLicensePreview; - + $adc = wfBoolToStr( $useAjaxDestCheck ); $alp = wfBoolToStr( $useAjaxLicensePreview ); - + $wgOut->addScript( "<script type=\"text/javascript\"> wgAjaxUploadDestCheck = {$adc}; wgAjaxLicensePreview = {$alp}; @@ -811,10 +811,11 @@ wgAjaxLicensePreview = {$alp}; wfDebug( "Hook 'UploadForm:initial' broke output of the upload form" ); return false; } - - if( $this->mDesiredDestName && $wgUser->isAllowed( 'deletedhistory' ) ) { + + if( $this->mDesiredDestName ) { $title = Title::makeTitleSafe( NS_IMAGE, $this->mDesiredDestName ); - if( $title instanceof Title && ( $count = $title->isDeleted() ) > 0 ) { + // Show a subtitle link to deleted revisions (to sysops et al only) + if( $title instanceof Title && ( $count = $title->isDeleted() ) > 0 && $wgUser->isAllowed( 'deletedhistory' ) ) { $link = wfMsgExt( $wgUser->isAllowed( 'delete' ) ? 'thisisdeleted' : 'viewdeleted', array( 'parse', 'replaceafter' ), @@ -824,7 +825,12 @@ wgAjaxLicensePreview = {$alp}; ) ); $wgOut->addHtml( "<div id=\"contentSub2\">{$link}</div>" ); - } + } + + // Show the relevant lines from deletion log (for still deleted files only) + if( $title instanceof Title && $title->isDeleted() > 0 && !$title->exists() ) { + $this->showDeletionLog( $wgOut, $title->getPrefixedText() ); + } } $cols = intval($wgUser->getOption( 'cols' )); @@ -1463,4 +1469,29 @@ EOT } return $pageText; } + + /** + * If there are rows in the deletion log for this file, show them, + * along with a nice little note for the user + * + * @param OutputPage $out + * @param string filename + */ + private function showDeletionLog( $out, $filename ) { + $reader = new LogReader( + new FauxRequest( + array( + 'page' => $filename, + 'type' => 'delete', + ) + ) + ); + if( $reader->hasRows() ) { + $out->addHtml( '<div id="mw-upload-deleted-warn">' ); + $out->addWikiText( wfMsg( 'upload-wasdeleted' ) ); + $viewer = new LogViewer( $reader ); + $viewer->showList( $out ); + $out->addHtml( '</div>' ); + } + } } diff --git a/languages/messages/MessagesDe.php b/languages/messages/MessagesDe.php index 7e5eb1bfba..91173e75bf 100644 --- a/languages/messages/MessagesDe.php +++ b/languages/messages/MessagesDe.php @@ -1079,6 +1079,10 @@ Bitte prüfe, ob du das Bild in voller Auflösung vorliegen hast und lade dieses 'destfilename' => 'Zielname', 'watchthisupload' => 'Diese Seite beobachten', 'filewasdeleted' => 'Eine Datei mit diesem Namen wurde schon einmal hochgeladen und zwischenzeitlich wieder gelöscht. Bitte prüfe zuerst den Eintrag im $1, bevor du die Datei wirklich speicherst.', +'upload-wasdeleted' => "'''Achtung: Du lädst eine Datei hoch, die bereits früher gelöscht wurde.''' + +Bitte prüfe sorgfältig, ob das erneute Hochladen den Richtlinien entspricht. +Zu Deiner Information folgt das Lösch-Logbuch mit der Begründung für die vorhergehende Löschung:", 'filename-bad-prefix' => 'Der Dateiname beginnt mit <strong>„$1“</strong>. Dies ist im allgemeinen der von einer Digitalkamera vorgegebener Dateiname und daher nicht sehr aussagekräftig. Bitte gebe der Datei einen Namen, der den Inhalt besser beschreibt.', diff --git a/languages/messages/MessagesEn.php b/languages/messages/MessagesEn.php index b1a47573de..ad0e183056 100644 --- a/languages/messages/MessagesEn.php +++ b/languages/messages/MessagesEn.php @@ -1428,6 +1428,10 @@ If you have this image in full resolution upload this one, otherwise change the 'destfilename' => 'Destination filename', 'watchthisupload' => 'Watch this page', 'filewasdeleted' => 'A file of this name has been previously uploaded and subsequently deleted. You should check the $1 before proceeding to upload it again.', +'upload-wasdeleted' => "'''Warning: You are uploading a file that was previously deleted.''' + +You should consider whether it is appropriate to continue uploading this file. +The deletion log for this file is provided here for convenience:", 'filename-bad-prefix' => 'The name of the file you are uploading begins with <strong>"$1"</strong>, which is a non-descriptive name typically assigned automatically by digital cameras. Please choose a more descriptive name for your file.', 'filename-prefix-blacklist' => ' #<!-- leave this line exactly as it is --> <pre> # Syntax is as follows: diff --git a/maintenance/language/messages.inc b/maintenance/language/messages.inc index 718190ae53..cab077ff9c 100644 --- a/maintenance/language/messages.inc +++ b/maintenance/language/messages.inc @@ -829,6 +829,7 @@ $wgMessageStructure = array( 'destfilename', 'watchthisupload', 'filewasdeleted', + 'upload-wasdeleted', 'filename-bad-prefix', 'filename-prefix-blacklist', ), diff --git a/skins/chick/main.css b/skins/chick/main.css index 876f3c7d9e..07b922c37e 100644 --- a/skins/chick/main.css +++ b/skins/chick/main.css @@ -466,7 +466,8 @@ div.gallerytext { .templatesUsed { margin-top: 1.5em; } -/* Recreating-deleted-page warning and log entries */ +/* Recreating-deleted-page/reupload file warning and log entries */ +div#mw-upload-deleted-warn ul li, div#mw-recreate-deleted-warn ul li { font-size: 95%; } diff --git a/skins/common/cologneblue.css b/skins/common/cologneblue.css index 547585eff8..670996ea38 100644 --- a/skins/common/cologneblue.css +++ b/skins/common/cologneblue.css @@ -95,13 +95,15 @@ h2, h3, h4, h5, h6 { margin-bottom: 0; } small { font-size: 75%; } input.mw-searchInput { width: 106px; } -/* Recreating-deleted-page warning and log entries */ +/* Recreating-deleted-page/reupload file warning and log entries */ +div#mw-upload-deleted-warn, div#mw-recreate-deleted-warn { padding: 3px; margin-top: 3px; margin-bottom: 3px; border: 1px solid #6688AA; } +div#mw-upload-deleted-warn ul li, div#mw-recreate-deleted-warn ul li { font-size: 90%; } \ No newline at end of file diff --git a/skins/common/oldshared.css b/skins/common/oldshared.css index 27d93a0359..ead422dc78 100644 --- a/skins/common/oldshared.css +++ b/skins/common/oldshared.css @@ -447,7 +447,8 @@ p.mw-ipb-conveniencelinks { float: right; } -/* Recreating-deleted-page warning and log entries */ +/* Recreating-deleted-page/reupload file warning and log entries */ +div#mw-upload-deleted-warn ul li, div#mw-recreate-deleted-warn ul li { font-size: 95%; } diff --git a/skins/monobook/main.css b/skins/monobook/main.css index 3c089ded74..94147a4ce3 100644 --- a/skins/monobook/main.css +++ b/skins/monobook/main.css @@ -1567,12 +1567,14 @@ div.mw-lag-warn-high { background-color: #FFCCCC; } -/* Recreating-deleted-page warning and log entries */ +/* Recreating-deleted-page/reupload file warning and log entries */ +div#mw-upload-deleted-warn, div#mw-recreate-deleted-warn { padding: 3px; margin-bottom: 3px; border: 2px solid #2F6FAB; } +div#mw-upload-deleted-warn ul li div#mw-recreate-deleted-warn ul li { font-size: 90%; } @@ -1584,4 +1586,4 @@ div#mw-recreate-deleted-warn ul li { text-align: center; vertical-align: middle; font-size: 90%; -} \ No newline at end of file +} diff --git a/skins/simple/main.css b/skins/simple/main.css index c159b1f457..d53443d2dd 100644 --- a/skins/simple/main.css +++ b/skins/simple/main.css @@ -438,7 +438,8 @@ table.collapsed tr.collapsable { .templatesUsed { margin-top: 1.5em; } -/* Recreating-deleted-page warning and log entries */ +/* Recreating-deleted-page/reupload file warning and log entries */ +div#mw-upload-deleted-warn ul li, div#mw-recreate-deleted-warn ul li { font-size: 95%; } -- 2.20.1