User:ASprigOfFig/monobook.js
From Wikipedia, the free encyclopedia
If a message on your talk page led you here, please be wary of who left it. Code that you insert on this page could contain malicious content capable of compromising your account. If you are unsure whether code you are adding to this page is safe, you can ask at the appropriate village pump. If this is a .js page, the code will be executed when previewing the page.
Note: After saving, you have to bypass your browser's cache to see the changes. In Internet Explorer and Firefox, hold down the Ctrl key and click the Refresh or Reload button. Opera users have to clear their caches through Tools→Preferences, see the instructions for Opera. Konqueror and Safari users can just click the Reload button.
// [[User:Lupin/popups.js]] document.write('<script type="text/javascript" src="' + 'http://en.wikipedia.org/w/index.php?title=User:Lupin/popups.js' + '&action=raw&ctype=text/javascript&dontcountme=s"></script>'); // Script from [[User:Lupin/recent2.js]] document.write('<script type="text/javascript" src="' + 'http://en.wikipedia.org/w/index.php?title=User:Lupin/recent2.js' + '&action=raw&ctype=text/javascript&dontcountme=s"></script>'); // // Edit tools for the vandal whack-a-mole game /* 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:User:ASprigOfFig/warning 1|}}", "{{subst:User:ASprigOfFig/warning 1}}", "Test 1: Experimenting"); } function whackSelf () { whackEdit ("{{subst:User:ASprigOfFig/warning 1s|}}", "{{subst:User:ASprigOfFig/warning 1s}}","Test 1: Self-reverted test"); } function whackWarn2 () { whackEdit ("{{subst:User:ASprigOfFig/warning 2|}}", "{{subst:User:ASprigOfFig/warning 2}}", "Test 2: Nonsense edit"); } function whackWarn3 () { whackEdit ("{{subst:User:ASprigOfFig/warning 3|}}", "{{subst:User:ASprigOfFig/warning 3}}", "Test 3: Please stop vandalising"); } function whackWarn4 () { whackEdit ("{{subst:User:ASprigOfFig/warning 4|}}", "{{subst:User:ASprigOfFig/warning 4}}", "Test 4: Last chance to stop vandalising"); } function whackBlank () { whackEdit ("{{subst:User:ASprigOfFig/warning 2b|}}", "{{subst:User:ASprigOfFig/warning 2b}}", "Test 2a: Blanking"); } function whackBlatant() { whackEdit ("{{subst:User:ASprigOfFig/warning bv|}}", "{{subst:User:ASprigOfFig/warning bv}}", "Blatant vandalism"); } function whackBlocked() { whackEdit ("{{subst:vblock}}", "", "Blocked"); } function whackNPOV () { whackEdit ("{{subst:NPOV user}}", "", "[[WP:NPOV|Neutral POV]]"); } function whackSpam () { whackEdit ("{{subst:spam-n|}}", "{{subst:spam}}", "Spam"); } function whackObscene() { whackEdit ("{{subst:obscene-n|}}", "{{subst:obscene}}", "Obscenity"); } function whackBlocked2(){whackEdit ("[[Image:Modern_clock_chris_kemps_01.png|left|32px]]" + "You have been temporarily [[Wikipedia:Blocking policy|blocked from editing]] because of your disruptive edits." + " You are [[Wikipedia:Contributing to Wikipedia|invited to contribute]]" + " in a [[Wikipedia:Five pillars|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:{whackSelf ();};void(0);', 'warn Self Test', '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:{whackBlocked2();};void(0);','warn *BLOCKED*', 'toolbox_block'); whack_addToolboxLink('javascript:{whackSpam ();};void(0);', 'warn Spam', 'toolbox_spam'); whack_addToolboxLink('javascript:{whackNPOV ();};void(0);', 'warn Npov', 'toolbox_npov'); whack_addToolboxLink('javascript:{whackObscene ();};void(0);','warn Obscene', 'toolbox_obscene'); } 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> // // [[User:Lupin/popups.js]] document.write('<script type="text/javascript" src="' + 'http://en.wikipedia.org/w/index.php?title=User:Lupin/popups.js' + '&action=raw&ctype=text/javascript&dontcountme=s"></script>'); popupDelay=0.3 popupImages=false; popupRevertSummaryPrompt=true; // // //Back-up edit counter //Visit [[User:Interiot/Tool2/code.js]] in emergencies! document.write('<script type="text/javascript" src="' + 'http://en.wikipedia.org/w/index.php?title=User:Interiot/Tool2/code.js' + '&action=raw&ctype=text/javascript&dontcountme=s"></script>'); // Script from [[User:Lupin/editcount.js]] document.write('<script type="text/javascript" src="' + 'http://en.wikipedia.org/w/index.php?title=User:Lupin/editcount.js' + '&action=raw&ctype=text/javascript&dontcountme=s"></script>'); popupEditCounterTool='custom'; popupEditCounterUrl='http://en.wikipedia.org/wiki/User:$1?ectarget=$1'; function inc (file) { var lt = String.fromCharCode(60); var gt = String.fromCharCode(62); document.writeln(lt+'script type="text/javascript" src="/w/index.php?title='+file+'&action=raw&ctype=text/javascript&dontcountme=s"'+gt+lt+'/script'+gt); } inc("User:Llama_man/init.js"); inc("User:Topaz/util.js"); inc("User:Topaz/wputil.js"); inc("User:Topaz/comm.js") inc("User:Llama_man/statuschanger.js"); inc("User:Llama_man/usermessagechanger.js") inc("Wikipedia:WikiProject User scripts/Scripts/addLink"); inc("Wikipedia:WikiProject User scripts/Scripts/Add LI link"); inc("Wikipedia:Wikiproject User scripts/Scripts/Add tab"); //If you are not editing a page, a tab will appear allowing you to edit the 0th section of a page (the top area usually used as an introduction. function addEditSection0() { ta['ca-edit-0'] = ['', 'Edit the zeroth section of this page']; if (!document.getElementById) return; x = document.getElementById('ca-edit'); if(!x) return; y = document.createElement('LI'); y.id = 'ca-edit-0'; if (x.className == 'selected') { if (/&action=edit§ion=0$/.test(window.location.href)) { x.className = 'istalk'; y.className = 'selected'; } else { x.className = 'selected istalk'; } } else if (x.className == 'selected istalk') { if (/&action=edit§ion=0$/.test(window.location.href)) { x.className = 'istalk'; y.className = 'selected istalk'; } else { y.className = 'istalk'; } } else { y.className = x.className; x.className = 'istalk'; } z = document.createElement('A'); if (x.children) { z.href = x.children[0].href + '§ion=0'; z.appendChild(document.createTextNode('0')); y.appendChild(z); document.getElementById('p-cactions').children[1].insertBefore(y,x.nextSibling); } else { z.href = x.childNodes[0].href + '§ion=0'; z.appendChild(document.createTextNode('0')); y.appendChild(z); document.getElementById('p-cactions').childNodes[3].insertBefore(y,x.nextSibling); } } if (document.title.indexOf("Editing ") == -1) { addOnloadHook(addEditSection0); } // Revert tools by Lorian function getElementsByClass(searchClass,node,tag) { // Function from http://www.dustindiaz.com/getelementsbyclass/ var classElements = new Array(); if ( node == null ) node = document; if ( tag == null ) tag = '*'; var els = node.getElementsByTagName(tag); var elsLen = els.length; var pattern = new RegExp("(^|\\s)"+searchClass+"(\\s|$)"); for (i = 0, j = 0; i < elsLen; i++) { if ( pattern.test(els[i].className) ) { classElements[j] = els[i]; j++; } } return classElements; } // _GET code from NoGray JS Library http://www.nogray.com/new_site/ var _GET = new Array(); var _uri = location.href; var _temp_get_arr = _uri.substring(_uri.indexOf('?')+1, _uri.length).split("&"); var _temp_get_arr_1 = new Array(); for(_get_arr_i=0; _get_arr_i<_temp_get_arr.length; _get_arr_i++){ _temp_get_arr_1 = _temp_get_arr[_get_arr_i].split("="); _GET[decodeURI(_temp_get_arr_1[0])] = decodeURI(_temp_get_arr_1[1]); } delete _uri; delete _temp_get_arr; delete _temp_get_arr_1; function getMessage (where, user1, user2) { var message = prompt ('What message would you like to leave?', ''); window.location = 'http://en.wikipedia.org/w/index.php?title=' + _GET['title'] + '&action=edit&oldid=' + _GET['oldid'] + '&'+where+'=2&user1='+user1+'&user2='+user2+'&message='+message; } addOnloadHook(function (){ if (location.href.match(/diff=/)) { // Get username of submitter var user1 = getElementsByClass('diff-otitle',null,'td'); user1 = user1[0].getElementsByTagName('a')[2].innerHTML; var user2 = getElementsByClass('diff-ntitle',null,'td'); user2 = user2[0].getElementsByTagName('a')[2].innerHTML; document.getElementById('contentSub').innerHTML = '(<a href="http://en.wikipedia.org/w/index.php?title=' + _GET['title'] + '&action=edit&oldid=' + _GET['oldid'] + '&revert=1&user1='+user1+'&user2='+user2+'">Revert</a> / <a href="javascript:var message = getMessage(\'revert\', \''+user1+'\', \''+user2+'\');">Message</a>) (<a href="http://en.wikipedia.org/w/index.php?title=' + _GET['title'] + '&action=edit&oldid=' + _GET['oldid'] + '&vandalism=1&user1='+user1+'&user2='+user2+'">Vandalism</a> / <a href="javascript:var message = getMessage(\'vandalism\', \''+user1+'\', \''+user2+'\');">Message</a>) (Warn: <a href="http://en.wikipedia.org/w/index.php?title=User_talk:'+user2+'&action=edit§ion=new&warn=1">Test</a> / <a href="http://en.wikipedia.org/w/index.php?title=User_talk:'+user2+'&action=edit§ion=new&warn=2">Blatant</a> / <a href="http://en.wikipedia.org/w/index.php?title=User_talk:'+user2+'&action=edit§ion=new&warn=3">Nonsense</a> / <a href="http://en.wikipedia.org/w/index.php?title=User_talk:'+user2+'&action=edit§ion=new&warn=4">Blanking</a>)'; } else if (location.href.match(/revert=1/)) { document.getElementById('wpSummary').value = 'Reverted edits by [[Special:Contributions/'+_GET['user2']+'|'+_GET['user2']+']] to version ' + _GET['oldid']+' by [[Special:Contributions/'+_GET['user1']+'|'+_GET['user1']+']]'; document.getElementById('editform').submit(); } else if (location.href.match(/revert=2/)) { document.getElementById('wpSummary').value = 'Reverted edits by [[Special:Contributions/'+_GET['user2']+'|'+_GET['user2']+']] to version ' + _GET['oldid']+' by [[Special:Contributions/'+_GET['user1']+'|'+_GET['user1']+']] ('+_GET['message']+')'; document.getElementById('editform').submit(); } else if (location.href.match(/vandalism=1/)) { document.getElementById('wpSummary').value = 'Reverted vandalism by [[Special:Contributions/'+_GET['user2']+'|'+_GET['user2']+']] to version ' + _GET['oldid']+' by [[Special:Contributions/'+_GET['user1']+'|'+_GET['user1']+']]'; document.getElementById('editform').submit(); } else if (location.href.match(/vandalism=2/)) { document.getElementById('wpSummary').value = 'Reverted vandalism by [[Special:Contributions/'+_GET['user2']+'|'+_GET['user2']+']] to version ' + _GET['oldid']+' by [[Special:Contributions/'+_GET['user1']+'|'+_GET['user1']+']] ('+_GET['message']+')'; document.getElementById('editform').submit(); } else if (location.href.match(/warn=1/)) { document.getElementById('wpSummary').value = 'Vandalism warning'; document.getElementById('wpTextbox1').value = '{{sub'+'st:test}} ~~'+'~~'; document.getElementById('editform').submit(); } else if (location.href.match(/warn=2/)) { document.getElementById('wpSummary').value = 'Vandalism warning'; document.getElementById('wpTextbox1').value = '{{sub'+'st:blatantvandal}} ~~'+'~~'; document.getElementById('editform').submit(); } else if (location.href.match(/warn=3/)) { document.getElementById('wpSummary').value = 'Vandalism warning'; document.getElementById('wpTextbox1').value = '{{sub'+'st:test2}} ~~'+'~~'; document.getElementById('editform').submit(); } else if (location.href.match(/warn=4/)) { document.getElementById('wpSummary').value = 'Vandalism warning'; document.getElementById('wpTextbox1').value = '{{sub'+'st:test2a}} ~~'+'~~'; document.getElementById('editform').submit(); } }); /* Takes the wikipage "page" and includes its raw text as javascript. */ function import_module(page){ if( document.createElement && document.childNodes ) { var url = 'http://en.wikipedia.org/w/index.php?title=' + page.replace(/ /g, "_") + '&action=raw&ctype=text/javascript&dontcountme=s'; var scriptElem = document.createElement('script'); scriptElem.setAttribute('src',url); scriptElem.setAttribute('type','text/javascript'); document.getElementsByTagName('head')[0].appendChild(scriptElem); } } import_module('Wikipedia:WikiProject User scripts/Scripts/Add purge to tabs'); import_module('Wikipedia:WikiProject User scripts/Scripts/User tabs'); import_module('Wikipedia:WikiProject User scripts/Scripts/Duplicate tabs at bottom'); // Script from [[User:Tra/userwatchlist.js]] document.write('<script type="text/javascript" src="' + 'http://en.wikipedia.org/w/index.php?title=User:Tra/userwatchlist.js' + '&action=raw&ctype=text/javascript&dontcountme=s"></script>'); // Script from [[User:AndyZ/peerreviewer.js]] document.write('<script type="text/javascript" src="' + 'http://en.wikipedia.org/w/index.php?title=User:AndyZ/peerreviewer.js' + '&action=raw&ctype=text/javascript&dontcountme=s"></s'+'cript>'); //Interiot's javascript edit counter if (document.title.indexOf('User:Interiot/Tool2/code.js') != -1) { document.write('<script type="text/javascript" src="' + 'http://en.wikipedia.org/w/index.php?title=User:Interiot/Tool2/code.js' + '&action=raw&ctype=text/javascript&dontcountme=s"></script>'); } // [[User:Lupin/popups.js]] document.write('<script type="text/javascript" src="' + 'http://en.wikipedia.org/w/index.php?title=User:Lupin/popups.js' + '&action=raw&ctype=text/javascript&dontcountme=s"></script>'); popupImages=true; popupSubpopups=true; popupOnEditSelection=true; popupRevertSummaryPrompt=true; popupQueriedRevertSummary=true; popupQueriedRevertToPreviousSummary=true; popupNavLinkSeparator=' ⋅ '; popupMaxPreviewSentences=2; popupAdminLinks=true; // Script from [[User:Lupin/recent2.js]] document.write('<script type="text/javascript" src="' + 'http://en.wikipedia.org/w/index.php?title=User:Lupin/recent2.js' + '&action=raw&ctype=text/javascript&dontcountme=s"></script>'); /* <pre><nowiki> */ //Please adjust the following variables according to when you want to end your break: var year = 2006; //YYYY var month = 10; //MM var day = 16; //DD var hour = 00; //HH var minute = 00; //MM var second = 00; //SS function EnforceWikiBreak() { var currentdate = new Date(); var enforced_break_end = new Date(year,changemonth(),day,hour,minute,second); if (currentdate > enforced_break_end) { // alert ("Welcome back from your enforced wikibreak!"); } else { alert ("Enforced wikibreak until " + enforced_break_end.toLocaleString() + " (currently " + currentdate.toLocaleString() + "). Bye!"); window.location.href = ("http://"+document.location.host+"/w/index.php?title=Special:Userlogout&returnto=Main_Page"); } } function changemonth() { //thing to subtract 1 from the month. you can't use month-1 because it removes the '0' from the front if(month==01) return 00; if(month==02) return 01; if(month==03) return 02; if(month==04) return 03; if(month==05) return 04; if(month==06) return 05; if(month==07) return 06; if(month==08) return 07; if(month==09) return 08; if(month==10) return 09; if(month==11) return 10; if(month==12) return 11; return 00; } addOnloadHook(function() { EnforceWikiBreak(); }); /* </nowiki></pre> */ function doQwikify() { document.editform.wpTextbox1.value = '{' + '{' + 'Wikify-date|' + '{' + '{' + 'subst:CURRENTMONTHNAME}} ' + '{' + '{' + 'subst:CURRENTYEAR}}}}\n\n' + document.editform.wpTextbox1.value; document.editform.wpSummary.value = 'Marked for wikification.'; document.editform.wpMinoredit.checked = true; document.editform.submit(); } function addQwikify() { addTab("javascript:doQwikify()", "wikify", "ca-wikify", "Mark for wikification", ""); akeytt(); } if (document.title.indexOf("Editing ") == 0) { if (window.addEventListener) window.addEventListener("load", addQwikify, false); else if (window.attachEvent) window.attachEvent("onload", addQwikify); } // Script from [[User:MarkS/extraeditbuttons.js]] document.write('<script type="text/javascript" src="' + 'http://en.wikipedia.org/w/index.php?title=User:MarkS/extraeditbuttons.js' + '&action=raw&ctype=text/javascript&dontcountme=s"></script>'); //<pre><nowiki> // VIEW SOURCE addOnloadHook(function () { if (location.href.indexOf('viewsource=1') != -1) { sl = document.getElementById('wpSummaryLabel'); sl.parentNode.removeChild(sl); ed = document.getElementById('wpSummary').parentNode; ed.parentNode.removeChild(ed); return; } editbutton = document.getElementById('ca-edit'); if (editbutton && location.href.indexOf('action=edit')==-1) { editlink = editbutton.getElementsByTagName('a')[0].href + '&viewsource=1'; tabs = document.getElementById('p-cactions').getElementsByTagName('ul')[0]; na = document.createElement('a'); na.href = editlink; na.appendChild(document.createTextNode('view source')); li = document.createElement('li'); li.id = 'ca-viewsource'; li.appendChild(na); tabs.insertBefore(li,editbutton); } }); //</nowiki></pre> function addLink(where, url, name, id, title, key, after){ //* where is the id of the toolbar where the button should be added; // i.e. one of "p-cactions", "p-personal", "p-navigation", or "p-tb". // //* url is the URL which will be called when the button is clicked. // javascript: urls can be used to do more complex things. // //* name is what will appear as the name of the button. // //* id is the id of the button; it's best to define one. // Use a prefix to make sure its unique. Optional. // //* title is the tooltip title that gives a longer description // of the button; if you define a accesskey, mention it here. Optional. // //* key is the char you want for the accesskey. Optional. // //* after is the id of the button you want to follow this one. Optional. // 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); var tabs = document.getElementById(where).getElementsByTagName('ul')[0]; if(after) { tabs.insertBefore(li,document.getElementById(after)); } else { 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; } // function addlilink(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; } // //From http://en.wikipedia.org/w/index.php?title=User:JesseW/monobook.js&oldid=20755510 function addSinceTab() { var tabs = document.getElementById('p-cactions').getElementsByTagName('ul')[0]; if (window.location.href.indexOf("&action=history&gotosince=true")!=-1) { do_since_I_last_edited() } else if (!/wiki\/Special:|w\/index.php?title=Special:/.test(window.location.href)) { var thetitle=document.title.slice(0, String(document.title).indexOf(" - ")); var l=addlilink(tabs, "/w/index.php?title="+thetitle+"&action=history&gotosince=true", 'Changes since I last edited', ''); l.lastChild.title="Changes since I last edited"; } } function do_since_I_last_edited() { var csub=document.getElementById("contentSub"); var msg=document.createElement("p"); msg.appendChild(document.createTextNode ("Parsing history... please wait...")); msg.className="error"; csub.insertBefore(msg, csub.firstChild) var username=document.getElementById("pt-userpage").textContent; var hists=document.getElementById("pagehistory").getElementsByTagName('li'); for (n=0;n<hists.length;n++) { if (hists[n].getElementsByTagName("span")[0].getElementsByTagName('a')[0].textContent==username) { document.location=hists[n].childNodes[1].href; return; } } msg.replaceChild(document.createTextNode ("You have not edited this page! (recently)"), msg.firstChild); } addOnloadHook(addSinceTab); // function addTab(url, name, id, title, key){ var tabs = document.getElementById('p-cactions').getElementsByTagName('ul')[0]; return addlilink(tabs, url, name, id, title, key) }; // // addPurge addOnloadHook( function (){ var x = document.getElementById('ca-history'); if(!x) return; if(x.children) x = x.children[0].href; else x = x.childNodes[0].href; addLink("p-cactions", x.replace(/=history/, "=purge"), 'purge', 'ca-purge', 'Purge the internal cache for this page', 0); }); // //From http://en.wikipedia.org/w/index.php?title=User:JesseW/monobook.js&oldid=20755510 // addLastDiff addOnloadHook(function () { z=document.getElementById("content").childNodes; for (var n=0;n<z.length;n++) { if (z[n].className=="firstHeading") { var pname=z[n].textContent ? z[n].textContent : z[n].innerText; } } var l=addTab("http://en.wikipedia.org/w/index.php?title=" + pname + "&diff=cur&oldid=prev", 'last', ''); l.lastChild.title="Show most recent diff"; }); // //Please leave the following line //[[user:Where/usertabs]] addOnloadHook(function() { if (document.title.search("/") != -1 || document.title.search("- History -") != -1) { //no subpages or history return; } if (document.title.indexOf("User:") == 0 || document.title.indexOf("User talk:") == 0) { username_a = document.URL.match(/:.*:(.*)/); username=username_a[1]; addTab("http://en.wikipedia.org/wiki/Special:Contributions/" + username, "contrib", "ca-contrib", "contribs", ""); addTab("http://en.wikipedia.org/w/index.php?title=Special%3ALog&type=move&user=" + username, "page moves", "ca-pagemoves", "page moves", ""); addTab("http://en.wikipedia.org/w/index.php?title=Special%3ALog&type=block&user=" + username, "block log", "ca-blog", "blog", ""); addTab("http://tools.wikimedia.de/~interiot/cgi-bin/count_edits?dbname=enwiki_p&user=" + username, "edit count", "ca-kate", "kate", ""); } }); // // Revert tools by Lorian function getElementsByClass(searchClass,node,tag) { // Function from http://www.dustindiaz.com/getelementsbyclass/ var classElements = new Array(); if ( node == null ) node = document; if ( tag == null ) tag = '*'; var els = node.getElementsByTagName(tag); var elsLen = els.length; var pattern = new RegExp("(^|\\s)"+searchClass+"(\\s|$)"); for (i = 0, j = 0; i < elsLen; i++) { if ( pattern.test(els[i].className) ) { classElements[j] = els[i]; j++; } } return classElements; } // _GET code from NoGray JS Library http://www.nogray.com/new_site/ var _GET = new Array(); var _uri = location.href; var _temp_get_arr = _uri.substring(_uri.indexOf('?')+1, _uri.length).split("&"); var _temp_get_arr_1 = new Array(); for(_get_arr_i=0; _get_arr_i<_temp_get_arr.length; _get_arr_i++){ _temp_get_arr_1 = _temp_get_arr[_get_arr_i].split("="); _GET[decodeURI(_temp_get_arr_1[0])] = decodeURI(_temp_get_arr_1[1]); } delete _uri; delete _temp_get_arr; delete _temp_get_arr_1; function getMessage (where, user1, user2) { var message = prompt ('What message would you like to leave?', ''); window.location = 'http://en.wikipedia.org/w/index.php?title=' + _GET['title'] + '&action=edit&oldid=' + _GET['oldid'] + '&'+where+'=2&user1='+user1+'&user2='+user2+'&message='+message; } addOnloadHook(function (){ if (location.href.match(/diff=/)) { // Get username of submitter var user1 = getElementsByClass('diff-otitle',null,'td'); user1 = user1[0].getElementsByTagName('a')[2].innerHTML; var user2 = getElementsByClass('diff-ntitle',null,'td'); user2 = user2[0].getElementsByTagName('a')[2].innerHTML; document.getElementById('contentSub').innerHTML = '(<a href="http://en.wikipedia.org/w/index.php?title=' + _GET['title'] + '&action=edit&oldid=' + _GET['oldid'] + '&revert=1&user1='+user1+'&user2='+user2+'">Revert</a> / <a href="javascript:var message = getMessage(\'revert\', \''+user1+'\', \''+user2+'\');">Message</a>) (<a href="http://en.wikipedia.org/w/index.php?title=' + _GET['title'] + '&action=edit&oldid=' + _GET['oldid'] + '&vandalism=1&user1='+user1+'&user2='+user2+'">Vandalism</a> / <a href="javascript:var message = getMessage(\'vandalism\', \''+user1+'\', \''+user2+'\');">Message</a>) (Warn: <a href="http://en.wikipedia.org/w/index.php?title=User_talk:'+user2+'&action=edit§ion=new&warn=1">Test</a> / <a href="http://en.wikipedia.org/w/index.php?title=User_talk:'+user2+'&action=edit§ion=new&warn=2">Blatant</a> / <a href="http://en.wikipedia.org/w/index.php?title=User_talk:'+user2+'&action=edit§ion=new&warn=3">Nonsense</a> / <a href="http://en.wikipedia.org/w/index.php?title=User_talk:'+user2+'&action=edit§ion=new&warn=4">Blanking</a>)'; } else if (location.href.match(/revert=1/)) { document.getElementById('wpSummary').value = 'Reverted edits by [[Special:Contributions/'+_GET['user2']+'|'+_GET['user2']+']] to version ' + _GET['oldid']+' by [[Special:Contributions/'+_GET['user1']+'|'+_GET['user1']+']]'; document.getElementById('editform').submit(); } else if (location.href.match(/revert=2/)) { document.getElementById('wpSummary').value = 'Reverted edits by [[Special:Contributions/'+_GET['user2']+'|'+_GET['user2']+']] to version ' + _GET['oldid']+' by [[Special:Contributions/'+_GET['user1']+'|'+_GET['user1']+']] ('+_GET['message']+')'; document.getElementById('editform').submit(); } else if (location.href.match(/vandalism=1/)) { document.getElementById('wpSummary').value = 'Reverted vandalism by [[Special:Contributions/'+_GET['user2']+'|'+_GET['user2']+']] to version ' + _GET['oldid']+' by [[Special:Contributions/'+_GET['user1']+'|'+_GET['user1']+']]'; document.getElementById('editform').submit(); } else if (location.href.match(/vandalism=2/)) { document.getElementById('wpSummary').value = 'Reverted vandalism by [[Special:Contributions/'+_GET['user2']+'|'+_GET['user2']+']] to version ' + _GET['oldid']+' by [[Special:Contributions/'+_GET['user1']+'|'+_GET['user1']+']] ('+_GET['message']+')'; document.getElementById('editform').submit(); } else if (location.href.match(/warn=1/)) { document.getElementById('wpSummary').value = 'Vandalism warning'; document.getElementById('wpTextbox1').value = '{{sub'+'st:test}} ~~'+'~~'; document.getElementById('editform').submit(); } else if (location.href.match(/warn=2/)) { document.getElementById('wpSummary').value = 'Vandalism warning'; document.getElementById('wpTextbox1').value = '{{sub'+'st:blatantvandal}} ~~'+'~~'; document.getElementById('editform').submit(); } else if (location.href.match(/warn=3/)) { document.getElementById('wpSummary').value = 'Vandalism warning'; document.getElementById('wpTextbox1').value = '{{sub'+'st:test2}} ~~'+'~~'; document.getElementById('editform').submit(); } else if (location.href.match(/warn=4/)) { document.getElementById('wpSummary').value = 'Vandalism warning'; document.getElementById('wpTextbox1').value = '{{sub'+'st:test2a}} ~~'+'~~'; document.getElementById('editform').submit(); } }); //Interiot's javascript edit counter if (document.title.indexOf('User:Interiot/Tool2/code.js') != -1) { document.write('<script type="text/javascript" src="' + 'http://en.wikipedia.org/w/index.php?title=User:Interiot/Tool2/code.js' + '&action=raw&ctype=text/javascript&dontcountme=s"></script>'); } //<pre><nowiki> // =-=-=- HELPER FUNCTIONS -=-=-= // ----------------------------------------------------------------------------- // XMLHttpRequest support // ----------------------------------------------------------------------------- if (document.implementation.createDocument) { var gml_xmlparser = new DOMParser(); } //<nowiki> Helper tools document.write('<script type="text/javascript" src="' + 'http://en.wikipedia.org/w/index.php?title=User:Voice_of_All/Addtabs/monobook.js' + '&action=raw&ctype=text/javascript&dontcountme=s"></script>'); //</nowiki> //UTC clock (purges too) document.write('<script type="text/javascript" src="' + 'http://en.wikipedia.org/w/index.php?title=User:Voice_of_All/UTCclock.js' + '&action=raw&ctype=text/javascript&dontcountme=s"></script>'); //END ///////////////////////////////PAGE ROLLBACK/////////////////////////////// // ----------------------------------------------------------------------------- // POV rollback // ----------------------------------------------------------------------------- var prollbacklink = ' <strong><span style="color:black;">[</span><span style="color:darkblue;">rollback (AGF)</span><span style="color:black;">]</span> </strong></strong>'; var cantrollback = 'Cannot revert edit; last contributor is only author of this page.'; var alreadyrolled = 'Cannot rollback last edit of [[$1]] by [[User:$2|$2]] ([[User talk:$2|Talk]]); someone else has edited or rolled back the page already. Last edit was by [[User:$3|$3]] ([[User talk:$3|Talk]]). '; //this is not used: var preverted = "Reverted [[WP:AGF|good faith]] edits by [[Special:Contributions/$2|$2]] per policy concerns. Please read up on [[WP:POL#Key_policies|policies and guidelines]]. Thanks!"; // // ----------------------------------------------------------------------------- // Normal rollback // ----------------------------------------------------------------------------- var qrollbacklink = '<span style="color:black;">[</span>rollback<span style="color:black;">]<span>'; var nrollbacklink = '<strong><span style="color:black;">[</span>rollback<span style="color:black;">]<span></strong>'; var cantrollback = 'Cannot revert edit; last contributor is only author of this page.'; var alreadyrolled = 'Cannot rollback last edit of [[$1]] by [[User:$2|$2]] ([[User talk:$2|Talk]]); someone else has edited or rolled back the page already. Last edit was by [[User:$3|$3]] ([[User talk:$3|Talk]]). '; //this is not used: var nreverted = 'JS: Reverted edits by [[Special:Contributions/$2|$2]] to last version by $1'; // ----------------------------------------------------------------------------- // Vandal rollback // ----------------------------------------------------------------------------- var rollbacklink = '<strong><span style="color:black;">[</span><span style="color:red;">rollback (vandal)</span><span style="color:black;">]</strong><br></span>'; var cantrollback = 'Cannot revert edit; last contributor is only author of this page.'; var alreadyrolled = 'Cannot rollback last edit of [[$1]] by [[User:$2|$2]] ([[User talk:$2|Talk]]); someone else has edited or rolled back the page already. Last edit was by [[User:$3|$3]] ([[User talk:$3|Talk]]). '; //this is not used: var vreverted = 'JS: Reverted [[Wikipedia:Vandalism|vandalism]] by [[Special:Contributions/$2|$2]] to last version by $1.'; // //failsafe rollback method addOnloadHook(IEhistory_revert) function IEhistory_revert() { // var cant_rollback = '<br><strong><span style="color:red;">Page rollback error:</span> Could not find a version of this page that is not by the user you attempted to rollback from.' + '<br>' + 'Most likely, the user is the only author of the page, so you may want to have the page deleted.' + '<br>' + '<span style="color:red;">Note:</span> This revert function only looks at the last 12 page edits, so you may be able look back further and use "restore".'; var not_topuser = '<strong><span style="color:red;">Page rollback error:</span> Last editor is <span style="color:blue;">' + '<<top_user>>' + '</span>, not <span style="color:blue;">' + '<<vandal>>' + '</span>. The user may have already been reverted.</strong>'; // var body = document.getElementById('bodyContent'); if (location.href.indexOf('&action=history&limit=12&jsaction=IEnormalrevert&user=') != -1) { var found = 0; var token = location.href.split('&token=')[1]; var user_name = document.getElementById('pt-userpage').getElementsByTagName('a')[0].innerHTML; var pagename = location.href.split('title=')[1].split('&action=history')[0]; var vandal = unescape(location.href.split('&jsaction=IEnormalrevert&user=')[1].split('&token=')[0]); //confirm token if (token != hex_md5(pagename + vandal + user_name)) {body.innerHTML = '<strong><span style="color:red;">Page rollback error:</span> Invalid token!</strong>'; return;} //get top user var l = document.getElementById('pagehistory').getElementsByTagName('li'); if (l[0].innerHTML.indexOf('(cur) (last) ') ==0) {var top_user = l[0].getElementsByTagName('a')[1].innerHTML;} else {var top_user = l[0].getElementsByTagName('a')[2].innerHTML;} if (top_user != vandal) {body.innerHTML = not_topuser; return;} for (i = 1; i < l.length; i++) { if (!l[i].getElementsByTagName('a')[3]) {body.innerHTML = '<strong><span style="color:red;">Page rollback error:</span> Format cannot be parsed!</strong>'; return;} //get user and ID names if (l[i].innerHTML.indexOf('(cur) (last) ') !=-1) {test_user = l[i].getElementsByTagName('a')[1].innerHTML; var pagehref = l[i].getElementsByTagName('a')[0].href;} else if (l[i].innerHTML.indexOf(') (last) <') !=-1) {test_user = l[i].getElementsByTagName('a')[2].innerHTML; var pagehref = l[i].getElementsByTagName('a')[1].href;} else {test_user = l[i].getElementsByTagName('a')[3].innerHTML; var pagehref = l[i].getElementsByTagName('a')[2].href;} // if (test_user != vandal) { var good_user = test_user; var URL = pagehref + "&action=edit&jsaction=autorevertnorm&byuser=" + escape(user_name) + "&oldrvtouser=" + escape(good_user) + "&revertfromuser=" + escape(vandal); body.innerHTML = '<strong>Page rollback status:<span style="color:blue;"> Getting article history ... </span>done</strong>'; location.href = URL; found = 1; break; } } if (found == 0) {body.innerHTML = cant_rollback.replace('<<top_user>>',top_user).replace('<<vandal>>',vandal); return;} } else if (location.href.indexOf('&action=history&limit=12&jsaction=IErollback&vandal=') != -1) { var found = 0; var token = location.href.split('&token=')[1]; var user_name = document.getElementById('pt-userpage').getElementsByTagName('a')[0].innerHTML; var pagename = location.href.split('title=')[1].split('&action=history')[0]; var vandal = unescape(location.href.split('&jsaction=IErollback&vandal=')[1].split('&token=')[0]); //confirm token if (token != hex_md5(pagename + vandal + user_name)) {body.innerHTML = '<strong><span style="color:red;">Page rollback error:</span> Invalid token!</strong>'; return;} //get top user var l = document.getElementById('pagehistory').getElementsByTagName('li'); if (l[0].innerHTML.indexOf('(cur) (last) ') ==0) {var top_user = l[0].getElementsByTagName('a')[1].innerHTML;} else {var top_user = l[0].getElementsByTagName('a')[2].innerHTML;} if (top_user != vandal) {body.innerHTML = not_topuser; return;} for (i = 1; i < l.length; i++) { if (!l[i].getElementsByTagName('a')[3]) {body.innerHTML = '<strong><span style="color:red;">Page rollback error:</span> Format cannot be parsed!</strong>'; return;} //get user and ID names if (l[i].innerHTML.indexOf('(cur) (last) ') !=-1) {test_user = l[i].getElementsByTagName('a')[1].innerHTML; var pagehref = l[i].getElementsByTagName('a')[0].href;} else if (l[i].innerHTML.indexOf(') (last) <') !=-1) {test_user = l[i].getElementsByTagName('a')[2].innerHTML; var pagehref = l[i].getElementsByTagName('a')[1].href;} else {test_user = l[i].getElementsByTagName('a')[3].innerHTML; var pagehref = l[i].getElementsByTagName('a')[2].href;} // if (test_user != vandal) { var good_user = test_user; var URL = pagehref + "&action=edit&jsaction=autorevertvandal&byuser=" + escape(user_name) + "&oldrvtouser=" + escape(good_user) + "&revertfromuser=" + escape(vandal); body.innerHTML = '<strong>Page rollback status:<span style="color:blue;"> Getting article history ... </span>done</strong>'; location.href = URL; found = 1; break; } } if (found == 0) {body.innerHTML = cant_rollback.replace('<<top_user>>',top_user).replace('<<vandal>>',vandal); return;} } else if (location.href.indexOf('&action=history&limit=12&jsaction=IEnicerevert&user=') != -1) { var found = 0; var token = location.href.split('&token=')[1]; var user_name = document.getElementById('pt-userpage').getElementsByTagName('a')[0].innerHTML; var pagename = location.href.split('title=')[1].split('&action=history')[0]; var vandal = unescape(location.href.split('&jsaction=IEnicerevert&user=')[1].split('&token=')[0]); //confirm token if (token != hex_md5(pagename + vandal + user_name)) {body.innerHTML = '<strong><span style="color:red;">Page rollback error:</span> Invalid token!</strong>'; return;} //get top user var l = document.getElementById('pagehistory').getElementsByTagName('li'); if (l[0].innerHTML.indexOf('(cur) (last) ') ==0) {var top_user = l[0].getElementsByTagName('a')[1].innerHTML;} else {var top_user = l[0].getElementsByTagName('a')[2].innerHTML;} if (top_user != vandal) {body.innerHTML = not_topuser; return;} for (i = 1; i < l.length; i++) { if (!l[i].getElementsByTagName('a')[3]) {body.innerHTML = '<strong><span style="color:red;">Page rollback error:</span> Format cannot be parsed!</strong>'; return;} //get user and ID names if (l[i].innerHTML.indexOf('(cur) (last) ') !=-1) {test_user = l[i].getElementsByTagName('a')[1].innerHTML; var pagehref = l[i].getElementsByTagName('a')[0].href;} else if (l[i].innerHTML.indexOf(') (last) <') !=-1) {test_user = l[i].getElementsByTagName('a')[2].innerHTML; var pagehref = l[i].getElementsByTagName('a')[1].href;} else {test_user = l[i].getElementsByTagName('a')[3].innerHTML; var pagehref = l[i].getElementsByTagName('a')[2].href;} // if (test_user != vandal) { var good_user = test_user; var URL = pagehref + "&action=edit&jsaction=autorevertnice&byuser=" + escape(user_name) + "&oldrvtouser=" + escape(good_user) + "&revertfromuser=" + escape(vandal); body.innerHTML = '<strong>Page rollback status:<span style="color:blue;"> Getting article history ... </span>done</strong>'; location.href = URL; found = 1; break; } } if (found == 0) {body.innerHTML = cant_rollback.replace('<<top_user>>',top_user).replace('<<vandal>>',vandal); return;} } } /////////////////////////////// // ----------------------------------------------------------------------------- // XMLHttpRequest support // ----------------------------------------------------------------------------- if (document.implementation.createDocument) { var gml_xmlparser = new DOMParser(); } function gml_XMLParse(string) { if (document.implementation.createDocument) { return gml_xmlparser.parseFromString(string, "text/xml"); } else if (window.ActiveXObject) { var gml_xmldoc = new ActiveXObject("Microsoft.XMLDOM"); gml_xmldoc.async = false; ret = gml_xmldoc.loadXML(string); if (!ret) return null; return gml_xmldoc.documentElement; } return null; } var gml_xmlhttp; function HTTPClient() { var gml_http; if(window.XMLHttpRequest) { gml_http = new XMLHttpRequest(); } else if (window.ActiveXObject) { try { gml_http = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { try { gml_http = new ActiveXObject("Microsoft.XMLHTTP"); } catch (E) { gml_http = false; } } } return gml_http; } // ----------------------------------------------------------------------------- // MD5 hash calculator // ----------------------------------------------------------------------------- // Version 2.1 Copyright (C) Paul Johnston 1999 - 2002. // Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet // Distributed under the BSD License // See http://pajhome.org.uk/crypt/md5 for more info. // ----------------------------------------------------------------------------- var hexcase = 0; var b64pad = ""; var chrsz = 8; function hex_md5(s){ return binl2hex(core_md5(str2binl(s), s.length * chrsz));} function core_md5(x, len) { x[len >> 5] |= 0x80 << ((len) % 32); x[(((len + 64) >>> 9) << 4) + 14] = len; var a = 1732584193; var b = -271733879; var c = -1732584194; var d = 271733878; for(var i = 0; i < x.length; i += 16) { var olda = a; var oldb = b; var oldc = c; var oldd = d; a = md5_ff(a, b, c, d, x[i+ 0], 7 , -680876936); d = md5_ff(d, a, b, c, x[i+ 1], 12, -389564586); c = md5_ff(c, d, a, b, x[i+ 2], 17, 606105819); b = md5_ff(b, c, d, a, x[i+ 3], 22, -1044525330); a = md5_ff(a, b, c, d, x[i+ 4], 7 , -176418897); d = md5_ff(d, a, b, c, x[i+ 5], 12, 1200080426); c = md5_ff(c, d, a, b, x[i+ 6], 17, -1473231341); b = md5_ff(b, c, d, a, x[i+ 7], 22, -45705983); a = md5_ff(a, b, c, d, x[i+ 8], 7 , 1770035416); d = md5_ff(d, a, b, c, x[i+ 9], 12, -1958414417); c = md5_ff(c, d, a, b, x[i+10], 17, -42063); b = md5_ff(b, c, d, a, x[i+11], 22, -1990404162); a = md5_ff(a, b, c, d, x[i+12], 7 , 1804603682); d = md5_ff(d, a, b, c, x[i+13], 12, -40341101); c = md5_ff(c, d, a, b, x[i+14], 17, -1502002290); b = md5_ff(b, c, d, a, x[i+15], 22, 1236535329); a = md5_gg(a, b, c, d, x[i+ 1], 5 , -165796510); d = md5_gg(d, a, b, c, x[i+ 6], 9 , -1069501632); c = md5_gg(c, d, a, b, x[i+11], 14, 643717713); b = md5_gg(b, c, d, a, x[i+ 0], 20, -373897302); a = md5_gg(a, b, c, d, x[i+ 5], 5 , -701558691); d = md5_gg(d, a, b, c, x[i+10], 9 , 38016083); c = md5_gg(c, d, a, b, x[i+15], 14, -660478335); b = md5_gg(b, c, d, a, x[i+ 4], 20, -405537848); a = md5_gg(a, b, c, d, x[i+ 9], 5 , 568446438); d = md5_gg(d, a, b, c, x[i+14], 9 , -1019803690); c = md5_gg(c, d, a, b, x[i+ 3], 14, -187363961); b = md5_gg(b, c, d, a, x[i+ 8], 20, 1163531501); a = md5_gg(a, b, c, d, x[i+13], 5 , -1444681467); d = md5_gg(d, a, b, c, x[i+ 2], 9 , -51403784); c = md5_gg(c, d, a, b, x[i+ 7], 14, 1735328473); b = md5_gg(b, c, d, a, x[i+12], 20, -1926607734); a = md5_hh(a, b, c, d, x[i+ 5], 4 , -378558); d = md5_hh(d, a, b, c, x[i+ 8], 11, -2022574463); c = md5_hh(c, d, a, b, x[i+11], 16, 1839030562); b = md5_hh(b, c, d, a, x[i+14], 23, -35309556); a = md5_hh(a, b, c, d, x[i+ 1], 4 , -1530992060); d = md5_hh(d, a, b, c, x[i+ 4], 11, 1272893353); c = md5_hh(c, d, a, b, x[i+ 7], 16, -155497632); b = md5_hh(b, c, d, a, x[i+10], 23, -1094730640); a = md5_hh(a, b, c, d, x[i+13], 4 , 681279174); d = md5_hh(d, a, b, c, x[i+ 0], 11, -358537222); c = md5_hh(c, d, a, b, x[i+ 3], 16, -722521979); b = md5_hh(b, c, d, a, x[i+ 6], 23, 76029189); a = md5_hh(a, b, c, d, x[i+ 9], 4 , -640364487); d = md5_hh(d, a, b, c, x[i+12], 11, -421815835); c = md5_hh(c, d, a, b, x[i+15], 16, 530742520); b = md5_hh(b, c, d, a, x[i+ 2], 23, -995338651); a = md5_ii(a, b, c, d, x[i+ 0], 6 , -198630844); d = md5_ii(d, a, b, c, x[i+ 7], 10, 1126891415); c = md5_ii(c, d, a, b, x[i+14], 15, -1416354905); b = md5_ii(b, c, d, a, x[i+ 5], 21, -57434055); a = md5_ii(a, b, c, d, x[i+12], 6 , 1700485571); d = md5_ii(d, a, b, c, x[i+ 3], 10, -1894986606); c = md5_ii(c, d, a, b, x[i+10], 15, -1051523); b = md5_ii(b, c, d, a, x[i+ 1], 21, -2054922799); a = md5_ii(a, b, c, d, x[i+ 8], 6 , 1873313359); d = md5_ii(d, a, b, c, x[i+15], 10, -30611744); c = md5_ii(c, d, a, b, x[i+ 6], 15, -1560198380); b = md5_ii(b, c, d, a, x[i+13], 21, 1309151649); a = md5_ii(a, b, c, d, x[i+ 4], 6 , -145523070); d = md5_ii(d, a, b, c, x[i+11], 10, -1120210379); c = md5_ii(c, d, a, b, x[i+ 2], 15, 718787259); b = md5_ii(b, c, d, a, x[i+ 9], 21, -343485551); a = safe_add(a, olda); b = safe_add(b, oldb); c = safe_add(c, oldc); d = safe_add(d, oldd); } return Array(a, b, c, d); } function md5_cmn(q, a, b, x, s, t) { return safe_add(bit_rol(safe_add(safe_add(a, q), safe_add(x, t)), s),b); } function md5_ff(a, b, c, d, x, s, t) { return md5_cmn((b & c) | ((~b) & d), a, b, x, s, t); } function md5_gg(a, b, c, d, x, s, t) { return md5_cmn((b & d) | (c & (~d)), a, b, x, s, t); } function md5_hh(a, b, c, d, x, s, t) { return md5_cmn(b ^ c ^ d, a, b, x, s, t); } function md5_ii(a, b, c, d, x, s, t) { return md5_cmn(c ^ (b | (~d)), a, b, x, s, t); } function safe_add(x, y) { var lsw = (x & 0xFFFF) + (y & 0xFFFF); var msw = (x >> 16) + (y >> 16) + (lsw >> 16); return (msw << 16) | (lsw & 0xFFFF); } function bit_rol(num, cnt) { return (num << cnt) | (num >>> (32 - cnt)); } function str2binl(str) { var bin = Array(); var mask = (1 << chrsz) - 1; for(var i = 0; i < str.length * chrsz; i += chrsz) bin[i>>5] |= (str.charCodeAt(i / chrsz) & mask) << (i%32); return bin; } function binl2hex(binarray) { var hex_tab = hexcase ? "0123456789ABCDEF" : "0123456789abcdef"; var str = ""; for(var i = 0; i < binarray.length * 4; i++) { str += hex_tab.charAt((binarray[i>>2] >> ((i%4)*8+4)) & 0xF) + hex_tab.charAt((binarray[i>>2] >> ((i%4)*8 )) & 0xF); } return str; } // ----------------------------------------------------------------------------- // Add revert buttons to the page // ----------------------------------------------------------------------------- addOnloadHook(AddRevertButtonsnorm) function AddRevertButtonsnorm() { var l, article = '', vandal; // Add 'revert' links to a diff page [[Category:VoA scripted admins]] var user_name = document.getElementById('pt-userpage').getElementsByTagName('a')[0].innerHTML; l = document.getElementById('bodyContent').getElementsByTagName('td'); for (i = 0; i < l.length; i++) { if (l[i].className == 'diff-otitle') { if (!l[i].getElementsByTagName('a')[0]){return;} article = l[i].getElementsByTagName('a')[0].href; pagename = article.split('title=')[1]; } else if (l[i].className == 'diff-ntitle') { var toplink = l[i].getElementsByTagName('a')[0].href; vandal = l[i].getElementsByTagName('a')[2].innerHTML; var t = l[i].innerHTML; n = t.indexOf('</a>) <br') + t.indexOf('</A>) <BR') + 1; // XXX: WOW HACK!!!! if (article != '' && toplink.indexOf('oldid=') == -1) { l[i].innerHTML = ' <strong><a href="' + article + '&action=history&limit=12&jsaction=IEnicerevert&user=' + escape(vandal) + '&token=' + hex_md5(pagename + vandal + user_name) + '">' + prollbacklink + '</strong></a> || <strong><a href="' + article + '&action=history&limit=12&jsaction=IErollback&vandal=' + escape(vandal) + '&token=' + hex_md5(pagename + vandal + user_name) + '">' + rollbacklink + '</a></strong> ' + t.substring(0,n + 5) + ' <strong><a href="' + article + '&action=history&limit=12&jsaction=IEnormalrevert&user=' + escape(vandal) + '&token=' + hex_md5(pagename + vandal + user_name) + '">' + nrollbacklink + '</strong></a>' + t.substring(n + 5,t.length); } } } // Add 'revert' links to a contributions page if (document.title.indexOf('User contributions') == 0) { var c = document.getElementById('contentSub'); var a = c.getElementsByTagName('a'); vandal = a[0].innerHTML; //bug fix if (vandal == 'Talk') {vandal = document.getElementById('contentSub').innerHTML.split(' (<a')[0].split(' (<A')[0].split('For ')[1];} l = document.getElementById('bodyContent').getElementsByTagName('li'); for (i = 0; i < l.length; i++) { var t = l[i].innerHTML; // If we are already a sysop on this wiki, abort if (t.indexOf('action=rollback') != -1) break; if (t.indexOf(')</strong>') != -1) { article = l[i].getElementsByTagName('a')[0].href.split('&action=history')[0]; pagename = article.split('title=')[1]; l[i].innerHTML += ' <a href="' + article + '&action=history&limit=12&jsaction=IEnormalrevert&user=' + escape(vandal) + '&token=' + hex_md5(pagename + vandal + user_name) + '">' + qrollbacklink + '</a>'; } } } } //////////////////////// // ============= test-n.js ============== function tnaddlilink(url, name) { var na = document.createElement('a'); na.setAttribute('href', url); var txt = document.createTextNode(name); na.appendChild(txt); var li = document.createElement('li'); li.appendChild(na); return li; } function testn(number) { var IPnote = ''; if (document.title.split(' - ')[0].split('.').length == 4) {IPnote = "''If this is an [[IP address]], and it is shared by multiple users, ignore this warning if you did not make any [[Wikipedia:vandalism|unconstructive]] edits.'' ";} var varticle = ''; if (location.href.indexOf('&vanarticle=') != -1) {varticle = ' to [[' + unescape(location.href.split('&vanarticle=')[1].replace(/(Image|Category):/i,':$1:')) + ']]';} var f = document.editform, t = f.wpTextbox1; if (t.value.length > 0) t.value += '\n'; t.value +="====" + "Regarding edits made during [[{{subst:CURRENTMONTHNAME}} {{subst:CURRENTDAY}}]] [[{{subst:CURRENTYEAR}}]] ([[UTC]])" + varticle + "====" + "\n" + "{{subst:" + "test" + number + "}} " + IPnote + "~" + "~" + "~" + "~"; f.wpSummary.value = "User notice:" + " test" + number; } function warningn() { var IPnote = ''; if (document.title.split(' - ')[0].split('.').length == 4) {IPnote = "''If this is an [[IP address]], and it is shared by multiple users, ignore this warning if you did not make any [[Wikipedia:vandalism|unconstructive]] edits.'' ";} var varticle = ''; if (location.href.indexOf('&vanarticle=') != -1) {varticle = ' to [[' + unescape(location.href.split('&vanarticle=')[1].replace(/(Image|Category):/i,':$1:')) + ']]';} var f = document.editform, t = f.wpTextbox1; if (t.value.length > 0) t.value += '\n'; t.value +="====" + "Regarding edits made during [[{{subst:CURRENTMONTHNAME}} {{subst:CURRENTDAY}}]] [[{{subst:CURRENTYEAR}}]] ([[UTC]])" + varticle + "====" + "\n" + "{{subst:" + "bv" + "}} " + IPnote + "~" + "~" + "~" + "~"; f.wpSummary.value = "User notice:" + " bv"; } function testbl(number) { var IPnote = ''; if (document.title.split(' - ')[0].split('.').length == 4) {IPnote = "''If this is an [[IP address]], and it is shared by multiple users, ignore this warning if you did not make any [[Wikipedia:vandalism|unconstructive]] edits.'' ";} var varticle = ''; if (location.href.indexOf('&vanarticle=') != -1) {varticle = ' to [[' + unescape(location.href.split('&vanarticle=')[1].replace(/(Image|Category):/i,':$1:')) + ']]';} var f = document.editform, t = f.wpTextbox1; if (t.value.length > 0) t.value += '\n'; t.value +="====" + "Regarding edits made during [[{{subst:CURRENTMONTHNAME}} {{subst:CURRENTDAY}}]] [[{{subst:CURRENTYEAR}}]] ([[UTC]])" + varticle + "====" + "\n" + "{{subst:" + "Blank" + number + "}} " + IPnote + "~" + "~" + "~" + "~"; f.wpSummary.value = "User notice:" + " Blank" + number; } function spam() { var IPnote = ''; if (document.title.split(' - ')[0].split('.').length == 4) {IPnote = "''If this is an [[IP address]], and it is shared by multiple users, ignore this warning if you did not make any [[Wikipedia:vandalism|unconstructive]] edits.'' ";} var varticle = ''; if (location.href.indexOf('&vanarticle=') != -1) {varticle = ' to [[' + unescape(location.href.split('&vanarticle=')[1].replace(/(Image|Category):/i,':$1:')) + ']]';} var f = document.editform, t = f.wpTextbox1; if (t.value.length > 0) t.value += '\n'; t.value +="====" + "Regarding edits made during [[{{subst:CURRENTMONTHNAME}} {{subst:CURRENTDAY}}]] [[{{subst:CURRENTYEAR}}]] ([[UTC]])" + varticle + "====" + "\n" + "{{subst:" + "spam}} " + IPnote + "~" + "~" + "~" + "~"; f.wpSummary.value = "User notice:" + " spam"; } function spamn(number) { var IPnote = ''; if (document.title.split(' - ')[0].split('.').length == 4) {IPnote = "''If this is an [[IP address]], and it is shared by multiple users, ignore this warning if you did not make any [[Wikipedia:vandalism|unconstructive]] edits.'' ";} var varticle = ''; if (location.href.indexOf('&vanarticle=') != -1) {varticle = ' to [[' + unescape(location.href.split('&vanarticle=')[1].replace(/(Image|Category):/i,':$1:')) + ']]';} var f = document.editform, t = f.wpTextbox1; if (t.value.length > 0) t.value += '\n'; t.value +="====" + "Regarding edits made during [[{{subst:CURRENTMONTHNAME}} {{subst:CURRENTDAY}}]] [[{{subst:CURRENTYEAR}}]] ([[UTC]])" + varticle + "====" + "\n" + "{{subst:" + "spam" + number + "}} " + IPnote + "~" + "~" + "~" + "~"; f.wpSummary.value = "User notice:" + " spam" + number; } //************ //LAST DIFF TAB function lastdiff() { if (document.title.indexOf("Editing ") != -1) {return;} z=document.getElementById("content").childNodes; for (var n=0;n<z.length;n++) { if (z[n].className=="firstHeading") { var pname = URLEncoding(z[n].innerHTML); } } var l=addTab("http://en.wikipedia.org/w/index.php?title=" + pname + "&diff=cur&oldid=prev", 'last', ''); l.lastChild.title="Show most recent diff"; } //Quick warning tabs addOnloadHook(add_testn_tabs); function add_testn_tabs() { var c1 = document.getElementById('column-one'); var tabs = c1.getElementsByTagName('div')[0].getElementsByTagName('ul')[0]; if(document.getElementById('ca-history')) {lastdiff();} if (document.title.indexOf("Editing User talk:") != -1) { tabs.appendChild(tnaddlilink('javascript:testn(1)',"t")); tabs.appendChild(tnaddlilink('javascript:testn(2)',"t2")); tabs.appendChild(tnaddlilink('javascript:testn(3)',"v")); tabs.appendChild(tnaddlilink('javascript:warningn()',"w")); tabs.appendChild(tnaddlilink('javascript:testbl(2)',"b")); tabs.appendChild(tnaddlilink('javascript:testbl(3)',"b2")); tabs.appendChild(tnaddlilink('javascript:spam()',"s")); tabs.appendChild(tnaddlilink('javascript:spamn(2)',"s2")); if(document.getElementById('ca-delete')) { document.getElementById('ca-delete').firstChild.innerHTML = '[d]'; } if(document.getElementById('ca-move')) { document.getElementById('ca-move').firstChild.innerHTML = '[m]'; } if(document.getElementById('ca-watch')) { document.getElementById('ca-watch').firstChild.innerHTML = '[w]'; } if(document.getElementById('ca-unwatch')) { document.getElementById('ca-unwatch').firstChild.innerHTML = '[uw]'; } if(document.getElementById('ca-edit')) { document.getElementById('ca-edit').firstChild.innerHTML = 'Edit'; } if(document.getElementById('ca-talk')) { document.getElementById('ca-talk').firstChild.innerHTML = 'Talk'; } if(document.getElementById('ca-protect')) { document.getElementById('ca-protect').firstChild.innerHTML = 'P (off)'; } if(document.getElementById('ca-unprotect')) { document.getElementById('ca-unprotect').firstChild.innerHTML = 'P (on)'; } } } //END //////////// // [[User:Lupin/popupsdev.js]] - please include this line document.write('<script type="text/javascript" src="' + 'http://en.wikipedia.org/w/index.php?title=User:Lupin/popupsdev.js' + '&action=raw&ctype=text/javascript&dontcountme=s"></script>'); popupStructure='shortmenus'; popupSubpopups=false; //END // [[User:Lupin/recent2.js]] - please include this line document.write('<script type="text/javascript" src="' + 'http://en.wikipedia.org/w/index.php?title=User:Lupin/recent2.js' + '&action=raw&ctype=text/javascript&dontcountme=s"></script>'); //////////// //more revert tools document.write('<script type="text/javascript" src="' + 'http://en.wikipedia.org/w/index.php?title=User:Voice_of_All/Revert/monobook.js' + '&action=raw&ctype=text/javascript&dontcountme=s"></script>'); //<nowiki> History tools document.write('<script type="text/javascript" src="' + 'http://en.wikipedia.org/w/index.php?title=User:Voice_of_All/History/monobook.js' + '&action=raw&ctype=text/javascript&dontcountme=s"></script>'); // //<nowiki> AIV tools document.write('<script type="text/javascript" src="' + 'http://en.wikipedia.org/w/index.php?title=User:Lightdarkness/aiv.js' + '&action=raw&ctype=text/javascript&dontcountme=s"></script>'); //</nowiki></pre>[[Category:Wikipedians who use VoA script ]] //<pre><nowiki> //Please leave the following line //[[user:Where/easy db]] //Start db script addOnloadHook(function() { //check if called from deletion request if (document.title.indexOf("Editing ") != -1) { if (document.URL.lastIndexOf("&fakeaction=huff") == -1) return; if (document.URL.lastIndexOf("&reason=off") != -1) { var type = prompt("Enter criteria for speedy deletion, e.g. A1, G3"); var f = document.editform, t = f.wpTextbox1; t.value = "{{db-" + type.toLowerCase() + "}}\n" + t.value; f.wpSummary.value = "JS: Requesting speedy deletion ([[WP:CSD#" + type + "|CSD " + type + "]])"; f.wpSave.click(); return; } else if (document.URL.lastIndexOf("&reason=on") != -1) { var type = prompt("Enter reason for speedy deletion"); var f = document.editform, t = f.wpTextbox1; t.value = "{{db|" + type + "}}\n" + t.value; f.wpSummary.value = "JS: Requesting speedy deletion"; f.wpSave.click(); return; } } if (window.location.href.search(/Special:|&action=/) != -1) return; addTab("javascript:easyDb(0)", "db (csd)", "ca-db0", "Request speedy deletion according to WP:CSD", ""); addTab("javascript:easyDb(1)", "db (reason)", "ca-db0", "Request speedy deletion with reason", ""); }); function easyDb(n) { if (n == 0) { //edit page var title = document.title.substr(0, document.title.lastIndexOf(' - Wikipedia, the free')); location.assign("/w/index.php?title=" + title + "&action=edit&fakeaction=huff&reason=off"); } if (n == 1) { //edit page var title = document.title.substr(0, document.title.lastIndexOf(' - Wikipedia, the free')); location.assign("/w/index.php?title=" + title + "&action=edit&fakeaction=huff&reason=on"); } } //End db script //</nowiki></pre> // Script from [[User:ais523/editcount.js]] document.write('<script type="text/javascript" src="' + 'http://en.wikipedia.org/w/index.php?title=User:ais523/editcount.js' + '&action=raw&ctype=text/javascript&dontcountme=s"></s'+'cript>'); // Script from [[User:AndyZ/peerreviewer.js]] document.write('<script type="text/javascript" src="' + 'http://en.wikipedia.org/w/index.php?title=User:AndyZ/peerreviewer.js' + '&action=raw&ctype=text/javascript&dontcountme=s"></s'+'cript>'); // STATUS CHANGER addOnloadHook(function (){ var user = document.getElementById( 'pt-userpage' ).firstChild.firstChild.data; var subpage = "/Status"; var scheme = "/StatusTemplate"; var linkprefix = "http://en.wikipedia.org/w/index.php?title=User:"; var contribs = document.getElementById( 'pt-mycontris' ); //Add the links addlilink(contribs, linkprefix+user+subpage+"&action=edit&newstatus=in", "In", "pt-status-in", "I'm in!", ""); addlilink(contribs, linkprefix+user+subpage+"&action=edit&newstatus=busy", "Busy", "pt-status-busy", "I'm busy!", ""); addlilink(contribs, linkprefix+user+subpage+"&action=edit&newstatus=out", "Out", "pt-status-out", "I'm out!", ""); if (location.href.indexOf("&action=edit&newstatus=") == -1) return; //Are we here to auto-edit the status? //Get new status statusRegExp = /&action=edit&newstatus=(.*)/; status = statusRegExp.exec(location.href)[1]; //Modify the form document.getElementById('wpTextbox1').value = "{{User:"+user+scheme+"|"+status+"}}"; document.getElementById('wpSummary').value = "Status: "+status; document.getElementById('wpMinoredit').checked = 'checked'; //Submit it! document.getElementById('editform').submit(); }); // // [[User:Ais523/votesymbols.js]] // Code for adding icons to !votes in AfDs, RfAs, etc.. Doesn't affect the page, just // shows the icons when this code is installed. // Please see [[:Image:Votesymbols.js-enhanced_SfD.png]] for copyright info on the images that are added. function lowerNoPunct(s) { return s.toLowerCase().split('.').join('').split(',').join('').split(':').join('').split(';').join('').split('+').join(''); } addOnloadHook(function() { if(wgNamespaceNumber==0) return; //avoid article space, generally speaking var vs= "http://upload.wikimedia.org/wikipedia/commons/thumb/9/94/Symbol_support_vote.svg/15px-Symbol_support_vote.svg.png#"+ "http://upload.wikimedia.org/wikipedia/commons/thumb/d/d0/Symbol_keep_vote.svg/15px-Symbol_keep_vote.svg.png#"+ "http://upload.wikimedia.org/wikipedia/commons/thumb/7/7f/Symbol_oppose_vote.svg/15px-Symbol_oppose_vote.svg.png#"+ "http://upload.wikimedia.org/wikipedia/commons/thumb/8/89/Symbol_delete_vote.svg/15px-Symbol_delete_vote.svg.png#"+ "http://upload.wikimedia.org/wikipedia/commons/thumb/8/89/Symbol_neutral_vote.svg/15px-Symbol_neutral_vote.svg.png#"+ "http://upload.wikimedia.org/wikipedia/commons/thumb/b/b0/Symbol_merge_vote.svg/15px-Symbol_merge_vote.svg.png#"+ "http://upload.wikimedia.org/wikipedia/commons/thumb/5/50/Symbol_move_vote.svg/15px-Symbol_move_vote.svg.png#"+ "http://upload.wikimedia.org/wikipedia/commons/thumb/0/0c/Symbol_redirect_vote.svg/15px-Symbol_redirect_vote.svg.png#"+ "http://upload.wikimedia.org/wikipedia/commons/thumb/b/ba/Symbol_opinion_vote.svg/15px-Symbol_opinion_vote.svg.png#"+ "http://upload.wikimedia.org/wikipedia/commons/thumb/9/9e/Symbol_comment_vote_2.svg/15px-Symbol_comment_vote_2.svg.png#"+ "http://upload.wikimedia.org/wikipedia/commons/thumb/f/f6/Symbol_unsupport_vote.svg/15px-Symbol_unsupport_vote.svg.png#"+ "http://upload.wikimedia.org/wikipedia/commons/thumb/e/e0/Symbol_question.svg/15px-Symbol_question.svg.png#"+ "http://upload.wikimedia.org/wikipedia/commons/thumb/a/aa/Symbol_divide_vote.svg/15px-Symbol_divide_vote.svg.png#"+ "http://upload.wikimedia.org/wikipedia/commons/thumb/5/54/Symbol_wait.svg/15px-Symbol_wait.svg.png#"+ "http://upload.wikimedia.org/wikipedia/commons/thumb/b/bc/Face-grin.svg/15px-Face-grin.svg.png"; var vt=vs.split("#"); var la=new Array(); la['support']=0; la['endorse']=0; la['keep']=1; la['oppose']=2; la['overturn']=2; la['object']=2; la['delete']=3; la['neutral']=4; la['merge']=5; la['upmerge']=5; la['move']=6; la['rename']=6; la['userfy']=6; la['transwiki']=6; la['redirect']=7; la['opinion']=8; la['relist']=8; la['subst']=8; la['salt']=8; la['change']=8; // Note that icon 8 on the list is often used for debate-specific !votes la['comment']=9; la['update']=9; la['note']=9; la['delist']=10; la['question']=11; la['split']=12; la['wait']=13; la['bjaodn']=14; var btc=document.body.getElementsByTagName("B"); i=btc.length; while(i--) { var j,k; j=btc[i].innerHTML.split("<").join(" ").split(">").join(" ").split("/").join(" ").split(" "); k=0; var x=""; while(k<j.length) { if(lowerNoPunct(j[k])=="don't"||lowerNoPunct(j[k])=='not' ||lowerNoPunct(j[k])=='no'||lowerNoPunct(j[k])=='without') break; var l=la[lowerNoPunct(j[k])]; if(l!=undefined) { x+="<IMG SRC='"+vt[l]+"' /> " } k++; } if(x!="") btc[i].innerHTML=x+btc[i].innerHTML; } }); <!--Needed functions--> function addTab(url, name, id, title, key){ var tabs = document.getElementById('p-cactions').getElementsByTagName('ul')[0]; return addlilink(tabs, url, name, id, title, key)}; function addlilink(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; } <!--End needed functions--> <!-- Begin deletion-sorting code --> function dodeletion() { document.editform.wpTextbox1.value = document.editform.wpTextbox1.value + '\n{' + '{' + 'subst' + ':' + 'delsort' + '|' + 'Japan' + '}' + '}' + ' ' + '--' + ' ' + '~' + '~' + '~' + '~'; document.editform.wpSummary.value = 'Tagged as a Japan-related deletion.'; document.editform.wpMinoredit.checked = true; document.editform.submit(); } function adddeletion() { addTab("javascript:dodeletion()", "Japan deletion", "ca-Japandeletion", "Japan Deletion", ""); akeytt(); } addOnloadHook(function() { if (document.title.indexOf("Editing Wikipedia:Articles for deletion/") != -1) { addOnloadHook(adddeletion); } }); <!--End deletion-sorting code --> <!--My talk page header--> function doheader() { document.editform.wpTextbox1.value = '<!-' + '-Do not edit this--' + '>' + '{' + '{' + 'User' + ':' + 'Amarkov' + '/' + 'talkheader' + '}' + '}' + '<!-' + '-Do not edit this--' + '>'; document.editform.wpSummary.value = 'header'; document.editform.wpMinoredit.checked = true; document.editform.submit(); } function addheader() { addTab("javascript:doheader()", "Add header", "ca-Addheader", "Add header", ""); akeytt(); } addOnloadHook(function() { if (document.title.indexOf("Editing User talk:Amarkov") != -1) { addOnloadHook(addheader); } }); <!--End talkpage header--> <!--CSD A7 tab--> function doa7() { document.editform.wpTextbox1.value = '{' + '{' + 'db' + '-' + 'a7' + '}' + '}' + '\n' + document.editform.wpTextbox1.value; document.editform.wpSummary.value = 'speedy deletion tag a7-does not assert importance'; document.editform.wpMinoredit.checked = false; document.editform.wpWatchthis.checked = true; document.editform.submit(); } function adda7() { addTab("javascript:doa7()", "CSD A7", "ca-CSDA7", "CSD A7", ""); akeytt(); } addOnloadHook(function() { if (document.title.indexOf("Editing ") != -1 && document.title.indexOf("Editing User talk") != 0) { addOnloadHook(adda7); } }); <!--End CSD A7 tab--> <!--CSD G1 tab--> function dog1() { document.editform.wpTextbox1.value = '{' + '{' + 'db' + '-' + 'nonsense}' + '}' + '\n' + document.editform.wpTextbox1.value; document.editform.wpSummary.value = 'speedy deletion tag g1-nonsense'; document.editform.wpMinoredit.checked = false; document.editform.wpWatchthis.checked = true; document.editform.submit(); } function addg1() { addTab("javascript:dog1()", "CSD G1", "ca-CSDG1", "CSD G1", ""); akeytt(); } addOnloadHook(function() { if (document.title.indexOf("Editing ") != -1 && document.title.indexOf("Editing User talk") != 0) { addOnloadHook(addg1); } }); <!--End CSD G1 tab--> <!--CSD G11 tab--> function dog11() { document.editform.wpTextbox1.value = '{' + '{' + 'db' + '-' + 'g11' + '}' + '}' + '\n' + document.editform.wpTextbox1.value; document.editform.wpSummary.value = 'speedy deletion tag g11-advertising'; document.editform.wpMinoredit.checked = false; document.editform.wpWatchthis.checked = true; document.editform.submit(); } function addg11() { addTab("javascript:dog11()", "CSD G11", "ca-CSDG11", "CSD G11", ""); akeytt(); } addOnloadHook(function() { if (document.title.indexOf("Editing ") != -1 && document.title.indexOf("Editing User talk") != 0) { addOnloadHook(addg11); } }); <!--End CSD G11 tab--> <!--CSD G10 tab--> function dog10() { document.editform.wpTextbox1.value = '{' + '{' + 'db' + '-' + 'g10' + '}' + '}' + '\n' + document.editform.wpTextbox1.value; document.editform.wpSummary.value = 'speedy deletion tag g10-attack page'; document.editform.wpMinoredit.checked = false; document.editform.wpWatchthis.checked = true; document.editform.submit(); } function addg10() { addTab("javascript:dog10()", "CSD G10", "ca-CSDG10", "CSD G10", ""); akeytt(); } addOnloadHook(function() { if (document.title.indexOf("Editing ") != -1 && document.title.indexOf("Editing User talk") != 0) { addOnloadHook(addg10); } }); <!--End CSD G10 tab--> <!--Vanity warning tab--> function dovanity() { document.editform.wpTextbox1.value = document.editform.wpTextbox1.value + '\n' + '{' + '{' + 'subst' + ':' + 'User' + ':' + 'Amarkov' + '/' + 'vanitywarning' + '}' + '}'; document.editform.wpSummary.value = 'do not create pages on yourself unless you are notable'; document.editform.submit(); } function addvanity() { addTab("javascript:dovanity()", "vanitywarn", "ca-vanitywarn", "Vanitywarn", ""); akeytt(); } addOnloadHook(function() { if (document.title.indexOf("Editing User talk") == 0) { addOnloadHook(addvanity); } }); <!--End vanity warning tab--> <!--POV tab--> function dopov() { document.editform.wpTextbox1.value = '{' + '{' + 'npov' + '}' + '}' + document.editform.wpTextbox1.value; document.editform.wpSummary.value = '{' + '{' + 'npov' + '}' + '}'; document.editform.submit(); } function addpov() { addTab("javascript:dopov()", "pov", "ca-pov", "pov", ""); akeytt(); } addOnloadHook(function() { if (document.title.indexOf("Editing ") != -1 && document.title.indexOf("Editing User talk") != 0) { addOnloadHook(addpov); } }); <!--End POV tab--> <!--CSD blank tab--> function doblank() { document.editform.wpTextbox1.value = '{' + '{' + 'db' + '-' + 'blank' + '}' + '}' + document.editform.wpTextbox1.value; document.editform.wpSummary.value = 'speedy deletion tag a3-no information'; document.editform.submit(); } function addblank() { addTab("javascript:doblank()", "blank", "ca-blank", "blank", ""); akeytt(); } addOnloadHook(function() { if (document.title.indexOf("Editing ") != -1 && document.title.indexOf("Editing User talk") != 0) { addOnloadHook(addblank); } }); <!--End CSD blank tab--> function tnaddlilink(url, name) { var na = document.createElement('a'); na.setAttribute('href', url); var txt = document.createTextNode(name); na.appendChild(txt); var li = document.createElement('li'); li.appendChild(na); return li; } function testn(number) { var page = prompt("Vandalism to which article?") var f = document.editform, t = f.wpTextbox1; if (t.value.length > 0) t.value += '\n'; t.value += "{{subst:" + "test" + number + "-n|" + page + "}} ~" + "~" + "~" + "~"; f.wpSummary.value = "Edit to [[" + page + "]] - warning "; } function add_testn_tabs() { var c1 = document.getElementById('column-one'); var tabs = c1.getElementsByTagName('div')[0].getElementsByTagName('ul')[0]; // Only add for pages with "Editing User talk:" somewhere in the title if (document.title.indexOf("Editing User talk:") != -1) { tabs.appendChild(tnaddlilink('javascript:testn(1)',"t1")); tabs.appendChild(tnaddlilink('javascript:testn(2)',"t2")); tabs.appendChild(tnaddlilink('javascript:testn(3)',"t3")); tabs.appendChild(tnaddlilink('javascript:testn(4)',"t4")); } } addOnloadHook(add_testn_tabs); <!--Boilerplate new article tab--> function doboilerplate() { document.editform.wpTextbox1.value = '{' + '{' + 'linkless' + '}' + '}' + '{' + '{' + 'references' + '}' + '}' + '{' + '{' + 'wikify' + '}' + '}' + '\n' + document.editform.wpTextbox1.value; document.editform.wpSummary.value = 'Some cleanup tags'; } function addboilerplate() { addTab("javascript:doboilerplate()", "boilerplate", "ca-boilerplate", "boilerplate", ""); akeytt(); } addOnloadHook(function() { if (document.title.indexOf("Editing ") != -1 && document.title.indexOf("Editing User talk") != 0) { addOnloadHook(addboilerplate); } }); <!--End boilerplate tab--> //<pre><nowiki> Admin-like RC Patrol tools function winc(s) { s = s.replace(/^\[\[/, '').replace(/\]\]$/, ''); document.write('<script type="text/javascript" src="' + 'http://en.wikipedia.org/w/index.php?title=' + s + '&action=raw&ctype=text/javascript&dontcountme=s"></script>'); } winc('[[User:Voice_of_All/Addtabs/monobook.js]]'); // Helper tools winc('[[User:Cactus.man/Scripts/MoreTabs.js]]'); // Additional tabs for user & project pages winc('[[User:Voice_of_All/Revert/monobook.js]]'); // Diff page links winc('[[User:Voice_of_All/Deletion/monobook.js]]'); // AfD/PfD/Copyvio and tagging tabs winc('[[User:VoA/monobook.js]]'); // Admin-like RC Patrol tools //</nowiki></pre>[[Category:Wikipedians who use RC script ]] // Filter changes live (custom badwords file, derived from [[User:Lupin/badwords]]) // [[User:Can%27t_sleep%2C_clown_will_eat_me/recent2.js]] - please include this line document.write('<script type="text/javascript" src="' + 'http://en.wikipedia.org/w/index.php?title=User:Can%27t_sleep%2C_clown_will_eat_me/recent2.js' + '&action=raw&ctype=text/javascript&dontcountme=s"></script>'); // Adds a "blocklog" tab and fills in the username field on Special:Blockip, if a "&faketarget=username" is present. function do_blockip_stuff() { // focus on Reason field document.getElementsByName('wpBlockReason')[0].focus(); // Look for a &faketarget= for the username/ip var l = location.search.substring(1).split('&'); var target = ''; for (var i = 0; i < l.length; ++i) { var n = l[i].indexOf('='); if (l[i].substring(0, n) == 'faketarget') { target = l[i].substring(n + 1); break; } } if (target == '') return; // put account name in "IP Address/username" field var addr = document.getElementsByName('wpBlockAddress')[0]; addr.value = unescape(target); // add "blocklog" tab var c1 = document.getElementById('column-one'); var tabs = c1.getElementsByTagName('div')[0].getElementsByTagName('ul')[0]; addlilink(tabs, '/wiki/Special:Log/block?page=User:' + target, 'log'); } // Opens the block log in the current window, and Special:Blockip in a popup. // Width, height, top, and left are chosen for a 1600x1200 display. //function blockpage_and_log(target) //{ // window.open('Special_Blockip.html?foo=blarg&faketarget=' + target, 'Block', 'width=1600,height=600,top=600,left=0'); // document.location.href = 'http://en.wikipedia.org/w/index.php?title=Special%3ALog&type=block&user=&page=User%3A' + target; //} // Adds "block" and "blocklog" tabs to User: and User talk: pages. function add_block_tab() { var c1 = document.getElementById('column-one'); var tabs = c1.getElementsByTagName('div')[0].getElementsByTagName('ul')[0]; // use the "edit this page" tab to get already-tidied url var editlk = document.getElementById('ca-edit').getElementsByTagName('a')[0].href; // cut everything up to "title=" from the start and everything past "&action=edit" from the end editlk = editlk.substring(editlk.indexOf('title=') + 6, editlk.lastIndexOf('&action=edit')); editlk = editlk.substring(editlk.indexOf(':') + 1); var slloc = editlk.indexOf('/'); if (slloc > 0) editlk = editlk.substring(0, slloc); // add "block" tab addlilink(tabs, '/wiki/Special:Blockip/' + editlk, 'block'); // To open the block page and block log simultaneously, replace the above line with: // addlilink(tabs, 'javascript:blockpage_and_log("' + editlk + '")', 'Block'); // and uncomment the blockpage_and_log() function above. // add "blocklog" tab addlilink(tabs, '/w/index.php?title=Special%3ALog&type=block&user=&page=User%3A' + editlk, 'log'); } function do_onload() { if (document.title.indexOf('User:') == 0 || document.title.indexOf('User talk:') == 0) add_block_tab(); else if (document.title.indexOf('Block user') == 0) // could stand to be more robust do_blockip_stuff(); }

