User blog:SteelWolf/hi

/* MessageBlocker v1.1


 * Documentation at: http://dev.wikia.com/wiki/MessageBlocker


 * Justin Stallings (User:Dzylon), 2012



if (mw.config.get('wgCanonicalSpecialPageName') === 'Chat') {

$(function {

"use strict";

function createUl(blockee) {

var isBlocked = $("#WikiChatList>li[data-user='"+blockee+"']").hasClass("blockee");

if (isBlocked === false) {

$('.regular-actions').after('  Block Messages ');

} else {

$('.regular-actions').after('  Allow Messages ');

}

$("li.ignore").click(function { ignore(blockee); });

}

function ignore(blockee) {

var blockStyle;

var blockee = blockee;

var isBlocked = $("#WikiChatList>li[data-user='"+blockee+"']").hasClass("blockee");

var isMod = $("#WikiChatList>li[data-user='"+blockee+"']").hasClass("chat-mod");

if (isMod === false) {

if (isBlocked === false) {

$("li.ignore").addClass("blue");

blockStyle = document.createElement("style");

blockStyle.innerHTML = ("li[data-user='"+blockee+"']:not(.User){display: none;}");

blockStyle.setAttribute("id", "blockStyle-"+blockee);

document.head.appendChild(blockStyle);

$("#WikiChatList>li[data-user='"+blockee+"']").addClass("blockee");

$(".UserStatsMenu li.ignore>span.label").replaceWith(" Allow Messages ");

} else {

$("li.ignore").removeClass("blue");

blockStyle = document.getElementById("blockStyle-"+blockee);

blockStyle.parentNode.removeChild(blockStyle);

$("#WikiChatList>li[data-user='"+blockee+"']").removeClass("blockee");

$(".UserStatsMenu li.ignore>span.label").replaceWith(" Block Messages ");

}

} else {

var lastMsg = $('.Chat>ul>li:last-child');

var lastMsgIsAlert = lastMsg.hasClass("inline-alert");

if (lastMsgIsAlert === true) {

lastMsg.after("You cannot block chat moderators, administrators, vstf or Wikia staff members.");

} else {

lastMsg.after("You cannot block chat moderators, administrators, vstf or Wikia staff members.");

}

}

}

function createUlCall {

var blockee = $(this).attr('data-user');

setTimeout(function { createUl(blockee); }, 0);

}

$("#WikiChatList").on("click", "li.User", createUlCall);

var messageBlockerStyle = document.createElement("style");

messageBlockerStyle.innerHTML = ".UserStatsMenu .actions li.ignore .icon { background-image: url('http://images.wikia.com/dzy/images/8/81/Sprite-chat-ignore.png');  } .UserStatsMenu .actions li.ignore .icon { background-position: -0px 0; } .UserStatsMenu .actions li.ignore:hover .icon { background-position: -31px 0; } .UserStatsMenu .actions li.ignore.blue .icon { background-position: -67px 0; } .UserStatsMenu .actions li.ignore.blue:hover .icon { background-position: -98px 0; } #WikiChatList>li.blockee { background: #FFE6D8; !important } .ignore span.label { position: relative; bottom: 5px; left: 3px; }";

document.head.appendChild(messageBlockerStyle);

});

}