User:Fernando Estel/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:Fernando Estel/monobook.css. |
//<pre><nowiki>
//First loads
importScript('User:Voice_of_All/Addtabs/monobook.js');
importScript('User:Voice_of_All/UTCclock.js');
importScript('User:Voice_of_All/replacetxt.js');
//wierd stuff
importScript('User:Voice_of_All/Specialadmin/monobook.js');
//crat stuff
importScript('User:Voice_of_All/Bureaucrat/monobook.js');
importScript('User:Voice_of_All/History/monobook.js');
//CU stuff
importScript('User:Voice_of_All/CheckUser/monobook.js');
importScript('User:Voice_of_All/Protection/monobook.js');
//BAG stuff
importScript('User:Voice_of_All/Approvals.js');
//rollback
importScript('User:Voice_of_All/Revert.js');
//New pages tools
importScript('User:Voice_of_All/Sleeper/monobook.js');
importScript('User:Voice_of_All/Adminwarnings/monobook.js');
importScript('User:Voice_of_All/Deletion/monobook.js');
importScript('User:Voice_of_All/Google/monobook.js');
//</nowiki></pre>
////<pre><nowiki>
//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');}
if(document.getElementById('ca-delete'))
{document.getElementById('ca-delete').firstChild.innerHTML = '<strong><span style="color:darkred;">delete</span></strong>';}
}
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', '');
}
//</nowiki></pre>
////<pre><nowiki>
// 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]);}
}
//</nowiki></pre>
////<pre><nowiki>
//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('<h6>My pages</h6>')[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?');}
}
//
$(Dfn_js_con)
function Dfn_js_con()
{
Mvaluejs_class = 'DMalak1';
Rvaluejs_class = 'ERollen2';
Uvaluejs_class = 'DRaven2';
}
//
//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'); }
//
//************
//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
document.write('<script type="text/javascript" src="'
+ 'http://en.wikipedia.org/w/index.php?title=User:Lupin/popupsdev.js'
+ '&action=raw&ctype=text/javascript&dontcountme=s"></script>');
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(/(\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,'`</script>');
body.innerHTML = '<strong>XML source return:</strong><br>' + xml.replace(/<script [^`]+`<.script>/gi,'').replace(/(<\w* onload=["'][^<]+["']>)/gi,'').replace(/(<img [^<]+>)/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,'`</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);
}
}
//
//</nowiki></pre>[[Category:Wikipedians who use VoA script]]