利用者:Wikiuser15442/Nolicense.js

お知らせ: 保存した後、ブラウザのキャッシュをクリアしてページを再読み込みする必要があります。

多くの WindowsLinux のブラウザ

  • Ctrl を押しながら F5 を押す。

Mac における Safari

  • Shift を押しながら、更新ボタン をクリックする。

Mac における ChromeFirefox

  • Cmd Shift を押しながら R を押す。

詳細についてはWikipedia:キャッシュを消すをご覧ください。

/*
ライセンスの欠けを防ぐJS
このJSはパブリックドメインです。 THIS IS LICENSED BY PUBLIC-DOMAIN
*/

var noLicenseError={
	Nolicense:"ライセンスがありません。ライセンスを付加してください。",
	GFDLOnly:"GFDLのみのライセンスはできません。",
	Nonfree:"このライセンスでは投稿できません。"
};

var canUseLicense=["{{self|GFDL|cc-by-sa-3.0","{{self|GFDL|cc-by-sa-3.0,2.5,2.0,1.0","{{self|GFDL|cc-by-3.0","{{Copyrighted free use","{{Japan map","{{World map","{{国土情報航空写真","{{PD-self","{{PD-old-USJP","{{PD-author","{{PD-ineligible","{{PD-because|","{{Copyright by Wikimedia","{{GFDL|判定","{{GFDL}}{{Cc"];
var cannotUseLicense=["{{PD}}","{{LGPL","{{GPL","{{BSD","{{No license","{{subst:nld","{{No source","{{subst:nsd","{{Non-free pubart","{{subst:nfpa","{{Non free","{{No rights reserved"];

function licenseChecker(){
	var i=0;
	var ns=mw.config.get('wgNamespaceNumber');
	var pn=mw.config.get('wgPageName');
	if(ns!=-1 || pn!="特別:アップロード"){return;} // Only Special:Upload
	var uploadButton=$('input.mw-htmlform-submit');
	if(uploadButton.length === 0){return;}
	uploadButton.click(function(e){
		var canuse=0;
		var text_can = $('#wpUploadDescription').val();
		for(i in canUseLicense){
			var pos1_can = text.indexOf(canUseLicense[i]) > 0;
			canuse=pos1_can||canuse;
		}
		i=0;
		var cannotuse=0;
		for(i in cannotUseLicense){
			var pos1_cannot = text.indexOf(cannotUseLicense[i]) > 0;
			cannotuse=pos1_cannot||cannotuse;
		}
		var pos1_GFDL=text.indexOf("{{GFDL") > 0;
		var pos2_GFDL=text.indexOf("{{GFDL|判定") > 0;
		var pos1_CC=text.indexOf("{{Cc") > 0;
		if(!canuse){if(!window.confirm(noLicenseError.Nolicense)){e.preventDefault();}}
		if(cannotuse){if(!window.confirm(noLicenseError.Nonfree)){e.preventDefault();}}
		if((pos1_GFDL) && !(pos2_GFDL || pos1_CC)){if(!window.confirm(noLicenseError.GFDLOnly)){e.preventDefault();}}
	});
}
$(function(){licenseChecker();});