User:Shell Kinney/monobook.js

From Wikipedia, the free encyclopedia
Note: After saving, you have to bypass your browser's cache to see the changes. Google Chrome, Firefox, Microsoft Edge and Safari: Hold down the ⇧ Shift key and click the Reload toolbar button. For details and instructions about other browsers, see Wikipedia:Bypass your cache.
importScript('User:AzaToth/twinkle.js');          //Twinkle
importScript('User:Lupin/recent2.js');            //Lupin's recent changes scripts
importScript('User:Lupin/popups.js');             //Lupin's Popups
importScript('User:Henrik/js/afc-helper.js');     //AfC helper
importScript('User:Cameltrader/Advisor.js');      //Wikierrors Advisor
importScript('User:Betacommand/compare.js');      //User Socks Compare
importScript('User:Ais523/votesymbols.js');       //Highlight Votes
importScript('User:Mr.Z-man/hideClosedAFD.js');   //Hide Closed AFDs
importScript('Wikipedia:WikiProject Deletion sorting/delsort.js'); //Deletion sorting
importScript('Wikipedia:WikiProject User scripts/Scripts/CloseAFD.js');  //Afd helper
importScript('user:js/watchlist.js');             //Watchlist helper
importScript("User:Drilnoth/delresized.js");      //Delete old revisions of NF images that are resized
importScript("User:Blue-Haired Lawyer/footnote popups.js");  //Footnote popups
importScript('User:Plastikspork/admindash.js');   //admin dashboard link
importScript('User:Splarka/dabfinder.js');        //dabfinder
importScript('User:AndyZ/peerreviewer.js');       //[[User:AndyZ/peerreviewer.js]]           //automated peer review
importScript('User:Anomie/linkclassifier.js');    // Linkback: [[User:Anomie/linkclassifier.js]]
importStylesheet('User:Anomie/linkclassifier.css'); // Linkback: [[User:Anomie/linkclassifier.css]]
importScript('User:Anomie/pagestats.js');         // Linkback: [[User:Anomie/pagestats.js]]
importScript('User:Anomie/unwatch.js');           // Linkback: [[User:Anomie/unwatch.js]]
importScript('User:Anomie/util.js');
importScript('User:Anomie/useridentifier.js');    // Linkback: [[User:Anomie/useridentifier.js]]
importScript('User:NuclearWarfare/Mark-blocked script.js'); //Mark blocked and indef'd editors


//Hook ISBN links to Googlebooks
function externISBN() {

  var magicURL = "http://books.google.com/books?as_isbn=MAGICNUMBER";

  var magicRegex = /MAGICNUMBER/ig;
  if(wgPageName != "Special:Booksources" && wgPageName != "Wikipedia:Book_sources"){
    for (var i = 0; i < document.links.length; i++) {
      if( document.links[i].href.match(/isbn=(.*)/) ) {
        document.links[i].href=magicURL.replace(magicRegex, RegExp.$1);
      }
    }
  }

}

$(externISBN);


//moves
Mvaluejs_class = 'grooveme';
//edits
Rvaluejs_class = 'grooveme';
//uploads
Uvaluejs_class = 'grooveme';

//Status Changer
importScript('User:Voice_of_All/Addtabs/monobook.js');
importScript('User:Misza13/statusChanger.js');

// Make Project cats go to article instead of talk
function catSwapButton() {
  if(document.title.indexOf('Category:' == 0)) {
    mw.util.addPortletLink('p-cactions','javascript:catSwap();','De-Talkify','ca-catswap','change category links from talk pages to article pages');
  }
}
$(catSwapButton)

function catSwap() {
  var cat = document.getElementById('mw-pages');
  cat.innerHTML = cat.innerHTML.replace(/Talk\:/g,'').replace(/[_\s]talk\:/g,':');
}

// Mass block tool by [[User:Krimpet]]
// After adding to your monobook.js, navigate to [[Special:Massblock]] to use the tool.
 
function getParameter(p) {
  var re = new RegExp('&'+p+'=([^&]*)','i');
  var c = window.location.search; 
  return unescape((c=c.replace(/^\?/,'&').match(re)) ?c=c[1] :c="");
}
 
function massblock() {
  if (wgPageName == "Special:Massblock") {
    document.getElementsByTagName("h1")[0].innerHTML = document.title = "Krimpet's mass block tool";
    document.getElementsByTagName("p")[1].innerHTML = "";
    document.getElementsByTagName("p")[0].innerHTML = "<span style=\"color:red\">MESS SOMETHING UP WITH THIS, AND <em>YOU</em> TAKE THE BLAME, BUCKO.</span><br /><br />List of IPs to block, one on each line please:<br><textarea id=\"iplist\" columns=\"24\" rows=\"10\"></textarea><br /><br />Expiry: <input type=\"text\" value=\"indefinite\" id=\"expiry\"><br />Reason: <input type=\"text\" value=\"{{blocked proxy}}\" id=\"reason\"><br /><input type=\"checkbox\" id=\"ao\" /> Anon only<br /><input type=\"checkbox\" id=\"acb\" checked=\"checked\" /> Prevent account creation<br /><br />Blocks/min: <input type=\"text\" value=\"10\" id=\"epm\"><br /><button onclick=\"massblock2()\">Block IPs</button> <button onclick=\"massblock4()\">Abort</button><div style=\"z-index:-1;position:relative;top:0px;left:0px\"><iframe name=\"blockframe0\" width=\"1px\" height=\"1px\"></iframe><iframe name=\"blockframe1\" width=\"1px\" height=\"1px\"></iframe><iframe name=\"blockframe2\" width=\"1px\" height=\"1px\"></iframe><iframe name=\"blockframe3\" width=\"1px\" height=\"1px\"></iframe><iframe name=\"blockframe4\" width=\"1px\" height=\"1px\"></iframe><iframe name=\"blockframe5\" width=\"1px\" height=\"1px\"></iframe></div>";
  } else if (document.location.search.match("__MASSBLOCK__")) {
      document.getElementById("wpAnonOnly").checked = getParameter("ao") == "1";
      document.getElementById("wpCreateAccount").checked = getParameter("acb") == "1";
      document.getElementById("mw-bi-other").value = getParameter("expiry");
      document.getElementById("mw-bi-reason").value = getParameter("reason");
      setTimeout("document.getElementById(\"blockip\").submit()", 500);
  }
}
 
var wgBlocksToDo;
var wgBlocksToDoIndex;
var wgBlocksToDoInterval = 0;
var wgBlockFrame;
function massblock2() {
  if (!parseFloat(document.getElementById("epm").value)) return;
  wgBlocksToDo = new Array();
 
  iplist = document.getElementById("iplist").value.split("\n");
  for (i=0;i<iplist.length;i++) {
    wgBlocksToDo[i] = iplist[i].split(":")[0];
  }
 
  mbcode = "massblock3(wgBlocksToDo[wgBlocksToDoIndex++]);if (wgBlocksToDoIndex >= wgBlocksToDo.length) massblock4();";
 
  wgBlocksToDoIndex = wgBlockFrame = 0;
  eval(mbcode);
  wgBlocksToDoInterval = setInterval(mbcode, (60 / parseFloat(document.getElementById("epm").value)) * 1000);
}
 
function massblock3(ipToBlock) {
  if (ipToBlock + "" == "undefined") return;
 
  iplistobj = document.getElementById("iplist");
  if (iplistobj.value.indexOf("\n") == -1) iplistobj.value = "";
  iplistobj.value = iplistobj.value.substring(iplistobj.value.indexOf("\n") + 1);
 
  if (ipToBlock == "") return;
 
  frames["blockframe" + wgBlockFrame++].location.href = wgServer + wgScript + "?title=Special:Blockip&ip=" + ipToBlock + "&__MASSBLOCK__=1&expiry=" + document.getElementById("expiry").value + "&reason=" + document.getElementById("reason").value + "&ao=" + (document.getElementById("ao").checked ? "1" : "0") + "&acb=" + (document.getElementById("acb").checked ? "1" : "0");
  if (wgBlockFrame == 6) wgBlockFrame = 0;
}
 
function massblock4() {
  clearInterval(wgBlocksToDoInterval);
}
 
$(massblock);