User:Pilotguy/whackamole.js
From Simple English Wikipedia, the free encyclopedia
Note: After saving, you may have to bypass your browser's cache to see the changes. Mozilla / Firefox / Safari: hold down Shift while clicking Reload, or press Ctrl-Shift-R (Cmd-Shift-R on Apple Mac); IE: hold Ctrl while clicking Refresh, or press Ctrl-F5; Konqueror:: simply click the Reload button, or press F5; Opera users may need to completely clear their cache in Tools→Preferences.
/* 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 */ // <pre><nowiki> // **************** // 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 + " ~~~~ <br clear=\"both\">\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 ("{{subst:test1|}}", "{{subst:test1}}", "Experimenting"); } function whackWarn2 () { whackEdit ("{{subst:test2|}}", "{{subst:test2}}", "Nonsense edit"); } function whackWarn3 () { whackEdit ("{{subst:test3|}}", "{{subst:test3}}", "Please stop vandalizing"); } function whackWarn4 () { whackEdit ("{{subst:test4|}}", "{{subst:test4}}", "Last chance to stop vandalising"); } function whackBlatant() { whackEdit ("{{subst:stopvandal|}}", "{{subst:stopvandal}}", "Blatant vandalism"); } function whackBlocked() { whackEdit ("{{subst:vblock}}", "", "Blocked"); } function whackSpam () { whackEdit ("{{subst:spam|}}", "{{subst:spam}}", "Spam"); } function whackBlocked2(){whackEdit ("[[Image:Modern_clock_chris_kemps_01.png|left|32px]]" + "You have been temporarily [[Wikipedia:Bans_and_blocks|blocked from editing]] because of your disruptive edits." + " You are [[Help:How_to_edit|invited to contribute]]" + " in a [[Wikipedia:Rules|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 Test1', 'toolbox_warn1'); 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:{whackBlatant();};void(0);', 'warn Stopvandal', 'toolbox_blatant'); whack_addToolboxLink('javascript:{whackBlocked2();};void(0);','warn *BLOCKED*', 'toolbox_block'); whack_addToolboxLink('javascript:{whackSpam ();};void(0);', 'warn Spam', 'toolbox_spam'); } 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); // </nowiki></pre>