Adds formatting for the code board
当前为
// ==UserScript==
// @name Board Formatting
// @namespace http://www.hacker-project.com/
// @version 0.9
// @description Adds formatting for the code board
// @author Kevin Mitnick
// @match http://www.hacker-project.com/index.php?action=group*
// @match http://hacker-project.com/index.php?action=group*
// @grant none
// ==/UserScript==
function main() {
// DEFINE YOUR NICKNAMES HERE
var nns = [
// FOR MASS NOTIFICATION, DO NOT CHANGE
"all",
// YOUR OWN NICKNAMES
"happy",
"happyfire",
"happyfire10"
];
var username;
var servers = document.getElementsByName("g_id")[0].getElementsByTagName("option");
var firsttext = servers[0].innerHTML;
var ind = firsttext.indexOf("'s Dedicated Server");
if (ind>-1) {
username=firsttext.substring(0, ind);
}
var alltd = document.getElementsByTagName("fieldset")[0];
if (new String(document.location.href).indexOf("&a2=leader")<0) process(alltd);
var numMessages;
var as = document.getElementsByTagName("a");
for (var i = 0; i < as.length; i++) if (as[i].href.indexOf("index.php?action=group")>-1) {
if (as[i].innerHTML.indexOf("(")>-1) {
numMessages = parseInt(as[i].innerHTML.substring(as[i].innerHTML.indexOf("(")+4, as[i].innerHTML.indexOf(")")-3));
break;
}
else {
numMessages = 0;
break;
}
}
if (new String(document.location.href).indexOf("&a3=new_post")>-1) numMessages++;
for (var x = 0; x < document.getElementsByClassName("emi8").length; x++) {
var msgtd = document.getElementsByClassName("emi8")[x];
if (x<numMessages) msgtd.style.backgroundColor="#4C4C00";
for (var nni = 0; nni < nns.length; nni++) {
var nn = nns[nni];
if (msgtd.innerHTML.indexOf("@"+nn)>-1) msgtd.style.backgroundColor="#4C4C00";
}
if (username !== null && msgtd.innerHTML.indexOf(username)>-1) msgtd.style.backgroundColor="#4C4C00";
}
}
function process(span) {
var val = span.innerHTML;
// XSS
while (val.indexOf("[[")>-1) val = val.replace("[[", "<");
while (val.indexOf("]]")>-1) val = val.replace("]]", ">");
while (val.indexOf("blocked")>-1) val = val.replace("blocked", "script");
span.innerHTML = val;
var sar = [
[":)", "http://goo.gl/QKRt2U"],
["xd", "http://goo.gl/21TUiI"]
];
for (var sari = 0; sari < sar.length; sari++) {
var sa = sar[sari];
var s = sa[0];
var addr = sa[1];
while (val.toLowerCase().indexOf(s)>-1) {
var first2 = val.substring(0, val.toLowerCase().indexOf(s));
var last2 = val.substring(val.toLowerCase().indexOf(s)+s.length, val.length);
span.innerHTML = first2+"<img src='"+addr+"' width='16px'/>"+last2;
val = span.innerHTML;
}
}
}
main();