Informator

Dodatkowe informację o zgłoszeniach w panelu naruszeń portalu Wykop.pl.

目前为 2015-09-08 提交的版本。查看 最新版本

// ==UserScript==
// @name        	Informator
// @namespace   	http://www.wykop.pl/ludzie/Deykun
// @description 	Dodatkowe informację o zgłoszeniach w panelu naruszeń portalu Wykop.pl.
// @author      	Deykun
// @icon        	http://x3.cdn03.imgwykop.pl/c3201142/comment_bWVFKhjLOfg5B1xNe08BMxJTQF4qMS8V.gif
// @include	    	htt*wykop.pl/naruszenia/*
// @version     	3.00d
// @grant       	none
// @run-at			document-end
//
// Inspiracje:
// Kod dodawania paneli i inspirowany Sprawdzatorem Dreszczyka.
// Kod zapisywania danych inspirowany Automatycznym trybem nocnym Kamdza.
// Kod pobierania danych z tabeli dzięki uprzejmości Wicepsa (dzięki niemu są statystyki).
//
// ==/UserScript==

var main = function () {
$(document).ready(function($) {	
	var wersjainformatora = '3.00d';
	console.log('Informator '+wersjainformatora);
	
	// - - - USTAWIENIA UKRYTE INFORMATORA! - - -
	// Zmieniając wartości niżej wpływasz na zachowanie informatora np. zwiększając wykresy
	
	var infroz = [100,100,75] 	//Rozmiar wykresu w 1. "Moderatorzy", 2. "Powody" (ogólnie), 3. "Powody" (dla moderatorów)
	
	// - - - UWAGA! - - -
	//Ustawienie zamiast "1" w if() poniżej wartości "1410" sprawi, że funkcja usunie wszystkie dane i zablokuje ich zapis. Inna liczba odblokowywuje zapis, ale NIE przywraca danych!
	
	// - - - KONIEC! - - -
	//Usuwa wszystko z bazy danych
		if(1410==1){
			localStorage.removeItem('informator.lo-p');
			localStorage.removeItem('informator.lo-n');
			localStorage.removeItem('informator.lo-k');
			localStorage.removeItem('informator.lo-z');
			var n = 0;
			while (n < 50){
				localStorage.removeItem('informator.lm-m('+n+')');
				localStorage.removeItem('informator.lm-m('+n+')-p');
				localStorage.removeItem('informator.lm-m('+n+')-k');
				localStorage.removeItem('informator.lm-m('+n+')-z');
				localStorage.removeItem('informator.lm-m('+n+')-n');
				localStorage.removeItem('informator.los-t('+n+')');
				localStorage.removeItem('informator.lds-t('+n+')');
				localStorage.removeItem('informator.lp-p('+n+')');
				localStorage.removeItem('informator.lp-p('+n+')-p');
				localStorage.removeItem('informator.lp-p('+n+')-k');
				localStorage.removeItem('informator.lp-p('+n+')-z');
				localStorage.removeItem('informator.lp-p('+n+')-n');
				var m = 0;
				while (m < 50){;
				localStorage.removeItem('informator.lm-m('+m+')-p('+n+')-p');
				localStorage.removeItem('informator.lm-m('+m+')-p('+n+')-k');
				localStorage.removeItem('informator.lm-m('+m+')-p('+n+')-z');
				localStorage.removeItem('informator.lm-m('+m+')-p('+n+')-n');
			m++;}n++;}}
					
	//Ustawienia użytkownika informatora
    var inf1 = (localStorage.getItem('informator.lo-o(0)') || 'off') == 'on' ? true : false; //wyświetlanie %
	var inf2 = (localStorage.getItem('informator.lo-o(1)') || 'off') == 'on' ? true : false; //usunięcie miniatur z panelu zgloszen
	var inf3 = (localStorage.getItem('informator.lo-o(2)') || 'off') == 'on' ? true : false; //pokazywanie zmian 
	
	//Ikony: logo, ziel, czer, nieb, wysokoscikon, wkonsultacji, rozpatrywane, zmiennionypowod
	var inicon = ['http://c3201142.cdn03.imgwykop.pl/comment_ULVNdabLvaJFoNIncxLt069s2daYNTVy.jpg','http://x3.cdn03.imgwykop.pl/c3201142/comment_5eixN9eGMufLkUKuG7X9CLC5B8SlHw3L.jpg','http://x3.cdn03.imgwykop.pl/c3201142/comment_16bHpsLrZcg2o3XKKVjJWkDDrm7PvTgb.jpg', 'http://x3.cdn03.imgwykop.pl/c3201142/comment_VuHg9H4rP8mpFBpC9uiIMU8FpgIFImsT.jpg', 10,'http://x3.cdn03.imgwykop.pl/c3201142/comment_vTAv7o8elf48N7KkZpbCsSbJU87QdutO.jpg', 'http://x3.cdn03.imgwykop.pl/c3201142/comment_wzfYDXtrxmSK6p4jtK5niLHOwe3rmYRQ.jpg', 'http://x3.cdn03.imgwykop.pl/c3201142/comment_dd29TDLMeRBSSnVBZLBQwi19gEcFNtls.jpg']
	if (document.location.pathname.match('/naruszenia/moje')){
		//Ukrywanie miniatury
		if (inf2 == true){$('div[class="media-content m-reset-float"]').remove();}
			
		//Strona z naruszeniami					
			var lm = []		//lm - lista moderatorów, 
			var lp = []		//lp - lista powodów
			var los = []	//los - lista ostatnio sprawdzonych (zgłoszeń)
			var tos = []	//tos - tabela ostatnio sprawdzonych (zgłoszeń) - to co zostanie zapisane
			var lds = []	//lds - lista do sprawdzenia (ponownego)
			var tds = []	//tos - tabela do sprawdzenia (ponownego) - to co zostanie zapisane
			var zm = []		//zm - moderator sprawdzanego zgłoszenia
			var	zo = []		//zo - ocena sprawdzanego zgłoszenia
			var	zp = []		//zp - powód sprawdzanego zgłoszenia
			var	zt = []		//zt - tag sprawdzanego zgłoszenia
			
			//Pobranie wspomnianych list
			var l = '';	var m = 0;	var p = 0;	var n = 0;
			while (m < 4){	if (m==0){l='lm-m(';}	if (m==1){l='lp-p(';}	if (m==2){l='los-t(';}	if (m==3){l='lds-t(';}
				p = 0;	n = 0;	while (n < 50){
				p = localStorage.getItem('informator.'+l+n+')') || 0;
				if (p != 0){	if (l=='lm-m('){lm[n]=p;}	if (l=='lp-p('){lp[n]=p;}	if (l=='los-t('){los[n]=p;}	if (l=='lds-t('){lds[n]=p}	n++;}
				else {n=51;}} m++;}
					
			if (lp != 0) {console.log('Powody: '+lp);}
			if (lm != 0) {console.log('Moderatorzy: '+lm);}
			if (los != 0){console.log('Sprawdzone: '+los);}
			if (lds != 0){console.log('Do sprawdzenia: '+lds);}
			
			//Liczenie zgłoszeń
			var popr = 0;	var niep = 0;	var ocze = 0;	var kons = 0;	var zmie = 0;	var rozp = 0;	var q = 0; var dpopr = 0; var dniep = 0; var dzmie = 0; var dkons = 0; var docze = 0;
			n = 0;	while (n < 50){
				zm[n] = $(this).find('#violationsList > tbody > tr:eq('+n+') > td:eq(3) > span').text().substr(-4,4);		//zm - moderator zgłoszenia
				zm[n] = zm[n].replace(" ", "");
				zo[n] = $(this).find('#violationsList > tbody > tr:eq('+n+') > td:eq(3) > strong').text();					//zo - ocena zgłoszenia
				zp[n] = $(this).find('#violationsList > tbody > tr:eq('+n+') > td:eq(2) > p > span').text();				//zp - powód zgłoszenia
				zt[n] = $(this).find('#violationsList > tbody > tr:eq('+n+') > td:eq(2) > p').text().substr(0,5);			//zt - tag zgłoszenia
				zt[n] = zt[n].replace(":", "");
				console.log('_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _');
				if (zm[n]!='' && zo[n] != ''){	console.log('Zgłoszenie '+(n+1)+' #'+zt[n]+' rozpatrzył moderator '+zm[n]+' jako "'+zo[n]+'".');}
				if (lp.indexOf(zp[n]) == -1 && zp[n] != ''){
					console.log('Powód "'+zp[n]+'" został zarejestrowany po raz pierwszy.')
					localStorage.setItem('informator.lp-p('+lp.length+')', zp[n]);
					lp[lp.length]=zp[n];}
				if (lm.indexOf(zm[n]) == -1 && zm[n] != ''){
					console.log('Kod moderatora '+zm[n]+' został zarejestrowany po raz pierwszy.')
					localStorage.setItem('informator.lm-m('+lm.length+')', zm[n]);
					lm[lm.length]=zm[n];}
				if (los.indexOf(zt[n]) == -1){
					if (zo[n] == "Prawidłowe") {popr++;				tos[tos.length]=zt[n];		dpopr++;
							p = localStorage.getItem('informator.lo-p') || 0;	p++;
							localStorage.setItem('informator.lo-p', p);
							p = localStorage.getItem('informator.lp-p('+lp.indexOf(zp[n])+')-p') || 0;	p++;
							localStorage.setItem('informator.lp-p('+lp.indexOf(zp[n])+')-p', p);
							p = localStorage.getItem('informator.lm-m('+lm.indexOf(zm[n])+')-p') || 0;	p++;
							localStorage.setItem('informator.lm-m('+lm.indexOf(zm[n])+')-p', p);
							p = localStorage.getItem('informator.lm-m('+lm.indexOf(zm[n])+')-p('+lp.indexOf(zp[n])+')-p') || 0;	p++;
							localStorage.setItem('informator.lm-m('+lm.indexOf(zm[n])+')-p('+lp.indexOf(zp[n])+')-p', p);}
					else if (zo[n] == "Nieprawidłowe") {niep++;		tos[tos.length]=zt[n];		dniep++;
							p = localStorage.getItem('informator.lo-n') || 0;	p++;
							localStorage.setItem('informator.lo-n', p);
							p = localStorage.getItem('informator.lp-p('+lp.indexOf(zp[n])+')-n') || 0;	p++;
							localStorage.setItem('informator.lp-p('+lp.indexOf(zp[n])+')-n', p);
							p = localStorage.getItem('informator.lm-m('+lm.indexOf(zm[n])+')-n') || 0;	p++;
							localStorage.setItem('informator.lm-m('+lm.indexOf(zm[n])+')-n', p);
							p = localStorage.getItem('informator.lm-m('+lm.indexOf(zm[n])+')-p('+lp.indexOf(zp[n])+')-n') || 0;	p++;
							localStorage.setItem('informator.lm-m('+lm.indexOf(zm[n])+')-p('+lp.indexOf(zp[n])+')-n', p);}
					else if (zo[n] == "Zmieniony powód") {zmie++;	tos[tos.length]=zt[n];		dzmie++;
							p = localStorage.getItem('informator.lo-z') || 0;	p++;
							localStorage.setItem('informator.lo-z', p);
							p = localStorage.getItem('informator.lp-p('+lp.indexOf(zp[n])+')-z') || 0;	p++;
							localStorage.setItem('informator.lp-p('+lp.indexOf(zp[n])+')-z', p);
							p = localStorage.getItem('informator.lm-m('+lm.indexOf(zm[n])+')-z') || 0;	p++;
							localStorage.setItem('informator.lm-m('+lm.indexOf(zm[n])+')-z', p);
							p = localStorage.getItem('informator.lm-m('+lm.indexOf(zm[n])+')-p('+lp.indexOf(zp[n])+')-z') || 0;	p++;
							localStorage.setItem('informator.lm-m('+lm.indexOf(zm[n])+')-p('+lp.indexOf(zp[n])+')-z', p);}
					else if (zo[n] == "W konsultacji") {kons++;		tos[tos.length]=zt[n];	tds[tds.length]=zt[n];		dkons++;
							p = localStorage.getItem('informator.lo-k') || 0;	p++;
							localStorage.setItem('informator.lo-k', p);
							p = localStorage.getItem('informator.lp-p('+lp.indexOf(zp[n])+')-k') || 0;	p++;
							localStorage.setItem('informator.lp-p('+lp.indexOf(zp[n])+')-k', p);
							p = localStorage.getItem('informator.lm-m('+lm.indexOf(zm[n])+')-k') || 0;	p++;
							localStorage.setItem('informator.lm-m('+lm.indexOf(zm[n])+')-k', p);
							p = localStorage.getItem('informator.lm-m('+lm.indexOf(zm[n])+')-p('+lp.indexOf(zp[n])+')-k') || 0;	p++;
							localStorage.setItem('informator.lm-m('+lm.indexOf(zm[n])+')-p('+lp.indexOf(zp[n])+')-k', p);}
					else if (zo[n] == 'Nowe'){ocze++;				tos[tos.length]=zt[n];	tds[tds.length]=zt[n];		docze++;}
					else if (zm[n] != ''){rozp++;					tos[tos.length]=zt[n];	tds[tds.length]=zt[n];}
					else {n=51;}}
				else {
					if (zo[n] == "Prawidłowe") {popr++;				tos[tos.length]=zt[n];
						if (lds.indexOf(zt[n]) != -1){				dpopr++;
							p = localStorage.getItem('informator.lo-p') || 0;	p++;
							localStorage.setItem('informator.lo-p', p);
							p = localStorage.getItem('informator.lp-p('+lp.indexOf(zp[n])+')-p') || 0;	p++;
							localStorage.setItem('informator.lp-p('+lp.indexOf(zp[n])+')-p', p);
							p = localStorage.getItem('informator.lm-m('+lm.indexOf(zm[n])+')-p') || 0;	p++;
							localStorage.setItem('informator.lm-m('+lm.indexOf(zm[n])+')-p', p);
							p = localStorage.getItem('informator.lm-m('+lm.indexOf(zm[n])+')-p('+lp.indexOf(zp[n])+')-p') || 0;	p++;
							localStorage.setItem('informator.lm-m('+lm.indexOf(zm[n])+')-p('+lp.indexOf(zp[n])+')-p', p);
							tos[tos.length]=zt[n];
						}}
					else if (zo[n] == "Nieprawidłowe") {niep++;		tos[tos.length]=zt[n];
						if (lds.indexOf(zt[n]) != -1){				dniep++;
							p = localStorage.getItem('informator.lo-n') || 0;	p++;
							localStorage.setItem('informator.lo-n', p);
							p = localStorage.getItem('informator.lp-p('+lp.indexOf(zp[n])+')-n') || 0;	p++;
							localStorage.setItem('informator.lp-p('+lp.indexOf(zp[n])+')-n', p);
							p = localStorage.getItem('informator.lm-m('+lm.indexOf(zm[n])+')-n') || 0;	p++;
							localStorage.setItem('informator.lm-m('+lm.indexOf(zm[n])+')-n', p);
							p = localStorage.getItem('informator.lm-m('+lm.indexOf(zm[n])+')-p('+lp.indexOf(zp[n])+')-n') || 0;	p++;
							localStorage.setItem('informator.lm-m('+lm.indexOf(zm[n])+')-p('+lp.indexOf(zp[n])+')-n', p);
						}}
					else if (zo[n] == "Zmieniony powód") {zmie++;	tos[tos.length]=zt[n];
						if (lds.indexOf(zt[n]) != -1){				dzmie++;
							p = localStorage.getItem('informator.lo-z') || 0;	p++;
							localStorage.setItem('informator.lo-z', p);
							p = localStorage.getItem('informator.lp-p('+lp.indexOf(zp[n])+')-z') || 0;	p++;
							localStorage.setItem('informator.lp-p('+lp.indexOf(zp[n])+')-z', p);
							p = localStorage.getItem('informator.lm-m('+lm.indexOf(zm[n])+')-z') || 0;	p++;
							localStorage.setItem('informator.lm-m('+lm.indexOf(zm[n])+')-p', z);
							p = localStorage.getItem('informator.lm-m('+lm.indexOf(zm[n])+')-p('+lp.indexOf(zp[n])+')-z') || 0;	p++;
							localStorage.setItem('informator.lm-m('+lm.indexOf(zm[n])+')-p('+lp.indexOf(zp[n])+')-z', p);
						}}
					else if (zo[n] == "W konsultacji") {kons++;		tos[tos.length]=zt[n];	tds[tds.length]=zt[n];}
					else if (zo[n] == "Nowe"){ocze++;				tos[tos.length]=zt[n];	tds[tds.length]=zt[n];}
					else if (zm[n] != ''){rozp++;					tos[tos.length]=zt[n];	tds[tds.length]=zt[n];}
					else {n=51;}}
				n++;}
				
			//Aktualizowanie list sprawdzonych zgłoszeń i tych które trzeba sprawdzić ponownie	
			m = 0; while (m < 2) {if (m==0){l='los-t(';}	if (m==1){l='lds-t(';}
			n = 0; while (n < 50){
				p = localStorage.getItem('informator.'+l+n+')') || 0;
				if (p != 0){localStorage.removeItem('informator.'+l+n+')');}
				else if (p == 0 && isNaN(parseFloat(tos[n])) && m==0){n=51;}
				else if (p == 0 && isNaN(parseFloat(tds[n])) && m==1){n=51;}
				if (!isNaN(parseFloat(tos[n])) && m==0){localStorage.setItem('informator.'+l+n+')', tos[n]);}
				else if (!isNaN(parseFloat(tds[n])) && m==1){localStorage.setItem('informator.'+l+n+')', tds[n]);}
				n++;} m++;}
					
		//Pokazywanie statystyki
		//Komunikat z informacją o braku danych
    	if (popr == 0 && niep == 0 && zmie == 0 && kons == 0 && rozp == 0 && ocze == 0){
			$('.bspace > ul:nth-child(3) > li:nth-child(3)').after('<li><a href="http://www.wykop.pl/naruszenia/informator">Statystyki</a></liv>');}
		else { var suma = popr + niep;
			if (suma != 0) 
				{ var infpp = parseInt((popr/suma)*100);
				var infnpnp = parseInt((niep/suma)*100);}
			else { var infpp = 0; var infnpnp = 0;}
				
            var poprawne = parseFloat((popr/suma)*100).toFixed(1);
            var niepoprawne = parseFloat((niep/suma)*100).toFixed(1);
			
			if (inf1 == true){						//Dane w procentach
				var poprpokaz = poprawne +'%';
				var nieppokaz = niepoprawne +'%';}
			else { var poprpokaz = popr; var nieppokaz = niep;}
			var zmiepokaz = zmie;	var konspokaz = kons;	var oczepokaz = ocze;
			
			//Podpisy
			var titpop = 'title="Prawidłowe '+ popr +' ('+ poprawne +'%)"';
			var titnie = 'title="Nieprawidłowe '+ niep +' ('+ niepoprawne +'%)"';
            					
			//Pokazywanie zmian statystyk
			if (inf3 == true) {				
				if (dpopr != 0){var poprpokaz = '(+'+ dpopr +') '+ poprpokaz;}
				if (dniep != 0){var nieppokaz = nieppokaz + ' (+'+ dniep +')';}
				if (dzmie != 0){var zmiepokaz = zmiepokaz + ' (+'+ dzmie +')';}	
				if (dkons != 0){var konspokaz = konspokaz + ' (+'+ dkons +')';}
				if (docze != 0){var oczepokaz = oczepokaz + ' (+'+ docze +')';}}

			//Panel oczekiwanych, rozpatrywanych i konsultowanych
			var niesprawdzone = ['','','','']
			if (ocze != 0){
					var titocz = 'title="Nowe '+ ocze +'"';
					niesprawdzone[2] = '<img height="'+ inicon[4] +'px" '+ titocz +' src="'+ inicon[3] +'"> ' + oczepokaz + '</span>';}
			if (kons != 0){
					var titkon = 'title="W konsultacji '+ kons +'"';
					niesprawdzone[1] = '<img height="'+ inicon[4] +'px" '+ titkon +' src="'+ inicon[5] +'"> ' + konspokaz + '</span>';}
			if (rozp != 0){
					var titroz = 'title="Rozpatrywane '+ rozp +'"';
					niesprawdzone[0] = '<img height="'+ inicon[4] +'px" '+ titroz +' src="'+ inicon[6] +'"> ' + rozp + '</span>';}
			if (zmie != 0){
					var titzmie = 'title="Zmienionym powód '+ zmie +'"';
					niesprawdzone[3] = '<img height="'+ inicon[4] +'px" '+ titzmie +' src="'+ inicon[7] +'"> ' + zmiepokaz + '</span>';}
			var panelns = niesprawdzone[0]+' '+niesprawdzone[1]+' '+niesprawdzone[2]+' '+niesprawdzone[3];
			
        	if (ocze == 0 && kons == 0 && rozp == 0 && zmie == 0) {
					$('.bspace > ul:nth-child(3) > li:nth-child(3)').after('<li><a href="http://www.wykop.pl/naruszenia/informator" title="Strona statystyk informatora">' + poprpokaz + ' <img height="'+ inicon[4] +'px" width="'+ (infpp+1) +'px" '+ titpop +' src="'+ inicon[1] +'"><img height="'+ inicon[4] +'px" width="'+ (infnpnp+1) +'px" '+ titnie +' src="'+ inicon[2] +'"> ' + nieppokaz + '</a></liv>');}
        	else if (suma != 0){			
					$('.bspace > ul:nth-child(3) > li:nth-child(3)').after('<li><a href="http://www.wykop.pl/naruszenia/informator" title="Strona statystyk informatora">' + poprpokaz + ' <img height="'+ inicon[4] +'px" width="'+ (infpp+1) +'px" '+ titpop +' src="'+ inicon[1] +'"><img height="'+ inicon[4] +'px" width="'+ (infnpnp+1) +'px" '+ titnie +' src="'+ inicon[2] +'"> ' + nieppokaz + ' '+panelns+'</a></liv>');}		
			else {
			$('.bspace > ul:nth-child(3) > li:nth-child(3)').after('<li><a href="http://www.wykop.pl/naruszenia/informator" title="Strona statystyk informatora">'+panelns+'</a></liv>');}}}
	
	//Strona ustawień i statystyk informatora
	else if (document.location.pathname.match('/naruszenia/informator')){
		//Strona ze statystkami
		var infkomunikat = 'Witaj w zakładce ustawień dodatku Informator!</p><p>Niżej znajdują się wykresy wygenerowane na podstawie danych zebranych przez dodatek oraz jego ustawienia. Jeśli podoba Ci się dodatek pamiętaj, że zawsze możesz go ocenić <a href="http://www.wykop.pl/dodatki/pokaz/409/">tutaj</a>. :)';
		var infpass = localStorage.getItem('informator.lo-o(pass)') || 0;
		var infspa = localStorage.getItem('informator.lo-o(space)') || 6;

		//Opcje generowania wykresów
		var infadres = location.pathname; var infadresf = infadres.split("/");
		
		var m = 0; while (m < 10){
			//Opcja ukrywania moderatorów
			if (infadresf[m] == 'modh'){
					p = localStorage.getItem('informator.lm-m('+infadresf[m+1]+')') || 0;
					if (p != 0 && infpass == infadresf[m+2]){
						infpass = Math.floor((Math.random() * 100) + 1);
						localStorage.setItem('informator.lo-o(pass)', infpass);
						q = localStorage.getItem('informator.lm-m('+infadresf[m+1]+')-o(1)') || 0;
						if (q == 0){localStorage.setItem('informator.lm-m('+infadresf[m+1]+')-o(1)', 1);
							infkomunikat = 'Statystyki moderatora '+p+' zostały ukryte!</p><p>Przywrócisz je wybierając jego kod w tabeli.';}
						else if (q == 1){localStorage.setItem('informator.lm-m('+infadresf[m+1]+')-o(1)', 0);
			infkomunikat = 'Statystyki moderatora '+p+' zostały przywrócone!</p><p>Możesz porównać teraz jego akcje z akcjami innych moderatorów.';} m=11;}}
				
			//Ustawienia spacji (co ile ma przypominać kody moderatorów)
			else if (infadresf[m] == 'mods'){
					if (infpass == infadresf[m+2]){
						infpass = Math.floor((Math.random() * 100) + 1);
						localStorage.setItem('informator.lo-o(pass)', infpass);
						if (infadresf[m+1] == 'u' && infspa > 1){infspa--;
							localStorage.setItem('informator.lo-o(space)', infspa);
							infkomunikat = 'Lista z kodami moderatorów została przesunięta w górę!</p><p>Ilość wierszy z powodami po których pojawi się ponownie to: <strong>'+infspa+'</strong>.';}
						else if (infadresf[m+1] == 'd' && infspa < 10){infspa++;
							localStorage.setItem('informator.lo-o(space)', infspa);
						infkomunikat = 'Lista z kodami moderatorów została przesunięta w dół!</p><p>Ilość wierszy z powodami po których pojawi się ponownie to: <strong>'+infspa+'</strong>.';}
		m=11;}}m++;}
		
		console.log('Odstęp pomiędzy ponownym wyświetleniem kodów moderatorów ma wartość '+infspa);
		
		//Generowanie wykresu na podstawie danych (rozmiar, prawidłowe, nieprawidłowe, w konsultacji, zmieniony powód)
		function informatorwykres(ro, pr, np, wk, zm) {
		var sumawykres = parseInt(pr+np+wk+zm);
		if (sumawykres != 0){
			var procentpr = '<br>Prawidłowych <br><strong>'+parseFloat(((pr+zm)/sumawykres)*100).toFixed(1)+'%</strong> z '+sumawykres;	
			if (zm != 0){
				procentpr = '<br>Uzasadnionch <br><strong title="Zgłoszeń prawidłowych i ze zemienionym powodem.">'+parseFloat(((pr+zm)/sumawykres)*100).toFixed(1)+'%</strong> z '+sumawykres;}			
			var procent;
			var sumaprocent = 0;
			
			//Układanie danych w prawidłowej kolejności
			var sortowanie = [pr,np,wk,zm]	
			function sorta(a, b) {
			return a - b}
			sortowanie.sort()
			sortowanie.sort(sorta)
			sortowanie.reverse()
			
			//Opracowywanie wycinków wykresu
			var luk = 0;
			var aktluk = 0;
			var kolorluk;
			var powodwykres = '';
			
			if (pr != 0){powodwykres=powodwykres+'\n Prawidłowe : '+pr+' ('+parseFloat((pr/sumawykres)*100).toFixed(1)+'%)';}
			if (wk != 0){powodwykres=powodwykres+'\n W konsultacji : '+wk+' ('+parseFloat((wk/sumawykres)*100).toFixed(1)+'%)';}
			if (zm != 0){powodwykres=powodwykres+'\n Zmieniony powód : '+zm+' ('+parseFloat((zm/sumawykres)*100).toFixed(1)+'%)';}
			if (np != 0){powodwykres=powodwykres+'\n Nieprawidłowe : '+np+' ('+parseFloat((np/sumawykres)*100).toFixed(1)+'%)';}
			powodwykres = powodwykres+'\n ';
			
			while (luk < 4){
				if (sortowanie[luk] == pr){			aktluk=pr;	pr=0;	kolorluk='#4BC44B';}
				else if (sortowanie[luk] == wk){	aktluk=wk;  wk=0;	kolorluk='#2752C6';}			
				else if (sortowanie[luk] == zm){	aktluk=zm;	zm=0;	kolorluk='#F67643';}
				else if (sortowanie[luk] == np){	aktluk=np;	np=0;	kolorluk='#F73B3B';}
				
				if (luk == 0){ var wykres = '<div style="margin: auto; width: '+ro+'px; height: '+ro+'px; position: relative; border-radius: '+ro+'px; background-color: '+kolorluk+';">';}
				
				//Sama generacja wycinków
				procent = parseInt((aktluk/sumawykres)*360);
				if (procent != 0){
					if (procent > 180){
						wykres = wykres+'<div style="position: absolute; top: 0px; left: 0px; width: '+ro+'px; height: '+ro+'px; border-radius: '+ro+'px; clip: rect(0px, '+ro+'px, '+ro+'px, 0px); transform: rotate('+sumaprocent+'deg);"><div title="'+powodwykres+'" style="background-color: '+kolorluk+'; position: absolute; top: 0px; left: 0px; width: '+ro+'px; height: '+ro+'px; border-radius: '+ro+'px; clip: rect(0px, '+(ro/2)+'px, '+ro+'px, 0px); transform: rotate(180deg);"></div></div>'
						procent = procent - 180;
						sumaprocent = sumaprocent+180;}
					wykres = wykres+'<div style="position: absolute; top: 0px; left: 0px; width: '+ro+'px; height: '+ro+'px; border-radius: '+ro+'px; clip: rect(0px, '+ro+'px, '+ro+'px, '+(ro/2)+'px); transform: rotate('+sumaprocent+'deg);"><div title="'+powodwykres+'" style="background-color: '+kolorluk+'; position: absolute; top: 0px; left: 0px; width: '+ro+'px; height: '+ro+'px; border-radius: '+ro+'px; clip: rect(0px, '+(ro/2)+'px, '+ro+'px, 0px); transform: rotate('+procent+'deg);"></div></div>';
					sumaprocent = sumaprocent+procent;}
				luk++;}
				wykres = wykres+'</div>'+procentpr;}
			else { var wykres = '<div title="Brak danych dla wybranego zakresu danych." style="margin: auto; width: '+ro+'px; height: '+ro+'px; position: relative; border-radius: '+ro+'px; background-color: #919191;"></div>';}
			return wykres;}
			
			var lw = []		//lm - lista wykresu
			var lwp = []
			var lwn = []
			var lwk = []
			var lwz = []
			var lwid = []
			var lws = []
			
			var panelstatystyk = '<table><tr><td colspan="0" style="text-align: center; vertical-align: middle;"><i class="fa fa-eye"></i> <strong>Moderatorzy</strong></td></tr><tr>';
			var panelstat = 0;
			
			//Ukryci moderatorzy
			var p = 0;	var n = 0; var q = 0; var r = 0;
			while (n < 50){
			p = localStorage.getItem('informator.lm-m('+n+')') || 0;
			q = localStorage.getItem('informator.lm-m('+n+')-o(1)') || 0;
			if (p != 0 && q == 1){
				if (r == 0) {panelstatystyk = panelstatystyk+'<tr><td colspan="0" style="text-align: center; font-size:x-small; vertical-align: middle;">'; r=1;}
				panelstatystyk = panelstatystyk+'&nbsp; <a href="http://www.wykop.pl/naruszenia/informator/modh/'+n+'/'+infpass+'" title="Wybierz by pokazać moderatora w statystykach."><i class="fa fa-eye"></i> '+p+'</a> &nbsp; '; n++;}
			else if (p != 0){n++;}
			else {n=51;}}
			if (r == 1) {panelstatystyk = panelstatystyk+'</td></tr>';}
			
			//Pobieranie statystyk ogólnych
				lwp[n] = parseInt(localStorage.getItem('informator.lo-p') || 0);
				lwn[n] = parseInt(localStorage.getItem('informator.lo-n') || 0);
				lwk[n] = parseInt(localStorage.getItem('informator.lo-k') || 0);
				lwz[n] = parseInt(localStorage.getItem('informator.lo-z') || 0);
				panelstatystyk = panelstatystyk+'<td style="text-align: center; vertical-align: middle;"><i class="fa fa-flag"></i> <strong>Wszystkie zgłoszenia</strong><br><br>'+informatorwykres(infroz[0],lwp[n],lwn[n],lwk[n],lwz[n])+'</td>';
			
			//Pobranie listy moderatorów
			var p = 0;	var n = 0; var q = 0;
				while (n < 50){
				p = localStorage.getItem('informator.lm-m('+n+')') || 0;
				q = localStorage.getItem('informator.lm-m('+n+')-o(1)') || 0;
				if (p != 0 && q == 0){					
						lw[n] = p;
						panelstat = 1;
						lwp[n] = parseInt(localStorage.getItem('informator.lm-m('+n+')-p') || 0);
						lwn[n] = parseInt(localStorage.getItem('informator.lm-m('+n+')-n') || 0);
						lwk[n] = parseInt(localStorage.getItem('informator.lm-m('+n+')-k') || 0);
						lwz[n] = parseInt(localStorage.getItem('informator.lm-m('+n+')-z') || 0);
						panelstatystyk = panelstatystyk+'<td style="text-align: center; vertical-align: middle;"><a href="http://www.wykop.pl/naruszenia/informator/modh/'+n+'/'+infpass+'" title="Wybierz by ukryć moderatora w statystykach."><i class="fa fa-eye"></i> <strong>'+lw[n]+'</strong></a><br><br>'+informatorwykres(infroz[0],lwp[n],lwn[n],lwk[n],lwz[n])+'</td>';
						n++;}
				else if (p != 0){n++;}
				else {n=51;}}
				
				var panelstatystyk = panelstatystyk+'</tr>';
			
			var panelstatystyk = panelstatystyk+'<tr><td colspan="0" style="text-align: center; vertical-align: middle;"><i class="fa fa-flag-o"></i> <strong>Powody</strong></td></tr>';
			
			//Pobranie listy powodów i tworzenie tebeli do ich posortowania
			var p = 0;	var n = 0; var j = 0;
				while (n < 50){
				p = localStorage.getItem('informator.lp-p('+n+')') || 0;
				if (p != 0){					
					panelstat = 1;
					lw[n] = p;
					lwp[n] = parseInt(localStorage.getItem('informator.lp-p('+n+')-p') || 0);
					lwn[n] = parseInt(localStorage.getItem('informator.lp-p('+n+')-n') || 0);
					lwk[n] = parseInt(localStorage.getItem('informator.lp-p('+n+')-k') || 0);
					lwz[n] = parseInt(localStorage.getItem('informator.lp-p('+n+')-z') || 0);
					
					lwid[n] = parseInt(lwp[n]+lwn[n]+lwk[n]+lwz[n]);
					lws[n] = '<tr><td colspan="0" style="text-align: center; vertical-align: middle;">'+lw[n]+'</td></tr><tr><td style="text-align: center; vertical-align: middle;">'+informatorwykres(infroz[1],lwp[n],lwn[n],lwk[n],lwz[n])+'</td>';
					
					var q = 0;	var m = 0; var r=0;
					while (m < 50){
					q = localStorage.getItem('informator.lm-m('+m+')') || 0;
					r = localStorage.getItem('informator.lm-m('+m+')-o(1)') || 0;	
					if (q != 0 && r == 0){
							lwp[n] = parseInt(localStorage.getItem('informator.lm-m('+m+')-p('+n+')-p') || 0);
							lwn[n] = parseInt(localStorage.getItem('informator.lm-m('+m+')-p('+n+')-n') || 0);
							lwk[n] = parseInt(localStorage.getItem('informator.lm-m('+m+')-p('+n+')-k') || 0);
							lwz[n] = parseInt(localStorage.getItem('informator.lm-m('+m+')-p('+n+')-z') || 0);
							lws[n] = lws[n]+'<td style="text-align: center; font-size:x-small; vertical-align: middle;">'+informatorwykres(infroz[2],lwp[n],lwn[n],lwk[n],lwz[n])+'</td>'; m++;}
				else if (q != 0){m++;}
				else {m=51;}}						
					lws[n] = lws[n]+'</tr>';}
				else {n=51;} n++;}						
				
				//Sortowanie wykresów powodów tak aby powód najczęście rozpatrywany był na górze listy
				function informatorsort(a,b){  
					var swapped; do {  
						swapped = false;  
						for (var i=0; i < a.length-1; i++) {  
							if (a[i] > a[i+1]) {  
								var temp = a[i];  
								a[i] = a[i+1];  
								a[i+1] = temp;  
				  
								var temp = b[i];  
								b[i] = b[i+1];  
								b[i+1] = temp;  
								swapped = true;}}  
					} while (swapped);} 
				informatorsort(lwid,lws);  
				lwid.reverse()
				lws.reverse()
				
				var n = 0;
				while (n < 50){
				if (lwid[n] > 0){
					panelstatystyk = panelstatystyk+lws[n]; n++; j++;
					if (j == infspa){
					if (infspa == 1){
						panelstatystyk = panelstatystyk+'</tr><tr><td style="text-align: center; vertical-align: middle;"><a href="http://www.wykop.pl/naruszenia/informator/mods/d/'+infpass+'" title="Wybierz by wiersz z moderatorami pojawiał się rzadziej.">↓</a></td>';}
					else {
						panelstatystyk = panelstatystyk+'</tr><tr><td style="text-align: center; vertical-align: middle;"><a href="http://www.wykop.pl/naruszenia/informator/mods/u/'+infpass+'" title="Wybierz by wiersz z moderatorami pojawiał się częśćiej.">↑</a> | <a href="http://www.wykop.pl/naruszenia/informator/mods/d/'+infpass+'" title="Wybierz by wiersz z moderatorami pojawiał się rzadziej.">↓</a></td>';}
					
					var w = 0;	var k = 0; var r = 0;
						while (k < 50){
						w = localStorage.getItem('informator.lm-m('+k+')') || 0;
						r = localStorage.getItem('informator.lm-m('+k+')-o(1)') || 0;	
						if (w != 0 && r == 0){
								panelstatystyk = panelstatystyk+'<td style="text-align: center; vertical-align: middle;"><a href="http://www.wykop.pl/naruszenia/informator/modh/'+k+'/'+infpass+'" title="Wybierz by ukryć moderatora w statystykach."><i class="fa fa-eye"></i> <strong>'+w+'</strong></a></td>';k++;}
						else if (w != 0){k++;}
						else {k=51;}}
						panelstatystyk = panelstatystyk+'</tr>'; j = 0;}
					}
				else {if((infspa > n && n > 1) || infspa < 1){localStorage.setItem('informator.lo-o(space)', n); console.log('Odstęp pomiędzy kolejnymi wierszami został zmniejszony tak by były one widoczne.');} n=51;}}
									
				panelstatystyk = panelstatystyk+'</tr></table>';
				if (panelstat == 0){panelstatystyk = 'Informator nie naliczył jeszcze żadnych zgłoszeń przejdź do zakładki "<a href="http://www.wykop.pl/naruszenia/moje/">Zgłoszenia</a>" żeby mógł to zrobić. Jeśli na wspomnianej stronie znajdują się zgłoszenia, a mimo to nie ma tu statystyk skontaktuj się ze mną klikając <a href="http://www.wykop.pl/wiadomosc-prywatna/konwersacja/Deykun" title="Konwersacja z @Deykun">tutaj</a>. :)';}
			
		$('.bspace > ul:nth-child(3) > li:nth-child(3)').after('<li class="active"><a href="http://www.wykop.pl/naruszenia/informator">Statystyki</a></liv>');
				
		var ustawienia = '<div class = "row"><input id="inf3" name="inf3" class="checkbox" type="checkbox" value="on" ' + (inf3 ? 'checked="checked"' : '') + '><label class="inline" for="inf3"> pokazuj zmiany od ostatniej wizyty na stronie naruszeń</label></div><div class="row"><input id="inf1" name="inf1" class="chk-box" type="checkbox" value="on" ' + (inf1 ? 'checked="checked"' : '') + '></input><label class="inline" for="inf1"> rozpatrzone zgłoszenia w procentach</label></div><div class="row"><input id="inf2" name="inf2" class="checkbox" type="checkbox" value="on" ' + (inf2 ? 'checked="checked"' : '') + '></input><label class="inline" for="inf2"> nie pokazuj miniatur znalezisk w panelu naruszeń</label></div></div></fieldset><div class="mark-bg space"><fieldset class="row buttons"><p><input value="Zapisz ustawienia" type="submit"></input></fieldset></div>';
		
		//Zapisywanie ustawień informatora
		//inf1 - wyświetlanie %
		if ($('#inf1').is(':checked')){
			$('#info1').attr('disabled', true);}
		
		$('#inf1').click(function () {
			if (this.checked) {
				$('#info1').attr('disabled', true);}
			else {
				$('#info1').removeAttr('disabled');
				$('#info1').attr('checked', false);}});
		
		$(document).delegate('form', 'submit', function () {
			localStorage.setItem('inf1_data', $('input[name*="user"][name!="user[info1]"]').serialize());
			if ($('#inf1').is(':checked')) {localStorage.setItem('informator.lo-o(0)', $('#inf1').val());}
			else {localStorage.setItem('informator.lo-o(0)', 'off');}});
		
		//inf2 - wyświetlanie tylko kwadratów
		if ($('#inf2').is(':checked')){
			$('#info2').attr('disabled', true);}
		
		$('#inf2').click(function () {
			if (this.checked) {
				$('#info2').attr('disabled', true);}
			else {
				$('#info2').removeAttr('disabled');
				$('#info2').attr('checked', false);}});	
		
		$(document).delegate('form', 'submit', function () {
			localStorage.setItem('inf2_data', $('input[name*="user"][name!="user[info2]"]').serialize());
			if ($('#inf2').is(':checked')) {localStorage.setItem('informator.lo-o(1)', $('#inf2').val());}
			else {localStorage.setItem('informator.lo-o(1)', 'off');}});
		
		//inf3 - zmiany
		if ($('#inf3').is(':checked')){
			$('#info3').attr('disabled', true);}
		
		$('#inf3').click(function () {
			if (this.checked) {
				$('#info3').attr('disabled', true);}
			else {
				$('#info3').removeAttr('disabled');
				$('#info3').attr('checked', false);}});	
		
		$(document).delegate('form', 'submit', function () {
			localStorage.setItem('inf3_data', $('input[name*="user"][name!="user[info3]"]').serialize());
			if ($('#inf3').is(':checked')) {localStorage.setItem('informator.lo-o(2)', $('#inf3').val());}
			else {localStorage.setItem('informator.lo-o(2)', 'off');}});
		
		$('div[class="error-page width-two-third make-center-block m-set-fullwidth"]').replaceWith('<div class="rbl-block"><div class="annotation type-light-info space"><i class="fa fa-info-circle"></i><p>'+infkomunikat+'<p></div></div><div class="rbl-block space"><form method="post"><fieldset><h4>Legenda</h4><div class="space"><img src="'+inicon[6]+'"></img> Obecnie rozpatrywane &nbsp; &nbsp; <img src="'+inicon[3]+'"></img> Nowe &nbsp; &nbsp; <img src="'+inicon[1]+'"></img> Prawidłowe &nbsp; &nbsp; <img src="'+inicon[2]+'"></img> Nieprawidłowe &nbsp; &nbsp; <img src="'+inicon[7]+'"></img> Zmieniony powód &nbsp; &nbsp; <img src="'+inicon[5]+'"></img> W konsultacji</div><br></fieldset><fieldset><h4>Statystyki</h4><div class="space">'+panelstatystyk+'</div></fieldset><fieldset><h4>Ustawienia</h4><div class="space">'+ustawienia+'</div></form></div>');}
	
	//Inne strony w /naruszenia/ na których znajduję się guzik przenoszący do statystyk informatora
	else if (document.location.pathname.match('/naruszenia/')){
		$('.bspace > ul:nth-child(3) > li:nth-child(3)').after('<li><a href="http://www.wykop.pl/naruszenia/informator">Statystyki</a></liv>');
		}});}

var script = document.createElement('script');
script.textContent = '(' + main.toString() + ')();';
document.body.appendChild(script)

window.G_wait = function G_wait() {
  if(typeof unsafeWindow.jQuery == 'undefined') {window.setTimeout(G_wait,100);}
  else {$ = unsafeWindow.jQuery; start_fancy();}}

QingJ © 2025

镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址