MediaWiki:Gadget-EdytujWNondanych.js

Z Nonsensopedii, polskiej encyklopedii humoru

Uwaga: aby zobaczyć zmiany po zapisaniu, 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: Przytrzymaj Ctrl jednocześnie klikając Odśwież lub naciśnij klawisze Ctrl+F5
  • Konqueror: Kliknij polecenie Odśwież lub naciśnij klawisz F5
  • Opera: Wyczyść pamięć podręczną w Narzędzia → Preferencje
$(document).ready(function()
{
	if (mw.config.get("wgNamespaceNumber") == 108)
	{
		//przycisk "Edytuj w Nondanych"
		$("#ca-edit").before("<li id='ca-nondaneEdit'><span><a href='https://dane.nonsa.pl/wiki/" + encodeURI(mw.config.get("wgPageName")) + "?action=formedit'>Edytuj w Nondanych</a></span></li>");
		
		//button pokazujący, czy dana strona została już uzupełniona w Nondanych
		var tytul = mw.config.get("wgPageName").replace(/_/g, " ");
		var kodWypelnionej = "<a href='https://dane.nonsa.pl/wiki/" + encodeURI(mw.config.get("wgPageName")) + "?action=formedit'><img id='nondaneEditedButton' src='https://upload.wikimedia.org/wikipedia/commons/1/1e/Button_Icon_GreenForest.svg' width='20px' height='20px' style='padding: 0px 0px 3px 10px;' title='Ta strona została już uzupełniona w Nondanych' /></a>";
		var kodNiewypelnionej = "<a href='https://dane.nonsa.pl/wiki/" + encodeURI(mw.config.get("wgPageName")) + "?action=formedit'><img id='nondaneEditedButton' src='https://upload.wikimedia.org/wikipedia/commons/0/07/Button_Icon_Red.svg' width='20px' height='20px' style='padding: 0px 0px 3px 10px;' title='Ta strona nie została jeszcze uzupełniona w Nondanych' /></a>";
	
	    var api = new mw.ForeignApi("https://dane.nonsa.pl/api.php");
	    api.post(
	    {
	        action: 'ask',
	        format: 'json',
	        query: '[[Nie posiada typu strony Gry::true]] [[' + tytul + ']]'
	    }).done(function(dane)
	    {
	        var wypelniona = (typeof dane.query.results[tytul] === "undefined");
	        if (wypelniona)
			{
				api.post (
				{
					action: 'query',
					format: 'json',
					titles: tytul
				}).done(function(dane)
				{
					if (typeof dane.query.pages["-1"] === "undefined")
					{
						$("#firstHeading").append(kodWypelnionej);
					}
					else
					{
						$("#firstHeading").append(kodNiewypelnionej);
					}
				}).fail(function(error)
			    {
			        console.log(error);
			    });
			}
			else
			{
				$("#firstHeading").append(kodNiewypelnionej);
			}
	    }).fail(function(error)
	    {
	        console.log(error);
	    });
	}
});