User:Korath/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:Korath/monobook.css. |
//<pre>
// NO GUARANTEE THAT THIS WORKS
// NO GUARANTEE THAT THIS DOESN'T CAUSE HARM
//
// Based directly on [[User:Korath/autovfd.js]] on English Wikipedia
// by [[User:msh210]] on English Wikipedia
// This needs to be changed depending on the skin used.
// Current version is for the monobook skin, with the links at the top.
function add_link(url, name)
{
var li=document.createElement('li');
var na = document.createElement('a');
na.setAttribute('href', url);
var txt = document.createTextNode(name);
li.appendChild(na);
na.appendChild(txt);
var ul = document.getElementById('p-cactions').getElementsByTagName('ul')[0];
if (ul.hasChildNodes())
ul.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 vfd()
{
document.editform.wpTextbox1.value = '{{' + 'subst:vfd}}\n' + document.editform.wpTextbox1.value;
document.editform.wpSummary.value = 'vfd';
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('http://en.wikipedia.org/w/index.php?title=Wikipedia:Votes_for_deletion/' + pagename + '&action=edit&fakeaction=vfdsub&faketarget=' + target,
'Vfd_' + unescape(target),
'status,toolbar,location,menubar,directories,resizeable,scrollbars');
window.open('http://en.wikipedia.org/w/index.php?title=Wikipedia:Votes_for_deletion/Log/' + date + '&action=edit&fakeaction=vfdlist&faketarget=' + pagename,
'VfdLog_' + unescape(target),
'status,toolbar,location,menubar,directories,resizeable,scrollbars');
}
function autovfd()
{
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 == 'vfdlist')
{
document.editform.wpTextbox1.value += '{{' + 'Wikipedia:Votes for deletion/' + target + '}}\n';
document.editform.wpSummary.value = '[[Wikipedia:Votes for deletion/' + target + ']]';
}
else if (action == 'vfdsub')
{
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 vfd at the default location already.\n\n" +
'Please either move it out of the way (and update existing links to it), or file the Vfd by hand in another location (such as [[' + target + ' (2)]]).');
}
else
document.editform.wpTextbox1.value += '===[[' + target + ']]===\n' +
'Reason for nomination. ~' +'~' +'~' +'~\n*\n*\n*\n';
}
else
add_link('javascript:vfd()', 'VFD');
}
}
if (window.addEventListener)
window.addEventListener('load', autovfd, false);
else if (window.attachEvent)
window.attachEvent('onload', autovfd);
//</pre>