// ==UserScript==
// @name Block From Profile and Posts
// @namespace pxgamer
// @version 1.3
// @description Block users from on their profile and/or posts
// @author pxgamer & Keka
// @include *kat.cr/*
// @require https://greasyfork.org/scripts/19498-get-blocked-users/code/Get%20Blocked%20Users.js
// @grant none
// @downloadURL https://update.greasyfork.icu/scripts/19516/Block%20From%20Profile%20and%20Posts.user.js
// @updateURL https://update.greasyfork.icu/scripts/19516/Block%20From%20Profile%20and%20Posts.meta.js
// ==/UserScript==
var hideBlocked = false; // true hides blocked users posts / false shows them with a green blocked icon
/////////////// Do NOT Edit Below This Line ///////////////
var blockedArray = gbu(); // blocked users list
$(window).load(function(){
if (window.location.href.search("\/user\/") != -1){
var who = $.trim($("h1.nickname").html().split('<')[0]);
var bm = $('a.kaButton.smallButton.normalText[href^="/bookmarks/"');
var hash = bm.attr('href').split('/')[4];
if(blockedArray.indexOf(who) !== -1){bm.after(' unblock user');}
else{bm.after(' block user');}
}
if (window.location.href.search("\/community\/") != -1){
$("div[id^='post']").each(function(){
var thisPost = $(this);
var who;
if($(this).find('.userPic i.ka-message').length){
who = $(this).find('.userPic i.ka-message').parent('a').attr('href').split('/')[3];
//$(this).find('.userPic i.ka-community').parent().after('');
}
if(blockedArray.indexOf(who) == -1){
$(this).find('.userPic i.ka-community').parent().after('');
}
else{
if(hideBlocked === true){
thisPost.hide();
thisPost.prev('div.commentHeadLine').text('Blocked User Post ('+who+')');}
else{
thisPost.find('.rate').hide();
thisPost.find(".commentcontent div:last-child").hide();
$(this).find('.userPic i.ka-community').parent().after('');}
}
});
}
/* Functions */
$('.blockUser').click(function() {
var csrf = $('form input[name="csrf_token"]').val();
var user = $(this).find('i').attr('data-whoblock');
$.ajax({
type: "POST",
url: "/settings/privacy/",
data: { blockuser: user, csrf_token: csrf, block: true },
success: function (data) { location.reload(); },
returnData: "json"
});
});
$('.unBlockUser').click(function() {
var csrf = $('form input[name="csrf_token"]').val();
var hash = $(this).find('i').attr('data-whoblock');
$.ajax({
type: "POST",
url: "/settings/privacy/",
data: { unblock: hash, csrf_token: csrf },
success: function (data) { location.reload(); },
returnData: "json"
});
});
});