Użytkownik:Michał56/common.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
;(function($, mw) {
	switch (mw.config.get('wgCanonicalSpecialPageName')) {
		case "Contributions":
			$('#contentSub a:nth-child(8)').after(' • <a id="nuke" href="http://nonsensopedia.wikia.com/wiki/Special:Nuke/' + mw.config.get('wgPageName').split('/')[1] + '">masowe usuwanie</a>');
		break;	
	}
}) (this.jQuery, this.mediaWiki);
 
;(function($, mw) {
	switch (mw.config.get('wgCanonicalSpecialPageName')) {
		case "Contributions":
		    	function info() {
	                alert('Ta funkcjonalność jest w trakcie rozwoju, niestety nie jest jeszcze dostępna.');
	            }
			$('#contentSub a:nth-child(7)').after(' • <a href="#" id="MultiLookupLink">MultiLookup</a>');
		break;	
	}
	$('#MultiLookupLink').click(function() {
	    info();
	});
 
}) (this.jQuery, this.mediaWiki); 
 
 
;(function($, mw) {
	switch (mw.config.get('wgCanonicalSpecialPageName')) {
		case "Contributions":
			$('#contentSub a:nth-child(9)').after(' • <a href="#" id="contribs-tools">narzędzia</a>');
		break;	
	}
}) (this.jQuery, this.mediaWiki);
 
;(function($, mw) {
        var username = mw.config.get("wgPageName").split("/")[1];
        var token = mw.user.tokens.get("editToken");
        var walls = [ 
	    "Message Wall",
	    "Nachrichtenseite",
	    "Muro",
        "Viestiseinä",
        "Mur",
        "Üzenőfal",
        "Bacheca",
        "メッセージ ウォール",
        "Prikbord",
        "Tablica wiadomości",
        "Mural de mensagens",
        "Стіна обговорення",
        "Стена обсуждения",
        "留言墙"
    ];
        $('#contribs-tools').click(function() {
             $.showCustomModal('Narzędzia — <span id="nazwa_usera">' + username + '</span>', '<div class="input-group"><label>Powód:</label><input id="reason" type="text" maxlength="150" value="[[w:c:community:help:vandalism|Vandalism]]">&nbsp;<span id="banReasonV" class="button">V</span>&nbsp;<span id="banReasonS" class="button">S</span>&nbsp;<span id="banReasonP" class="button">P</span>&nbsp;<span id="banReasonOB" class="button">OB</span>&nbsp</div><br/><div class="input-group"><label>Czas blokady:</label><input id="time" type="text" maxlength="150" value="2 weeks">&nbsp;<span id="banTime12h" class="button">12h</span>&nbsp;<span id="banTime2w" class="button">2w</span>&nbsp;<span id="banTime3m" class="button">3m</span>&nbsp;<span id="banTimeInf" class="button">inf</span>&nbsp</div><br/><fieldset><legend style="font-family: Arial; font-weight: bold">Inne operacje</legend><center><a href="/wiki/Specjalna:Rejestr/block?page=Użytkownik:' + username + '" id="blockLog">Blokady</a> • <a href="/wiki/Specjalna:Rejestr/' + username + '" id="log">Rejestry</a> • <a href="/wiki/User Talk:' + username + '" id="talk">Dyskusja</a> • <a href="/wiki/Specjalna:Pliki/' + username + '" id="files">Pliki</a> • <a href="/wiki/Specjalna:Usunięty_wkład/' + username + '" id="deleteCo">Usunięty wkład</a> • <a href="/wiki/Specjalna:Uprawnienia/' + username + '" id="rights">Uprawnienia</a>', {
				 id: 'tools',
				 width: 650,
				 buttons: [{
				     message: 'Cofnij wszystko',
				     id: 'RollbackAllButton',
				     defaultButton: true,
			         handler: function() {
						rollbackAll();
				     }
                 },  {
                     message: 'Cofnij i usuń',
                     id: 'DeleteAndRollbackButton',
                     defaultButton: true,
                     handler: function() {
						deleteAll();
						rollbackAll();
                     }
                 },  {
                     message: 'Wszystkie poprzednie',
                     id: 'AllBeforeButton',
                     defaultButton: true,
                     handler: function() {
						deleteAll();
						rollbackAll();
                     }
                 },  {
                     message: 'Usuń wszystko',
                     id: 'DeleteAllButton',
                     defaultButton: true,
                     handler: function() {
                        deleteAll();
                     }
				 },  {
                     message: 'Zablokuj',
                     id: 'BlockButton',
                  	 defaultButton: true,	
                     handler: function() {
						block(); 
					 }
				 },  {
                     message: 'Nuke',
					 id: 'NukeButton',
					 defaultButton: true,
					 handler: function() {
						deleteNuke();
					 }
				 }]
			 });
    var ReasonBan = document.getElementById("reason");
	var TimeBan = document.getElementById("time");
	document.getElementById("banReasonV").onclick = function() {
		ReasonBan.value = '[[w:c:community:help:vandalism|Vandalism]]';
	}
	document.getElementById("banReasonS").onclick = function() {
		ReasonBan.value = '[[w:c:community:help:spam|Spam]]';
	}
	document.getElementById("banReasonP").onclick = function() {
		ReasonBan.value = '[[w:c:nonsensopedia:Nonsensopedia:Prywata|Prywata]]';
	}
	document.getElementById("banReasonOB").onclick = function() {
		ReasonBan.value = 'Omijanie bana';
		TimeBan.value = 'infinite';
	}	 
	document.getElementById("banTime12h").onclick = function() {
		TimeBan.value = '12 hours'; 
	}
	document.getElementById("banTime2w").onclick = function() {
		TimeBan.value = '2 weeks';
	}
	document.getElementById("banTime3m").onclick = function() {
		TimeBan.value = '3 months';
	}
	document.getElementById("banTimeInf").onclick = function() {
		TimeBan.value = 'infinite';
	} 
        });
 
        function apiDelete(page,reason) {
		      new mw.Api().post({
		      format: 'json',
		      action: 'delete',
		      title: page,
		      reason: reason,
		      bot: true,
		      token: token
		})
		.done(function(d) { 
			if (!d.error) {
				console.log('done');
			} else {
			console.log('Wystąpił błąd podczas usuwania strony: - '+ d.error.code);
			}
		})
		.fail(function() {
			console.log('Wystąpił błąd podczas usuwania strony: '+page+'!');
		});
    } 
 
	function rollbackAll() {
		$('.mw-rollback-link a').each(function() {
		var href = $(this).attr('href');
		$.get(href);
		$(this).text('Gotowe!').parents().eq(2).css({'color':'grey','text-decoration':'line-through'}).removeAttr('href');
		});
	}
	function block() {
		 var czas = document.getElementById("time").value;
		 var powod = document.getElementById("reason").value;
		 var duration = prompt('Wybrany czas:', czas),
		 blockReason = prompt('Wybrany powód:', powod); 
		 if (!duration) {
			 alert('Pole „Wybrany czas” nie może być puste!');
			 return; 
		 } else if (!blockReason) {
			 alert('Pole „Wybrany powód” nie może być puste!');
			 return; 
		 }
		 new mw.Api().post({
		 format: 'json', 
		 action: 'block',
		 user: username,
		 expiry: duration,
		 nocreate: 0,
		 autoblock: 0,
		 reason: blockReason,
		 bot: true, 
		 token: token
		 })
		 .done(function(d) { 
			 if (!d.error) {
				 alert(username+' został pomyślnie zablokowany!');
			 }
             else {
				 alert('Wystąpił błąd podczas blokowania');
			 }			 
		 })
         .fail(function() {
			 alert('Wystąpił błąd podczas blokowania: '+username+'!');
		 })		 
	} 
	        function deleteAll() {
		      var deleteReason = 'Cleanup';
		      $('li .newpage ~ a').each(function() {
			var title = $(this).attr('title');
			if (walls.indexOf(title.split(':')[0]) !== -1)
				return;
			apiDelete(title,deleteReason);
			$(this).parent().css({'color':'grey','text-decoration':'line-through'}).removeAttr('href');
		});
		$('#mw-content-text ul li').each(function() {
			var title = $(this).children('a').first().attr('title');
			if (title.split('-').length == 1 || title.split('/@comment').length == 1)
				return;
			apiDelete(title,deleteReason);
			$(this).css({'color':'grey','text-decoration':'line-through'}).removeAttr('href');
		});
	}
	function deleteNuke() {
		window.open('http://nonsensopedia.wikia.com/wiki/Special:Nuke/' + username); 
	}  
    function closeTools() {
		$('#tools').closeModal();
	}
 
}) (this.jQuery, this.mediaWiki);