User:HerrDoktor/uncyclopedia.js
Jump to navigation
Jump to search
Note: After saving, you have to bypass your browser's cache to see the changes.
- Internet Explorer: hold down the Ctrl key and click the Refresh or Reload button, or press Ctrl+F5.
- Firefox: hold down the Shift key while clicking Reload; alternatively press Ctrl+F5 or Ctrl-Shift-R.
- Opera, Konqueror and Safari users can just click the Reload button.
- Chrome: press Ctrl+F5 or Shift+F5
//<nowiki>
// Insinerate's JS, with tweaking, via UNKNOWNFILE
function main() {
var newbox = initNewBox(); //Create a new sidebar box
addRevert(); //Add a "Revert To Here" link to every diff page
addHistoryEdit(); //Add "edit" links to the history page to provide a way to directly edit each revision
setEditForm(); //Automate the submission of forms by auto-filling textboxes and auto-pushing buttons
addLinks(newbox); //Populate the sidebar box
addTabs(); //Add tabs to the top (NRV, MTU, Google, en.wp
};
function initNewBox() {
var sidebar = document.getElementById('column-one');
var outer = document.createElement('div');
var heading = document.createElement('h5');
var newbox = document.createElement('div');
var list = document.createElement('ul');
outer.setAttribute('class', 'portlet');
newbox.setAttribute('class', 'pBody');
heading.textContent = 'maintain the peace!';
outer.appendChild(heading);
outer.appendChild(newbox);
newbox.appendChild(list);
sidebar.appendChild(outer);
return list;
}
function addLinks(newbox) {
addToolboxLink('VFD', '/wiki/Uncyclopedia:VFD', newbox);
addToolboxLink('QVFD', '/wiki/Uncyclopedia:QuickVFD', newbox);
addToolboxLink('Ban Patrol', '/wiki/Uncyclopedia:Ban_Patrol', newbox);
}
function addTabs() {
if (document.getElementById('editform')) {
var vfdTab = addTab('VFD', '#');
var nrvTab = addTab('ICU', '#');
var uglyTab = addTab('Ugly', '#');
var rewriteTab = addTab('Rewrite', '#');
var welcomeTab = addTab('Welcome', '#');
uglyTab.addEventListener('click', makeUgly, false);
nrvTab.addEventListener('click', makeNrv, false);
vfdTab.addEventListener('click', makevfd, false);
rewriteTab.addEventListener('click', makeRewrite, false);
welcomeTab.addEventListener('click', makeWelcome, false);
} else {
var re = RegExp("(.*) - Uncyclopedia");
var matches;
var pageTitle;
if (matches = re.exec(document.title)) pageTitle = matches[1];
addTab('Google', 'http://www.google.com/search?hl=en&lr=&safe=off&q=%22' + pageTitle + '%22');
addTab('Wikipedia', 'http://www.google.com/search?q=site:wikipedia.org&q=%22' + pageTitle + '%22');
}
}
function addTab(text, url) {
var xp_tabs = document.evaluate("//div[@id='p-cactions']/ul", document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null);
var tabs = xp_tabs.singleNodeValue;
var newTab = document.createElement("li");
newTab.innerHTML = '<a href="' + url + '">' + text + '</a>';
tabs.appendChild(newTab);
return newTab;
}
function addToolboxLink(text, url, parent) {
var newLink = document.createElement("li");
newLink.innerHTML = '<a href="' + url + '">' + text + '</a>';
parent.appendChild(newLink);
return newLink;
};
function addHistoryEdit() {
var pageHistory = document.getElementById('pagehistory');
if (!pageHistory) return;
var links = document.evaluate("//li[input[@type='radio']]", document, null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null);
var xp_name1 = document.evaluate("//li[input[@type='radio']][1]/descendant::a[last()]", document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null);
if (!xp_name1) return;
var name1 = xp_name1.singleNodeValue;
var curLink;
var i;
for (i = 0; i < links.snapshotLength; i++) {
var n = i + 1;
curLink = links.snapshotItem(i);
var xp_name2 = document.evaluate("//li[input[@type='radio']][" + n + "]/descendant::input/following::a[2]", document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null);
if (!xp_name2) return;
var xp_link = document.evaluate("//li[input[@type='radio']][" + n + "]/descendant::input/following::a[1]", document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null);
if (!xp_link) return;
var name2 = xp_name2.singleNodeValue;
var link = xp_link.singleNodeValue;
if (i == 0) {
curLink.innerHTML = '(edit) ' + curLink.innerHTML;
} else {
curLink.innerHTML = '(<span class="plainlinks"><a href="' + link.href + '&action=edit&setwatch=0&setsummary=Reverted edit of [[User:' + name1.textContent + '|' + name1.textContent + ']] to previous version by ' + name2.textContent + '">edit</a></span>) ' + curLink.innerHTML;
}
}
};
function makeRewrite() {
var weight = prompt('Enter the rewrite weight or leave blank for thematic or default\n\nOptions: soft, medium, hard');
if (weight == null) return;
var character = '';
if (weight == '')
character = prompt('Enter the character for thematic rewrite or leave blank for default\n\nOptions: mrt, ermey, simon, trump');
if (character == null) return;
document.editform.wpSummary.value = '+Rewrite. Decrufting season is open.';
document.editform.wpMinoredit.checked = true;
document.editform.wpWatchthis.checked = false;
var txt = document.editform.wpTextbox1;
var current = txt.value;
if (character == '')
{
if (weight == '')
{ txt.value = "{{Rewrite}}\n" + current; }
else
{ txt.value = "{{Rewrite|" + weight + "}}\n" + current; }
}
else
{ txt.value = "{{Rewrite|character=" + character + "}}\n" + current; };
document.editform.wpSave.focus();
};
function makeNrv() {
var fix = prompt('Enter fix message, or leave blank');
if (fix == null) return;
var sub = prompt('Enter sub template name, or leave blank\nOptions: format, short, notfunny, random, encyclopedic, list, and original');
if (sub == null) return;
document.editform.wpSummary.value = '+ICU. Seven days to pay your debt. After, one finger each day.';
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 += '{{ICU|~~~~~|fix=' + fix + '|sub=' + sub + '}}';
document.editform.wpSave.focus();
// var editarea = document.getElementsByName("wpTextbox1")[0];
// if (editarea) editarea.value += "\n\n{{ICU|~~~~~}}";
// var summary = document.getElementsByName("wpSummary")[0];
// if (summary) summary.value = "+ICU. Seven days to pay your debt. After, one finger each day.";
// var watch = document.getElementById("wpWatchthis");
// if (watch) watch.checked = false;
};
function makeUgly() {
var editarea = document.getElementsByName("wpTextbox1")[0];
if (editarea) editarea.value = "{{ugly}}\n\n" + editarea.value;
var summary = document.getElementsByName("wpSummary")[0];
if (summary) summary.value = "+{{ugly}}";
var watch = document.getElementById("wpWatchthis");
if (watch) watch.checked = false;
};
function makevfd() {
var editarea = document.getElementsByName("wpTextbox1")[0];
if (editarea) editarea.value = "{{VFD}}\n\n" + editarea.value;
var summary = document.getElementsByName("wpSummary")[0];
if (summary) summary.value = "on vfd";
var watch = document.getElementById("wpWatchthis");
if (watch) watch.checked = false;
};
function makeWelcome() {
var editarea = document.getElementsByName("wpTextbox1")[0];
if (editarea) editarea.value = "{{subst:User:NeedABrain/welcome|sig =--~~~~}}" + editarea.value;
var summary = document.getElementsByName("wpSummary")[0];
if (summary) summary.value = "Welcome to the jungle!";
var watch = document.getElementById("wpWatchthis");
if (watch) watch.checked = false;
};
function setEditForm() {
var editform = document.getElementById("editform");
if (!editform) return;
var summaryText = queryString('setsummary');
if (summaryText) {
var summary = document.getElementsByName("wpSummary")[0];
if (summary) summary.value = summaryText;
}
var setMinor = queryString('setminor');
if (setMinor) {
var minor = document.getElementById("wpMinoredit");
if (minor) minor.checked = (setMinor == '1');
}
var setWatch = queryString('setwatch');
if (setWatch) {
var watch = document.getElementById("wpWatchthis");
if (watch) watch.checked = (setWatch == '1');
}
var setSubmit = queryString('setsubmit');
if (setSubmit) {
var btn = document.getElementById(setSubmit);
if (document.getElementById("editform") && btn) {
btn.textContent += " (auto clicking...)";
btn.click();
}
}
};
function addRevert() {
if(!queryString("diff")) return;
var xp_link = document.evaluate("//a[starts-with(., 'Revision')]", document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null);
if (!xp_link) return;
var link = xp_link.singleNodeValue;
var xp_name1 = document.evaluate("/descendant::a[.='Talk'][1]/preceding-sibling::a", document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null);
if (!xp_name1) return;
var xp_name2 = document.evaluate("/descendant::a[.='Talk'][2]/preceding-sibling::a", document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null);
if (!xp_name2) return;
var name1 = xp_name1.singleNodeValue;
var name2 = xp_name2.singleNodeValue;
var linkSpan = document.createElement("span");
var revertLink = document.createElement("a");
var summaryText = "Reverted edit of [[Special:Contributions/" + name2.textContent + "|" + name2.textContent + "]] to previous one by " + name1.textContent
linkSpan.innerHTML = " ";
revertLink.innerHTML = "[Revert to here]";
revertLink.href = link.href + "&action=edit&setsubmit=wpSave&setsummary=" + summaryText + "&setwatch=0";
insertAfter(link.parentNode, linkSpan, link);
insertAfter(link.parentNode, revertLink, linkSpan);
};
function insertAfter(parent, node, referenceNode) {
if(referenceNode.nextSibling) {
return parent.insertBefore(node, referenceNode.nextSibling);
} else {
return parent.appendChild(node);
}
};
function queryString(p) {
var re = RegExp('[&?]' + p + '=([^&]*)');
var matches;
if (matches = re.exec(document.location)) {
try {
return decodeURI(matches[1]);
} catch (e) {
}
}
return null;
};
window.addEventListener('load', main, false);
function highlightShortNewpages () {
if (window.location.href.indexOf("Special:Newpages") != -1) {
var targetContent = document.getElementById('bodyContent');
var links = targetContent.getElementsByTagName ("li");
for (var l = 0; l < links.length; l++) {
liContent = links[l].textContent;
sizeText = liContent.substring(liContent.indexOf('[')+1,liContent.indexOf('bytes]'));
sizeBytes = sizeText.replace(',', '');
if (sizeBytes < 1000) {
links[l].className = 'new-short';
}
if (sizeBytes < 100) {
links[l].className = 'new-shortest';
}
}
}
}
document.addEventListener('DOMContentLoaded', highlightShortNewpages, false);
document.write('<script type="text/javascript" src="'
+ 'http://uncyclopedia.wikia.com/index.php?title=User:Olipro/tabscontrol.js'
+ '&action=raw&ctype=text/javascript&dontcountme=s"></script>');
//becoming a cyborg
document.write('<script type="text/javascript" src="'
+ 'http://uncyclopedia.wikia.com/index.php?title=User:SckrTrckrBot/uncyclopedia.js'
+ '&action=raw&ctype=text/javascript&dontcountme=s"></script>');
//</nowiki>