MediaWiki:Upload.js
Jump to navigation
Jump to search
Note: After saving, you have to bypass your browser's cache to see the changes. Internet Explorer: press Ctrl-F5, Mozilla: hold down Shift while clicking Reload (or press Ctrl-Shift-R), Opera/Konqueror: press F5, Safari: hold down Shift + Alt while clicking Reload, Chrome: hold down Shift while clicking Reload.
Documentation for this user script can be added at MediaWiki:Upload. |
/**
* LicenseChecker
*
* checks whether the selected license on
* [[Special:Upload]] is valid and provides feedback
*
* JSHint-validation before saving, please!
*
* @author Rillke, 2013
* @author Bryan, 2007
* @author Lupo, 2007 - 2011
* @author DieBuche, 2010
* @author Dschwen, before 2017
*/
/*global jQuery, mediaWiki, i18n, UFUI*/
/*jshint sub:true, smarttabs:true*/
// <nowiki>
(function($, mw) {
'use strict';
var userLang = mw.config.get('wgUserLanguage'),
userName = mw.config.get('wgUserName'),
licenseChecker;
licenseChecker = window.licenseChecker = {
//
// List of invalid licenses
//
invalid: ["subst:nld", "subst:template 2|cc-by-nc-sa-2.0|flickrreview", "subst:template 2|flickrreview|subst:nld"],
//
// Translations of the warning message
//
i18n: {
'de': 'Die ausgewählte <b>Lizenz ist nicht akzeptabel für Wikimedia Commons</b>. Dein <b>Upload wird gelöscht</b> werden!',
'en': 'The selected licensing is <b>unacceptable on Wikimedia Commons</b> and will lead to the <b>deletion</b> of your upload!',
'hr': 'Odabrana licencija je <b>neprihvatljiva za Zajednički poslužitelj</b> i vjerojatno će biti <b>obrisana</b> nakon postavljanja!',
'mk': 'Избраната лиценца е <b>неприфатлива за Ризницата</b>, што значи дека подигнатото ќе биде <b>избришано</b>!',
'ru': 'Выбранная лицензия <b>не разрешена на Викискладе</b> и приведёт к <b>удалению</b> загруженного файла!',
'sl': 'Izbrana licenca <b>ni sprejemljiva za Wikimedijino zbirko</b>, zato bo vaša naložena datoteka <b>izbrisana</b>!'
},
// Event handler for the license selector
check: function() {
this.$warnbanner.empty();
for (var i = 0; i < this.invalid.length; i++) {
if (this.$licensemenu.val() === this.invalid[i]) {
this.$warnbanner.append(this.message);
return;
}
}
},
install: function() {
if (window.UFUI && window.i18n && typeof i18n[UFUI.userLanguage] === 'string') {
// From UploadForm.js, wgUserLanguage with uselang-hacks removed
this.message = i18n[UFUI.userLanguage];
} else {
this.message = (this.i18n[userLang] || this.i18n.en);
}
this.$uploadtext = $('#uploadtext');
this.$licensemenu = $('#wpLicense');
// Some forms may not have a license selector (e.g. "fromwikimedia", or reupload forms)
if (!this.$licensemenu.length) return;
this.$warnbanner = $('<div class="center"></div>').css({
color: 'red',
background: '#eeeeee'
});
this.$uploadtext.append(this.$warnbanner);
$(this.$licensemenu).change(function() {
licenseChecker.check();
});
}
};
/***** loadAutoInformationTemplate ********
* Adds a link to subpages of current page
*
* Maintainers: [[User:Yonidebest]], [[User:Dschwen]]
****/
function loadAutoInformationTemplate() {
// Don't use the template for edit summary of reuploading/overwrite action
if (mw.util.getParamValue('wpDestFile') !== null) return;
// If user provided a custom value, keep that as-is
if (mw.util.getParamValue('wpUploadDescription') !== null) return;
// Honor user configuration
if (window.JSconfig && window.JSconfig.keys && typeof(window.JSconfig.keys['loadAutoInformationTemplate']) !== 'undefined' && !
window.JSconfig.keys['loadAutoInformationTemplate']) {
return;
}
var uploadDescription = document.getElementById('wpUploadDescription');
// ignore fromflickr, as people should use flinfo tool
// ignore fromwikimedia, as people should use commons helper tool
if (uploadDescription !== null && !/^(fromflickr|fromwikimedia)$/.test(userLang)) {
switch (userLang) {
case "ownwork":
case "deownwork":
case "elownwork":
case "esownwork":
case "faownwork":
case "frownwork":
case "itownwork":
case "mkownwork":
case "nlownwork":
case "noownwork":
case "plownwork":
case "ruownwork":
case "svownwork":
uploadDescription.value = '{{Information\n|Description=\n|Source={{own}}\n|Date=\n|Author= [[User:' + userName + '|' + userName +
']]\n|Permission=\n|other_versions=\n}}\n';
break;
case "fromgov":
uploadDescription.value = '{{Information\n|Description=\n|Source=\n|Date=\n|Author=\n|Permission=\n|other_versions=\n}}\n';
break;
case "icommons":
uploadDescription.value =
'{{Information\n|Description=\n|Source=\n|Date=\n|Author=\n|Permission=\n|other_versions=\n}} \n[[category:iCommons iHeritage]]\n [[category:South Africa]]\n';
break;
}
/// Hide copy & paste template information, if we just prefilled it automatically
$('#Uploadtext-template-box').hide();
}
}
$(document).ready(function() {
licenseChecker.install();
loadAutoInformationTemplate();
/*
* Hide on the list of allowed types in the upload form that PDFs can be uploaded.
* Most pdfs shouldn't have been uploaded. Written at the wiki on the best case.
* Discourage its use by hiding that it can be uploaded.
*/
$("#mw-upload-permitted p").contents().eq(1).each(function() {
this.data = this.data && this.data.replace(/pdf[,،、] /, "");
});
/*
* Hide "Try UpWiz-Button" when attempting to re-upload
*/
if (mw.util.getParamValue('wpForReUpload')) {
$('#commons-upwiz-advertising-button').hide();
$('#com-upload-newfile').hide();
$('#com-upload-overwrite').show();
var uprup = document.getElementById( 'com-upload-overwrite' );
/*
* If re-upload warning does not exist, append.
*/
if ( !uprup ) {
$('#uploadtext').append('<br><div align="center" style="color:red" id="com-upload-overwrite">Please mind <b><a href="https://commons.wikimedia.org/wiki/Special:MyLanguage/Commons:Overwriting_existing_files">our guidelines on overwriting existing files</a></b>. You agree to publish your upload under the same <b>license</b> as stated on the file description page.</div><hr>');
}
}
});
}(jQuery, mediaWiki));
//</nowiki>