User:Edgar181/monobook.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 edits(number) { var page = prompt("Edits to which article?") var f = document.editform, t = f.wpTextbox1; if (t.value.length > 0) t.value += '\n'; t.value += "\n" + page + " ~" + "~" + "~" + "~"; f.wpSummary.value = "Edits to " + page + " - first warning " ; f.submit; } function vandalism(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 += "\n" + page + " ~" + "~" + "~" + "~"; f.wpSummary.value = "Vandalism to " + page + " - "; f.submit; }

function attack(number) { var page = prompt("Attack at which article?") var f = document.editform, t = f.wpTextbox1; if (t.value.length > 0) t.value += '\n'; t.value += "\n" + page + " ~" + "~" + "~" + "~"; f.wpSummary.value = "Attack page creation"; f.submit; } function tempblocked(number) { var f = document.editform, t = f.wpTextbox1; if (t.value.length > 0) t.value += '\n'; t.value += "\n" ; f.wpSummary.value = "Blocked from editing: " ; f.submit; }

function indefblocked(number) { var f = document.editform, t = f.wpTextbox1; if (t.value.length > 0) t.value += '\n'; t.value += "\n" ; f.wpSummary.value = "Blocked from editing: " ; f.submit; }

function username(number) { var f = document.editform, t = f.wpTextbox1; if (t.value.length > 0) t.value += '\n'; t.value += "\n" ; f.wpSummary.value = "Username block" ; f.submit; }

function usernames(number) { var f = document.editform, t = f.wpTextbox1; if (t.value.length > 0) t.value += '\n'; t.value += "\n" ; f.wpSummary.value = "Username block" ; f.submit; }

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"/"Creating User" somewhere in the title if (document.title.indexOf("ting User") != -1) {     tabs.appendChild(tnaddlilink('javascript:edits("vandalism1")',"v1")); tabs.appendChild(tnaddlilink('javascript:vandalism("vandalism2")',"v2")); tabs.appendChild(tnaddlilink('javascript:vandalism("vandalism3")',"v3")); tabs.appendChild(tnaddlilink('javascript:vandalism("vandalism4")',"v4")); tabs.appendChild(tnaddlilink('javascript:tempblocked("tempblocked1")',"blk")); tabs.appendChild(tnaddlilink('javascript:indefblocked("indefblocked1")',"ndf")); tabs.appendChild(tnaddlilink('javascript:username("usernameblock")',"unb")); tabs.appendChild(tnaddlilink('javascript:usernames("usernameblock")',"unbs")); tabs.appendChild(tnaddlilink('javascript:edits("delete1")',"d1")); tabs.appendChild(tnaddlilink('javascript:vandalism("delete2")',"d2")); tabs.appendChild(tnaddlilink('javascript:vandalism("delete3")',"d3")); tabs.appendChild(tnaddlilink('javascript:edits("spam1")',"s1")); tabs.appendChild(tnaddlilink('javascript:vandalism("spam2")',"s2")); tabs.appendChild(tnaddlilink('javascript:vandalism("spam3")',"s3")); tabs.appendChild(tnaddlilink('javascript:attack("attack1")',"a")); }} $(add_testn_tabs);

// Please leave the following line // user:Where/usertabs $(function { if (wgTitle.indexOf("/") != -1 || document.title.indexOf("- History -") != -1)  //no subpages or history     return;  if (wgCanonicalNamespace == "User" || wgCanonicalNamespace == "User_talk") {     var username = encodeURIComponent( wgTitle );     mw.util.addPortletLink("p-cactions", wgServer + "/wiki/Special:Contributions/" + username, "Cntr", "ca-contrib", "User contributions");     mw.util.addPortletLink("p-cactions", "http://en.wikipedia.org/wiki/Special:Blockip/" + username, "Blk", "ca-block", "Block this user");     mw.util.addPortletLink("p-cactions", wgServer + "/w/index.php?title=Special:Log&type=block&page=User:" + username, "Blks", "ca-blog", "Block log");     mw.util.addPortletLink("p-cactions", "http://tools.wikimedia.de/~interiot/cgi-bin/count_edits?dbname=enwiki_p&user=" + username, "Edits", "ca-editcount", "Edit count from Interiot's toolserver script");  } });

// originally from User:Lupin/popups.js

importScript('User:Edgar181/popups.js');

window.popupStructure='original'; window.popupFixRedirs=true; window.popupFixDabs=true; window.popupAdminLinks=true; window.popupDelay=.5; window.popupHideDelay=.01; window.popupWatchRedirredPages=false; window.popupRedirAutoClick='wpSave'

// DOI bot

importScript('User:Smith609/toolbox.js');

//Adds 'Check Refs' to the toolbox, links to http://toolserver.org/~dispenser/cgi-bin/reflinks.py -- Dispenser's reference title fixer.

function refcheck { mw.util.addPortletLink("p-tb", "http://toolserver.org/~dispenser/cgi-bin/reflinks.py?citeweb=on&page=" + wgPageName, "Check Refs"); }

if ( wgNamespaceNumber == 0 ) { addOnloadHook(refcheck); }

importScript('User:Smith609/reftool.js');

importScript('User:John254/mass rollback.js')

var cwwpajax; // From WP:US mainpage (wpajax renamed to cwwpajax) cwwpajax={ download:function(bundle) { // mandatory: bundle.url // mandatory: bundle.async // optional: bundle.onSuccess (xmlhttprequest, bundle) // optional: bundle.onFailure (xmlhttprequest, bundle) // optional: bundle.otherStuff OK too, passed to onSuccess and onFailure var x = window.XMLHttpRequest ? new XMLHttpRequest // Firefox, Safari, Opera, IE7 : window.ActiveXObject ? new ActiveXObject("Microsoft.XMLHTTP") // IE6 : false; if (x) { x.onreadystatechange=function { x.readyState==4 && cwwpajax.downloadComplete(x,bundle); };                       x.open("GET",bundle.url,bundle.async); x.send(null); }               return x;        },

downloadComplete:function(x,bundle) { x.status==200 && ( bundle.onSuccess && bundle.onSuccess(x,bundle) || true ) || ( bundle.onFailure && bundle.onFailure(x,bundle) || alert(x.statusText)); } };

// Example: // function dlComplete(xmlreq, data) { //     alert(data.message + xmlreq.responseText); // } // cwwpajax.download({url:'http://en.wikipedia.org/w/index.php?title=Thresher&action=raw', //                   onSuccess: dlComplete, message: "Here's what we got:\n\n" });

// End of WP:US quote

function cwOntoWatchlist(xmlreq, data) { var a=xmlreq.responseText; var c=data.catname; var i; var diag=""; if(a.indexOf(" ")!=-1) return; //cat is empty, nothing to do here if(a.indexOf('title="')==-1) return; // this error happens sometimes, just do nothing here var latesttime=0;  var latestpage="";  var temp, temp2;  latestpage=a.split('title="')[1].split('" timestamp=')[0];  latesttime=a.split('timestamp="')[1].split('"/>')[0];  a=document.getElementsByTagName("h4"); //get dates in the watchlist  var monthname=[];  monthname['01']="January";  monthname['02']="February";  monthname['03']="March";  monthname['04']="April";  monthname['05']="May";  monthname['06']="June";  monthname['07']="July";  monthname['08']="August";  monthname['09']="September";  monthname['10']="October";  monthname['11']="November";  monthname['12']="December";  latesttime=new String(latesttime);  var mn1, mn2, mn3, mn4;  // Allow for different date styles:  // January 29, 2001  mn1=""+monthname[latesttime.substr(5,2)]+" "+new Number(latesttime.substr(8,2))+      ", "+latesttime.substr(0,4); // 29 January 2001 mn2=""+new Number(latesttime.substr(8,2))+" "+monthname[latesttime.substr(5,2)]+ " "+latesttime.substr(0,4); // 2001 January 29 mn3=""+latesttime.substr(0,4)+" "+monthname[latesttime.substr(5,2)]+ " "+new Number(latesttime.substr(8,2)); // 2001-01-29 mn4=""+latesttime.substr(0,4)+"-"+latesttime.substr(5,2)+"-"+latesttime.substr(8,2);

i=a.length; while(i--) {   if(a[i].innerHTML==mn1||a[i].innerHTML==mn2||a[i].innerHTML==mn3||a[i].innerHTML==mn4) {     diag+=a[i].innerHTML+":"; temp=a[i].nextSibling.firstChild; if(temp==null) temp=a[i].nextSibling.nextSibling.firstChild; while(temp!=null) {       diag+=temp.tagname+"!"; if(temp.tagName!=null) if(temp.tagName.toLowerCase=="li") {         temp2=temp.innerHTML.match(/ ([0-9][0-9]):([0-9][0-9])(:[0-9][0-9])?<\/span>/i); temp2=new Number(temp2[1])*100+new Number(temp2[2]); diag+=temp2+","; if(temp2<new Number(latesttime.substr(11,2)+latesttime.substr(14,2))) {temp2=temp; break;} }       temp2=temp; temp=temp.nextSibling; if(temp==null) break; }     temp=document.createElement("li"); if(temp2==null) {return;} if(a[i].nextSibling.firstChild!==null) // IE-like whitespace handling a[i].nextSibling.insertBefore(temp,temp2); else // Firefox-like whitespace handling a[i].nextSibling.nextSibling.insertBefore(temp,temp2);

temp.innerHTML="(diff | hist) . . Category:"+c+"; "+latesttime.substr(11,2)+":"+latesttime.substr(14,2)+ " . . (+ "+latestpage+" "+                     "(last))"; return; } } }

var WatchedCategories;

//An example of a query to check a category would be

//http://en.wikipedia.org/w/api.php?action=query&list=categorymembers&cmcategory=Wikipedia%20protected%20edit%20requests&cmlimit=1&cmprop=title|timestamp&cmsort=timestamp&cmdir=desc&format=xml $(function{ var scriptPath = mw.config.get('wgScriptPath');  //DHTMLloadscript( 'http://en.wikipedia.org/w/index.php?title=User:'+wgUserName // +'/WatchedCategories.js&action=raw&ctype=text/javascript');  if(mw.config.get('wgPageName')=="Special:Watchlist")  {    // load the script using AJAX, because DHTML fails in Firefox and document.write fails in Safari    var sru=scriptPath+'/index.php?title=User:'+mw.config.get('wgUserName')+'/WatchedCategories.js&action=raw&ctype=text/javascript';    var sr=cwwpajax.download({url:sru,async:false});    eval(sr.responseText);    if(WatchedCategories===undefined)    {      if(confirm("You don't have a category watchlist yet. Do you want to create one?\n\n"+                 "(Please provide the following debug information when reporting a problem if "+ "this message comes up when you already have a category watchlist: "+ (sr.responseText.length<50 ? "responseText='"+sr.responseText+"'" :                "responseText.length="+sr.responseText.length)+", statusText='"+sr.statusText +"'.)"))       location.href=scriptPath+'/index.php?title=User:'+wgUserName+        '/WatchedCategories.js&action=edit&preload=User:Ais523/WatchedCategoriesTemplate.js';    }    else    {      var i;      for(i=0; i<WatchedCategories.length; i++)      {        var a=WatchedCategories[i];        cwwpajax.download({url:scriptPath+'/api.php?action=query&list=categorymembers&' +'cmtitle=Category:'+encodeURI(a)+'&cmlimit=1&cmprop=title' +'|timestamp&cmsort=timestamp&cmdir=desc&format=xml', onSuccess:cwOntoWatchlist, catname:a, async:true});     }    }  } });

//