User:Alphachimp/monobook.js
//
//--------------------------------------------------------------
//First loads
//Helper tools
mw.loader.load(
'https://en.wikipedia.org/w/index.php?title=User:Voice_of_All/Addtabs/monobook.js'
+ '&action=raw&ctype=text/javascript&dontcountme=s');
//////////////////////
//Admin rollback tools
mw.loader.load('https://en.wikipedia.org/w/index.php?title=User:Lupin/autoedit.js'
+ '&action=raw&ctype=text/javascript');
//END
//Admin rollback tools
mw.loader.load('https://en.wikipedia.org/w/index.php?title=User:Voice_of_All/Specialadmin/monobook.js'
+ '&action=raw&ctype=text/javascript');
//END
//BCrat tools
mw.loader.load('https://en.wikipedia.org/w/index.php?title=User:Voice_of_All/Bureaucrat/monobook.js'
+ '&action=raw&ctype=text/javascript');
RfAshowlinks = 'true';
//END
//CU tools
mw.loader.load('https://en.wikipedia.org/w/index.php?title=User:Voice_of_All/CheckUser/monobook.js'
+ '&action=raw&ctype=text/javascript');
//END
//UTC clock
mw.loader.load('https://en.wikipedia.org/w/index.php?title=User:Voice_of_All/UTCclock.js'
+ '&action=raw&ctype=text/javascript');
//END
//Admin protection tools
mw.loader.load('https://en.wikipedia.org/w/index.php?title=User:Voice_of_All/Protection/monobook.js'
+ '&action=raw&ctype=text/javascript');
//END
//Replace txt
mw.loader.load('https://en.wikipedia.org/w/index.php?title=User:Voice_of_All/replacetxt.js'
+ '&action=raw&ctype=text/javascript');
//END
//
//---------------------------------------------------------------
//////////////////////////////////////////
function winc(s) {
s = s.replace(/^\[\[/, ).replace(/\]\]$/, );
document.write('');
}
winc('User:Alphachimp/csd.js'); // New CSD Tool
//Toolbox links
function changelinks()
{
if(!document.getElementById) return;
var toplinks = document.getElementById('p-personal').getElementsByTagName('ul')[0];
var user_name = document.getElementById('pt-userpage').getElementsByTagName('a')[0].innerHTML;
if (document.title.indexOf('User:' + user_name + '/xml') != -1 || document.title.indexOf('User:' + user_name + '/XML') != -1)
{addlilink(toplinks, 'javascript:XMLrequestprompt()', 'Request XML', 'Request XML');}
document.getElementById('pt-mytalk').firstChild.innerHTML = 'my Talk page';
document.getElementById('pt-preferences').firstChild.innerHTML = 'Change Preferences';
document.getElementById('pt-watchlist').firstChild.innerHTML = 'Check my Watchlist';
document.getElementById('pt-mycontris').firstChild.innerHTML = 'My Contributions';
document.getElementById('pt-logout').firstChild.innerHTML = 'Log out';
}
function navigationlinks()
{
addnavbox_link('/wiki/Wikipedia:Administrator_intervention_against_vandalism','WP:AIV','aiv-ln');
addnavbox_link('/wiki/Category:Candidates_for_speedy_deletion','CAT:CSD','speedy-ln');
addnavbox_link('/wiki/Wikipedia:Requests for page protection','WP:RFPP','rfpp-ln');
addnavbox_link('/wiki/Wikipedia:Administrators%27_noticeboard','WP:AN','AN-ln');
}
function addtoolboxlinks()
{
var tb = document.getElementById('p-tb').getElementsByTagName('ul')[0];
addlilink(tb, '/wiki/Special:Newpages', 'New pages', '');
addlilink(tb, '/wiki/Special:Log/newusers', 'New users', '');
addlilink(tb, '/wiki/WP:PP', 'Protected pages', '');
addlilink(tb, '/wiki/Wikipedia:Administrators%27_noticeboard/3RR', '3RR violations', '');
}
//END
//---------------------------------------------------------------
// ======== USER TABS =======
function userlogs()
{
//no subpages or history
if (document.title.search("/") != -1 || document.title.search("- History -") != -1 || location.href.search('&diff=') != -1)
{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/w/index.php?title=Special%3ALog&type=block&user=&page=User:" + username, "log", "ca-blog", "block log", "");
addTab("http://tools.wikimedia.de/~interiot/cgi-bin/count_edits?dbname=enwiki_p&user=" + username, "info", "ca-kate", "user info", "");
}
}
//************
//************
//LAST DIFF TAB
function lastdiff()
{
if (document.title.indexOf("Editing ") != -1 || document.getElementById('ca-history') == undefined)
{return;}
z=document.getElementById("content").childNodes;
for (var n=0;n if (z[n].className=="firstHeading") { var pname=document.title.split(' - ')[0].replace(/&/g,'%26').replace(/\\+/g, '%2B'); } } addTab("http://en.wikipedia.org/w/index.php?title=" + pname + "&diff=cur&oldid=prev", "Last", "ca-diff", "Show most recent diff", ""); } // This will add an [edit top] link at the top of all pages except preview pages function addtoplink() { var edittop = '[edit top]'; // if this is preview page or generated page, stop if(document.getElementById("wikiPreview") || window.location.href.indexOf("w/index.php?title=Special:") != -1) return; if(document.title.indexOf("Main Page") != -1) return; // get the page title var pageTitle = document.title.split(" - ")[0].replace(" ", "_"); // create div and set innerHTML to link var divContainer = document.createElement("div"); divContainer.innerHTML = '
// insert divContainer into the DOM before the h1
if (document.getElementById("content") !=undefined) {
document.getElementById("content").insertBefore(divContainer, document.getElementsByTagName("h1")[0]);}
}
//END
//************
//MAIN
//************
addOnloadHook(Mainfast)
function Mainfast()
{
changemovetab();
userlogs();
changelinks();
navigationlinks();
addtoolboxlinks();
}
window.onload = Main;
function Main()
{
block_check();
lastdiff();
addtoplink();
if(addSinceTab)
{addSinceTab();}
}
//END
//************
function block_check()
{
if (location.href.indexOf('http://en.wikipedia.org/w/index.php?title=Special:Blockip&ip=Voice+of+All') != -1 || location.href.indexOf('http://en.wikipedia.org/wiki/Special:Blockip/Voice_of_All') != -1)
{alert('Are you sure you want to block yourself?');}
}
//
addOnloadHook(Dfn_js_con)
function Dfn_js_con()
{
Mvaluejs_class = 'DMalak1';
Rvaluejs_class = 'ERollen2';
Uvaluejs_class = 'DRaven2';
}
//
//************
//Slow load tools
// Script from User:MarkS/extraeditbuttons.js
mw.loader.load('https://en.wikipedia.org/w/index.php?title=User:MarkS/extraeditbuttons.js'
+ '&action=raw&ctype=text/javascript');
//END
//New user log tools
mw.loader.load('https://en.wikipedia.org/w/index.php?title=User:Voice_of_All/Sleeper/monobook.js'
+ '&action=raw&ctype=text/javascript');
//END
//Admin warning tools
mw.loader.load('https://en.wikipedia.org/w/index.php?title=User:Voice_of_All/Adminwarnings/monobook.js'
+ '&action=raw&ctype=text/javascript');
//END
//Delete tabs
mw.loader.load('https://en.wikipedia.org/w/index.php?title=User:Voice_of_All/Deletion/monobook.js'
+ '&action=raw&ctype=text/javascript');
//END
//************
//Google tools
mw.loader.load('https://en.wikipedia.org/w/index.php?title=User:Voice_of_All/Google/monobook.js'
+ '&action=raw&ctype=text/javascript');
//END
//Interiot's javascript edit counter
if (document.title.indexOf('User:Interiot/Tool2/code.js') != -1) {
mw.loader.load('https://en.wikipedia.org/w/index.php?title=User:Interiot/Tool2/code.js&action=raw&ctype=text/javascript'); }
//
//Change move tab name
function changemovetab()
{
if(document.getElementById('ca-delete'))
{document.getElementById('ca-delete').firstChild.innerHTML = 'delete';}
if (document.title.indexOf("Talk:") == -1 && document.title.indexOf("talk:") == -1 && document.title.indexOf("User:") == -1 && document.title.indexOf("MediaWiki:") == -1 && document.title.indexOf("Image:") == -1 && document.title.indexOf("Wikipedia:") == -1 && document.title.indexOf("Template:") == -1 && document.title.indexOf("Portal:") == -1 && document.title.indexOf("Help:") == -1 && document.title.indexOf("Main Page") == -1 && document.title.indexOf("Category:") == -1)
{
if(document.getElementById('ca-edit'))
{document.getElementById('ca-edit').firstChild.innerHTML = 'Modify';}
//if(document.getElementById('ca-move'))
//{document.getElementById('ca-move').firstChild.innerHTML = 'Rename';}
//if(document.getElementById('ca-history'))
//{document.getElementById('ca-history').firstChild.innerHTML = 'Revisions';}
}
if (document.title.split(' - ')[0].split(".js")[1] != undefined)
{
if (document.title.split(' - ')[0].split(".js")[1] != undefined)
{
if(document.getElementById('ca-nstab-main'))
{
document.getElementById('ca-nstab-main').firstChild.innerHTML = 'Javascript';
}
else if(document.getElementById('ca-nstab-user'))
{
document.getElementById('ca-nstab-user').firstChild.innerHTML = 'User JS';
}
else if(document.getElementById('ca-nstab-mediawiki'))
{
document.getElementById('ca-nstab-mediawiki').firstChild.innerHTML = 'MediaWiki JS';
}
}
}
}
//END
//************
//Lupin's tools
//************
//Filter changes live Category:Wikipedians who use VoA script
//User:Lupin/recent2.js - please include this line
mw.loader.load(
'https://en.wikipedia.org/w/index.php?title=User:Lupin/recent2.js'
+ '&action=raw&ctype=text/javascript&dontcountme=s');
//User:Lupin/popupsdev.js - please include this line
mw.loader.load('https://en.wikipedia.org/w/index.php?title=User:Lupin/popupsdev.js'
+ '&action=raw&ctype=text/javascript');
popupShortcutKeys=true; // optional: enable keyboard shortcuts
popupAdminLinks=true; // optional: enable admin links Category:Wikipedians who use VoA script
popupSubpopups=false;
popupOnEditSelection=false;
popupStructure='shortmenus';
//END
//************
function XMLrequestprompt()
{
var parameters = '';
var type = 'GET';
var url = location.href;
url = prompt('Enter a URL:');
parse_js_value_cache = 0;
parse_js_value_cache = prompt('Parse the data?' + '\n' + '0 - false (default)' + '\n' + '1 - true (no script/SRCs/images)' + '\n' + '2 - true (no script/SRCs)' + '\n' + '3 - true (script/images allowed)');
if (parse_js_value_cache != 0 && parse_js_value_cache != 1 && parse_js_value_cache != 2 && parse_js_value_cache != 3){return;}
if (!url || url == ''){return;}
makeRequestXML(url, parameters,type);
}
function alertContents()
{
if (http_request.readyState != 4)
return;
body = document.getElementById('bodyContent');
if (body && parse_js_value_cache == 3)
{
document.getElementsByTagName('title')[0].innerHTML = "XML request:";
body.innerHTML = 'XML source return:
' + http_request.responseText;
}
else if (body && parse_js_value_cache == 2)
{
document.getElementsByTagName('title')[0].innerHTML = "XML request:";
var xml = http_request.responseText.replace(/<.script>/gi,'`');
body.innerHTML = 'XML source return:
' + xml.replace(/');
body.innerHTML = 'XML source return:
' + xml.replace(/');
body.innerHTML = 'XML source return:
' + xml.replace(/&/g, '&').replace(//g, '>').replace(/%parenST\|/g,'<').replace(/\|%parenEN/g,'>');
}
}
//security override HTTP request
//ALSO, reduce IE security settings
//For FF/NS, go enable, see "http://esw.w3.org/topic/SparqlCalendarDemoUsage#FAQ"
//Basically, enable "signed.applets.codebase_principal_support" in about:config
function makeRequestXML(url, parameters,type,parse)
{
if(window.XMLHttpRequest)
{
try {netscape.security.PrivilegeManager.enablePrivilege("UniversalBrowserRead"); }
catch (e) {alert("Permission UniversalBrowserRead denied."); }
http_request = false;
http_request = new XMLHttpRequest();
if (http_request.overrideMimeType)
{http_request.overrideMimeType('text/xml'); }
if (!http_request)
{alert('Cannot create XMLHTTP instance'); return false; }
http_request.onreadystatechange = alertContents;
http_request.open(type, url + parameters, true);
http_request.send(null);
}
else if (window.ActiveXObject)
{
try
{http_request = new ActiveXObject("Msxml2.XMLHTTP");}
catch (e)
{
try
{http_request = new ActiveXObject("Microsoft.XMLHTTP");}
catch (e){}
}
if (!http_request) {showError(ERROR_XML);}
http_request.onreadystatechange = alertContents;
http_request.open(type, url + parameters, true);
http_request.send(null);
}
}
//
//Note: copy the following code (with customized values) to your monobook.js file to set customized confirm text:
//
addOnloadHook(Dfn_js_con)
function Dfn_js_con()
{
//moves
Mvaluejs_class = 'yes';
//edits
Rvaluejs_class = 'yes';
//uploads
Uvaluejs_class = 'yes';
}
//
addOnloadHook(function () {
var tabs = document.getElementById('p-cactions').cloneNode(true);
tabs.id = 'mytabs';
var listitems = tabs.getElementsByTagName('LI');
for (i=0;i if(listitems[i].id) listitems[i].id = 'mytabs-' + listitems[i].id; } content = document.getElementById("content"); // Find the content div content.parentNode.insertBefore(tabs, content.nextSibling); // Place tab list right after content div }); function autosave() { user_name = escape(document.getElementById('pt-userpage').getElementsByTagName('a')[0].innerHTML); if (location.href.indexOf("&fakeaction=autorevert&byuser=" + user_name) != -1 || location.href.indexOf("&fakeaction=autorevertvandal&byuser=" + user_name) != -1) { if (location.href.indexOf('&revertfromuser') == -1 && location.href.indexOf('&fakeaction=autorevertvandal') == -1) { var return_value = true; if (return_value != true){history.go(-1); return;} } var good_user = unescape(location.href.split("&oldrvtouser=")[1].split('&revertfromuser=')[0]); var ID = location.href.split("&oldid=")[1].split("&action=edit")[0]; form = document.getElementById('bodyContent'); l = form.getElementsByTagName('input'); for (i = 0; i < l.length; i++) { if (l[i].name == 'wpMinoredit') {l[i].value = '1'; l[i].checked=true;} } if (location.href.indexOf('&fakeaction=autorevertvandal') != -1) { var artname = document.title.split('Editing ')[1].split(' - ')[0]; var vandal = unescape(location.href.split('&revertfromuser=')[1]); document.editform.wpSummary.value += 'Reverted vandalism by ' + vandal + ' to last version by ' + good_user + '.'; var form = document.getElementById('editform'); window.open('http://en.wikipedia.org/w/index.php?title=User talk:' + vandal + '&action=edit' + '&action=edit&vanarticle=' + artname, 'targetname', 'location=no,toolbar=no,status=no,directories=no,scrollbars=yes,width=1024,height=768'); form.submit(); } else if (location.href.indexOf('&revertfromuser=') != -1) { var vandal = unescape(location.href.split('&revertfromuser=')[1]); document.editform.wpSummary.value += 'Reverted edits by ' + vandal + ' to last version by ' + good_user + '.'; var form = document.getElementById('editform'); form.submit(); } else { document.editform.wpSummary.value += 'Revert to revision ' + ID + ' by ' + good_user + '.'; var form = document.getElementById('editform'); form.submit(); } } } //END // ======== QuickBlocks ======= function QuickBlock (expiry,reason,ao,autob) { blockForm = document.getElementById('blockip'); inputs = blockForm.getElementsByTagName('input'); for (i=0; i if (inputs[i].name == 'wpBlockOther') { inputs[i].value = expiry; continue; } if (inputs[i].name == 'wpBlockReason') { inputs[i].value = reason; continue; } if (inputs[i].name == 'wpAnonOnly') { if (ao==1) { inputs[i].checked = 'checked'; } continue; } if (inputs[i].name == 'wpEnableAutoblock') { if (autob==0) { inputs[i].checked=false; } continue; } } blockForm.submit(); } addOnloadHook(function(){ if (document.title.indexOf("Block user") == -1) return; addTab('javascript:('+QuickBlock+')("indefinite","{{UsernameBlocked}}",1,0)','{{Username}}','p-block-user'); addTab('javascript:('+QuickBlock+')("indefinite","{{Vandalblock}}",0,1)','{{'+'Vandalblock}}','p-block-vandalism'); addTab('javascript:('+QuickBlock+')("indefinite","Username too similar to that of an existing user: please Email me if you are a legitimate editor.",0,1)','sockpuppet','p-block-sock'); addTab('javascript:('+QuickBlock+')("24 hours","Vandalism.",0,1)','24','p-block-24h'); addTab('javascript:('+QuickBlock+')("31 hours","Vandalism.",0,1)','31','p-block-31h'); addTab('javascript:('+QuickBlock+')("1 week","Repeated vandalism",0,1)','1week','p-block-school'); addTab('javascript:('+QuickBlock+')("1 week","Blocked for one week due to repeat vandalism. If this is a shared address, please register an account to avoid collateral damage.",1,1)','1weekAO','p-block-school'); addTab('javascript:('+QuickBlock+')("1 month","Blocked for one month due to chronic vandalism. If this is a shared address, please register an account to avoid collateral damage.",1,1)','1Month','31-days'); addTab('javascript:('+QuickBlock+')("September 2008","{{Schoolblock|Your school has been blocked until September, 2008}}.",1,1)','Sep08','September 2008'); addTab('javascript:('+QuickBlock+')("31 hours","Blocked for 31 hours due to recent trolling. If this is a shared address, please register an account to avoid collateral damage.",1,1)','Troll-31','p-block-troll-31'); addTab('javascript:('+QuickBlock+')("indefinite","Trolling",0,1)','Troll-indef','p-block-troll-indef'); }); //************