User:Maxim's JS test account/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 is at User:Maxim's JS test account/monobook.css. |
// 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-logout'; // leave blank to append after "logout"
//
function KateLink()
{
var user = document.getElementById( 'pt-userpage').firstChild.firstChild.data;
var li = document.createElement( 'li' );
li.id = 'pt-kate';
var a = document.createElement( 'a' );
a.appendChild( document.createTextNode( 'Kate' ) ); // eh, the css makes the text lowercase
a.href = 'http://tools.wikimedia.de/~interiot/cgi-bin/Tool1/wannabe_kate?username=' + user + '&site=en.wikipedia.org';
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 );
}
}
if ( window.addEventListener ) window.addEventListener( 'load', KateLink, false );
else if ( window.attachEvent ) window.attachEvent ( 'onload', KateLink );
/* <nowiki> */
function changeLinks(){
if(!document.getElementById) return;
// document.getElementById('pt-userpage').firstChild.innerHTML = 'me';
// document.getElementById('pt-mytalk').firstChild.innerHTML = 'talk';
// document.getElementById('pt-watchlist').firstChild.innerHTML = 'watchlist';
document.getElementById('pt-preferences').firstChild.innerHTML = 'prefs';
document.getElementById('pt-mycontris').firstChild.innerHTML = 'contribs';
// document.getElementById('pt-logout').firstChild.innerHTML = 'log out';
// document.getElementById('ca-talk').firstChild.innerHTML = 'talk';
// document.getElementById('ca-edit').firstChild.innerHTML = 'edit this page';
}
function addPurge(){
ta['ca-purge'] = ['g', 'Purge the internal cache for this page'];
var x = document.getElementById('ca-history');
if(!x) return;
if(x.children) x = x.children[0].href;
else x = x.childNodes[0].href;
addtab(x.replace(/=history/, "=purge"), 'purge');
akeytt();
}
function myLoadFuncs(){
changeLinks();
addPurge();
}
if (window.addEventListener) window.addEventListener("load",myLoadFuncs,false);
else if (window.attachEvent) window.attachEvent("onload",myLoadFuncs);
// <pre><nowiki>
function addlilink(tabs, url, name, id, title, key){
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);
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;
}
// </nowiki></pre>
function addtab(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;
}
function vandal(tmplt) {
var txt = document.editform.wpTextbox1;
if(txt.value.length > 0) txt.value += '\n';
txt.value += '{{subst:' + tmplt + '}}';
txt.focus();
txt = document.editform.wpSummary;
txt.value = tmplt
document.editform.wpWatchthis.checked = false;
}
function welc(tmplt) {
var txt = document.editform.wpTextbox1;
if(txt.value.length > 0) txt.value += '\n';
txt.value += 'Hi {{PAGENAME}}, {{User:Andrevan/welcome}} ~~' + '~~';
txt.focus();
txt = document.editform.wpSummary;
txt.value = "welcome"
document.editform.wpWatchthis.checked = false;
}
function speedy (criterion) {
var form = document.forms.deleteconfirm;
form.wpReason.value = criterion;
}
function morelinks() {
var tabs = document.getElementById('p-cactions').getElementsByTagName('ul')[0];
if(document.title.indexOf("Editing User talk:") == 0) {
addlilink(tabs, 'javascript:vandal("test")', '1', '');
addlilink(tabs, 'javascript:vandal("test2")', '2', '');
addlilink(tabs, 'javascript:vandal("test3")', '3', '');
addlilink(tabs, 'javascript:vandal("test4")', '4', '');
addlilink(tabs, 'javascript:vandal("test5")', '5', '');
addlilink(tabs, 'javascript:vandal("spam")', 's1', '');
addlilink(tabs, 'javascript:vandal("spam3")', 's3', '');
addlilink(tabs, 'javascript:vandal("spam4")', 's4', '');
addlilink(tabs, 'javascript:vandal("blanking")', 'bl', '');
addlilink(tabs, 'javascript:welc("welcome")', 'welc', '');
}
}
// Adds a "blocklog" tab and fills in the username field on Special:Blockip, if a "&faketarget=username" is present.
function do_blockip_stuff()
{
// 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);
// add "blocklog" tab
var c1 = document.getElementById('column-one');
var tabs = c1.getElementsByTagName('div')[0].getElementsByTagName('ul')[0];
tabs.appendChild(addtab('/w/index.php?title=Special%3ALog&type=block&user=&page=User%3A' + target, 'log'));
tabs.appendChild(addtab('http://tools.wikimedia.de/~interiot/cgi-bin/Tool1/wannabe_kate?username=' + target + '&site=en.wikipedia.org', 'kate'));
}
// 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(addtab('/w/index.php?title=Special%3ABlockip&faketarget=' + editlk, 'Block'));
// add "blocklog" tab
tabs.appendChild(addtab('/w/index.php?title=Special%3ALog&user=&page=User%3A' + editlk, 'log'));
tabs.appendChild(addtab('http://tools.wikimedia.de/~interiot/cgi-bin/Tool1/wannabe_kate?username=' + editlk + '&site=en.wikipedia.org', 'kate'));
}
function do_onload()
{
if (document.title.indexOf('User:') == 0
|| document.title.indexOf('User talk:') == 0
|| document.title.indexOf('Editing User:') == 0
|| document.title.indexOf('Editing User talk:') == 0)
add_block_tab();
else if (document.title.indexOf('Block user') == 0) // could stand to be more robust
do_blockip_stuff();
}
if (window.addEventListener)
window.addEventListener("load", do_onload, false);
else if (window.attachEvent)
window.attachEvent("onload", do_onload);
window.onload = Main;
function Main() {
morelinks();
LivePreviewInstall();
}
/* </nowiki> */
// <pre><nowiki>
if (window.addEventListener) window.addEventListener("load", addPurge, false);
else if (window.attachEvent) window.attachEvent("onload", addPurge);
// </nowiki></pre>
/***** InstaView *****/
document.write('<script type="text/javascript" src="http://en.wikipedia.org/w/index.php?title=User:Pilaf/instaview.js&action=raw&ctype=text/javascript&dontcountme=s"></script>')
InstaView.conf.user.name = 'User Name'
/* This is to keep track of who is using InstaView: [[User:Pilaf/instaview.js]] */
// [[User:Zocky/PicturePopups.js]] - please include this line
document.write('<script type="text/javascript" src="'
+ 'http://en.wikipedia.org/w/index.php?title=User:Zocky/PicturePopups.js'
+ '&action=raw&ctype=text/javascript&dontcountme=s"></script>');
//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 = t.value.split('{{REMOVE THIS TEMPLATE WHEN CLOSING THIS AfD').join('{{ns:0');
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 = "{{" + "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 = "{{" + "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 = "{{" + "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 = "{{" + "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 = "{{" + "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)
{
addPortletLink('p-cactions', 'javascript:autoafd_result()', "close");
addPortletLink('p-cactions', 'javascript:autoafd_relist()', "relist");
}
if (document.title.indexOf("Editing Talk:") != -1)
{
addPortletLink('p-cactions', 'javascript:autoafd_keep()', "keep");
addPortletLink('p-cactions', 'javascript:autoafd_no_consensus()', "no consensus");
addPortletLink('p-cactions', 'javascript:autoafd_redirect()', "redirect");
addPortletLink('p-cactions', 'javascript:autoafd_merge()', "merge");
addPortletLink('p-cactions', 'javascript:autoafd_other()', "other");
}
}
addOnloadHook(autoafd_add_afd_tabs);
//end AfD closing script
//
//Auto AFD script
//Please include the two following lines
//Modified version of AutoVFD script to work with AFD
//Script Modified by User:Jtkiefer
//Further modified to work with [[WP:AFDC]] by [[User:ais523]]
// This needs to change depending on skin used.
function add_link(url, name)
{
var na = document.createElement('a');
na.setAttribute('href', url);
na.appendChild(document.createTextNode(name));
var li = document.createElement('li');
li.appendChild(na);
var tabs = document.getElementById('p-cactions').getElementsByTagName('ul')[0];
tabs.appendChild(li);
}
function strip_namespace(target)
{
var colon = target.indexOf(':');
if (colon != -1)
{
var spaces = new Array('User', 'Wikipedia', 'Image', 'MediaWiki', 'Template', 'Help', 'Category');
var ns = target.substring(0, colon);
if (ns == '' || ns == 'Talk')
return target.substring(colon + 1);
else
for (var i = 0; i < spaces.length; ++i)
{
if (ns == spaces[i]
|| ns == spaces[i] + '_talk')
return target.substring(colon + 1);
}
}
return target;
}
function afd()
{
document.editform.wpTextbox1.value = '{{' + 'subst:afd}}\n' + document.editform.wpTextbox1.value;
document.editform.wpSummary.value = 'afd';
var target = document.editform.action;
target = target.substring(target.indexOf('title=') + 6,
target.lastIndexOf('&action=submit'));
var months = new Array('January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December');
var date = new Date();
date = date.getUTCFullYear() + '_' + months[date.getUTCMonth()] + '_' + date.getUTCDate();
var pagename = strip_namespace(target);
window.open('/w/index.php?title=Wikipedia:Articles_for_deletion/' + pagename + '&action=edit&fakeaction=afdsub&faketarget=' + target,
'Afd ' + unescape(target),
'status,toolbar,location,menubar,directories,resizeable,scrollbars');
window.open('/w/index.php?title=Wikipedia:Articles_for_deletion/Log/' + date + '&action=edit&fakeaction=afdlist&faketarget=' + pagename,
'AfdLog ' + unescape(target),
'status,toolbar,location,menubar,directories,resizeable,scrollbars');
}
function autoafd()
{
if (document.title.indexOf('Editing ') == 0)
{
var action = '';
var target = '';
if (location.search)
{
var l = location.search.substring(1).split('&');
for (var i = 0; i < l.length; ++i)
{
var eq = l[i].indexOf('=');
var name = l[i].substring(0, eq);
if (name == 'fakeaction')
action = l[i].substring(eq + 1);
else if (name == 'faketarget')
target = unescape(l[i].substring(eq + 1)).replace(/_/g, ' ');
}
}
if (action == 'afdlist')
{
document.editform.wpTextbox1.value += '{{' + 'Wikipedia:Articles for deletion/' + target + '}}\n';
document.editform.wpSummary.value = '[[Wikipedia:Articles for deletion/' + target + ']]';
}
else if (action == 'afdsub')
{
if (document.editform.wpTextbox1.value.length > 0)
{
target = document.editform.action;
target = unescape(target.substring(target.indexOf('title=') + 6, target.lastIndexOf('&action=submit'))).replace(/_/g, ' ');
window.alert("There's an old afd at the default location already.\n\n" +
'Please either move it out of the way (and update existing links to it), or file the Afd by hand in another location (such as [[' + target + ' (2)]]).');
}
else
document.editform.wpTextbox1.value += '===[[' + target + ']]===\n' +
'{{'+'REMOVE THIS TEMPLATE WHEN '+'CLOSING THIS AfD|>>add cat here<<}}\n'+
':{{la|' + target + '}} – <includeonly>([[Wikipedia:Articles for deletion/' + target + '|View AfD]])</includeonly>\n'+
'Reason for nomination. ~~' + '~~\n*\n*\n*\n';
}
else
add_link('javascript:afd()', 'Afd');
}
}
addOnloadHook(autoafd);
//
function addLink(where, url, name, id, title, key, after) {
// addLink() accepts either an id or a DOM node, addPortletLink() only takes a node
if (after && !after.cloneNode)
after = document.getElementById(after);
return addPortletLink(where, url, name, id, title, key, after);
}