User:Ferix/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:Ferix/monobook.css. |
// Name: Wikipedia user menu
// Version: 0.4
// Description: Adds personalised version of Template:Userinfo to all wikipedia user pages
// removes the template from pages that already have it
$(function() {
if (document.getElementById('TemplateUserinfo')) {
var templateuserinfo=document.getElementById('TemplateUserinfo');
var removetemplate=document.getElementById('bodyContent').removeChild(templateuserinfo);
}
// var regex=/^User:([^\/]+)$/;
// var title=document.getElementsByTagName('h1')[0].firstChild.nodeValue;
var regex=/^User:([^\/]+) - Wikipedia, the free encyclopedia$/;
var title=document.title;
if (title.match(regex)) {
var rawusername=title.match(regex);
var username=rawusername[1].replace(/ /, '_');
function addUserMenu() {
var body, menu, menulinkcontribs, menuspacercontribs, menulinkinteriot, menuspacerinteriot, menulinkimages, menuspacerimages, menulinkesu;
body=document.getElementById('bodyContent');
menu=document.createElement('div');
menulinkcontribs=document.createElement('a');
menulinkinteriot=document.createElement('a');
menulinkimages=document.createElement('a');
menulinkesu=document.createElement('a');
menu.id='TemplateUserinfo';
menu.setAttribute('class', 'plainlinks');
menu.setAttribute('style', 'position: absolute; right: 1.15em; top: 1.3em; font-size: 90%;');
menulinkcontribs.setAttribute('href', '/wiki/Special:Contributions/' + username + '');
menulinkcontribs.setAttribute('class', 'external text');
menulinkcontribs.setAttribute('title', '' + username + '\'s contributions');
menulinkcontribstext=document.createTextNode('contributions');
menulinkinteriot.setAttribute('href', 'http://tools.wikimedia.de/~interiot/cgi-bin/count_edits?user=' + username + '&dbname=enwiki_p');
menulinkinteriot.setAttribute('class', 'external text');
menulinkinteriot.setAttribute('title', '' + username + '\'s edit count');
menulinkinteriottext=document.createTextNode('edit count (interiot)');
menulinkimages.setAttribute('href', 'http://tools.wikimedia.de/~daniel/WikiSense/Gallery.php?wikilang=en&wikifam=.wikipedia.org&img_user_text=' + username + '&order=-img_timestamp&order=-img_timestamp&format=html');
menulinkimages.setAttribute('class', 'external text');
menulinkimages.setAttribute('title', '' + username + '\'s uploaded images');
menulinkimagestext=document.createTextNode('images');
menulinkesu.setAttribute('href', 'http://www.math.ucla.edu/~aoleg/wp/rfa/edit_summary.cgi?user=' + username + '');
menulinkesu.setAttribute('class', 'external text');
menulinkesu.setAttribute('title', '' + username + '\'s edit summary usage');
menulinkesutext=document.createTextNode('edit summary usage');
menulinkcontribs.appendChild(menulinkcontribstext);
menulinkinteriot.appendChild(menulinkinteriottext);
menulinkimages.appendChild(menulinkimagestext);
menulinkesu.appendChild(menulinkesutext);
menuspacercontribs=document.createTextNode(' | ');
menuspacerinteriot=document.createTextNode(' | ');
menuspacerimages=document.createTextNode(' | ');
menu.appendChild(menulinkcontribs);
menu.appendChild(menuspacercontribs);
menu.appendChild(menulinkinteriot);
menu.appendChild(menuspacerinteriot);
menu.appendChild(menulinkimages);
menu.appendChild(menuspacerimages);
menu.appendChild(menulinkesu);
body.appendChild(menu);
}
addOnloadHook(addUserMenu);
}
});
// Description: change the names of personal tools links and tabs
// stolen from User:Trilobite/monobook.js
function changelinks() {
if(!document.getElementById) { return; }
if (document.createTextNode) {
var mytalk, preferences, watchlist, mycontris, logout;
mytalk=document.getElementById('pt-mytalk').firstChild.firstChild;
mytalk.nodeValue='Talk';
preferences=document.getElementById('pt-preferences').firstChild.firstChild;
preferences.nodeValue='Preferences';
watchlist=document.getElementById('pt-watchlist').firstChild.firstChild;
watchlist.nodeValue='Watchlist';
mycontris=document.getElementById('pt-mycontris').firstChild.firstChild;
mycontris.nodeValue='Contributions';
logout=document.getElementById('pt-logout').firstChild.firstChild;
logout.nodeValue='Log out';
if(document.getElementById('ca-nstab-user')) {
var nstabuser=document.getElementById('ca-nstab-user').firstChild.firstChild;
nstabuser.nodeValue='User';
}
if(document.getElementById('ca-talk')) {
var talk=document.getElementById('ca-talk').firstChild.firstChild;
talk.nodeValue='Talk';
}
if(document.getElementById('ca-edit')) {
var edit=document.getElementById('ca-edit').firstChild.firstChild;
edit.nodeValue='Edit';
}
if(document.getElementById('ca-viewsource')) {
var viewsource=document.getElementById('ca-viewsource').firstChild.firstChild;
viewsource.nodeValue='Source';
}
if(document.getElementById('ca-watch')) {
var watch=document.getElementById('ca-watch').firstChild.firstChild;
watch.nodeValue='Guard';
}
if(document.getElementById('ca-unwatch')) {
var unwatch=document.getElementById('ca-unwatch').firstChild.firstChild;
unwatch.nodeValue='Ignore';
}
}
else {
document.getElementById('pt-mytalk').firstChild.innerHTML = 'Talk';
document.getElementById('pt-preferences').firstChild.innerHTML = 'Preferences';
document.getElementById('pt-watchlist').firstChild.innerHTML = 'Watchlist';
document.getElementById('pt-mycontris').firstChild.innerHTML = 'Contributions';
document.getElementById('pt-logout').firstChild.innerHTML = 'Log out';
if(document.getElementById('ca-nstab-user')) {
document.getElementById('ca-nstab-user').firstChild.innerHTML = 'User';
}
if(document.getElementById('ca-talk')) {
document.getElementById('ca-talk').firstChild.innerHTML = 'Talk';
}
if(document.getElementById('ca-edit')) {
document.getElementById('ca-edit').firstChild.innerHTML = 'Edit';
}
if(document.getElementById('ca-viewsource')) {
document.getElementById('ca-viewsource').firstChild.innerHTML = 'Source';
}
if(document.getElementById('ca-watch')) {
document.getElementById('ca-watch').firstChild.innerHTML = 'Guard';
}
if(document.getElementById('ca-unwatch')) {
document.getElementById('ca-unwatch').firstChild.innerHTML = 'Ignore';
}
}
}
$(changelinks);
// Name: Wikipedia Purge Tab
// Description: Adds purge tab to Wikipedia pages
// stolen from User:BesigedB/monobook.js
function addPurgeButton() {
var href = document.location.href;
if ( href.search( /[^:]*:\/\/en\.wikipedia\.org\/(wiki\/|w\/index\.php\?title=)([^&?]*)/ ) === 0 && document.getElementById('ca-history')) {
var historyHref = document.getElementById( "ca-history" ).firstChild.href;
var div = document.getElementById( "p-cactions" );
var ul = div.getElementsByTagName( "ul" )[0];
var newLi = document.createElement( "li" );
var newA = document.createElement( "a" );
newA.setAttribute( "href" , historyHref.replace( "=history" , "=purge" ) );
if (document.createTextNode) {
var text = document.createTextNode( "Purge" );
newA.appendChild( text );
}
else {
newA.innerHTML='Purge';
}
newLi.appendChild( newA );
ul.appendChild( newLi );
}
}
$(addPurgeButton);