MediaWiki:BuildUploadLink.js

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.
/*jshint jquery:true, curly:false*/
/*global mw:false*/
//<nowiki>

mw.loader.using(['jquery.ui', 'mediawiki.util', 'mediawiki.user'], function () {
'use strict';
	var $ta, $l;
	var _buildLink = function() {
		var link = mw.config.get('wgServer') + mw.config.get('wgScript') + "?" + $.param({
			title: 'Special:Upload',
			uselang: 'en',
			uploadformstyle: 'experienced',
			wpLicense: $l.val(),
			wpUploadDescription: $ta.val()
		});
		mw.util.$content.append($('<a>', { style: 'background-color:#F7F7F7; border:1px solid #EBEBEB; display:inline-block;', href: link, text: link }));
	};
	var _buildUI = function() {
		mw.util.$content.html('');
		var d = new Date();
		var m = (d.getMonth()+1).toString();
		var day = d.getFullYear();
		if (m.length < 2) m = "0"+m;
		if (day.length < 2) day = "0"+day;
		$ta = $('<textarea></textarea>', { style: 'width:100%; height:' + $(window).height()/2 + 'px' }).val("{{Information\n|Description=\n" + 
			"{{en|1=}}\n{{" + mw.user.options.get('language') + "|1=}}\n|Source={{own}}\n|Date=" + d.getFullYear() + "-" + m + "-" + day +
			"\n|Author=[[User:" + mw.user.getName() + "|" + mw.user.getName() + "]]\n|Permission=\n|other_versions=\n}}");
		mw.util.$content.append($ta);
		$l = $(l).appendTo(mw.util.$content);
		$('<button>', { text: 'Build link' }).appendTo(mw.util.$content).button({ icons:  { primary: 'ui-icon-link' } }).click(_buildLink);
	};
	var l = '<select id="wpLicense" name="wpLicense" tabindex="58" style="max-width: 100%; width: 100%; overflow: hidden;"><option value="" selected="selected">None selected (add a license tag in the permission field above, or this file will be deleted)</option>\n' +
 '<option value="subst:uwl" title="{{Remove this line and insert a license instead|year=2012|month=03|day=25}}">I don\'t know what the license is</option>\n' +
 '<option value="" style="color: GrayText" disabled="disabled">Your own work (best practices):</option>\n' +
 '	<option value="self|GFDL|cc-by-sa-all|migration=redundant" title="{{self|GFDL|cc-by-sa-all|migration=redundant}}">&nbsp;&nbsp;Own work, copyleft, attribution required (Multi-license GFDL, CC-BY-SA all versions)  </option>\n' +
 '	<option value="self|Cc-zero" title="{{self|Cc-zero}}">&nbsp;&nbsp;CC0 1.0 Universal Public Domain Dedication, all rights waived (Public domain)</option>\n' +
 '	<option value="self|GFDL|cc-by-sa-3.0|migration=redundant" title="{{self|GFDL|cc-by-sa-3.0|migration=redundant}}">&nbsp;&nbsp;Own work, copyleft, attribution required (GFDL, CC-BY-SA-3.0)</option>\n' +
 '	<option value="self|GFDL|cc-by-3.0|migration=redundant" title="{{self|GFDL|cc-by-3.0|migration=redundant}}">&nbsp;&nbsp;Own work, attribution required (GFDL, CC-BY 3.0)</option>\n' +
 '	<option value="self|cc-by-sa-3.0" title="{{self|cc-by-sa-3.0}}">&nbsp;&nbsp;Own work, copyleft, attribution required (CC-BY-SA-3.0)</option>\n' +
 '<option value="" style="color: GrayText" disabled="disabled">Not self-made, but has been released under:</option>\n' +
 '	<option value="" style="color: GrayText" disabled="disabled">&nbsp;&nbsp;Creative Commons licenses</option>\n' +
 '		<option value="cc-by-sa-3.0" title="{{cc-by-sa-3.0}}">&nbsp;&nbsp;&nbsp;&nbsp;Attribution ShareAlike 3.0</option>\n' +
 '		<option value="cc-by-sa-2.5" title="{{cc-by-sa-2.5}}">&nbsp;&nbsp;&nbsp;&nbsp;Attribution ShareAlike 2.5</option>\n' +
 '		<option value="cc-by-3.0" title="{{cc-by-3.0}}">&nbsp;&nbsp;&nbsp;&nbsp;Attribution 3.0</option>\n' +
 '		<option value="cc-by-2.5" title="{{cc-by-2.5}}">&nbsp;&nbsp;&nbsp;&nbsp;Attribution 2.5</option>\n' +
 '	<option value="" style="color: GrayText" disabled="disabled">&nbsp;&nbsp;Free Art License</option>\n' +
 '		<option value="FAL" title="{{FAL}}">&nbsp;&nbsp;&nbsp;&nbsp;Free Art License</option>\n' +
 '	<option value="" style="color: GrayText" disabled="disabled">&nbsp;&nbsp;Flickr photos</option>\n' +
 '		<option value="subst:template 2|flickrreview|subst:uwl" title="{{flickrreview}}{{Remove this line and insert a license instead|year=2012|month=03|day=25}}">&nbsp;&nbsp;&nbsp;&nbsp;Image from Flickr and I do not know the license</option>\n' +
 '		<option value="subst:template 2|cc-by-sa-2.0|flickrreview" title="{{cc-by-sa-2.0}}{{flickrreview}}">&nbsp;&nbsp;&nbsp;&nbsp;Uploaded to Flickr under Creative Commons Attribution ShareAlike 2.0</option>\n' +
 '		<option value="subst:template 2|cc-by-2.0|flickrreview" title="{{cc-by-2.0}}{{flickrreview}}">&nbsp;&nbsp;&nbsp;&nbsp;Uploaded to Flickr under Creative Commons Attribution 2.0</option>\n' +
 '<option value="" style="color: GrayText" disabled="disabled">Public domain:</option>\n' +
 '	<option value="PD-old-100" title="{{PD-old-100}}">&nbsp;&nbsp;Author died more than 100 years ago</option>\n' +
 '	<option value="PD-old" title="{{PD-old}}">&nbsp;&nbsp;Author died more than 70 years ago</option>\n' +
 '	<option value="PD-Art" title="{{PD-Art}}">&nbsp;&nbsp;Reproduction of a painting that is in the public domain because of its age</option>\n' +
 '	<option value="PD-US" title="{{PD-US}}">&nbsp;&nbsp;First published in the United States before 1923</option>\n' +
 '	<option value="PD-USGov" title="{{PD-USGov}}">&nbsp;&nbsp;Original work of the US Federal Government</option>\n' +
 '	<option value="PD-USGov-NASA" title="{{PD-USGov-NASA}}">&nbsp;&nbsp;Original work of NASA</option>\n' +
 '	<option value="PD-USGov-Military-Navy" title="{{PD-USGov-Military-Navy}}">&nbsp;&nbsp;Original work of the US Military Navy</option>\n' +
 '	<option value="PD-ineligible" title="{{PD-ineligible}}">&nbsp;&nbsp;Too simple to be copyrighted</option>\n' +
 '	<option value="subst:Template 2|Trademarked|PD-textlogo" title="{{Trademarked}}{{PD-textlogo}}">&nbsp;&nbsp;Logo with only simple text (wordmark)</option>\n' +
 '<option value="" style="color: GrayText" disabled="disabled">Other alternatives:</option>\n' +
 '	<option value="subst:uwl" title="{{Remove this line and insert a license instead|year=2012|month=03|day=25}}">&nbsp;&nbsp;I found the image on Google or a random website</option>\n' +
 '	<option value="Fair use" title="{{Fair use}}">&nbsp;&nbsp;Fair use image (Not allowed on Commons. Image will be deleted.)</option>\n' +
 '	<option value="Copyrighted free use" title="{{Copyrighted free use}}">&nbsp;&nbsp;Copyrighted, but may be used for any purpose, including commercially</option>\n' +
 '	<option value="Attribution" title="{{Attribution}}">&nbsp;&nbsp;May be used for any purpose, including commercially, if the copyright holder is properly attributed</option>\n' +
 '</select>';
	$(_buildUI);
});
//</nowiki>