User:Michał56/wham tools.js

var ug = mw.config.get("wgUserGroups"); if (mw.config.get("wgCanonicalSpecialPageName") === "Contributions" && (ug.indexOf('rollback') + ug.indexOf('sysop') + ug.indexOf('vstf') + ug.indexOf('staff') + ug.indexOf('helper') > -5)) { /*    var walls = [ "Message Wall", "Nachrichtenseite", "Muro", "Viestiseinä", "Mur", "Üzenőfal", "Bacheca", "メッセージ ウォール", "Prikbord", "Tablica wiadomości", "Mural de mensagens", "Стіна обговорення", "Стена обсуждения", "留言墙" ],   username = mw.config.get("wgPageName").split("/")[1], token = mw.user.tokens.get("editToken"); $("#contentSub").append('  Narzędzia administracyjne'); $('#contribs-wham').click(function {     $.showCustomModal('Narzędzia administracyjne', '', { id: 'form-main', width: 660, buttons: [{ message: 'Usuń wszystkie strony', defaultButton: true, handler: function { doDelete; }	       },{		           message: 'Usuń wybrane strony', defaultButton: true, handler: function { startSelectiveDelete; }       },{		           message: 'Cofnij wszystkie edycje', defaultButton: true, handler: function { doRollback; }       },{		           message: 'Szybka blokada', defaultButton: true, handler: function { doBlock; }       },{		           message: 'Wszystkie opcje', defaultButton: true, handler: function { doRollback; doDelete; doBlock; closeRefresh; }       },{          message: 'Anuluj', handler: function { closeRefresh; }       }]      });      $(".close").click(closeRefresh);      mw.util.addCSS('.modalWrapper .modalContent .modalToolbar {text-align:left;}');    }); 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('Zakończono usuwanie strony: '+page+'!');        } else {          console.log('Wystąpił błąd podczas usuwania strony: '+page+' - '+ d.error.code);        }      }) .fail(function {       console.log('Wystąpił błąd podczas usuwania strony: '+page+'!');      }); }   function closeRefresh { $('#form-main').closeModal; setTimeout((function{ location.reload; }), 5000);   }    function doRollback { $('.mw-rollback-link a').each(function {       var href = $(this).attr('href');	$.get(href);        $(this).text('Wykonano!').parents.eq(2).css({'color':'grey','text-decoration':'line-through'}).removeAttr('href');      }); }   function doDelete { var deleteReason = prompt('Proszę podać powód usunięcia','naprawa'); if (!deleteReason) return; $('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 doBlock { var duration = prompt('Proszę podać czas trwania blokady','2 weeks'), blockReason = prompt('Proszę podać powód blokady','wandalizm'); if (!duration || !blockReason) 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) {          console.log(username+' został pomyślnie zablokowany!');        }         else {          alert('Wystąpił błąd podczas blokowania: '+username+' - '+ d.error.code);        }      }) .fail(function {       alert('Wystąpił błąd podczas blokowania: '+username+'!');      }); }   function startSelectiveDelete { var chk = ' '; $('#form-main').closeModal; if ($('#btn-wham-del').length && $('#btn-wham-check').length) return; $('#mw-content-text').find('ul').before('Usuń zaznaczone Zaznacz wszystkie'); $('li .newpage ~ a').each(function {       if (!$(this).parent.find('input').length)          $(this).parent.prepend(chk);      }); $('#btn-wham-del').click(function {       var deleteReason = prompt('Proszę podać powód usunięcia','naprawa');        if (!deleteReason)          return;        $('.selectiveDel').each(function { var chkObj = $(this), title = $(this).parent.find('a').first.attr('title'); if (chkObj.attr('Checked') && walls.indexOf(title.split(':')[0]) == -1) { apiDelete(title,deleteReason); $(this).parent.css({'color':'grey','text-decoration':'line-through'}).removeAttr('href'); }       });        setTimeout((function{          location.reload;        }), 5000);      }); $('#btn-wham-check').click(function {       var btn = $(this);        if (btn.text == 'Odznacz wszystkie') {          $('.selectiveDel').each(function { var chkObj = $(this); if (chkObj.attr('Checked')) chkObj.removeAttr('Checked'); });         btn.text('Zaznacz wszystkie');        }        else {          $('.selectiveDel').each(function { var chkObj = $(this); if (!chkObj.attr('Checked')) chkObj.attr('Checked','Checked'); });         btn.text('Odznacz wszystkie');         }      }); } } }) (this.jQuery, this.mediaWiki); //Link do wkładu	if ($('a[data-id="Wkład"]').length) return;	$('#AccountNavigation > li > .subnav > li:first').after( $('').append('Mój wkład') ); }) (this.jQuery, this.mediaWiki); //Link do profilu if ($('a[data-id="Profil"]').length) return; $('#AccountNavigation > li > .subnav > li:first').after(		$('').append('Mój profil')	); }) (this.jQuery, this.mediaWiki);
 * (function($, mw) {
 * Message wall equivalents list, used to prevent deletion of message walls (causes glitches and not necessary)
 * Acquired from https://github.com/Wikia/app/blob/ae6cd75a04ba92270931d8fee70f14d40146091b/extensions/wikia/Wall/Wall.namespaces.php
 * (function($, mw) {
 * (function($, mw) {