User:Centrx/monobook.js

//HELPER FUNCTIONS //

//Create 'winc' function:

function winc(s) { document.write(' '); }

// Add LI Link

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; }

// date delinking tab

winc('User:Bobblewik/monobook.js/dates.js');

//function to handle units:

winc('User:Bobblewik/monobook.js/unitformatter.js');

//From Voice of All //Headers importScript('User:Voice_of_All/Addtabs/monobook.js');

//UTC clock importScript('User:Voice_of_All/UTCclock.js');

//Replace txt importScript('User:Voice_of_All/replacetxt.js');

// History tools importScript('User:Voice_of_All/History/monobook.js');

//Admin rollback tools importScript('User:Voice_of_All/Specialadmin/monobook.js');

//Admin protection tools // importScript('User:Voice_of_All/Protection/monobook.js');

//New user tool importScript('User:Voice_of_All/Sleeper/monobook.js');

//Admin warning tools importScript('User:Voice_of_All/Adminwarnings/monobook.js');

//Deletion tagging tools importScript('User:Voice_of_All/Deletion/monobook.js');

//Search tools importScript('User:Voice_of_All/Google/monobook.js');

//--- //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','Vandalism','aiv-ln'); addnavbox_link('/wiki/Category:Candidates_for_speedy_deletion','Speedy deletions','speedy-ln'); addnavbox_link('/wiki/Wikipedia:Requests for page protection','Protection requests','rfpp-ln'); addnavbox_link('/wiki/Wikipedia:Administrators%27_noticeboard','Noticeboard','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 || location.href.search(/Special:|&action=[^p]|&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/Tool1/wannabe_kate?username=" + username + "&site=en.wikipedia.org", "info", "ca-kate", "user info", ""); } }

//LAST DIFF TAB function lastdiff {   if (document.title.indexOf("Editing ") != -1 || !document.getElementById('ca-history') || location.href.search(/&action=history/) !=-1) return; var pname=wgPageName.replace(/&/g,'%26').replace(/\\+/g, '%2B'); addTab(wgServer + "/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 = ' ' + edittop + ' ';

// 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 {   watchlist_tab; block_check; lastdiff; addtoplink; //if(addSinceTab) //{addSinceTab;} } //END //************

function watchlist_tab { if (location.href.indexOf('Special:Watchlist/edit') !=-1) {addTab("javascript:watchlist_clean", "check deleted pages", "ca-clean", "check all deleted pages", "");} }

function watchlist_clean { //monobook if (document.getElementById('bodyContent')) { var body = document.getElementById('bodyContent'); } //cologneblue else if (document.getElementById('quickbar')) { if (!document.getElementById('content')){return;} var body = document.getElementById('content'); } var l = body.getElementsByTagName('li'); for (var i=0; i<l.length; i++) {   if (l[i].getElementsByTagName('a')[0].href.indexOf('&action=') !=-1) {l[i].getElementsByTagName('input')[0].checked=true;} } }

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?');} }

// Mvaluejsadmin = 'DMalak1'; Rvaluejsadmin = 'ERollenH1'; Uvaluejsadmin = '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

//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 //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'); //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/images)' + '\n' + '2 - true (no script)' + '\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(//gi,''); } else if (body && parse_js_value_cache == 1) { document.getElementsByTagName('title')[0].innerHTML = "XML request:"; var xml = http_request.responseText.replace(/<.script>/gi,'` '); body.innerHTML = ' XML source return: ' + xml.replace(//gi,).replace(/()/gi,); } else if (body && parse_js_value_cache == 0) { document.getElementsByTagName('title')[0].innerHTML = "XML request:"; var xml = http_request.responseText.replace(/<.script>/gi,'` '); xml = xml.replace(/()/gi,'%parenST|span style="background-color: yellow"|%parenEN$1%parenST|/span|%parenEN').replace(/()/gi,'%parenST|span style="background-color: lightgreen"|%parenEN$1%parenST|/span|%parenEN').replace(/(/gi,'%parenST|span style="background-color: #FF9900"|%parenEN$1 %parenST|/span|%parenEN'); body.innerHTML = ' XML source return: ' + xml.replace(/&/g, '&amp;').replace(//g, '&gt;').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); } } //

// Jude's automagic delete tool, from http://tools.wikimedia.de/~jude/delete.php addOnloadHook(function {		if(queryString("submitdelete")=="true") document.forms[0].wpConfirmB.click;	}); function queryString(p) { var re = RegExp('[&?]' + p + '=([^&]*)'); var matches; if (matches = re.exec(document.location)) { try { return decodeURI(matches[1]); } catch (e) { }		}		return null; };