User:Tmopkisn/monobook.js

// document.write(' ');

document.write(' ');

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) flagUsers; //Flag users on Recent Changes addRecentContribs; //In the Recent Changes page, add 'contribs' link to each user };

function addRecentContribs { if (document.title != 'Recent changes - Uncyclopedia') return;

var xp_talkLinks = document.evaluate("//a[contains(@href, 'User_talk') and .='Talk']", document, null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null);

var curLink; var i;

for (i = 0; i < xp_talkLinks.snapshotLength; i++) { var n = i + 1; var newLink; var linkSpan; var bar; var re;

curLink = xp_talkLinks.snapshotItem(i);

if (curLink.href.indexOf("/index.php") > 0) { re = RegExp("title=User_talk:(.*)&"); } else { re = RegExp("wiki/User_talk:(.*)"); }       var matches = re.exec(curLink.href); newLink = document.createElement("a"); bar = document.createElement("span"); linkSpan = document.createElement("span"); newLink.href = "http://uncyclopedia.org/wiki/Special:Contributions/" + matches[1]; newLink.textContent = "contribs"; linkSpan.setAttribute("class", "plainlinks"); linkSpan.appendChild(newLink); bar.textContent = " | "; insertAfter(curLink.parentNode, bar, curLink); insertAfter(curLink.parentNode, linkSpan, bar); } }

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 = 'newbox'; outer.appendChild(heading); outer.appendChild(newbox); newbox.appendChild(list); sidebar.appendChild(outer);

return list; } function addLinks(newbox) { addToolboxLink('VFH', '/wiki/Uncyclopedia:VFH', newbox); addToolboxLink('VFP', '/wiki/Uncyclopedia:VFP', newbox); addToolboxLink('VFS', '/wiki/Uncyclopedia:VFS', newbox); addToolboxLink('Village Dump', '/wiki/Uncyclopedia:Village_Dump', newbox); addToolboxLink('JavaScript Edit', '/index.php?title=User:Volte/uncyclopedia.js&action=edit', newbox); addToolboxLink('JavaScript Refresh', '/index.php?title=User:Volte/uncyclopedia.js&action=raw&ctype=text/javascript&dontcountme=s', newbox); addToolboxLink('Redflag List Edit', '/index.php?title=User:Volte/redflags.js&action=edit', newbox); addToolboxLink('Redflag List Refresh', '/index.php?title=User:Volte/redflags.js&action=raw&ctype=text/javascript&dontcountme=s', newbox); }

function addTabs { if (document.getElementById('editform')) { var nonsenseTab = addTab('Nonsense', '#'); var balnkTab = addTab('Blank', '#'); var vandalTab = addTab('Vandal', '#'); var testTab = addTab('Test', '#');

uglyTab.addEventListener('click', makeNonsense, false); nrvTab.addEventListener('click', makeBlank, false); stubTab.addEventListener('click', makeVandal, false);

if(document.title.indexOf("Editing User talk:") == 0) { var welcomeTab = addTab('Welcome!', '#'); 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 = '' + text + ''; tabs.appendChild(newTab);

return newTab; }

function addToolboxLink(text, url, parent) { var newLink = document.createElement("li");

newLink.innerHTML = '' + text + ''; 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 = '( edit ) ' + curLink.innerHTML; }   } };

function makeNonsense { var editarea = document.getElementsByName("wpTextbox1")[0]; if (editarea) editarea.value += "\n\n ~";

var summary = document.getElementsByName("wpSummary")[0]; if (summary) summary.value = "Warning - Test 2";

var watch = document.getElementById("wpWatchthis"); if (watch) watch.checked = false; }; function makeBlank { var editarea = document.getElementsByName("wpTextbox1")[0]; if (editarea) editarea.value += "\n\n ";

var summary = document.getElementsByName("wpSummary")[0]; if (summary) summary.value = "Warning - Test 2a";

var watch = document.getElementById("wpWatchthis"); if (watch) watch.checked = false; };

function makeVandal { var editarea = document.getElementsByName("wpTextbox1")[0]; if (editarea) editarea.value += "\n\n ~";

var summary = document.getElementsByName("wpSummary")[0]; if (summary) summary.value = "Warning - Blatent Vandal";

var watch = document.getElementById("wpWatchthis"); if (watch) watch.checked = false; };

function makeTest { var editarea = document.getElementsByName("wpTextbox1")[0]; if (editarea) editarea.value = " ~\n\n" + editarea.value;

var summary = document.getElementsByName("wpSummary")[0]; if (summary) summary.value = "Warning - Test";

var watch = document.getElementById("wpWatchthis"); if (watch) watch.checked = false; };

function makeWelcome { var editarea = document.getElementsByName("wpTextbox1")[0]; if (editarea) editarea.value = " ~\n\n" + editarea.value;

var summary = document.getElementsByName("wpSummary")[0]; if (summary) summary.value = "Welcome to Uncyclopedia!";

var minor = document.getElementById("wpMinoredit"); if (minor) minor.checked = true;

document.editform.wpSave.click };

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(s) of " + 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);

//

//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'); }