* Show relevant deletion log lines when uploading a previously deleted file
authorRaimond Spekking <raymond@users.mediawiki.org>
Thu, 27 Sep 2007 09:47:33 +0000 (09:47 +0000)
committerRaimond Spekking <raymond@users.mediawiki.org>
Thu, 27 Sep 2007 09:47:33 +0000 (09:47 +0000)
  (when the desired filename is part of the URL: &wpDestFile=filename.jpg)

RELEASE-NOTES
includes/DefaultSettings.php
includes/SpecialUpload.php
languages/messages/MessagesDe.php
languages/messages/MessagesEn.php
maintenance/language/messages.inc
skins/chick/main.css
skins/common/cologneblue.css
skins/common/oldshared.css
skins/monobook/main.css
skins/simple/main.css

index bba49ab..6840507 100644 (file)
@@ -29,6 +29,7 @@ it from source control: http://www.mediawiki.org/wiki/Download_from_SVN
 * (bug 11151) Add descriptive <title> 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 ===
 
index 60b193a..17c31ae 100644 (file)
@@ -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:
index cdaa74e..4ff6d76 100644 (file)
@@ -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>' );
+               }
+       }
 }
index 7e5eb1b..91173e7 100644 (file)
@@ -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.',
 
index b1a4757..ad0e183 100644 (file)
@@ -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: 
index 718190a..cab077f 100644 (file)
@@ -829,6 +829,7 @@ $wgMessageStructure = array(
                'destfilename',
                'watchthisupload',
                'filewasdeleted',
+               'upload-wasdeleted',
                'filename-bad-prefix',
                'filename-prefix-blacklist',
        ),
index 876f3c7..07b922c 100644 (file)
@@ -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%;
 }
index 547585e..670996e 100644 (file)
@@ -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
index 27d93a0..ead422d 100644 (file)
@@ -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%;
 }
index 3c089de..94147a4 100644 (file)
@@ -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
+}
index c159b1f..d53443d 100644 (file)
@@ -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%;
 }