User:Yamamoto Ichiro/oldmonobook.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. |
Documentation for this user script can be added at User:Yamamoto Ichiro/oldmonobook. |
// -----------------------------------------------------------------------------
// God-like Monobook skin
// (c) 2005 Sam Hocevar <sam@zoy.org>
// $Id: godmode-light.js 1106 2006-04-03 20:25:37Z sam $
// -----------------------------------------------------------------------------
// -----------------------------------------------------------------------------
// Language support, taken from phase3/languages/*
// -----------------------------------------------------------------------------
var rollbacklink = 'rollback';
var cantrollback = 'Cannot revert edit; last contributor is only author of this page.';
var alreadyrolled = 'Cannot rollback last edit of [[$1]] by [[User:$2|$2]] ([[User talk:$2|talk]]); someone else has edited or rolled back the page already. Last edit was by [[User:$3|$3]] ([[User talk:$3|Talk]]). ';
var revertpage = 'Reverted edits by [[Special:Contributions/$2|$2]] ([[User talk:$2|talk]]) to last version by $1';
switch (document.getElementsByTagName('html')[0].lang) {
case 'fr':
rollbacklink = 'rテゥvoquer';
cantrollback = 'Impossible de rテゥvoquer: dernier auteur est le seul テ avoir modifiテゥ cet article';
alreadyrolled = 'Impossible de rテゥvoquer la derniティre modification de [[$1]] par [[User:$2|$2]] ([[User talk:$2|talk]]); quelqu\'un d\'autre テ dテゥjテ modifer ou rテゥvoquer l\'article. La derniティre modificaion テゥtait de [[User:$3|$3]] ([[User talk:$3|Talk]]). '; // lol @ pathetic grammar
revertpage = "Rテゥvocation des modifications de [[Special:Contributions/$2|$2]] et restauration d'une prテゥcテゥdente version de $1";
break;
case 'de':
rollbacklink = 'Zurテシcksetzen';
cantrollback = 'Die テ・derung kann nicht zurテシckgenommen werden; der letzte Autor ist der einzige.';
alreadyrolled = 'Die Zurテシcknahme des Artikels [[$1]] von [[Benutzer:$2|$2]] ([[Benutzer Diskussion:$2|Diskussion]]) ist nicht mテカglich, da eine andere テ・derung oder Rテシcknahme erfolgt ist. Die letzte テ・derung ist von [[Benutzer:$3|$3]] ([[Benutzer Diskussion:$3|Diskussion]])';
revertpage = 'テ・derungen von [[Benutzer:$2]] rテシckgテ、ngig gemacht und letzte Version von [[Benutzer:$1]] wiederhergestellt';
break;
case 'es':
rollbacklink = 'Revertir';
cantrollback = 'No se pueden revertir las ediciones; el テコltimo colaborador es el テコnico autor de este artテュculo.';
alreadyrolled = 'No se puede revertir la テコltima ediciテウn de [[$1]] por [[Colaborador:$2|$2]] ([[Colaborador Discusiテウn:$2|Discusiテウn]]); alguien mテ。s ya ha editado o revertido esa pテ。gina. La テコltima ediciテウn fue hecha por [[Colaborador:$3|$3]] ([[Colaborador Discusiテウn:$3|Discusiテウn]]). ';
revertpage = 'Revertida a la テコltima ediciテウn de $1';
break;
case 'it':
rollbacklink = 'rollback';
cantrollback = 'Impossibile tornare ad una versione precedente: l\'ultima modifica ティ stata apportata dall\'unico utente che abbia lavorato a questo articolo.';
//alreadyrolled = '';
revertpage = 'Riportata alla revisione precedente da $1';
break;
case 'pt':
rollbacklink = 'voltar';
cantrollback = 'Nテ」o foi possテュvel reverter a ediテァテ」o; o テコltimo contribuidor テゥ o テコnico autor deste artigo.';
alreadyrolled = 'Nテ」o foi possテュvel reverter as ediテァテオes de [[$1]] por [[User:$2|$2]] ([[User talk:$2|Talk]]); alguテゥm o editou ou jテ。 o reverteu. A テコltima ediテァテ」o foi de [[User:$3|$3]] ([[User talk:$3|Conversar com ele]]). ';
revertpage = 'Revertidas ediテァテオes por [[Special:Contributions/$2|$2]], para a テコltima versテ」o por $1';
break;
}
// -----------------------------------------------------------------------------
// XMLHttpRequest support
// -----------------------------------------------------------------------------
if (document.implementation.createDocument) {
var gml_xmlparser = new DOMParser();
}
function gml_XMLParse(string) {
if (document.implementation.createDocument) {
return gml_xmlparser.parseFromString(string, "text/xml");
} else if (window.ActiveXObject) {
var gml_xmldoc = new ActiveXObject("Microsoft.XMLDOM");
gml_xmldoc.async = "false";
ret = gml_xmldoc.loadXML(string);
if (!ret)
return null;
return gml_xmldoc.documentElement;
}
return null;
}
var gml_xmlhttp;
function HTTPClient() {
var gml_http;
if(window.XMLHttpRequest) {
gml_http = new XMLHttpRequest();
} else if (window.ActiveXObject) {
try {
gml_http = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
gml_http = new ActiveXObject("Microsoft.XMLHTTP");
} catch (E) {
gml_http = false;
}
}
}
return gml_http;
}
// -----------------------------------------------------------------------------
// MD5 hash calculator
// -----------------------------------------------------------------------------
// Version 2.1 Copyright (C) Paul Johnston 1999 - 2002.
// Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet
// Distributed under the BSD License
// See http://pajhome.org.uk/crypt/md5 for more info.
// -----------------------------------------------------------------------------
var hexcase = 0;
var b64pad = "";
var chrsz = 8;
function hex_md5(s){ return binl2hex(core_md5(str2binl(s), s.length * chrsz));}
function core_md5(x, len)
{
x[len >> 5] |= 0x80 << ((len) % 32);
x[(((len + 64) >>> 9) << 4) + 14] = len;
var a = 1732584193;
var b = -271733879;
var c = -1732584194;
var d = 271733878;
for(var i = 0; i < x.length; i += 16)
{
var olda = a;
var oldb = b;
var oldc = c;
var oldd = d;
a = md5_ff(a, b, c, d, x[i+ 0], 7 , -680876936); d = md5_ff(d, a, b, c, x[i+ 1], 12, -389564586); c = md5_ff(c, d, a, b, x[i+ 2], 17, 606105819); b = md5_ff(b, c, d, a, x[i+ 3], 22, -1044525330); a = md5_ff(a, b, c, d, x[i+ 4], 7 , -176418897); d = md5_ff(d, a, b, c, x[i+ 5], 12, 1200080426); c = md5_ff(c, d, a, b, x[i+ 6], 17, -1473231341); b = md5_ff(b, c, d, a, x[i+ 7], 22, -45705983); a = md5_ff(a, b, c, d, x[i+ 8], 7 , 1770035416); d = md5_ff(d, a, b, c, x[i+ 9], 12, -1958414417); c = md5_ff(c, d, a, b, x[i+10], 17, -42063); b = md5_ff(b, c, d, a, x[i+11], 22, -1990404162); a = md5_ff(a, b, c, d, x[i+12], 7 , 1804603682); d = md5_ff(d, a, b, c, x[i+13], 12, -40341101); c = md5_ff(c, d, a, b, x[i+14], 17, -1502002290); b = md5_ff(b, c, d, a, x[i+15], 22, 1236535329);
a = md5_gg(a, b, c, d, x[i+ 1], 5 , -165796510); d = md5_gg(d, a, b, c, x[i+ 6], 9 , -1069501632); c = md5_gg(c, d, a, b, x[i+11], 14, 643717713); b = md5_gg(b, c, d, a, x[i+ 0], 20, -373897302); a = md5_gg(a, b, c, d, x[i+ 5], 5 , -701558691); d = md5_gg(d, a, b, c, x[i+10], 9 , 38016083); c = md5_gg(c, d, a, b, x[i+15], 14, -660478335); b = md5_gg(b, c, d, a, x[i+ 4], 20, -405537848); a = md5_gg(a, b, c, d, x[i+ 9], 5 , 568446438); d = md5_gg(d, a, b, c, x[i+14], 9 , -1019803690); c = md5_gg(c, d, a, b, x[i+ 3], 14, -187363961); b = md5_gg(b, c, d, a, x[i+ 8], 20, 1163531501); a = md5_gg(a, b, c, d, x[i+13], 5 , -1444681467); d = md5_gg(d, a, b, c, x[i+ 2], 9 , -51403784); c = md5_gg(c, d, a, b, x[i+ 7], 14, 1735328473); b = md5_gg(b, c, d, a, x[i+12], 20, -1926607734);
a = md5_hh(a, b, c, d, x[i+ 5], 4 , -378558); d = md5_hh(d, a, b, c, x[i+ 8], 11, -2022574463); c = md5_hh(c, d, a, b, x[i+11], 16, 1839030562); b = md5_hh(b, c, d, a, x[i+14], 23, -35309556); a = md5_hh(a, b, c, d, x[i+ 1], 4 , -1530992060); d = md5_hh(d, a, b, c, x[i+ 4], 11, 1272893353); c = md5_hh(c, d, a, b, x[i+ 7], 16, -155497632); b = md5_hh(b, c, d, a, x[i+10], 23, -1094730640); a = md5_hh(a, b, c, d, x[i+13], 4 , 681279174); d = md5_hh(d, a, b, c, x[i+ 0], 11, -358537222); c = md5_hh(c, d, a, b, x[i+ 3], 16, -722521979); b = md5_hh(b, c, d, a, x[i+ 6], 23, 76029189); a = md5_hh(a, b, c, d, x[i+ 9], 4 , -640364487); d = md5_hh(d, a, b, c, x[i+12], 11, -421815835); c = md5_hh(c, d, a, b, x[i+15], 16, 530742520); b = md5_hh(b, c, d, a, x[i+ 2], 23, -995338651);
a = md5_ii(a, b, c, d, x[i+ 0], 6 , -198630844); d = md5_ii(d, a, b, c, x[i+ 7], 10, 1126891415); c = md5_ii(c, d, a, b, x[i+14], 15, -1416354905); b = md5_ii(b, c, d, a, x[i+ 5], 21, -57434055); a = md5_ii(a, b, c, d, x[i+12], 6 , 1700485571); d = md5_ii(d, a, b, c, x[i+ 3], 10, -1894986606); c = md5_ii(c, d, a, b, x[i+10], 15, -1051523); b = md5_ii(b, c, d, a, x[i+ 1], 21, -2054922799); a = md5_ii(a, b, c, d, x[i+ 8], 6 , 1873313359); d = md5_ii(d, a, b, c, x[i+15], 10, -30611744); c = md5_ii(c, d, a, b, x[i+ 6], 15, -1560198380); b = md5_ii(b, c, d, a, x[i+13], 21, 1309151649); a = md5_ii(a, b, c, d, x[i+ 4], 6 , -145523070); d = md5_ii(d, a, b, c, x[i+11], 10, -1120210379); c = md5_ii(c, d, a, b, x[i+ 2], 15, 718787259); b = md5_ii(b, c, d, a, x[i+ 9], 21, -343485551);
a = safe_add(a, olda);
b = safe_add(b, oldb);
c = safe_add(c, oldc);
d = safe_add(d, oldd);
}
return Array(a, b, c, d);
}
function md5_cmn(q, a, b, x, s, t) { return safe_add(bit_rol(safe_add(safe_add(a, q), safe_add(x, t)), s),b); }
function md5_ff(a, b, c, d, x, s, t) { return md5_cmn((b & c) | ((~b) & d), a, b, x, s, t); }
function md5_gg(a, b, c, d, x, s, t) { return md5_cmn((b & d) | (c & (~d)), a, b, x, s, t); }
function md5_hh(a, b, c, d, x, s, t) { return md5_cmn(b ^ c ^ d, a, b, x, s, t); }
function md5_ii(a, b, c, d, x, s, t) { return md5_cmn(c ^ (b | (~d)), a, b, x, s, t); }
function safe_add(x, y)
{
var lsw = (x & 0xFFFF) + (y & 0xFFFF);
var msw = (x >> 16) + (y >> 16) + (lsw >> 16);
return (msw << 16) | (lsw & 0xFFFF);
}
function bit_rol(num, cnt)
{
return (num << cnt) | (num >>> (32 - cnt));
}
function str2binl(str)
{
var bin = Array();
var mask = (1 << chrsz) - 1;
for(var i = 0; i < str.length * chrsz; i += chrsz)
bin[i>>5] |= (str.charCodeAt(i / chrsz) & mask) << (i%32);
return bin;
}
function binl2hex(binarray)
{
var hex_tab = hexcase ? "0123456789ABCDEF" : "0123456789abcdef";
var str = "";
for(var i = 0; i < binarray.length * 4; i++)
{
str += hex_tab.charAt((binarray[i>>2] >> ((i%4)*8+4)) & 0xF) +
hex_tab.charAt((binarray[i>>2] >> ((i%4)*8 )) & 0xF);
}
return str;
}
// -----------------------------------------------------------------------------
// Our nice Revert functions
// -----------------------------------------------------------------------------
var gml_vandal, gml_editor, gml_url;
function PerformRevert() {
var l, token = '', revert = false;
// Look for '&fakeaction=rollback' in URL
gml_url = location.pathname;
l = location.search.substring(1).split('&');
for (i = 0; i < l.length; i++) {
var n = l[i].indexOf('=');
var name = l[i].substring(0, n);
if (name == 'fakeaction') {
if (l[i].substring(n + 1) == 'rollback')
revert = true;
} else if (name == 'vandal') {
gml_vandal = unescape(l[i].substring(n + 1));
} else if (name == 'token') {
token = unescape(l[i].substring(n + 1));
} else if (name == 'title') {
gml_url += '?' + l[i];
}
}
if (!revert)
return;
document.getElementById('bodyContent').innerHTML = 'Please wait, reverting edits by ' + gml_vandal + '...';
// Avoid XSS kiddies by using a special token
if (token == '' || token != hex_md5(gml_url + gml_vandal + document.cookie)) {
document.getElementById('bodyContent').innerHTML += '<br />Bad authentication token!';
return;
}
gml_xmlhttp = HTTPClient();
if (!gml_xmlhttp)
return;
history_url = gml_url + '&action=history&limit=50';
document.getElementById('bodyContent').innerHTML += '<br />Getting article history (' + history_url + ')...';
gml_xmlhttp.open("GET", history_url, true);
gml_xmlhttp.onreadystatechange = RevertStepTwo;
gml_xmlhttp.send(null);
}
function RevertStepTwo() {
if (gml_xmlhttp.readyState != 4)
return;
var l;
var oldid;
// Get the vandal and new editor names
gml_vandal = gml_vandal.replace(/_/g, ' ');
gml_editor = '';
// Hack for a MediaWiki bug
xml = gml_xmlhttp.responseText.replace(/<body.*"ns-4">/, '<body class="ns-4">');
doc = gml_XMLParse(xml);
if (!doc || !doc.getElementById('pagehistory')) {
document.getElementById('bodyContent').innerHTML += '<br />Failed to parse XML data returned by the server.';
document.getElementById('bodyContent').innerHTML += '<br /><b>Hint: try to disable both "Enable section editing by right-clicking on section titles (JavaScript)" and "Edit pages on double click (JavaScript)" in your editing preferences until a proper fix is found</b>.';
document.getElementById('bodyContent').innerHTML += '<br />Dump of the unparseable page : <br />' + xml.replace(/&/g, '&').replace(/</g, '<').replace(/>/g, '>');
return;
}
l = doc.getElementById('pagehistory').getElementsByTagName('li');
//l = doc.selectSingleNode('//*[@id="pagehistory"]').getElementsByTagName('li');
for (i = 0; i < l.length; i++) {
var name = l[i].getElementsByTagName('span')[0].getElementsByTagName('a')[0].innerHTML.replace(/_/g, ' ');
if (i == 0 && name != gml_vandal) {
document.getElementById('bodyContent').innerHTML += '<br />Error: Last editor is ' + name + ', not ' + gml_vandal + '!';
return;
} else if (i > 0 && name != gml_vandal) {
oldid = l[i].getElementsByTagName('input')[0].value;
gml_editor = name;
break;
}
}
if (gml_editor == '') {
document.getElementById('bodyContent').innerHTML += '<br />Error: ' + gml_vandal + ' is the only editor!';
return;
}
gml_xmlhttp = HTTPClient();
if (!gml_xmlhttp)
return;
document.getElementById('bodyContent').innerHTML += '<br />Getting article edit form (GET' + gml_url + '&action=edit&oldid=' + oldid + ')...';
gml_xmlhttp.open('GET', gml_url + '&action=edit&oldid=' + oldid, true);
gml_xmlhttp.onreadystatechange = RevertStepThree;
gml_xmlhttp.send(null);
}
function RevertStepThree() {
if (gml_xmlhttp.readyState != 4)
return
var form, newform, l;
// Insert the downloaded form in our current page, using
// only hidden form inputs.
doc = gml_XMLParse(gml_xmlhttp.responseText);
form = doc.getElementById('editform');
newform = document.createElement('form');
l = form.getElementsByTagName('textarea');
for (i = l.length; i--; ) {
var t = document.createElement('input');
t.type = 'hidden';
t.name = l[i].name;
t.value = l[i].value;
newform.appendChild(t);
}
l = form.getElementsByTagName('input');
for (i = l.length; i--; ) {
if (l[i].name == 'wpSummary') {
l[i].value = revertpage.replace(/\$1/g, gml_editor).replace(/\$2/g, gml_vandal);
} else if (l[i].name == 'wpMinoredit') {
l[i].value = '1';
} else if (l[i].name == 'wpWatchthis') {
if (!l[i].checked)
continue; // Don窶冲 touch the "watch" status
l[i].value = "on";
} else if (l[i].name == 'wpPreview') {
continue;
} else if (l[i].name == 'wpDiff') {
continue;
}
l[i].type = 'hidden';
newform.appendChild(l[i]);
}
newform.name = form.name;
newform.method = form.method;
newform.id = form.id;
newform.action = form.action;
document.getElementById('bodyContent').innerHTML += '<br />Submitting form...';
document.getElementById('bodyContent').appendChild(newform);
// Submit the form
newform.submit();
}
// -----------------------------------------------------------------------------
// Add revert buttons to the page
// -----------------------------------------------------------------------------
function AddRevertButtons() {
var l, article = '', vandal;
// Add 'revert' links to a diff page
l = document.getElementById('bodyContent').getElementsByTagName('td');
for (i = 0; i < l.length; i++) {
if (l[i].className == 'diff-otitle') {
article = l[i].getElementsByTagName('a')[0].href.split('&')[0].replace(/[^\/]*\/\/[^\/]*/, '');
} else if (l[i].className == 'diff-ntitle') {
var toplink = l[i].getElementsByTagName('a')[0].href;
vandal = l[i].getElementsByTagName('a')[4].title.split(':')[1];
var t = l[i].innerHTML
n = t.indexOf('</a>) <br') + t.indexOf('</A>) <BR') + 1; // XXX: WOW HACK!!!!
if (n >= 0 && article != '' && toplink.indexOf('oldid=') == -1) {
l[i].innerHTML = t.substring(0, n + 5) + ' <strong>[<a href="' + article + '&fakeaction=rollback&vandal=' + vandal + '&token=' + hex_md5(article + vandal + document.cookie) + '">' + rollbacklink + '</a>]</strong> ' + t.substring(n + 5, t.length);
}
}
}
// Add 'revert' links to a contributions page
if (location.href.indexOf(':Contributions') != -1) {
var c = document.getElementById('contentSub');
var a = c.getElementsByTagName('a');
if (a.length >= 2) {
vandal = a[0].innerHTML;
} else {
vandal = c.innerHTML.replace(/ \(.*/, '').replace(/.* /, '');
}
l = document.getElementById('bodyContent').getElementsByTagName('li');
for (i = 0; i < l.length; i++) {
var t = l[i].innerHTML
// If we are already a sysop on this wiki, abort
if (t.indexOf('>' + rollbacklink + '</a>]') != -1)
break;
//if (t.indexOf('&diff=0') != -1) {
if (t.indexOf('<strong> (') != -1) {
article = l[i].getElementsByTagName('a')[0].href.split('&')[0].replace(/[^\/]*\/\/[^\/]*/, '');
l[i].innerHTML += ' [<a href="' + article + '&fakeaction=rollback&vandal=' + vandal + '&token=' + hex_md5(article + vandal + document.cookie) + '">' + rollbacklink + '</a>]';
}
}
}
}
// -----------------------------------------------------------------------------
// Modify the page once it is loaded
// -----------------------------------------------------------------------------
if (window.addEventListener) {
window.addEventListener("load", PerformRevert, false);
window.addEventListener("load", AddRevertButtons, false);
} else if (window.attachEvent) {
window.attachEvent("onload", PerformRevert);
window.attachEvent("onload", AddRevertButtons);
}
//
function addLink(where, url, name, id, title, key, after){
//* where is the id of the toolbar where the button should be added;
// i.e. one of "p-cactions", "p-personal", or "p-navigation".
//* url is the URL which will be called when the button is clicked.
// javascript: urls can be used to do more complex things.
//* name is what will appear as the name of the button.
//* id is the id of the button; it's best to define one.
// Use a prefix to make sure its unique. Optional.
//* title is the tooltip title that gives a longer description
// of the button; if you define a accesskey, mention it here. Optional.
//* key is the char you want for the accesskey. Optional.
//* after is the id of the button you want to follow this one. Optional.
var na = document.createElement('a');
na.href = url;
na.appendChild(document.createTextNode(name));
var li = document.createElement('li');
if(id) li.id = id;
li.appendChild(na);
var tabs = document.getElementById(where).getElementsByTagName('ul')[0];
if(after) {
tabs.insertBefore(li,document.getElementById(after));
} else {
tabs.appendChild(li);
}
if(id) {
if(key && title) { ta[id] = [key, title]; }
else if(key) { ta[id] = [key, '']; }
else if(title) { ta[id] = ['', title];}
}
// re-render the title and accesskeys from existing code in wikibits.js
akeytt();
return li;
}
//
//this helps automate AfD closing by adding a 'close' tab to AfD debates
//written by [[User:Johnleemk]] based on [[Wikipedia:WikiProject User scripts/Scripts/test-n.js]] by [[User:Celestianpower]]
function autoafd_result()
{
var close = prompt("Result of debate?")
var f = document.editform, t = f.wpTextbox1;
t.value = "{{subst:" + "at" + "}} '''" + close + "'''. " + "~" + "~" + "~" + "~" + '\n' + '\n' + t.value;
if (t.value.length > 0)
t.value += '\n';
t.value += "{{subst:" + "ab" + "}}";
f.wpSummary.value = "Closing debate; result was " + close;
}
function autoafd_relist()
{
var f = document.editform, t = f.wpTextbox1;
if (t.value.length > 0)
t.value += '\n';
t.value += "{{subst:" + "relist" + "|~" + "~" + "~" + "~}}";
f.wpSummary.value = "Relisting debate";
}
function autoafd_keep()
{
var date = prompt("Nomination was made when?")
var votepage = prompt("Vote page is? (Enter 'd' for default.)")
var f = document.editform, t = f.wpTextbox1;
// If default votepage...
if (votepage=="d")
{
var temp = document.editform.action.split("/w/index.php?title=");
var temp = temp[1].split("&action=submit");
var temp = temp[0].substring(5);
var votepage = temp;
}
t.value = "{{subst:" + "oldafdfull" + "|date=" + date + "|votepage=" + votepage + "}}" + '\n' + '\n' + t.value;
f.wpSummary.value = "Article survived AfD";
}
function autoafd_no_consensus()
{
var date = prompt("Nomination was made when?")
var votepage = prompt("Vote page is? (Enter 'd' for default.)")
var f = document.editform, t = f.wpTextbox1;
// If default votepage...
if (votepage=="d")
{
var temp = document.editform.action.split("/w/index.php?title=");
var temp = temp[1].split("&action=submit");
var temp = temp[0].substring(5);
var votepage = temp;
}
t.value = "{{subst:" + "oldafdfull" + "|date=" + date + "|result='''no consensus'''|votepage=" + votepage + "}}" + '\n' + '\n' + t.value;
f.wpSummary.value = "Article survived AfD with no consensus";
}
function autoafd_redirect()
{
var date = prompt("Nomination was made when?")
var redirect = prompt("Redirect to?")
var votepage = prompt("Vote page is? (Enter 'd' for default.)")
var f = document.editform, t = f.wpTextbox1;
// If default votepage...
if (votepage=="d")
{
var temp = document.editform.action.split("/w/index.php?title=");
var temp = temp[1].split("&action=submit");
var temp = temp[0].substring(5);
var votepage = temp;
}
t.value = "{{subst:" + "oldafdfull" + "|date=" + date + "|result='''redirect to [[" + redirect + "]]'''|votepage=" + votepage + "}}" + '\n' + '\n' + t.value;
f.wpSummary.value = "Article redirected to [[" + redirect + "]] as per AfD";
}
function autoafd_merge()
{
var date = prompt("Nomination was made when?")
var redirect = prompt("Merge and redirect to?")
var votepage = prompt("Vote page is? (Enter 'd' for default.)")
var f = document.editform, t = f.wpTextbox1;
// If default votepage...
if (votepage=="d")
{
var temp = document.editform.action.split("/w/index.php?title=");
var temp = temp[1].split("&action=submit");
var temp = temp[0].substring(5);
var votepage = temp;
}
t.value = "{{subst:" + "oldafdfull" + "|date=" + date + "|result='''merge and redirect to [[" + redirect + "]]'''|votepage=" + votepage + "}}" + '\n' + '\n' + t.value;
f.wpSummary.value = "Article merged and redirected to [[" + redirect + "]] as per AfD";
}
function autoafd_other()
{
var date = prompt("Nomination was made when?")
var result = prompt("Result was?")
var votepage = prompt("Vote page is? (Enter 'd' for default.)")
var f = document.editform, t = f.wpTextbox1;
// If default votepage...
if (votepage=="d")
{
var temp = document.editform.action.split("/w/index.php?title=");
var temp = temp[1].split("&action=submit");
var temp = temp[0].substring(5);
var votepage = temp;
}
t.value = "{{subst:" + "oldafdfull" + "|date=" + date + "|result='''" + result + "'''|votepage=" + votepage + "}}" + '\n' + '\n' + t.value;
f.wpSummary.value = "AfDed; result was " + result;
}
function autoafd_add_afd_tabs()
{
// Only add for pages with the right string somewhere in the title
if (document.title.indexOf("Editing Wikipedia:Articles for deletion/") != -1)
{
addLink('p-cactions', 'javascript:autoafd_result()', "close");
addLink('p-cactions', 'javascript:autoafd_relist()', "relist");
}
if (document.title.indexOf("Editing Talk:") != -1)
{
addLink('p-cactions', 'javascript:autoafd_keep()', "keep");
addLink('p-cactions', 'javascript:autoafd_no_consensus()', "no consensus");
addLink('p-cactions', 'javascript:autoafd_redirect()', "redirect");
addLink('p-cactions', 'javascript:autoafd_merge()', "merge");
addLink('p-cactions', 'javascript:autoafd_other()', "other");
}
}
$(autoafd_add_afd_tabs);
//end AfD closing script
// <pre><nowiki>
// -----------------------------------------------------------------------------
// Modify the page once it is loaded
// -----------------------------------------------------------------------------
$(PerformRevert);
$(AddRevertButtons);
// </nowiki></pre>
// Big thanks to User:JesseW for leading me to:
// [[Wikipedia:WikiProject_User_scripts/Techniques#Onload_Structure]]
// and to User:Sasquatch for the if(document.get ... code
// References:
// http://en.wikipedia.org/wiki/MediaWiki:Monobook.js
// User:JesseW/monobook.js --- User:Drini/monobook.js
//
// RoyBoy - Working version done: Nov 2 2005 @ 7:44 PM EST
// Shortens edit, protect, talk and delete tabs
//
// Nov 10 2005: Added contrib and block tab, with default other time
//
// Optimized for 800x600 res. used with CDVF, see at:
// http://www.flickr.com/photos/34345738@N00/62015752/
// <nowiki>
//////////////////////////////////////////
// Tabs by Korath
// returns <li><a href="url">name</a></li>
/////////////////////////////////////////
function addlilink(url, name)
{
var na = document.createElement('a');
na.setAttribute('href', url);
var txt = document.createTextNode(name);
na.appendChild(txt);
var li = document.createElement('li');
li.appendChild(na);
return li;
}
//Hybirdization of ABCD afd closer
function closeafd(bold, notbold){
var form = document.editform;
var txt = form.wpTextbox1;
txt.value = "{{subst:at}} '''" + bold + "'''" + notbold + ". ~~~~\n" + txt.value + "\n{{subst:ab}}\n";
form.wpSummary.value = "close discussion: " + bold + notbold;
form.wpWatchthis.checked = false;
}
function afdresult(){
var res = prompt("Result?");
if(!res) return;
var form = document.editform;
form.wpSummary.value = 'AFD result';
var txt = form.wpTextbox1;
txt.value += '{{subst:oldafdfull|date=[[DAY MONTH]] [[2006]]|result=' + res + '|votepage={{subst:PAGENAME}}}}';
txt.focus();
}
function afddelete(){
document.forms.deleteconfirm.wpReason.value = '[[Wikipedia:Articles for deletion/' + unescape(window.location.href.replace(/^.*\?title=([^&]+)&action=delete.*$/, '$1').replace(/_/g, ' ')).replace(/^(Talk|Wikipedia( talk)?):/, '') + ']]';
}
function fairusedelete(){
document.forms.deleteconfirm.wpReason.value = 'Orphanned fair use image (' + '[[' + 'WP:CSD' + ']]' + ' I5)';
}
function replace(){
var s = prompt("Search regexp?");
if(s){
var r = prompt("Replace regexp?");
if(!r && r != '') return;
var txt = document.editform.wpTextbox1;
txt.value = txt.value.replace(new RegExp(s, "g"), r);
}
}
function afdresult(){
var res = prompt("Result?");
var day = prompt("On which day was it nominated?");
if(!res) return;
var form = document.editform;
form.wpSummary.value = 'AFD result';
var txt = form.wpTextbox1;
txt.value += '{{subst:oldafdfull|date=[[' + day + ']] [[2006]]|result=' + res + '|votepage={{subst:PAGENAME}}}}';
txt.focus();
}
// appends msg to the currently-editted page, sets the summary to summ,
// and marks or unmarks the Watch this page checkbox according to watch.
function edit_summary_watch(msg, summ, watch)
{
var f = document.editform, t = f.wpTextbox1;
if (t.value.length > 0)
t.value += '\n';
t.value += msg;
f.wpSummary.value = summ;
}
function test(number)
{
var f = document.editform, t = f.wpTextbox1;
if (t.value.length > 0)
t.value += '\n';
t.value += "{{subst:" + "test" + number + "}} -" + " " + "~" + "~" + "~" + "~";
f.wpSummary.value = "Regarding your recent edits";
}
function vw(number)
{
var f = document.editform, t = f.wpTextbox1;
if (t.value.length > 0)
t.value += '\n';
t.value += "{{subst:" + "Uw-vandalism" + number + "}} -" + " " + "~" + "~" + "~" + "~";
f.wpSummary.value = "Regarding your recent edits";
}
function verror(number)
{
var f = document.editform, t = f.wpTextbox1;
if (t.value.length > 0)
t.value += '\n';
t.value += "{{subst:" + "verror" + number + "}} -" + " " + "~" + "~" + "~" + "~";
f.wpSummary.value = "Regarding your recent edits";
}
function comment(number)
{
var f = document.editform, t = f.wpTextbox1;
if (t.value.length > 0)
t.value += '\n';
t.value += "{{subst:" + "comment" + number + "}} -" + " " + "~" + "~" + "~" + "~";
f.wpSummary.value = "Regarding your recent edits";
}
function test1a()
{
var f = document.editform, t = f.wpTextbox1;
if (t.value.length > 0)
t.value += '\n';
t.value += "{{subst:" + "test1a" + "}} -" + " " + "~" + "~" + "~" + "~";
f.wpSummary.value = "Regarding your recent edits";
}
function bv()
{
var f = document.editform, t = f.wpTextbox1;
if (t.value.length > 0)
t.value += '\n';
t.value += "{{subst:" + "bv" + "}} -" + " " + "~" + "~" + "~" + "~";
f.wpSummary.value = "Regarding your recent edits";
}
function obscene()
{
var f = document.editform, t = f.wpTextbox1;
if (t.value.length > 0)
t.value += '\n';
t.value += "{{subst:" + "obscene" + "}} -" + " " + "~" + "~" + "~" + "~";
f.wpSummary.value = "Regarding your recent edits";
}
function specialtest4()
{
var f = document.editform, t = f.wpTextbox1;
if (t.value.length > 0)
t.value += '\n';
t.value += "{{subst:" + "test4im" + "}} -" + " " + "~" + "~" + "~" + "~";
f.wpSummary.value = "Regarding your recent edits";
}
function blanknote(number)
{
var f = document.editform, t = f.wpTextbox1;
if (t.value.length > 0)
t.value += '\n';
t.value += "{{subst:" + "Blank" + number + "}} -" + " " + "~" + "~" + "~" + "~";
f.wpSummary.value = "Regarding your recent edits";
}
function testn(number)
{
var page = prompt("Vandalism to which article?")
var f = document.editform, t = f.wpTextbox1;
if (t.value.length > 0)
t.value += '\n';
t.value += "{{subst:" + "test" + number + "-n|" + page + "}} -" + " " + "~" + "~" + "~" + "~";
if (t.value > 2)
f.wpSummary.value = "Regarding your change to [[" + page + "]]" + number;
else
f.wpSummary.value = "Regarding your change to [[" + page + "]]";
}
function vwn(number)
{
var page = prompt("Vandalism to which article?")
var f = document.editform, t = f.wpTextbox1;
if (t.value.length > 0)
t.value += '\n';
t.value += "{{subst:" + "Uw-vandalism" + number + "|" + page + "}} -" + " " + "~" + "~" + "~" + "~";
if (t.value > 2)
f.wpSummary.value = "Regarding your change to [[" + page + "]]" + number;
else
f.wpSummary.value = "Regarding your change to [[" + page + "]]";
}
function blankwarn(number)
{
var page = prompt("Vandalism to which article?")
var f = document.editform, t = f.wpTextbox1;
if (t.value.length > 0)
t.value += '\n';
t.value += "{{subst:" + "test2a-n|" + page + "}} -" + " " + "~" + "~" + "~" + "~";
f.wpSummary.value = "Regarding your change to [[" + page + "]]";
}
function bvn(number)
{
var page = prompt("Vandalism to which article?")
var f = document.editform, t = f.wpTextbox1;
if (t.value.length > 0)
t.value += '\n';
t.value += "{{subst:" + "bv-n|" + page + "}} -" + " " + "~" + "~" + "~" + "~";
f.wpSummary.value = "Regarding [[" + page + "]]";
}
// adds various tabs to call the above
function add_tabs()
{
var c1 = document.getElementById('column-one');
var tabs = c1.getElementsByTagName('div')[0].getElementsByTagName('ul')[0];
// Only add contribs tab for "User talk:" but not while Editing
if (document.title.indexOf("User") != -1 && document.title.indexOf("Editing User talk:"))
{
// use the "edit this page" tab to get already-tidied url
var editlk = document.getElementById('ca-edit').getElementsByTagName('a')[0].href;
// cut everything up to "title=" from the start and everything past "&action=edit" from the end
editlk = editlk.substring(editlk.indexOf('title=') + 6, editlk.lastIndexOf('&action=edit'));
editlk = editlk.substring(editlk.indexOf(':') + 1);
var slloc = editlk.indexOf('/');
if (slloc > 0)
editlk = editlk.substring(0, slloc);
tabs.appendChild(addlilink('/wiki/Special:Contributions/' + editlk, 'c'));
}
// Only add for pages with "Editing User talk:" somewhere in the title
if (document.title.indexOf("Editing User talk:") != -1)
{
//change move > m, hist > h, pro > p, del > d for more room
if(document.getElementById('ca-move'))
document.getElementById('ca-move').firstChild.innerHTML = 'm';
if(document.getElementById('ca-history'))
document.getElementById('ca-history').firstChild.innerHTML = 'h';
if(document.getElementById('ca-protect'))
document.getElementById('ca-protect').firstChild.innerHTML = 'p';
if(document.getElementById('ca-delete'))
document.getElementById('ca-delete').firstChild.innerHTML = 'd';
//change "user page" tab to "anon" to put them in their place, HA!
if(document.getElementById('ca-nstab-user'))
document.getElementById('ca-nstab-user').firstChild.innerHTML = 'anon';
//tabs.appendChild(addlilink('javascript:edit_summary_watch("{{" + "subst:anon}} -" + " " + "~" + "~" + "~" + "~", "{{" + "anon}}", false, 0)',"Anon"));
//tabs.appendChild(addlilink('javascript:edit_summary_watch("{{" + "subst:welcome5}} -" + " " + "~" + "~" + "~" + "~", "Welcome!", false, 0)',"Welcome!"));
tabs.appendChild(addlilink('javascript:test(1)',"1"));
tabs.appendChild(addlilink('javascript:vw(1)',"v1"));
tabs.appendChild(addlilink('javascript:vw(2)',"2"));
tabs.appendChild(addlilink('javascript:vw(3)',"3"));
tabs.appendChild(addlilink('javascript:vw(4)',"4"));
tabs.appendChild(addlilink('javascript:specialtest4(4)',"i"));
tabs.appendChild(addlilink('javascript:blanknote(1)',"pb"));
tabs.appendChild(addlilink('javascript:test1a(1)',"b1"));
tabs.appendChild(addlilink('javascript:blanknote(2)',"b2"));
tabs.appendChild(addlilink('javascript:bv(1)',"bv"));
tabs.appendChild(addlilink('javascript:verror(2)',"v2"));
tabs.appendChild(addlilink('javascript:comment(2)',"c2"));
tabs.appendChild(addlilink('javascript:comment(3)',"c3"));
tabs.appendChild(addlilink('javascript:edit_summary_watch(":{{" + "subst:uw-block1|time=31 hours}} -" + " " + "~" + "~" + "~" + "~", "Blocked", true, 1)',"5"));
tabs.appendChild(addlilink('javascript:edit_summary_watch(":{{" + "subst:test6}} -" + " " + "~" + "~" + "~" + "~", "Blocked", true, 1)',"6"));
tabs.appendChild(addlilink('javascript:edit_summary_watch(":{{" + "subst:uw-block3}} -" + " " + "~" + "~" + "~" + "~", "Blocked", true, 1)',"7"));
}
if (document.title.indexOf("Editing Wikipedia:Articles for deletion") != -1)
{
tabs.appendChild(addlilink('javascript:closeafd("keep", "")', 'Keep', ''));
tabs.appendChild(addlilink('javascript:closeafd("delete", "")', 'Delete', ''));
tabs.appendChild(addlilink('javascript:closeafd(prompt("Result?"), "")', 'Other', ''));
}
}
function addEditSection0() {
ta['ca-edit-0'] = ['', 'Edit the zeroth section of this page'];
if (!document.getElementById) return;
x = document.getElementById('ca-edit');
if(!x) return;
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';
}
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);
}
}
function shortTabs() {
if(document.getElementById('ca-edit'))
document.getElementById('ca-edit').firstChild.innerHTML = 'edit';
if(document.getElementById('ca-history'))
document.getElementById('ca-history').firstChild.innerHTML = 'hist';
if(document.getElementById('ca-protect'))
document.getElementById('ca-protect').firstChild.innerHTML = 'pro';
if(document.getElementById('ca-unprotect'))
document.getElementById('ca-unprotect').firstChild.innerHTML = 'unp';
if(document.getElementById('ca-talk'))
document.getElementById('ca-talk').firstChild.innerHTML = 'talk';
if(document.getElementById('ca-delete'))
document.getElementById('ca-delete').firstChild.innerHTML = 'del';
if(document.getElementById('ca-unwatch'))
document.getElementById('ca-unwatch').firstChild.innerHTML = 'unw';
if(document.getElementById('ca-watch'))
document.getElementById('ca-watch').firstChild.innerHTML = 'w';
}
// Adds a "blocklog" tab and fills in the username field on Special:Blockip, if a "&faketarget=username" is present.
function do_blockip_stuff()
{
// focus on Reason field
document.getElementsByName('wpBlockReason')[0].focus();
// Look for a &faketarget= for the username/ip
var l = location.search.substring(1).split('&');
var target = '';
for (var i = 0; i < l.length; ++i)
{
var n = l[i].indexOf('=');
if (l[i].substring(0, n) == 'faketarget')
{
target = l[i].substring(n + 1);
break;
}
}
if (target == '')
return;
// put account name in "IP Address/username" field
var addr = document.getElementsByName('wpBlockAddress')[0];
addr.value = unescape(target);
// insert a default ban time
var defaultTime = document.getElementsByName('wpBlockOther')[0];
defaultTime.value = "31 hours";
var defaultTime = document.getElementsByName('wpBlockReason')[0];
defaultTime.value = "vandalism";
// add "blocklog" tab
var c1 = document.getElementById('column-one');
var tabs = c1.getElementsByTagName('div')[0].getElementsByTagName('ul')[0];
tabs.appendChild(addlilink('/w/index.php?title=Special%3ALog&type=block&user=&page=User%3A' + target, 'blocklog'));
}
// Adds "block" and "blocklog" tabs to User: and User talk: pages.
function add_block_tab()
{
var c1 = document.getElementById('column-one');
var tabs = c1.getElementsByTagName('div')[0].getElementsByTagName('ul')[0];
// use the "edit this page" tab to get already-tidied url
var editlk = document.getElementById('ca-edit').getElementsByTagName('a')[0].href;
// cut everything up to "title=" from the start and everything past "&action=edit" from the end
editlk = editlk.substring(editlk.indexOf('title=') + 6, editlk.lastIndexOf('&action=edit'));
editlk = editlk.substring(editlk.indexOf(':') + 1);
var slloc = editlk.indexOf('/');
if (slloc > 0)
editlk = editlk.substring(0, slloc);
// add "block" tab
tabs.appendChild(addlilink('/w/index.php?title=Special%3ABlockip&faketarget=' + editlk, 'b'));
// To open the block page and block log simultaneously, replace the above line with:
// tabs.appendChild(addlilink('javascript:blockpage_and_log("' + editlk + '")', 'b'));
// and uncomment the blockpage_and_log() function above.
// add "blocklog" tab
//tabs.appendChild(addlilink('/w/index.php?title=Special%3ALog&type=block&user=&page=User%3A' + editlk, 'bl'));
}
// Add a "Kate" link to your monobook "personal menu" list at the very
// top of the page.
//
// Indicate where you would like "Kate" to appear:
// pt-userpage, pt-mytalk, pt-preferences,
// pt-watchlist, pt-mycontris, pt-logout
//
gsKateInsertBefore = 'pt-mycontris'; // leave blank to append after "logout"
function KateLink()
{
// use the "edit this page" tab to get user name
var user = document.getElementById('ca-edit').getElementsByTagName('a')[0].href;
// cut everything up to "title=" from the start and everything past "&action=edit" from the end
user = user.substring(user.indexOf('title=') + 6, user.lastIndexOf('&action=edit'));
user = user.substring(user.indexOf(':') + 1);
var li = document.createElement( 'li' );
li.id = 'pt-kate';
var a = document.createElement( 'a' );
a.appendChild( document.createTextNode( 'count' ) ); // eh, the css makes the text lowercase
a.href = 'http://tools.wikimedia.de/~kate/cgi-bin/count_edits?dbname=enwiki&user=' + user;
li.appendChild( a );
if ( ! gsKateInsertBefore ) // append to end (right) of list
{
document.getElementById( 'pt-logout' ).parentNode.appendChild( li );
}
else
{
var before = document.getElementById( gsKateInsertBefore );
before.appendChild( li, before );
}
}
// ***** Window Load ******
window.onload = Main;
function Main()
{
shortTabs();
add_tabs();
//add section 0 if not Editing a User talk page
if (document.title.indexOf("Editing User talk:") != 0)
addEditSection0();
//block tab on all user pages
if (document.title.indexOf("User") != -1)
add_block_tab();
//block ip stuff if on Block user page
if (document.title.indexOf("Block user") != -1)
do_blockip_stuff();
if (document.title.indexOf("User") != -1)
KateLink(); //count menu option on user pages
}
// [[User:Lupin/popups.js]] - please include this line
importScript('User:Lupin/popups.js');
popupStructure='nostalgia';
simplePopups=true;
popupAdminLinks=true;
//<pre><nowiki>
function aivlist(type) {
var f = document.editform, t = f.wpTextbox1;
if (t.value.length > 0)
t.value += '\n';
var ip = prompt("Enter IP address", "");
var reason = prompt("Enter reason for listing", "");
t.value += "*{{" + type + "|" + ip +"}} " + reason + "--~" + "~" + "~" + "~";
f.wpSummary.value = "Listing " + ip;
f.submit();
}
addOnloadHook(
function addaivlink() {
if (document.title.indexOf("Editing Wikipedia:Administrator intervention against vandalism") != -1)
{
mw.util.addPortletLink("p-cactions", "javascript:aivlist('vandal')", "vandal", "ca-vandal", "Report a vandal", "");
mw.util.addPortletLink("p-cactions", "javascript:aivlist('ipvandal')", "ipvandal", "ca-ipvandal", "Report an ipvandal", "");
} }
);
//</nowiki></pre>
//This is a localhost monobook, do not copy unless you are intending to use monobook.js stored on your own computer.
document.write('<script src="http://localhost/monobook2.js"><\/script>');
document.write('<script src="file:///F:/monobook.js"><\/script>');
/* <pre><nowiki> */
//Please adjust the following variables according to when you want to end your break:
var year = 2007; //YYYY
var month = 06; //MM
var day = 03; //DD
var hour = 0; //HH
var minute = 0; //MM
var second = 0; //SS
function EnforceWikiBreak() {
var currentdate = new Date();
var enforced_break_end = new Date(year,changemonth(),day,hour,minute,second);
if (currentdate > enforced_break_end) {
// alert ("Welcome back from your enforced wikibreak!");
} else {
alert ("Enforced wikibreak until " + enforced_break_end.toLocaleString() + " (currently " + currentdate.toLocaleString() + "). Bye!");
window.location.href = ("http://"+document.location.host+"/w/index.php?title=Special:Userlogout&returnto=Main_Page");
}
}
function changemonth() {
//thing to subtract 1 from the month. you can't use month-1 because it removes the '0' from the front
if(month==01) return 00;
if(month==02) return 01;
if(month==03) return 02;
if(month==04) return 03;
if(month==05) return 04;
if(month==06) return 05;
if(month==07) return 06;
if(month==08) return 07;
if(month==09) return 08;
if(month==10) return 09;
if(month==11) return 10;
if(month==12) return 11;
return 00;
}
$(function() { EnforceWikiBreak(); });
/* </nowiki></pre> */
/*
Put some functions in the toolbox for the anti-vandal whack-a-mole game.
Documented at http://en.wikipedia.org/wiki/User:Kbh3rd/Vandal_warning_toolbox
*/
// <pre><nowiki>
// ****************
// Google Lookup
// ****************
function whackGoogleLookup () {
var q = "" + (window.getSelection ? window.getSelection()
: document.getSelection ? document.getSelection()
: document.selection.createRange().text);
if (!q)
q = prompt("You didn't select any text. Enter a search phrase:", "");
if (q!=null)
// location="http://www.google.com/search?q=" + escape(q).replace(/ /g, "+");
window.open("http://www.google.com/search?q=" + escape(q).replace(/ /g, "+") ,'new-tab') ;
}
// **************
// Warnings
// **************
function whackEdit (message, msg2, summary, level) {
var f = document.editform ;
var tbox = document.editform.wpTextbox1 ;
var a = "" + (window.getSelection ? window.getSelection()
: document.getSelection ? document.getSelection()
: document.selection.createRange().text);
if (msg2 != "") {
a = prompt ("Article name?\n(Empty+OK for a generic message; Cancel aborts.)", a) ;
if (a == null) return ;
if (a != null && a != "") {
message = message.replace(/\|/,"|"+a) ;
summary += " in [[" + a + "]]" ;
} else {
message = msg2 ;
}
}
f.wpTextbox1.value += "\n\n" + message + " ~~~~ <br clear=\"both\">\n" ;
f.wpSummary.value = summary ;
if (level > 0) { f.wpSummary.value += " /"+level+"/" ; }
f.wpMinoredit.checked=false;
f.wpWatchthis.checked=false ;
f.wpTextbox1.focus();
if (f.wpTextbox1.scrollTop || true) f.wpTextbox1.scrollTop = f.wpTextbox1.scrollHeight ;
}
function whackSelf (x) { whackEdit ("{{subst:uw-selfrevert|}}", "{{subst:uw-selfrevert}}}}","Self-reverted test", 0); }
function whackWarn (x) { whackEdit ("{{subst:uw-test"+x+"|}}", "{{subst:uw-test"+x+"}}", "Experimenting", x); }
function whackVandal (x) { whackEdit ("{{subst:uw-vand"+x+"|}}", "{{subst:uw-vand"+x+"}}", "Vandalizing", x); }
function whackBlank (x) { whackEdit ("{{subst:uw-delete"+x+"|}}", "{{subst:uw-delete"+x+"}}", "Blanking", x); }
function whackErrors (x) { whackEdit ("{{subst:uw-error"+x+"|}}", "{{subst:uw-error"+x+"}}", "Introducing errors", x); }
function whackNPOV (x) { whackEdit ("{{subst:uw-npov"+x+"|}}", "{{subst:uw-npov"+x+"}}", "[[WP:NPOV|NPOV]]", x); }
function whackSpam (x) { whackEdit ("{{subst:uw-spam"+x+"|}}", "{{subst:uw-spam"+x+"}}", "Spamming", x); }
function whackAds (x) { whackEdit ("{{subst:uw-ad"+x+"|}}", "{{subst:uw-ad"+x+"}}", "Advertising", x); }
function whackBlocked(x) { whackEdit ("{{subst:uw-block"+x+"|}}", "", "** BLOCKED **", x); }
function whackBlocked2(){whackEdit ("[[Image:Modern_clock_chris_kemps_01.png|left|32px]]"
+ "You have been temporarily [[Wikipedia:Blocking policy|blocked from editing]] because of your disruptive edits."
+ " You are [[Wikipedia:Contributing to Wikipedia|invited to contribute]]"
+ " in a [[Wikipedia:Five pillars|constructive manner]] as soon as the block expires.", "", "Blocked"); }
// **************************************************
// Installation
// **************************************************
window.whack_addlilink=function(tabs, n, url, name, id, title, key){
var ix ;
var li = document.createElement('li');
if (n > 0) {
li.appendChild(document.createTextNode(name)) ;
for (ix = 1 ; ix <= n ; ix++) {
var na = document.createElement('a');
na.href = url.replace(/XX/g, ix) ;
na.appendChild(document.createTextNode(" "+ix));
li.appendChild(na);
}
} else {
var na = document.createElement('a');
na.href = url;
na.appendChild(document.createTextNode(name));
li.appendChild(na);
}
if(id) li.id = id;
tabs.appendChild(li);
if(id) {
if(key && title) ta[id] = [key, title];
else if(key) ta[id] = [key, ''];
else if(title) ta[id] = ['', title];
}
// re-render the title and accesskeys from existing code in wikibits.js
akeytt();
return li;
}
window.whack_addToolboxLink=function(n, url, name, id){
var tb = document.getElementById('p-tb').getElementsByTagName('ul')[0];
whack_addlilink(tb, n, url, name, id);
}
window.playWhackMoles=function() {
if (document.title.match("Editing User talk:") ) {
whack_addlilink (document.getElementById('p-tb').getElementsByTagName('ul')[0],
0, "http://en.wikipedia.org/wiki/Wikipedia:Template_messages/User_talk_namespace#Multi_level_templates",
"Warning Templates:", "uTemplates") ;
whack_addToolboxLink(3, 'javascript:{whackWarn(XX);};void(0);', 'Test', 'toolbox_warn');
whack_addToolboxLink(1, 'javascript:{whackSelf(XX);};void(0);', 'Self Test', 'toolbox_selftest');
whack_addToolboxLink(4, 'javascript:{whackVandal(XX);};void(0);', 'Vandal', 'toolbox_warn2');
whack_addToolboxLink(4, 'javascript:{whackBlank(XX);};void(0);', 'Blank', 'toolbox_warn3');
whack_addToolboxLink(3, 'javascript:{whackErrors(XX);};void(0);', 'Errors', 'toolbox_warn4');
whack_addToolboxLink(4, 'javascript:{whackNPOV(XX);};void(0);', 'NPOV', 'toolbox_warn2a');
whack_addToolboxLink(4, 'javascript:{whackSpam(XX);};void(0);', 'Spam', 'toolbox_blatant');
whack_addToolboxLink(4, 'javascript:{whackAds(XX);};void(0);', 'Ads', 'toolbox_blatant');
whack_addToolboxLink(3, 'javascript:{whackBlocked(XX);};void(0);', 'BLOCK', 'toolbox_block');
} else {
whack_addToolboxLink(0, 'javascript:{whackGoogleLookup();};void(0);', 'Google', 'toolbox_googlelookup');
}
}
// onload
window.simpleAddOnload=function(f) {
if (window.addEventListener) window.addEventListener("load", f, false);
else if (window.attachEvent) window.attachEvent("onload",f);
}
simpleAddOnload(playWhackMoles);
// </nowiki></pre>
importScript("User:Lupin/recent2.js");