Hide forum posts from blacklisted users
// ==UserScript==
// @name Trolls be gone.
// @namespace https://www.warlight.net/
// @version 0.2
// @description Hide forum posts from blacklisted users
// @author Master of the Dead
// @match https://www.warlight.net/Forum/*
// @grant none
// ==/UserScript==
(function() {
'use strict';
$.get("/ManageBlackList",function(data){
// Fetch blacklisted players.
var blacklist = [];
var players = $('#MainSiteContent', data).find("li");
players.each(function(i, player){
var name = $(player).find("a:eq(1)")[0].innerHTML; // find the second link in the list element
blacklist.push(name);
});
// Hide every post whose author is blacklisted.
var forumPosts = $("#MainSiteContent").find("table:first").find("table");
forumPosts.find("tr").each(function(i, post){
var authorCell = $(post).find("td:first")[0];
if(authorCell !== undefined && authorCell.innerText !== undefined){
var postAuthor = authorCell.innerText;
if(IsPostAuthorBlacklisted(postAuthor)){
var postContent = $(post).find("td:eq(1)")[0];
if(postContent !== undefined && postContent.innerText !== undefined){
postContent.innerText = "[Hidden as player was blacklisted]";
$(postContent).css("color", "#808080");
}
}
}
});
/* Check if author of the forum post is present in user's blacklist */
function IsPostAuthorBlacklisted(postAuthor){
var i = blacklist.length;
while(i--) {
if (postAuthor.indexOf(blacklist[i])!=-1) {
return true;
}
}
return false;
}
});
})();