Skrypt ukrywający posty wybranych użytkowników

Podziel się z nami swoimi sugestiami i uwagami na temat funkcjonowania JuvePoland.
ODPOWIEDZ
playmaker

Juventino
Juventino
Awatar użytkownika
Rejestracja: 24 lutego 2007
Posty: 690
Rejestracja: 24 lutego 2007

Nieprzeczytany post 16 lutego 2017, 18:17

Siema forumowicze :) W związku z przytłaczającą ilością postów na zbyt niskim poziomie, postanowiłem napisać skrypt, który ukryje aktywność niechcianych użytkowników.

Instrukcja

Jako że wpadłem na ten pomysł wczoraj, rozwiązanie jest proste, a jedyną przeglądarką, na której odbywało się testowanie, jest Chrome. Do użycia potrzebujemy wtyczki:
https://chrome.google.com/webstore/deta ... fkfo?hl=pl
Wtyczka ta na pewno jest dostępna na innych przeglądarkach.
Po zainstalowaniu, klikamy na ikonkę (powinna być w prawym górnym rogu przeglądarki) i wybieramy "Dodaj nowy skrypt".
W miejscu edycji wklejamy następujący kod:
playmaker pisze: // ==UserScript==
// @name HidePostsJP
// @version 1.0
// @description A script which allows hiding specified users posts.
// @author playmaker
// @match http://www.forum.juvepoland.com/*
// @grant none
// @require https://ajax.googleapis.com/ajax/libs/j ... ery.min.js
// ==/UserScript==

(function() {
'use strict';

jQuery(function($){
// Tablica z uzytkownikami - mozna dodawac nieograniczona ilosc
var users = [
'Uzytkownik_1',
'uzytkownik_2',
];

$.each(users, function(index, value){
var element = $("span.name b:contains('"+ value +"')").closest('tr');
element.css('display','none');

element.next().find('td:last-child').html(value + ' content ').css('opacity', '0.4').append('<button class="show-content" data-name="'+ value +'">Pokaż zawartość</button>');
});

$(this).on('click', '.show-content', function(){
var value = $(this).attr('data-name');

var element = $("span.name b:contains('"+ value +"')").closest('tr');
element.css('display','');

$(this).html('Ukryj zawartość').removeClass('show-content').addClass('hide-content');
});


$(this).on('click', '.hide-content', function(){
var value = $(this).attr('data-name');

var element = $("span.name b:contains('"+ value +"')").closest('tr');
element.css('display','none');

$(this).html('Pokaż zawartość').removeClass('hide-content').addClass('show-content');
});
});
})();
Uzupełniamy tablicę z użytkownikami wedle wlasnego uznania, po czym zapisujemy (Ctrl+S lub ikonka w lewym górnym rogu). Po zapisaniu skrypt powinien być domyślnie włączony, więc przechodzimy na forum Juvepoland i sprawdzamy, czy działa.

W razie jakichkolwiek pytań/problemów/propozycji - piszcie w tym temacie lub na pw :)


ewerthon

Juventino
Juventino
Rejestracja: 03 marca 2008
Posty: 4280
Rejestracja: 03 marca 2008

Nieprzeczytany post 16 lutego 2017, 18:47

Połowie tego forum przyda się na Pana doktora :ok:


MRN

Juventino
Juventino
Awatar użytkownika
Rejestracja: 07 listopada 2007
Posty: 8597
Rejestracja: 07 listopada 2007

Nieprzeczytany post 16 lutego 2017, 18:48

:lol:
Potwierdzam, przyda się.


Obrazek
CzeczenCZN

Juventino
Juventino
Awatar użytkownika
Rejestracja: 28 stycznia 2015
Posty: 3852
Rejestracja: 28 stycznia 2015

Nieprzeczytany post 16 lutego 2017, 20:54

Jak to dobrze! Skończy sie meka Aparatinho-10, Bobka X, TomMego, wróbla, gołębia, czy jak mu tam gawrona i innych moich najwierniejszych fanów.

Jestem jak najbardziej entuzjasta tego rozwiązania. Każdy pisze co chce, każdy czyta co chce, a jak kogoś coś denerwuje - tak jak w przypadku reklam - wyłącza to. Wiem autorze ze tez z myślą o mnie to stworzyłeś, ale jestem Ci bardzo wdzięczny. :)
Ostatnio zmieniony 18 lutego 2018, 21:42 przez CzeczenCZN, łącznie zmieniany 1 raz.


#cznandj #ripgangsquad :hi:
squinter

Juventino
Juventino
Awatar użytkownika
Rejestracja: 12 grudnia 2011
Posty: 1267
Rejestracja: 12 grudnia 2011

Nieprzeczytany post 25 marca 2017, 12:48

Dzięki Ci dobry człowieku, nie będę musiał nigdy więcej czytać durnot tego gościa z posta powyżej (Ci co mają go już ukrytego, czyli pewnie 90% forum, wiedzą zapewne o kogo chodzi).


Vanquish

Qualità Juventino
Qualità Juventino
Awatar użytkownika
Rejestracja: 05 kwietnia 2008
Posty: 1984
Rejestracja: 05 kwietnia 2008

Nieprzeczytany post 25 marca 2017, 13:38

Teraz proszę nie narzekać, że moderacja nie banuje za to albo za tamto, być może my po prostu posta zasługującego na kartkę... nie widzimy. :prochno:


Alexinhio-10

Juventino
Juventino
Awatar użytkownika
Rejestracja: 16 września 2009
Posty: 2933
Rejestracja: 16 września 2009

Nieprzeczytany post 26 marca 2017, 11:35

ForzaItanimulli3vujcm pisze:Jak to dobrze! Skończy sie meka Aparatinho-10, Bobka X, TomMego, wróbla, gołębia, czy jak mu tam gawrona i innych moich najwierniejszych fanów.

Jestem jak najbardziej entuzjasta tego rozwiązania. Kazdy pisze co chce, kazdy czyta co chce, a jak kogos cos denerwuje - tak jak w przypadku reklam - wylacza to. Wiem autorze ze tez z mysla o mnie to srworzyles, ale jestem Ci bardzo wdzięczny. :)
Haha nie mogę :prochno: Gość się cieszy ze skryptu stworzonego specjalnie dla niego.

Chłopaki, ale co z androidem ?

Edit Dobra widzę że jest apka na androida.
Edit 2 Po kliknięciu na dodanie nowego skryptu na andku, nie wyświetla się w ogóle edytor. Jest napisane, że żaden skrypt nie jest dodany.


DonPatch

Juventino
Juventino
Awatar użytkownika
Rejestracja: 02 stycznia 2010
Posty: 810
Rejestracja: 02 stycznia 2010

Nieprzeczytany post 26 marca 2017, 14:44

Dużo zżera to RAMu, bo i tak mam już problem z zamulonym ff?

e: chodzi mi oczywiście o małpkę


Obrazek
pablo1503

Juventino
Juventino
Awatar użytkownika
Rejestracja: 10 lipca 2010
Posty: 3440
Rejestracja: 10 lipca 2010

Nieprzeczytany post 26 marca 2017, 19:20

Alexinhio-10 pisze:Haha nie mogę :prochno: Gość się cieszy ze skryptu stworzonego specjalnie dla niego.
:rotfl: :rotfl: :rotfl: Zaoranie level over 9000!

Ja tam nikogo nie blokuje. Czasem śmiesznie jest poczytać posty co poniektórych użytkowników. Bynajmniej nie odnoszę się do jakiejś konkretnej persony ;)


Obrazek
ewerthon

Juventino
Juventino
Rejestracja: 03 marca 2008
Posty: 4280
Rejestracja: 03 marca 2008

Nieprzeczytany post 23 października 2017, 21:42

Przy wysypie głupich, hejterskich postów, których po prostu nie da się normalnie czytać, ten skrypt to bardzo dobre rozwiązanie, ale czy nie ma możliwości ulepszenia go?

Bo obecnie mogę jednym przyciskiem zobaczyć te głupoty, a wolałbym nie mieć takiej możliwości.

Obrazek


playmaker

Juventino
Juventino
Awatar użytkownika
Rejestracja: 24 lutego 2007
Posty: 690
Rejestracja: 24 lutego 2007

Nieprzeczytany post 18 lutego 2018, 21:05

ewerthon pisze:Przy wysypie głupich, hejterskich postów, których po prostu nie da się normalnie czytać, ten skrypt to bardzo dobre rozwiązanie, ale czy nie ma możliwości ulepszenia go?

Bo obecnie mogę jednym przyciskiem zobaczyć te głupoty, a wolałbym nie mieć takiej możliwości.

Obrazek
Trochę mnie nie było tutaj, ale w razie czego to nie jest problem, daj znać czy dalej chcesz ;)


DonPatch

Juventino
Juventino
Awatar użytkownika
Rejestracja: 02 stycznia 2010
Posty: 810
Rejestracja: 02 stycznia 2010

Nieprzeczytany post 12 kwietnia 2018, 12:57

Jak zaglądasz jeszcze na tę stronkę, to fajnie by było, gdybyś zrobił to ulepszenie, o którym pisał ewerthon.


Obrazek
CzeczenCZN

Juventino
Juventino
Awatar użytkownika
Rejestracja: 28 stycznia 2015
Posty: 3852
Rejestracja: 28 stycznia 2015

Nieprzeczytany post 15 kwietnia 2018, 16:31

ewerthon pisze:Bo obecnie mogę jednym przyciskiem zobaczyć te głupoty, a wolałbym nie mieć takiej możliwości.
Ty no czegoś tu nie rozumiem. Ktoś Ci karze w to klikać? Opanować się nie możesz? Hmmmmm skoro tak to ciężko musisz mieć w codziennym życiu.


#cznandj #ripgangsquad :hi:
playmaker

Juventino
Juventino
Awatar użytkownika
Rejestracja: 24 lutego 2007
Posty: 690
Rejestracja: 24 lutego 2007

Nieprzeczytany post 07 czerwca 2018, 12:18

Tutaj nowa wersja skryptu:
// ==UserScript==
// @name HidePostsJP
// @version 1.1
// @description A script which allows hiding specified users posts.
// @author playmaker
// @match http://www.forum.juvepoland.com/*
// @require https://ajax.googleapis.com/ajax/libs/j ... ery.min.js
// ==/UserScript==

(() => {
'use strict';

jQuery(($) => {
const enableDisplaying = false;
const users = new Set([
'Nazwa_Uzytkownika_1',
'Nazwa_Uzytkownika_2',
]);

const $content = $('table.forumline');

const addShowButton = ($post) => {
$post.next().find('button').html('Pokaż zawartość').removeClass('hide-content').addClass('show-content');
};

const addHideButton = ($post) => {
$post.next().find('button').html('Ukryj zawartość').removeClass('show-content').addClass('hide-content');
};

const hideUserPosts = function(user) {
const $post = $(`span.name b:contains('${user}')`).closest('tr');
const $footer = $post.next();

$post.hide();

enableDisplaying
? $footer.find('td:last-child').html(`${user} content `).css('opacity', '0.4').append(`<button class="show-content" data-name="${user}">Pokaż zawartość</button>`)
: ($footer.next().hide(), $footer.hide());
};

$content.on('click', '.show-content', (event) => {
const $this = $(event.target);
const user = $this.attr('data-name');
const $posts = $(`span.name b:contains('${user}')`).closest('tr');

$posts.each((index, element) => {
const $post = $(element);
$post.show();
addHideButton($post);
});
});


$content.on('click', '.hide-content', (event) => {
const $this = $(event.target);
const user = $this.attr('data-name');
const $posts = $(`span.name b:contains('${user}')`).closest('tr');

$posts.each((index, element) => {
const $post = $(element);
$post.hide();
addShowButton($post);
});
});

users.forEach(hideUserPosts);
});
})();
Można sobie ustawić, czy posty mogą być pokazywane/ukrywane buttonem, czy też w ogóle nie chcemy wiedzieć, że dany użytkownik coś napisał. Robimy to poprzez modyfikację stałej enableDisplaying, która znajduje się nad spisem z nazwami userów. Domyślnie ustawiona na false, czyli nie będziemy w ogóle widzieli aktywności. Aby umożliwić przełączanie pokaż/ukryj, w miejscu false należy wpisać true.

Dajcie znać czy działa dobrze, czy macie jakieś uwagi, etc.

Pozdrawiam :)


ipswich

Juventino
Juventino
Awatar użytkownika
Rejestracja: 11 lutego 2013
Posty: 82
Rejestracja: 11 lutego 2013

Nieprzeczytany post 22 lipca 2018, 19:59

Hej playmaker. w czym to jest pisane? Patrzac po uzytej jQuery zakładam ze to JavaScript. Dobrze kombinuje? Myslalem żeby liznąć czegos nowego, a przy okazji przydalby mi się podobny skrypt do komciow na seriea.pl. Ogarniam niezle VBA i Sabre Scribe to może bym dal rade.


Obrazek

***** ***
ODPOWIEDZ