User:Austin J. Che/monobook.js
From OpenWetWare
Jump to navigationJump to search
Note: After publishing, you may have to bypass your browser's cache to see the changes.
- Firefox / Safari: Hold Shift while clicking Reload, or press either Ctrl-F5 or Ctrl-R (⌘-R on a Mac)
- Google Chrome: Press Ctrl-Shift-R (⌘-Shift-R on a Mac)
- Edge: Hold Ctrl while clicking Refresh, or press Ctrl-F5.
/* <nowiki> */
/* Based on http://commons.wikimedia.org/w/index.php?title=User:Alphax/monobook.js&action=edit */
/**
* Initialises function loading on page load
*/
if (window.addEventListener) window.addEventListener("load",myLoadFuncs,false);
else if (window.attachEvent) window.attachEvent("onload",myLoadFuncs);
else
{
window.oldonload = window.onload;
window.onload = function()
{
window.oldonload();
myLoadFuncs();
}
}
// To add a button to the edit toolbar, we rely on the fact that the function addInfobox is called
// as the last thing after all the buttons
// we override that function to add our own buttons
var oldAddInfobox = null;
/**
* Loads functions
*/
function myLoadFuncs()
{
addPurge();
//addForceSummary();
addEditSection0();
changeTopLinks();
changeSidebar()
oldAddInfobox = addInfobox;
}
function addInfobox(infoText, text_alert)
{
addButton('/skins/common/images/button_sig.png','Comment format',"*'''~~~~''': ",'','');
addButton('/skins/common/images/button_headline.png','Test css',"<html><style type='text/css'>\n</style></html>",'','');
if (oldAddInfobox) oldAddInfobox();
}
/**
* Forces edit summary
*/
function addForceSummary()
{
if(!/&action=edit/.test(window.location.href) && !/&action=submit/.test(window.location.href)) return;
if(/§ion=new/.test(window.location.href)) return;
if(!document.forms.editform) return;
document.forms.editform.wpSave.onclick = forceSummary;
document.forms.editform.wpSave.onfocus = forceSummary;
}
function forceSummary()
{
if(!document.forms.editform.wpSummary.value.replace(/^(?:\/\\*.*\\*\/)? *(.*) *$/,'$1'))
{
var r = prompt('Are you sure you want to submit without adding a summary?\nTo add a summary, type it in the box below:',document.forms.editform.wpSummary.value);
if(r == null) { return false; }
document.forms.editform.wpSummary.value = r;
}
return true;
}
/**
* Adds a "purge" tab
*/
function addPurge()
{
ta['ca-purge'] = ['g', 'Purge the internal cache for this page'];
if(!document.getElementById) return;
var x = document.getElementById('ca-history');
var tabs = document.getElementById('p-cactions').getElementsByTagName('ul')[0];
if(!x) { return; }
if(x.children) { x = x.children[0]; }
else { x = x.childNodes[0]; }
addlilink(tabs, x.href.replace(/=history/, "=purge"), 'purge', 'ca-purge');
}
/**
* Adds tabs
*/
function addlilink(tabs, url, name, id)
{
var na = document.createElement('a');
na.href = url;
na.appendChild(document.createTextNode(name));
var li = document.createElement('li');
li.id = id;
li.appendChild(na);
tabs.appendChild(li);
return li;
}
/**
* Adds an "edit section 0" tab
*/
function addEditSection0()
{
ta['ca-edit-0'] = ['', 'Edit the zeroth section of this page'];
if(!document.getElementById) return;
var x = document.getElementById('ca-edit');
if(!x) return;
var y = document.createElement('LI');
y.id = 'ca-edit-0';
if(x.className == 'selected'){
if(/&action=edit§ion=0$/.test(window.location.href)){
x.className = 'istalk';
y.className = 'selected';
} else {
x.className = 'selected istalk';
}
} else if(x.className == 'selected istalk'){
if(/&action=edit§ion=0$/.test(window.location.href)){
x.className = 'istalk';
y.className = 'selected istalk';
} else {
y.className = 'istalk';
}
} else {
y.className = x.className;
x.className = 'istalk';
}
var z = document.createElement('A');
if(x.children){
z.href = x.children[0].href + '§ion=0';
z.appendChild(document.createTextNode('0'));
y.appendChild(z);
document.getElementById('p-cactions').children[1].insertBefore(y,x.nextSibling);
}else{
z.href = x.childNodes[0].href + '§ion=0';
z.appendChild(document.createTextNode('0'));
y.appendChild(z);
document.getElementById('p-cactions').childNodes[3].insertBefore(y,x.nextSibling);
}
}
/**
* Changes the top links
*/
function changeTopLinks()
{
if(!document.getElementById) return;
// remove the "my" bits
document.getElementById('pt-mytalk').firstChild.innerHTML = 'talk';
document.getElementById('pt-watchlist').firstChild.innerHTML = 'watchlist';
document.getElementById('pt-mycontris').firstChild.innerHTML = 'contributions';
var toplinks = document.getElementById('p-personal').getElementsByTagName('ul')[0];
addlilink(toplinks, '/index.php?title=User:Austin/monobook.js&action=edit', 'monobook.js', '');
// add a clock
addlilink(toplinks, '', '', 'utcdate');
showtime();
}
/**
* Makes the clock work
*/
function showtime()
{
var timerID;
var now = new Date();
// var timeValue = now.toUTCString().replace(/GMT/, "UTC");
var timeValue = now;
document.getElementById('utcdate').firstChild.innerHTML = timeValue;
timerID = setTimeout('showtime()', 100);
}
function changeSidebar()
{
var tb = document.getElementById('p-navigation').getElementsByTagName('ul')[0];
/*
var rc = document.getElementById('n-recentchanges');
rc.firstChild.href='/wiki/Special:Recentchanges/Knight,Endy,Synthetic Biology,MIT,OpenWetWare,Austin,w=1,n=OpenWetWare,n=OpenWetWare Talk,n=MediaWiki,n=MediaWiki Talk,n=0^nc=:';
addlilink(tb, '/wiki/Special:Recentchanges/u=Austin', 'My recent edits', '');
*/
var tb = document.getElementById('p-resources').getElementsByTagName('ul')[0];
addlilink(tb, '/index.php?title=MediaWiki:Monobook.css&action=edit', 'Monobook.css', '');
addlilink(tb, '/index.php?title=Sandbox&action=edit', 'Sandbox', '');
addlilink(tb, '/wiki/Endy', 'Endy lab', '');
addlilink(tb, '/wiki/Knight', 'Knight lab', '');
addlilink(tb, '/wiki/Synthetic_Biology', 'Synthetic Biology', '');
}
/* </nowiki> */