MediaWiki:Gadget-QuickDelete.js

Z Wikipedii, wolnej encyklopedii

Uwaga: aby zobaczyć zmiany po opublikowaniu, może zajść potrzeba wyczyszczenia pamięci podręcznej przeglądarki.

  • Firefox / Safari: Przytrzymaj Shift podczas klikania Odśwież bieżącą stronę, lub naciśnij klawisze Ctrl+F5, lub Ctrl+R (⌘-R na komputerze Mac)
  • Google Chrome: Naciśnij Ctrl-Shift-R (⌘-Shift-R na komputerze Mac)
  • Internet Explorer / Edge: Przytrzymaj Ctrl, jednocześnie klikając Odśwież, lub naciśnij klawisze Ctrl+F5
  • Opera: Naciśnij klawisze Ctrl+F5.
// <syntaxhighlight lang="javascript">
// na podstawie [[Wikipedysta:ChP94/scripts/quickek.js]], Zbiczek i Herr Kriss

(function($) {
	// konfigurowalny, automatyczny zapis formularza
	window.nacommons_autosave = true;
	
	function deleteAction(akcja, pytanie) {
		if (typeof pytanie === 'string' && pytanie.length) { 
			var reason = prompt(pytanie);
			if (reason === null) return;
			window.location.href= mw.util.getUrl(null, { action: 'edit', fakeaction: akcja, reason: reason });
		} else {
			window.location.href= mw.util.getUrl(null, { action: 'edit', fakeaction: akcja });
		}
	};
	
	function insertCause(czypowod, szablon, opis, na_dole) {
		var editformval = document.editform.wpTextbox1.value;
		if (czypowod) {
			var reason = mw.util.getParamValue('reason');
			if (reason === "" || (!reason))
			{
				if (na_dole) {editformval = editformval + "\n{{" + szablon + "}}";}
				else {editformval = "{{" + szablon + "}}\n" + editformval;}
			}
			else
			{
				if (na_dole) {editformval = editformval + "\n{{" + szablon + "|1=" + reason + "}}";}
				else {editformval ="{{" + szablon + "|1=" + reason + "}}\n" + editformval;}
			}
		}
		else
		{
			if (na_dole) {editformval = editformval + "\n{{" + szablon + "}}";}
			else {editformval = "{{" + szablon + "}}\n" + editformval;}
		}
		
		document.editform.wpTextbox1.value = editformval;
		document.editform.wpSummary.value = opis;
		if (nacommons_autosave) { document.editform.wpSave.click(); }
	};

	function addCause(
		tabText, tabId, tabTooltip,
		akcja, pytanie
	) {
		var link = mw.util.addPortletLink('p-tb', '', tabText, tabId, tabTooltip)
		$(link).click(function(e){
			e.preventDefault();
			deleteAction(akcja, pytanie)
		});
	}
	
	function prepareGui() {
		addCause(
			"Na commons!", 'nacommons-nazw', "Oznacz plik do przeniesienia na commons",
			"nacommonsnazw", "Podaj nową nazwę dla tego pliku (wraz z rozszerzeniem) lub pozostaw puste. Skrypt nie przenosi automatycznie pliku."
		);
		addCause(
			"NPA", 'npa', "Oznacz plik naruszający prawa autorskie", 
			"npa", "Dlaczego uważasz, że ten plik narusza czyjeś prawa autorskie?"
		);
		addCause(
			"Brak źródła", 'zrodlo', "Oznacz plik bez podanego źródła", 
			"nosource"
		);
		addCause(
			"Brak autora", 'autor', "Oznacz plik bez podanego autora",
			"noauthor"
		);
		addCause(
			"Brak pozwolenia!", 'pozwolenie', "Oznacz plik bez pozwolenia autora", 
			"nopermission", false
		);
	}
		
	function resolveCasues(akcja) {
		switch(akcja) {
			case "nacommonsnazw": insertCause (true, "Do Commons", "Oznaczanie pliku do [[Wikiprojekt:Na Commons!|przeniesienia do Wikimedia Commons]]", false); break;
			case "npa": insertCause (true, "NPA", "Oznaczanie pliku [[WP:NPA|naruszającego prawa autorskie]]", false); break;
			case "nosource": insertCause (false, "subst:bź", "Plik bez podanego źródła/autora do weryfikacji licencji", false); break;
			case "noauthor": insertCause (false, "subst:ba", "Plik bez podanego autora", false); break;
			case "nopermission": insertCause (false, "subst:bp", "Plik bez linku do zgody autora lub bez zgody przesłanej do systemu OTRS Wikipedii", false); break;
		}
	}

	function onReady() {
		prepareGui();
		var fakeaction = mw.util.getParamValue('fakeaction');
		resolveCasues(fakeaction);
	}

	if (mw.config.get('wgNamespaceNumber') == 6)
	{
		$.when($.ready, mw.loader.using('mediawiki.util')).then(onReady);
	}
})(jQuery);
// </syntaxhighlight>