| Line 1: |
Line 1: |
| − | //<source lang="javascript">
| |
| − |
| |
| − | /***** LicenseChecker ********
| |
| − | * checks whether the selected license on Special:Upload is valid
| |
| − | * and provides feedback
| |
| − | *
| |
| − | * Maintainer: [[User:Dschwen]]
| |
| − | ****/
| |
| − | var 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!',
| |
| − | 'ru': 'Выбранная лицензия <b>не разрешена на Викискладе</b> и приведёт к <b>удалению</b> загруженного файла!'
| |
| − | },
| |
| − |
| |
| − | licensemenu : null,
| |
| − | warnbanner : null,
| |
| − | message : null,
| |
| − |
| |
| − | // Event handler for the license selector
| |
| − | check : function()
| |
| − | {
| |
| − | with(licenseChecker) {
| |
| − | if (!message) {
| |
| − | if( typeof(i18n[wgUserLanguage]) == 'string' )
| |
| − | message = i18n[wgUserLanguage];
| |
| − | else {
| |
| − | if (typeof (UFUI) != 'undefined' && typeof (i18n[UFUI.userLanguage]) == 'string') {
| |
| − | // From UploadForm.js, wgUserLanguage with uselang-hacks removed
| |
| − | message = i18n[UFUI.userLanguage];
| |
| − | } else {
| |
| − | message = i18n.en;
| |
| − | }
| |
| − | }
| |
| − | }
| |
| − |
| |
| − | for( var n in invalid )
| |
| − | if( licensemenu.value == invalid[n] )
| |
| − | {
| |
| − | warnbanner.innerHTML = message;
| |
| − | return;
| |
| − | }
| |
| − |
| |
| − | warnbanner.innerHTML = '';
| |
| − | }
| |
| − | },
| |
| − |
| |
| − | install : function()
| |
| − | {
| |
| − | with(licenseChecker) {
| |
| − | var uploadtext = document.getElementById('uploadtext');
| |
| − | // Check for skins not providing the uploadtext ID
| |
| − | if( uploadtext == null ) return;
| |
| − | licensemenu = document.getElementById('wpLicense');
| |
| − | // Some forms may not have a license selector (e.g. "fromwikimedia", or reupload forms)!
| |
| − | if (licensemenu == null) return;
| |
| − |
| |
| − | warnbanner = document.createElement('DIV');
| |
| − | warnbanner.className = 'center';
| |
| − | warnbanner.style.color = 'red';
| |
| − | warnbanner.style.background = '#eeeeee';
| |
| − |
| |
| − | uploadtext.appendChild( warnbanner );
| |
| − | addEvent( licensemenu , 'change', check );
| |
| − | }
| |
| − | }
| |
| − | }
| |
| − | addOnloadHook( licenseChecker.install );
| |
| − |
| |
| − |
| |
| − | /***** loadAutoInformationTemplate ********
| |
| − | * Adds a link to subpages of current page
| |
| − | *
| |
| − | * Maintainers: [[User:Yonidebest]], [[User:Dschwen]]
| |
| − | *
| |
| − | * JSconfig items: bool 'loadAutoInformationTemplate'
| |
| − | * (true=enabled (default), false=disabled)
| |
| − | ****/
| |
| − | function loadAutoInformationTemplate()
| |
| − | {
| |
| − | if( !JSconfig.keys['loadAutoInformationTemplate'] || // honor user configuration
| |
| − | document.location.href.toString().match("&wpDestFile=")) //Don't show when reuploading
| |
| − | return;
| |
| − |
| |
| − | uploadDescription = document.getElementById('wpUploadDescription');
| |
| − | var tripleTilda = '~~' + '~';
| |
| − | var doubleBracket = '{' + '{';
| |
| − | if(uploadDescription != null && wgUserLanguage != 'fromflickr' && wgUserLanguage != 'fromwikimedia'
| |
| − | && uploadDescription.value == '' ) {
| |
| − | switch(wgUserLanguage) {
| |
| − | case "ownwork":
| |
| − | case "deownwork":
| |
| − | case "elownwork":
| |
| − | case "esownwork":
| |
| − | case "frownwork":
| |
| − | case "itownwork":
| |
| − | case "mkownwork":
| |
| − | case "nlownwork":
| |
| − | case "noownwork":
| |
| − | case "plownwork":
| |
| − | case "ruownwork":
| |
| − | case "svownwork":
| |
| − | uploadDescription.value = doubleBracket + 'Information\n|Description=\n|Source={'+'{own}}\n|Date=\n|Author= [[User:' + wgUserName + '|' + wgUserName + ']]\n|Permission=\n|other_versions=\n}}\n';
| |
| − | break;
| |
| − |
| |
| − | /* don't put fromflickr, as people should use flinfo tool */
| |
| − | /* don't put fromwikimedia, as people should use commons helper tool */
| |
| − | case "fromgov":
| |
| − | uploadDescription.value = doubleBracket + 'Information\n|Description=\n|Source=\n|Date=\n|Author=\n|Permission=\n|other_versions=\n}}\n';
| |
| − | break;
| |
| − | case "icommons":
| |
| − | uploadDescription.value = doubleBracket + '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;
| |
| − | default:
| |
| − | uploadDescription.value = doubleBracket + 'Information\n|Description=\n|Source=\n|Date=\n|Author=\n|Permission=\n|other_versions=\n}}\n';
| |
| − | break;
| |
| − | }
| |
| − |
| |
| − | /// The copy & paste template information at [[MediaWiki:Uploadtext]] (see source code) isn't needed
| |
| − | // in case JavaScript is enabled (cause the upload form is beeing prefilled by Javscript with template
| |
| − | // information. Hides in case JavaScript is enabled in the user's browser.
| |
| − | // Superseeds http://commons.wikimedia.org/w/index.php?title=MediaWiki:Common.js&diff=7524161&oldid=7390279 by Arnomane
| |
| − | // Fullfilling request at http://commons.wikimedia.org/wiki/MediaWiki_talk:Common.js#Upload_page ~~~~
| |
| − | if (document.getElementById('Uploadtext-template-box')) document.getElementById('Uploadtext-template-box').style.display = 'none';
| |
| − | }
| |
| − | }
| |
| − | JSconfig.registerKey('loadAutoInformationTemplate', true, 'Insert Information template:', 3);
| |
| − | addOnloadHook(loadAutoInformationTemplate);
| |
| − |
| |
| − | /*
| |
| − | Automatically adds the {{{author}}} attribute when an image
| |
| − | if uploaded under a {{tl|self}} license. It will show as
| |
| − | ''I, [[User:foo|]], the copy[...]''.
| |
| − | */
| |
| − | function attributeSelf()
| |
| − | {
| |
| − | if (!JSconfig_old.attributeSelf) return;
| |
| − | var licenses = document.getElementById('wpLicense');
| |
| − | if (!licenses) return;
| |
| − | for (var i = 0; i < licenses.childNodes.length; i++)
| |
| − | {
| |
| − | var license = licenses.childNodes[i];
| |
| − | if (license.nodeName.toLowerCase() == 'option')
| |
| − | {
| |
| − | if (license.getAttribute('value').substr(0, 5) == 'self|' ||
| |
| − | license.getAttribute('value') == 'PD-self' ||
| |
| − | license.getAttribute('value') == 'GFDL-self')
| |
| − | {
| |
| − | license.setAttribute('value', license.getAttribute('value') + "|author=I, [[User:" + wgUserName + '|' + wgUserName + "]]");
| |
| − | }
| |
| − | }
| |
| − | }
| |
| − | }
| |
| − | // Disabled due to grammar errors
| |
| − | // addOnloadHook(attributeSelf);
| |
| − |
| |
| − | /*
| |
| − | * 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.
| |
| − | */
| |
| − | function hidePdfAllowed() {
| |
| − | var t = document.getElementById("mw-upload-permitted");
| |
| − | if (!t) return;
| |
| − | t = t.firstChild;
| |
| − | if (!t) return;
| |
| − | for (t = t.firstChild; t; t = t.nextSibling) {
| |
| − | if (t.nodeValue) //Is a text node
| |
| − | t.nodeValue = t.nodeValue.replace(/pdf[,،、] /, "");
| |
| − | }
| |
| − | }
| |
| − |
| |
| − | addOnloadHook(hidePdfAllowed);
| |
| − |
| |
| − | //</source>
| |
| − |
| |
| − |
| |
| | /* Any JavaScript here will be loaded for all users on every page load. */ | | /* Any JavaScript here will be loaded for all users on every page load. */ |
| | | | |