User:Alphachimp/monobook.js
Appearance
Code that you insert on this page could contain malicious content capable of compromising your account. If you import a script from another page with "importScript", "mw.loader.load", "iusc", or "lusc", take note that this causes you to dynamically load a remote script, which could be changed by others. Editors are responsible for all edits and actions they perform, including by scripts. User scripts are not centrally supported and may malfunction or become inoperable due to software changes. A guide to help you find broken scripts is available. If you are unsure whether code you are adding to this page is safe, you can ask at the appropriate village pump. This code will be executed when previewing this page. |
The accompanying .css page for this skin is at User:Alphachimp/monobook.css. |
//<pre><nowiki>
//--------------------------------------------------------------
//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</nowiki></pre>
//<nowiki><pre>
//---------------------------------------------------------------
//////////////////////////////////////////
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: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<z.length;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 = '<span style="color:black;">[</span>edit top<span style="color:black;">]</span>';
// 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 = '<div class="editsection" style="float:right;margin-left:5px;margin-right:130px;margin-top:3px;"><a href="/w/index.php?title='+pageTitle+'&action=edit§ion=0" title="'+document.title.split(" - ")[0]+'">' + edittop + '</a></div>';
// 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 = '<strong><span style="color:darkred;">delete</span></strong>';}
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 = '<strong>XML source return:</strong><br>' + 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,'`</script>');
body.innerHTML = '<strong>XML source return:</strong><br>' + xml.replace(/<script [^`]+`<.script>/gi,'').replace(/(<\w* onload=["'][^<]+["']>)/gi,'').replace(/(\ssrc=["'][^<]+["']>)/gi,' src="">');
}
else if (body && parse_js_value_cache == 1)
{
document.getElementsByTagName('title')[0].innerHTML = "XML request:";
var xml = http_request.responseText.replace(/<.script>/gi,'`</script>');
body.innerHTML = '<strong>XML source return:</strong><br>' + xml.replace(/<script [^`]+`<.script>/gi,'').replace(/(<\w* onload=["'][^<]+["']>)/gi,'').replace(/(<img [^<]+>)/gi,'').replace(/(\ssrc=["'][^<]+["']>)/gi,' src="">');
}
else if (body && parse_js_value_cache == 0)
{
document.getElementsByTagName('title')[0].innerHTML = "XML request:";
var xml = http_request.responseText.replace(/<.script>/gi,'`</script>');
xml = xml.replace(/(<a href=["'][^<]+<.a>)/gi,'%parenST|span style="background-color: yellow"|%parenEN$1%parenST|/span|%parenEN').replace(/(<img [^<]+>)/gi,'%parenST|span style="background-color: lightgreen"|%parenEN$1%parenST|/span|%parenEN').replace(/(<iframe [^<]+<.iframe>)/gi,'%parenST|span style="background-color: lightgreen"|%parenEN$1%parenST|/span|%parenEN').replace(/(<script [^`]+)`<.script>/gi,'%parenST|span style="background-color: #FF9900"|%parenEN$1</script>%parenST|/span|%parenEN').replace(/(<\w* onload=["'][^<]+["']>)/gi,'%parenST|span style="background-color: #FF9900"|%parenEN$1%parenST|/span|%parenEN').replace(/\s(src=["'][^<]+["'])>/gi,'%parenST|span style="background-color: #FF3300"|%parenEN $1>%parenST|/span|%parenEN');
body.innerHTML = '<strong>XML source return:</strong><br>' + xml.replace(/&/g, '&').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<listitems.length;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 [[WP:VAND|vandalism]] by [[Special:contributions/' + vandal + '|' + 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 [[Special:contributions/' + vandal + '|' + vandal + ']] to last version by ' + good_user + '.';
var form = document.getElementById('editform');
form.submit();
}
else
{
document.editform.wpSummary.value += 'Revert to revision ' + ID + ' by [[User:' + good_user + '|' + 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<inputs.length; 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 [[Special:Emailuser/Alphachimp|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');
});
//************
//</nowiki></pre>[[Category:Wikipedians who use VoA script]]