User:Ferretwings/UploadMultipleFiles.js

/* copied from https://dev.fandom.com/wiki/MediaWiki:UploadMultipleFiles.js with a change on line 76: fd.append("tags","UploadMultipleFiles") */ mw.loader.using(['site', 'mediawiki.util']).then(function {	i18n = {		multiupload: "Upload multiple files:",		yes: "Yes",		no: "No",		sourcefiles: "Source files:",		uploadfiles: "Upload files",		nofiles: "Please select some files first.",		nolicense: "Please select a valid license first.",		summary: "Summary",		license: "License",		uploading: "Uploading files...",		uploaded: "Uploaded:",		failed: "Failed:",		done: "Done."	};	if (mw.config.get("wgCanonicalSpecialPageName")!=="Upload") return;		$("#wpUploadFile").parent.parent.addClass("regularFileSelect");	$("tr.regularFileSelect").before(' '+i18n.multiupload+'   '+i18n.yes+'   '+i18n.no+'  ');	$("tr.regularFileSelect").after(''+i18n.sourcefiles+'   '); $("input[name='wpUpload']").addClass("regularFileSelect"); $("#wpDestFile").parent.parent.addClass("regularFileSelect"); $("#wpIgnoreWarning").parent.parent.addClass("regularFileSelect"); $("input[name='wpUpload']").after(''); $("input[name='multipleFiles']").change(function{		if (this.value===i18n.yes) {			$(".regularFileSelect").hide;			$(".multipleFileSelect").show;		}		else {			$(".regularFileSelect").show;			$(".multipleFileSelect").hide;		}	}); $("#multiFileSubmit").click(function {		files = $("#multiupload")[0].files;		if (files.length === 0) {			alert(i18n.nofiles);			return false;		}		if ($("#wpLicense option:selected").val === "" && !mw.config.get('UMFBypassLicenseCheck')) {			alert(i18n.nolicense);			return false;		}		comment = $("#wpUploadDescription").val;		license = ($("#wpLicense option:selected").val === "")?"":"\n== "+i18n.license+" ==\n"+$("#wpLicense option:selected").prop("title");		text = (comment !== "" ? "== " + i18n.summary + " ==\n" + comment : "") + license;		watch = "preferences";		if ($("#wpWatchthis").is(":checked")) watch = "watch";		else watch = "nochange";		curFile = 0;		$("#firstHeading").text(i18n.uploading);		$("#mw-content-text").html(" "+i18n.uploaded+"  "+i18n.failed+"  ");		function gNF {			if(curFile>files.length) {				$("#mw-content-text").append(" "+i18n.done+" ");				return;			}			if(files[curFile] === undefined) {				curFile++;				gNF;				return;			}			fd = new FormData;			fd.append("action","upload");			fd.append("token",mw.user.tokens.get('editToken'));			fd.append("filename",files[curFile].name);			fd.append("file",files[curFile]);			fd.append("comment",comment);			fd.append("text",text);			fd.append("watchlist",watch);			fd.append("ignorewarnings",1);			fd.append("format","json");			fd.append("tags","UploadMultipleFiles");			$.ajax({ url: mw.util.wikiScript('api'), method:'POST', data:fd, cache:false, contentType:false, processData:false, type:'POST' }).done(function(d){ if (d.error == undefined) { $("#mw-content-text > ul").append(''+d.upload.filename+'</li>'); }				else { $("#multiUploadFailed ul").append('<li>'+files[curFile].name+'</li>'); $("#multiUploadFailed").show; }				curFile++; gNF; }).fail(function(d) { $("#multiUploadFailed ul").append('<li>'+files[curFile].name+'</li>'); $("#multiUploadFailed").show; curFile++; gNF; });		}		gNF;	}); });