User:Isra1337/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 can be added at User:Isra1337/monobook.css. |
// <nowiki>
// TOTALLY STOLEN FROM SPLAKA FROM UNCYCLOPEDIA
// functions to run when the document loads
window.onload = Main;
function Main() {
// addactions();
// changeactions();
// addtoolbox();
// changetoolbox();
// addnavbox();
// changenavbox();
// addpersonal();
// changepersonal();
// changekeys();
// autowant();
addun();
}
// =================================================================
// functions called from onload
// =================================================================
// useful changable: 'p-personal' 'p-logo' 'p-nav' 'p-search' 'p-tbx' 'p-lang' 'p-cactions'
// functions to pick and order additional action links
function addactions() {
// addgoogle();
// addenwp()
// addpurge();
// addredir();
// addmtu();
// addnrv();
// addblockuser();
// addlogstatuser();
// addundiclick();
}
// adds a google search link for the title of 'normal' pages
function addgoogle() {
if(!document.getElementById) return;
var x = document.getElementById('ca-history');
var y = document.getElementById('ca-edit');
var tabs = document.getElementById('p-cactions').getElementsByTagName('ul')[0];
if((!x)&&(!y)) return;
addlilink(tabs, "http://www.google.com/search?q=%22"+ document.getElementsByTagName('h1')[0].firstChild.nodeValue +"%22", 'google', 'ca-google');
}
// adds a wikipedia link for the title of 'normal' pages
function addun() {
if(!document.getElementById) return;
var x = document.getElementById('ca-history');
var y = document.getElementById('ca-edit');
var tabs = document.getElementById('p-cactions').getElementsByTagName('ul')[0];
if((!x)&&(!y)) return;
addlilink(tabs, "http://www.uncyclopedia.org/wiki/Special:Search?search="+ document.getElementsByTagName('h1')[0].firstChild.nodeValue +"&go=Go", 'un', 'ca-un');
}
// purge button, borrowed code
function addpurge() {
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');
}
// a javascript button (the javascript is a template append macro)
function addredir() {
var tabs = document.getElementById('p-cactions').getElementsByTagName('ul')[0];
if(document.title.indexOf("Editing") == 0) addlilink(tabs, 'javascript:redir()', 'redirect', 'ca-redir');
}
function addmtu() {
var tabs = document.getElementById('p-cactions').getElementsByTagName('ul')[0];
if(document.title.indexOf("Editing") == 0) addlilink(tabs, 'javascript:mtu()', 'mtu', 'ca-mtu');
}
function addnrv() {
var tabs = document.getElementById('p-cactions').getElementsByTagName('ul')[0];
if(document.title.indexOf("Editing") == 0) addlilink(tabs, 'javascript:nrv()', 'nrv', 'ca-nrv');
}
// add a 'block user' button to the Special:Contribs pages (both wiki and index)
function addblockuser() {
if(!document.getElementById) return;
if(!document.title.indexOf("User contributions") == 0) return;
var tabs = document.getElementById('p-cactions').getElementsByTagName('ul')[0];
if(document.location.href.indexOf("\/Special:Contributions\/") == -1) addlilink(tabs, "\/index.php?title=Special:Blockip&ip=" + document.location.href.substring(document.location.href.indexOf("target=")+7), 'ban user', 'ca-blockuser');
else addlilink(tabs, "\/index.php?title=Special:Blockip&ip=" + document.location.href.substring(document.location.href.indexOf("Special:Contributions\/")+22), 'ban user', 'ca-blockuser');
}
// add 'user logs' (non-edit actions) and 'status' (rights/bans) to Special:Contribs pages (both wiki and index)
function addlogstatuser() {
if(!document.getElementById) return;
if(!document.title.indexOf("User contributions") == 0) return;
var tabs = document.getElementById('p-cactions').getElementsByTagName('ul')[0];
if(document.location.href.indexOf("\/Special:Contributions\/") == -1) addlilink(tabs, "\/index.php?title=Special%3ALog&type=&page=&user=" + document.location.href.substring(document.location.href.indexOf("target=")+7), 'user logs', 'ca-userlogs');
else addlilink(tabs, "\/index.php?title=Special%3ALog&type=&page=&user=" + document.location.href.substring(document.location.href.indexOf("Special:Contributions\/")+22), 'user logs', 'ca-userlogs');
if(document.location.href.indexOf("\/Special:Contributions\/") == -1) addlilink(tabs, "\/index.php?title=Special%3ALog&type=&user=&page=User:" + document.location.href.substring(document.location.href.indexOf("target=")+7), 'status', 'ca-userstatus');
else addlilink(tabs, "\/index.php?title=Special%3ALog&type=&user=&page=User:" + document.location.href.substring(document.location.href.indexOf("Special:Contributions\/")+22), 'status', 'ca-userstatus');
}
// specialized for uncyc, links on "Undictionary:Pagetitle" to the edit of "Undictionary:P"
function addundiclick() {
if(!document.title.indexOf("Undictionary:") == 0) return;
var pgt = document.getElementsByTagName('h1')[0].firstChild.nodeValue
var tabs = document.getElementById('p-cactions').getElementsByTagName('ul')[0];
addlilink(tabs, "\/index.php?title=" + pgt.substring(0,pgt.indexOf(":")+2) + "&action=edit", 'Undic', 'ca-undic');
// prompt("test", "{{def|"+pgt.substring(pgt.indexOf(":")+1)+"}}");
}
// change the name and function of action buttons
function changeactions() {
// document.getElementById('ca-edit').firstChild.innerHTML = 'edit page';
// document.getElementById('ca-history').childNodes[0].href = 'http://www.google.com';
}
// add to the toolbox
function addtoolbox() {
var tb = document.getElementById('p-tb').getElementsByTagName('ul')[0];
addlilink(tb, '/wiki/Uncyclopedia:VFH', 'VFH', 't-v');
addlilink(tb, '/wiki/Uncyclopedia:VFP', 'VFP', 'Parole List', 't-p');
}
// change the name and function of toolbox links
function changetoolbox() {
// document.getElementById('t-upload').firstChild.innerHTML = 'google';
// document.getElementById('t-upload').childNodes[0].href = 'http://www.google.com';
}
// add to the navigation box
function addnavbox() {
// var tb = document.getElementById('p-nav').getElementsByTagName('ul')[0];
// addlilink(tb, 'http://www.google.com/', 'google', 'p-google');
}
// change the name and function of navigation box links
function changenavbox() {
// document.getElementById('n-help').firstChild.innerHTML = 'google images';
// document.getElementById('n-help').childNodes[0].href = 'http://images.google.com';
}
// add to the personal links
function addpersonal() {
// var tb = document.getElementById('p-personal').getElementsByTagName('ul')[0];
// addlilink(tb, 'http://www.google.com/', 'google', 't-personalgoogle');
}
// change the name and function of personal links
function changepersonal() {
if(!document.getElementById) return;
document.getElementById('pt-mytalk').firstChild.innerHTML = 'talk';
document.getElementById('pt-mytalk').childNodes[0].href = '/index.php?title=User_talk:Splaka&action=history';
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').childNodes[0].href = 'http://www.google.com';
// document.getElementById('pt-logout').firstChild.innerHTML = 'google';
}
// change various shortcut keys
function changekeys() {
ta['ca-google'] = ['g', 'Google search this topic'];
ta['ca-enwp'] = ['`', 'Check en.wikipedia for this topic'];
ta['ca-undic'] = ['u', 'Edit into Undictionary'];
ta['ca-mtu'] = ['u', 'Tag with MTU'];
ta['ca-nrv'] = ['n', 'Tag with NRV'];
ta['ca-redir'] = ['r', 'Turn page into a redirect'];
ta['ca-purge'] = ['p', 'Purge the internal cache for this page'];
ta['pt-logout'] = ['Ü', 'Log out'];
ta['t-contributions'] = ['a', 'User contributions'];
ta['t-admin'] = ['', 'My admin tools'];
ta['t-parole'] = ['', 'My list of users to watch'];
ta['t-blocks'] = ['', 'All blocks'];
ta['ca-blockuser'] = ['b', 'Block user'];
ta['ca-userlogs'] = ['u', 'All Special:Logs which the user has performed'];
ta['ca-userstatus'] = ['s', 'All Special:Logs which the user was the target'];
akeytt();
}
// autoselect the checkbox on a delete form
function autowant() {
if(document.title.indexOf("Confirm delete") == 0) {
document.forms[0].wpConfirm.checked = true;
// document.forms[0].wpReason.select();
// document.forms[0].wpReason.focus();
}
}
// =================================================================
// functions called from document
// =================================================================
// MTU button, inserts MTU template, adjusts checkboxes, sets focus on submit
function mtu() {
document.editform.wpSummary.value = '+MTU tagging (please move/expand/delete)';
document.editform.wpMinoredit.checked = true;
document.editform.wpWatchthis.checked = false;
var txt = document.editform.wpTextbox1;
if(txt.value.length > 0) txt.value += '\n';
txt.value += '{{MTUsign|~~~~~}}';
document.editform.wpSave.focus();
}
function nrv() {
document.editform.wpSummary.value = '+NRV tagging (7 day stay of execution)';
document.editform.wpMinoredit.checked = true;
document.editform.wpWatchthis.checked = false;
var txt = document.editform.wpTextbox1;
if(txt.value.length > 0) txt.value += '\n';
txt.value += '{{NRV|~~~~~}}';
document.editform.wpSave.focus();
}
function redir() {
var pagetitle = document.getElementsByTagName('h1')[0].firstChild.nodeValue;
pagetitle = pagetitle.substring(pagetitle.indexOf("Editing ")+8);
document.editform.wpSummary.value = 'making redirect';
document.editform.wpMinoredit.checked = true;
document.editform.wpWatchthis.checked = false;
var txt = document.editform.wpTextbox1;
if(txt.value.length > 0) txt.value += '\n';
txt.value = '#REDIRECT[[' + pagetitle + ']]';
// comment out the following two lines if not using mozilla (too lazy to make it work in IE)
txt.selectionStart=12;
txt.selectionEnd=pagetitle.length+12;
document.editform.wpTextbox1.focus();
}
// =================================================================
// functions needed that I didn't write and don't fully understand
// =================================================================
// function to add buttons/tabs/links
function addlilink(tabs, url, name, id) {
var na = document.createElement('a');
na.href = url;
na.id = id;
na.appendChild(document.createTextNode(name));
var li = document.createElement('li');
li.appendChild(na);
tabs.appendChild(li);
return li;
}
// function reassign shortcut keys (is it needed?)
function akeytt() {
if(typeof ta == "undefined" || !ta) return;
pref = 'alt-';
// if(is_safari || navigator.userAgent.toLowerCase().indexOf( 'mac' ) + 1
// || navigator.userAgent.toLowerCase().indexOf( 'konqueror' ) + 1 ) pref = 'control-';
// if(is_opera) pref = 'shift-esc-';
for(id in ta) {
n = document.getElementById(id);
if(n){
// Are we putting accesskey in it
if(ta[id][0].length > 0) {
// Is this object a object? If not assume it's the next child.
if ( n.nodeName.toLowerCase() == "a" ) {
a = n;
} else {
a = n.childNodes[0];
}
if(a){
a.accessKey = ta[id][0];
ak = ' ['+pref+ta[id][0]+']';
}
} else {
// We don't care what type the object is when assigning tooltip
a = n;
ak = '';
}
if (a) {
a.title = ta[id][1]+ak;
}
}
}
}
// =================================================================
// really sneeky functions to change the edit buttons
// =================================================================
// this ignores all addButton() calls except the first, and runs its own
function addButton(imageFile, speedTip, tagOpen, tagClose, sampleText) {
if(!(speedTip=="Bold text")) return;
addButtonReally('/skins/common/images/button_bold.png','Bold text','\'\'\'','\'\'\'','Bold text');
addButtonReally('/skins/common/images/button_italic.png','Italic text','\'\'','\'\'','Italic text');
addButtonReally('/skins/common/images/button_link.png','Internal link','[[',']]','Link title');
addButtonReally('/skins/common/images/button_extlink.png','External link (remember http:// prefix)','[',']','http://www.example.com link title');
addButtonReally('/skins/common/images/button_headline.png','Level 2 headline','\n== ',' ==\n','Headline text');
addButtonReally('/skins/common/images/button_image.png','Embedded image','[[Image:',']]','Example.jpg');
addButtonReally('/skins/common/images/button_media.png','Media file link','[[Media:',']]','Example.mp3');
addButtonReally('/skins/common/images/button_math.png','Mathematical formula (LaTeX)','\<math\>','\</math\>','');
addButtonReally('/skins/common/images/button_nowiki.png','Ignore wiki formatting','\<nowiki\>','\</nowiki\>','');
addButtonReally('/skins/common/images/button_sig.png','Your signature with timestamp','~~~~','','');
addButtonReally('/skins/common/images/button_hr.png','Horizontal line (use sparingly)','\n----\n','','');
}
// this is the sub-called function that the other addButton() calls
function addButtonReally(imageFile, speedTip, tagOpen, tagClose, sampleText) {
speedTip=escapeQuotes(speedTip);
tagOpen=escapeQuotes(tagOpen);
tagClose=escapeQuotes(tagClose);
sampleText=escapeQuotes(sampleText);
var mouseOver="";
if(!document.selection && !is_gecko) {
// filter backslashes so it can be shown in the infobox
var re=new RegExp("\\\\n","g");
tagOpen=tagOpen.replace(re,"");
tagClose=tagClose.replace(re,"");
mouseOver = "onmouseover=\"if(!noOverwrite){document.infoform.infobox.value='"+tagOpen+sampleText+tagClose+"'};\"";
}
document.write("<a href=\"javascript:insertTags");
document.write("('"+tagOpen+"','"+tagClose+"','"+sampleText+"');\">");
document.write("<img width=\"23\" height=\"22\" src=\""+imageFile+"\" border=\"0\" alt=\""+speedTip+"\" title=\""+speedTip+"\""+mouseOver+" />");
document.write("</a>");
return;
}
// </nowiki>