// ==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+' <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> '; 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 <img src="'+inicon[3]+'"></img> Nowe <img src="'+inicon[1]+'"></img> Prawidłowe <img src="'+inicon[2]+'"></img> Nieprawidłowe <img src="'+inicon[7]+'"></img> Zmieniony powód <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();}}