User:DestructiveMilkshake/global.js

/* 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); }); }

//