User:Centrx/monobook.js
From Wikipedia, the free encyclopedia
If a message on your talk page led you here, please be wary of who left it. The code below could contain malicious content capable of compromising your account; if your account appears to be compromised, it will be blocked. If you are unsure whether the code is safe, you can ask at the appropriate village pump.
Note: After saving, you have to bypass your browser's cache to see the changes. In Internet Explorer and Firefox, hold down the Ctrl key and click the Refresh or Reload button. Opera users have to clear their caches through Tools→Preferences, see the instructions for Opera. Konqueror and Safari users can just click the Reload button.
//HELPER FUNCTIONS //[[Category:Wikipedia administrators who use VoA script]] //Create 'winc' function: function winc(s) { document.write('<script type="text/javascript" src="' + 'http://en.wikipedia.org/w/index.php?title=' + s + '&action=raw&ctype=text/javascript&dontcountme=s"></script>'); } // 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 = '<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() { 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]] document.write('<script type="text/javascript" src="' + 'http://en.wikipedia.org/w/index.php?title=User:MarkS/extraeditbuttons.js' + '&action=raw&ctype=text/javascript&dontcountme=s"></script>'); //END //Interiot's javascript edit counter if (document.title.indexOf('User:Interiot/Tool2/code.js') != -1) { document.write('<script type="text/javascript" src="' + 'http://en.wikipedia.org/w/index.php?title=User:Interiot/Tool2/code.js' + '&action=raw&ctype=text/javascript&dontcountme=s"></script>'); } // //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:Wikipedia administrators who use VoA script]] //[[User:Lupin/recent2.js]] - please include this line document.write('<script type="text/javascript" src="' + 'http://en.wikipedia.org/w/index.php?title=User:Lupin/recent2.js' + '&action=raw&ctype=text/javascript&dontcountme=s"></script>'); //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 = '<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,''); } 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(/(<img [^<]+>)/gi,''); } 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=["'][^<]+[Aa"']>)/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(/(<script [^`]+)`<.script>/gi,'%parenST|span style="background-color: #FF9900"|%parenEN$1</script>%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); } } // // 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; };

