Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // ==UserScript==
- // @name HWUpgrade - Anti mosche tze-tze
- // @version 1.02
- // @grant none
- // @include https://www.hwupgrade.it/forum/showthread.php*
- // @include https://www.hwupgrade.it/forum/newreply.php*
- // @run-at document-start
- // ==/UserScript==
- /*
- Questo script implementa una versione avanzata della funzione "ignore", per eliminare gli utenti estremamente fastidiosi
- Istruzioni:
- - Installare Violentmonkey (https://violentmonkey.github.io/get-it/) o equivalente (e.g. Greasemonkey, Tampermonkey)
- - Creare un nuovo script; nel caso di Violentmonkey, fare click sull'icona con la faccia di scimmia nella barra del browser e premere il grosso segno '+'
- - Incollare questo script
- - Modificare la lista delle mosche tze-tze (variabile "flies"): ogni nome deve essere racchiuso fra virgolette
- - Impostare il livello di annientamento (variabile "killLevel") secondo il proprio gusto; vedere sotto per la descrizione di ogni livello
- - Salvare facendo click su "Save", in alto a dx
- - Caricare pagine del forum di HWUpgrade e schiacciare mosche a più non posso!
- */
- // Testo da cercare per riconoscere le parti della pagina - NON MODIFICARE!
- const QUOTE_ID = "Originariamente inviato da";
- const MEMBER_ID = "member.php";
- const MSG_ID = "Messaggio";
- // Livelli di annientamento delle mosche - NON MODIFICARE!
- const LEVEL_SWATTER = 1; // Paletta per le mosche (minimale): rimuove i post delle mosche tze-tze (che siano in "ignore" o meno)
- const LEVEL_DDT = 2; // DDT (consigliato): come la paletta, ma sostituendo un ronzio alle citazioni delle mosche da parte degli utenti non mosche
- const LEVEL_KABOOM = 3; // KA-BOOM! (drastico, ma quanno ce vo', ce vo'): come la paletta, ma rimuove completamente anche i post che citano le mosche
- // Stringhe da sostituire nei messaggi di altri utenti che citano le mosche - modificare a proprio piacimento
- const FLY_DESC = "Una fastidiosa mosca"; // Stringa da sostituire al nome della mosca; lasciare vuota per vedere il nickname della mosca
- const FLY_BUZZ = "bzzz bzzz bzzz"; // Stringa da sostituire al testo della mosca
- // Array di nomi di mosche tze-tze da annientare - modificare a proprio piacimento
- // Esempio del caso di un solo utente: let flies = ['nickname'];
- let flies = ['Forrest78','canislatrans','nickname89-1'];
- // Livello annientamento dei post delle mosche tze-tze - impostare il livello desiderato
- let killLevel = LEVEL_DDT;
- function hideElement( e) { e.style.display = "none"; }
- const IS_REPLYING = (document.URL.indexOf("newreply") != -1);
- function callback( mutations)
- {
- for( const mutation of mutations)
- for( const node of mutation.addedNodes)
- if( node instanceof Element)
- if( node.tagName == "A" && !IS_REPLYING && node.href.indexOf( MEMBER_ID) != -1 ||
- node.tagName == "TD" && IS_REPLYING && node.className == "alt1" ||
- node.tagName == "STRONG" && node.parentElement.tagName == "DIV" &&
- node.parentElement.textContent.indexOf( QUOTE_ID) != -1 && killLevel >= LEVEL_DDT)
- for( const fly of flies)
- if( node.textContent == fly)
- {
- let flyPoop = node;
- if( flyPoop.tagName == "STRONG" && killLevel == LEVEL_DDT)
- {
- hideElement( flyPoop.nextElementSibling);
- if( FLY_DESC)
- flyPoop.textContent = FLY_DESC;
- flyPoop.parentElement.nextElementSibling.textContent = FLY_BUZZ;
- }
- else
- {
- if( !IS_REPLYING)
- while( flyPoop.tagName != "DIV" || flyPoop.className != "page")
- flyPoop = flyPoop.parentElement;
- else // replying
- {
- while( flyPoop.tagName != "TR" || flyPoop.title.indexOf( MSG_ID) == -1)
- flyPoop = flyPoop.parentElement;
- hideElement( flyPoop.previousElementSibling);
- }
- hideElement( flyPoop);
- }
- }
- }
- var observer = new MutationObserver( callback);
- observer.observe( document, {childList: true, subtree: true});
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement