* (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 ===
* to ensure that client-side caches don't keep obsolete copies of global
* styles.
*/
-$wgStyleVersion = '99';
+$wgStyleVersion = '100';
# Server-side caching:
$useAjaxDestCheck = $wgUseAjax && $wgAjaxUploadDestCheck;
$useAjaxLicensePreview = $wgUseAjax && $wgAjaxLicensePreview;
-
+
$adc = wfBoolToStr( $useAjaxDestCheck );
$alp = wfBoolToStr( $useAjaxLicensePreview );
-
+
$wgOut->addScript( "<script type=\"text/javascript\">
wgAjaxUploadDestCheck = {$adc};
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' ),
)
);
$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' ));
}
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>' );
+ }
+ }
}
'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.',
'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:
'destfilename',
'watchthisupload',
'filewasdeleted',
+ 'upload-wasdeleted',
'filename-bad-prefix',
'filename-prefix-blacklist',
),
.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%;
}
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
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%;
}
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%;
}
text-align: center;
vertical-align: middle;
font-size: 90%;
-}
\ No newline at end of file
+}
.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%;
}