User:Inkington/kbh3rd-whackamole.js

/* * Put some functions in the toolbox for the anti-vandal whack-a-mole game. * Documented at http://en.wikipedia.org/wiki/User:Kbh3rd/Vandal_warning_toolbox */

// **************** // Google Lookup // **************** function whackGoogleLookup { var q = "" + (window.getSelection ? window.getSelection                                     : document.getSelection ? document.getSelection                                                              : document.selection.createRange.text); if (!q) q = prompt("You didn't select any text. Enter a search phrase:", ""); if (q!=null) // location="http://www.google.com/search?q=" + escape(q).replace(/ /g, "+"); window.open("http://www.google.com/search?q=" + escape(q).replace(/ /g, "+") ,'new-tab') ; }

// ************** // Warnings // ************** function whackEdit (message, msg2, summary) { var f = document.editform ; var tbox = document.editform.wpTextbox1 ; var a = "" + (window.getSelection ? window.getSelection                                     : document.getSelection ? document.getSelection                                                              : document.selection.createRange.text); if (msg2 != "") { a = prompt ("Article name?\n(Empty+OK for a generic message.)\n(Cancel now aborts.)", a) ; if (a == null) return ; if (a != null && a != "") { message = message.replace(/\|/,"|"+a) ; summary += " in " + a + "" ; } else { message = msg2 ; }   }    f.wpTextbox1.value += "\n\n" + message + " ~ \n"; f.wpSummary.value = summary ; f.wpMinoredit.checked=false; f.wpWatchthis.checked=false; f.wpTextbox1.focus; if (f.wpTextbox1.scrollTop || true) f.wpTextbox1.scrollTop = f.wpTextbox1.scrollHeight ; } function whackWarn1  { whackEdit ("",    "",   "Experimenting"); } function whackSelf   { whackEdit ("", "","Self-reverted test"); } function whackWarn2  { whackEdit ("",    "",   "Nonsense edit"); } function whackWarn3  { whackEdit ("",    "",   "Please stop vandalizing"); } function whackWarn4  { whackEdit ("",    "",   "Last chance to stop vandalising"); } function whackBlank  { whackEdit ("",   "",  "Blanking"); } function whackBlatant { whackEdit ("",      "",      "Blatant vandalism"); } function whackBlocked { whackEdit ("",     "",                  "Blocked"); } function whackNPOV   { whackEdit ("",   "",                  "Neutral POV"); } function whackSpam   { whackEdit ("",     "",    "Spam"); } function whackObscene { whackEdit ("", "", "Obscenity"); }

function whackBlocked2{whackEdit (""     + "You have been temporarily blocked from editing because of your disruptive edits."      + " You are invited to contribute"      + " in a constructive manner as soon as the block expires.", "", "Blocked"); }

// ************************************************** // Installation // ************************************************** window.whack_addlilink=function(tabs, url, name, id, title, key){ var na = document.createElement('a'); na.href = url; na.appendChild(document.createTextNode(name)); var li = document.createElement('li'); if(id) li.id = id; li.appendChild(na); tabs.appendChild(li); if(id) { if(key && title) ta[id] = [key, title]; else if(key)    ta[id] = [key, '']; else if(title)  ta[id] = ['', title]; }   // re-render the title and accesskeys from existing code in wikibits.js    akeytt; return li; } window.whack_addToolboxLink=function(url, name, id){ var tb = document.getElementById('p-tb').getElementsByTagName('ul')[0]; whack_addlilink(tb, url, name, id); } window.playWhackMoles=function { if (document.title.match("Editing User talk:") ) { whack_addToolboxLink('javascript:{whackWarn1;};void(0);',  'Warn: Experimenting', 'toolbox_warn1'); whack_addToolboxLink('javascript:{whackSelf ;};void(0);',  'Warn: Self-reverted', 'toolbox_selftest'); whack_addToolboxLink('javascript:{whackWarn2;};void(0);',  'Warn: Nonsense', 'toolbox_warn2'); whack_addToolboxLink('javascript:{whackWarn3;};void(0);',  'Warn: Please stop', 'toolbox_warn3'); whack_addToolboxLink('javascript:{whackWarn4;};void(0);',  'Warn: Last chance', 'toolbox_warn4'); whack_addToolboxLink('javascript:{whackBlank;};void(0);',  'Warn: Blanking', 'toolbox_warn2a'); whack_addToolboxLink('javascript:{whackBlatant;};void(0);', 'Warn: Blatant', 'toolbox_blatant'); whack_addToolboxLink('javascript:{whackNPOV ;};void(0);',  'Warn: NPOV', 'toolbox_npov'); whack_addToolboxLink('javascript:{whackSpam ;};void(0);',  'Warn: Spam', 'toolbox_spam'); whack_addToolboxLink('javascript:{whackObscene ;};void(0);','Warn: Obscene', 'toolbox_obscene'); //whack_addToolboxLink('javascript:{whackBlocked2;};void(0);','Warn: BLOCKED', 'toolbox_block'); } else { whack_addToolboxLink('javascript:{whackGoogleLookup;};void(0);', 'Google', 'toolbox_googlelookup'); } } // onload window.simpleAddOnload=function(f) { if (window.addEventListener) window.addEventListener("load", f, false); else if (window.attachEvent) window.attachEvent("onload",f); }

simpleAddOnload(playWhackMoles);

// FIN