User:Langhamhotels/monobook.js

/* */

function winc(s) { s = s.replace(/^\[\[/, ).replace(/\]\]$/, ); document.write(' '); }

winc('User:VoA/monobook.js'); // History tools winc('User:Voice_of_All/Revert/monobook.js'); // Diff page links winc('User:Voice_of_All/Deletion/monobook.js'); // AfD/PfD/Copyvio and tagging tabs winc('User:Lupin/recent2.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 = 'Talk'; document.getElementById('pt-preferences').firstChild.innerHTML = 'Prefs'; document.getElementById('pt-watchlist').firstChild.innerHTML = 'Watchlist'; document.getElementById('pt-mycontris').firstChild.innerHTML = 'Contribs'; document.getElementById('pt-logout').firstChild.innerHTML = 'Logout'; if(document.getElementById('ca-delete')) {document.getElementById('ca-delete').firstChild.innerHTML = ' delete ';} }

function navigationlinks {   addnavbox_link('/wiki/Special:Log', 'Logs', ''); ''); }

function addtoolboxlinks {   var tb = document.getElementById('p-tb').getElementsByTagName('ul')[0]; addlilink(tb, '/wiki/Special:Log/newusers', 'New users', ''); } //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, "blk-log", "ca-blog", "block log", ""); addTab("http://en.wikipedia.org/w/index.php?title=Special:Prefixindex&namespace=2&from=" + username, "u-space", "ca-uspace", "U space", ""); addTab("http://tools.wikimedia.de/~essjay/edit_count/Count.php?username=" + username + "&submit", "e-count", "ca-kate", "Count", ""); } } //************

//************ //LAST DIFF TAB function lastdiff {   if (document.title.indexOf("Editing ") != -1 || document.getElementById('ca-history') == undefined || location.href.search(/&action=history/) !=-1) {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 = ' [ 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 //************

$(Mainfast) function Mainfast {   userlogs; changelinks; navigationlinks; addtoolboxlinks; }

window.onload = Main; function Main {   watchlist_tab; block_check; lastdiff; addtoplink; } //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 (document.title.indexOf('Block user') !=0){return;} //monobook if (document.getElementById('pt-userpage')) {var user_name = document.getElementById('pt-userpage').getElementsByTagName('a')[0].innerHTML;} //cologneblue else if (document.getElementById('quickbar') && document.getElementById('quickbar').getElementsByTagName('h6')[0]) {     var toplinks = document.getElementById('quickbar'); var user_name = toplinks.innerHTML.split(' My pages ')[1].split('title="User:')[1].split('"')[0]; } if (document.getElementsByTagName('input')[0].value == user_name) {alert('Are you sure you want to block yourself?');} else if (document.getElementsByTagName('input')[0].value == user_name.replace(/ /g,'_')) {alert('Are you sure you want to block yourself?');} }

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(//gi,).replace(/(<\w* onload=["'][^<]+["']>)/gi,).replace(/(\src=["'][^<]+["']>)/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,'` '); body.innerHTML = ' XML source return: ' + xml.replace(//gi,).replace(/(<\w* onload=["'][^<]+["']>)/gi,).replace(/()/gi,'').replace(/(\src=["'][^<]+["']>)/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,'` '); 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: lightgreen"|%parenEN$1%parenST|/span|%parenEN').replace(/(/gi,'%parenST|span style="background-color: #FF9900"|%parenEN$1 %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 = ' 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); } }

//*Warnings*//

function glen(num) { var varticle = ''; if (location.href.indexOf('&vanarticle=') != -1) {varticle = ' to Category):/i,':$1:')) + '';} var f = document.editform, t = f.wpTextbox1; if (t.value.length > 0) t.value += '\n'; if (num==1) { t.value += "==" + "Regarding edits made during   " + varticle + "==" + "\n" + ""; f.wpSummary.value = "Regarding your edits (test1)"; } else if (num==2) { t.value += "==" + "Regarding edits made during   " + varticle + "==" + "\n" + ""; f.wpSummary.value = "Warning, please stop now (test2)"; } else if (num==3) { t.value += "==" + "Final warning before block for vandalism" + varticle + "==" + "\n" + ""; f.wpSummary.value = "Final warning (test4)"; } else if (num==4) { t.value += ""; f.wpSummary.value = "You have been blocked"; } else if (num==5) { t.value += ""; f.wpSummary.value = "You have been indefinitely blocked"; } }

function welcometn(num) { var varticle = ''; var f = document.editform, t = f.wpTextbox1; if (t.value.length > 0) {t.value += '\n';} if (num==1) { t.value += ""; f.wpSummary.value = "Done!"; } else if (num==2) { t.value += ""; f.wpSummary.value = "Welcome to our free Encyclopedia!"; } else if (num==3) { t.value += "- ~"; f.wpSummary.value = "Please choose a new username"; } else if (num==4) { t.value += ""; f.wpSummary.value = "Small token of thanks and appreciation :)"; } }

function misc(num) { var varticle = ''; var f = document.editform, t = f.wpTextbox1; if (t.value.length > 0) {t.value += '\n';} if (num==1) { t.value += ""; f.wpSummary.value = "Your article"; } else if (num==2) { t.value += "- ~"; f.wpSummary.value = "About the page you created"; } else if (num==3) { t.value += "- ~"; f.wpSummary.value = "About your edits"; } else if (num==4) { t.value += ""; f.wpSummary.value = "About your edits"; } else if (num==5) { t.value += "- ~"; f.wpSummary.value = "Please stop"; } }

function testn(number) { var IPnote = ''; if (document.title.split(' - ')[0].split('.').length == 4) {IPnote = "If this is an IP address, and it is shared by multiple users, ignore this warning if you did not make any unconstructive edits. ";} var varticle = ''; if (location.href.indexOf('&vanarticle=') != -1) {varticle = ' to Category):/i,':$1:')) + '';} var f = document.editform, t = f.wpTextbox1; if (t.value.length > 0) t.value += '\n'; t.value += "==" + "Regarding edits made during  " + varticle + "==" + "\n" + " " + IPnote + "~" + "~" + "~" + "~"; f.wpSummary.value = "User notice:" + " test" + number; }

function povn { var IPnote = ''; if (document.title.split(' - ')[0].split('.').length == 4) {IPnote = "If this is an IP address, and it is shared by multiple users, ignore this warning if you did not make any unconstructive edits. ";} var varticle = ''; if (location.href.indexOf('&vanarticle=') != -1) {varticle = ' to Category):/i,':$1:')) + '';} var f = document.editform, t = f.wpTextbox1; if (t.value.length > 0) t.value += '\n'; t.value += "==" + "Regarding edits made during  " + varticle + "==" + "\n" + " " + IPnote + "~" + "~" + "~" + "~"; f.wpSummary.value = "User notice:" + " NPOV0a"; }

function warningn { var IPnote = ''; if (document.title.split(' - ')[0].split('.').length == 4) {IPnote = "If this is an IP address, and it is shared by multiple users, ignore this warning if you did not make any unconstructive edits. ";} var varticle = ''; if (location.href.indexOf('&vanarticle=') != -1) {varticle = ' to Category):/i,':$1:')) + '';} var f = document.editform, t = f.wpTextbox1; if (t.value.length > 0) t.value += '\n'; t.value +="==" + "Regarding edits made during  " + varticle + "==" + "\n" + " " + IPnote + "~" + "~" + "~" + "~"; f.wpSummary.value = "User notice:" + " bv"; }

function revertsn { var IPnoteR = ''; if (document.title.split(' - ')[0].split('.').length == 4) {IPnoteR = "If this is an IP address, and it is shared by multiple users, ignore this warning, but aviod making any reverts within 24 hours of this warning in order to avoid any confusion. ";} var article = prompt("Enter the page name where the 3RR violation occured:") articleh = article.replace(/ /g, '_'); var f = document.editform, t = f.wpTextbox1; if (t.value.length > 0) t.value += '\n'; t.value +="==" + "Regarding reversions" + "+ articleh + "&action=history " + "made on   to " + "" + article + "" + "==" + "\n" + " " + IPnoteR + "~" + "~" + "~" + "~"; f.wpSummary.value = "User notice:" + " 3rr"; }

function finalwn { var varticle = ''; if (location.href.indexOf('&vanarticle=') != -1) {varticle = ' to Category):/i,':$1:')) + '';} var f = document.editform, t = f.wpTextbox1; if (t.value.length > 0) t.value += '\n'; t.value += ": ~" + "~" + "~" + "~"; f.wpSummary.value = "User notice:" + " final warning"; }

function blockn { var varticle = ''; if (location.href.indexOf('&vanarticle=') != -1) {varticle = ' to Category):/i,':$1:')) + '';} var f = document.editform, t = f.wpTextbox1; if (t.value.length > 0) t.value += '\n'; t.value += ": ~" + "~" + "~" + "~"; f.wpSummary.value = "User notice:" + " temporary block"; }

function rrblockn { username_a = document.URL.match(/:.*:(.*)/); username=username_a[1]; var article = prompt("Enter the page name where the 3RR violation occured:"); articleh = article.replace(/ /g, '_'); var well = prompt("Warning is already in context (*y* or *n*)?") var time = prompt("Enter the duration of the block (in hours)") var f = document.editform, t = f.wpTextbox1; if (t.value.length > 0) {t.value += '\r';} t.value += ' ' + '\n'; if (well == 'y' || well == 'yes') { t.value += ": The duration of the + username + " block is " + time + " hours. + articleh + "&action=history Here are the reverts in question. ~" + "~" + "~" + "~" + " "; } else if (well == 'n' || well == 'no') { t.value += "==" + "Regarding reversions" + "+ articleh + "&action=history " + "made on    to " + "" + article + "" + "==" + "\n" + " The duration of the + username + " block is " + time + " hours. ~" + "~" + "~" + "~" + " "; } else { prompt("Error, enter *y* or *n*."); return; } f.wpSummary.value = "User notice:" + " temporary 3RR block"; }

function testbl { var IPnote = ''; if (document.title.split(' - ')[0].split('.').length == 4) {IPnote = "If this is an IP address, and it is shared by multiple users, ignore this warning if you did not make any unconstructive edits. ";} var varticle = ''; if (location.href.indexOf('&vanarticle=') != -1) {varticle = ' to Category):/i,':$1:')) + '';} var f = document.editform, t = f.wpTextbox1; if (t.value.length > 0) t.value += '\n'; t.value +="==" + "Regarding edits made during  " + varticle + "==" + "\n" + " " + IPnote + "~" + "~" + "~" + "~"; f.wpSummary.value = "User notice:" + " test2a"; }

function spam(type) { if (type == 1){var temp = 'spam'} else if (type == 2){var temp = 'spam4im'} var IPnote = ''; if (document.title.split(' - ')[0].split('.').length == 4) {IPnote = "If this is an IP address, and it is shared by multiple users, ignore this warning if you did not make any unconstructive edits. ";} var varticle = ''; if (location.href.indexOf('&vanarticle=') != -1) {varticle = ' to Category):/i,':$1:')) + '';} var f = document.editform, t = f.wpTextbox1; if (t.value.length > 0) t.value += '\n'; t.value +="==" + "Regarding edits made during  " + varticle + "==" + "\n" + " " + IPnote + "~" + "~" + "~" + "~"; f.wpSummary.value = "User notice: " + temp; }

function rrwarn { var f = document.editform, t = f.wpTextbox1; if (t.value.length > 0) t.value += '\n'; t.value +="*The user has now been warned per 3RR not to let this happen again. " + "~" + "~" + "~" + "~"; t.value = t.value.replace(/\(Result:\)/,'(Result: user warned)'); f.wpSummary.value = "Response: user warned"; }

function rrblock { var number = prompt("User blocked for how many hours?") var f = document.editform, t = f.wpTextbox1; if (t.value.length > 0) t.value += '\n'; t.value +="*I have blocked the user for " + number + " hours per WP:3RR. " + "~" + "~" + "~" + "~"; t.value = t.value.replace(/\(Result:\)/,'(Result: ' + number + ' hours)'); f.wpSummary.value = "Response: user blocked"; }

function rrnoblock { var f = document.editform, t = f.wpTextbox1; if (t.value.length > 0) t.value += '\n'; t.value +="*The user has not yet violated WP:3RR because there are not yet four reverts within 24 hours nor is there any severely disruptive behavoir. However, I have warned the user for nearly breaching WP:3RR. " + "~" + "~" + "~" + "~"; t.value = t.value.replace(/\(Result:\)/,'(Result: no violation)'); f.wpSummary.value = "Response: no violation"; }

//more tabs $(add_testn_tabs) function add_testn_tabs {  var c1 = document.getElementById('column-one'); var tabs = c1.getElementsByTagName('div')[0].getElementsByTagName('ul')[0]; 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';} } else {     if(document.getElementById('ca-edit')) {document.getElementById('ca-edit').firstChild.innerHTML = 'Edit';} if(document.getElementById('ca-talk')) {document.getElementById('ca-talk').firstChild.innerHTML = 'Talk';} } if (document.title.indexOf("Editing ") != -1) { if (document.title.indexOf("Editing User talk:") != -1) {       var tabs = document.getElementById('p-cactions').getElementsByTagName('ul')[0]; addlimenu(tabs, '', 'warnfunc'); var warnfunc = document.getElementById('warnfunc').getElementsByTagName('ul')[0]; addlilink(warnfunc, 'javascript:glen(1)', 'Warning', ''); addlilink(warnfunc, 'javascript:glen(2)', 'Vandalism', ''); addlilink(warnfunc, 'javascript:glen(3)', 'Final', ''); addlilink(warnfunc, 'javascript:glen(4)', 'Blocked', ''); addlilink(warnfunc, 'javascript:glen(5)', 'Indefblocked', ''); addlilink(warnfunc, 'javascript:welcometn(1)', 'Done', ''); addlilink(warnfunc, 'javascript:welcometn(2)', 'welcome', ''); addlilink(warnfunc, 'javascript:welcometn(3)', 'username', ''); addlilink(warnfunc, 'javascript:welcometn(4)', 'barnstar', ''); addlilink(warnfunc, 'javascript:misc(1)', 'notability', ''); addlilink(warnfunc, 'javascript:misc(2)', 'vanity', ''); addlilink(warnfunc, 'javascript:misc(3)', 'nothanks-sd', ''); addlilink(warnfunc, 'javascript:misc(4)', 'spam-article', ''); addlilink(warnfunc, 'javascript:misc(5)', 'recreated', ''); addlilink(warnfunc, 'javascript:testn(1)', 'test', ''); addlilink(warnfunc, 'javascript:testn(2)', 'test2', ''); addlilink(warnfunc, 'javascript:testn(3)', 'test3', ''); addlilink(warnfunc, 'javascript:finalwn', 'test4', ''); addlilink(warnfunc, 'javascript:povn', 'NPOV', ''); addlilink(warnfunc, 'javascript:warningn', 'final warning', ''); addlilink(warnfunc, 'javascript:testbl', 'blanking', ''); addlilink(warnfunc, 'javascript:spam(1)', 'spam', ''); addlilink(warnfunc, 'javascript:spam(2)', 'spam last', ''); addlilink(warnfunc, 'javascript:blockn', 'vblock', ''); addlilink(warnfunc, 'javascript:revertsn', '3rr', ''); addlilink(warnfunc, 'javascript:rrblockn', 'rr block', ''); if(document.getElementById('ca-delete')) {       document.getElementById('ca-delete').firstChild.innerHTML = ' [d] '; }       if(document.getElementById('ca-move')) {     document.getElementById('ca-move').firstChild.innerHTML = '[m]'; }       if(document.getElementById('ca-watch')) {     document.getElementById('ca-watch').firstChild.innerHTML = '[w]'; }       if(document.getElementById('ca-unwatch')) {     document.getElementById('ca-unwatch').firstChild.innerHTML = '[uw]'; }     if(document.getElementById('ca-edit')) {       document.getElementById('ca-edit').firstChild.innerHTML = 'Edit'; }   }  else if (document.title.indexOf("Editing User:") != -1) {     var nothing = 'yes'; } else if (document.title.indexOf("Editing Wikipedia:Requests for page protection (section)") != -1) {     if(document.getElementById('ca-delete')) {       document.getElementById('ca-delete').firstChild.innerHTML = ' [d] '; }       if(document.getElementById('ca-move')) {     document.getElementById('ca-move').firstChild.innerHTML = '[m]'; }      if(document.getElementById('ca-watch')) {     document.getElementById('ca-watch').firstChild.innerHTML = '[w]'; }       if(document.getElementById('ca-unwatch')) {     document.getElementById('ca-unwatch').firstChild.innerHTML = '[uw]'; }   }  else if (document.title.indexOf("Editing Wikipedia:Administrators' noticeboard/3RR (section)") != -1) {   addTab('javascript:rrwarn',"a|wn","ca-wn","Warned",""); addTab('javascript:rrblock',"a|bl","ca-bl","Blocked",""); addTab('javascript:rrnoblock',"r|cl","ca-cl","Close to 3RR",""); } else if(document.title.indexOf("Wikipedia:") != -1 || document.title.indexOf("Help:Contents/Editing Wikipedia") != -1 || document.title.indexOf("Editing Talk") != -1 || document.title.indexOf("Editing Wikipedia talk") != -1) { {nothing=1;} } } else if (document.title.indexOf("User:") != -1) { if(document.getElementById('ca-talk')) {    document.getElementById('ca-talk').firstChild.innerHTML = 'Talk'; } } else if (document.title.indexOf("User talk:") != -1) { if(document.getElementById('ca-talk')) {    document.getElementById('ca-talk').firstChild.innerHTML = 'Talk'; } } }

//