User:Jayjg/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:Jayjg/monobook.css. |
importScript('User:Henrik/js/automod.js');
//<pre><nowiki>
// [[User:Lupin/popups.js]]
//<nowiki> Helper tools
mw.loader.load(
'https://wiki.riteme.site/w/index.php?title=User:Voice_of_All/Addtabs/monobook.js'
+ '&action=raw&ctype=text/javascript&dontcountme=s');
//</nowiki>
//popups!
mw.loader.load(
'https://wiki.riteme.site/w/index.php?title=User:Lupin/popups.js'
+ '&action=raw&ctype=text/javascript&dontcountme=s');
popupAdminLinks=true;
//
//</nowiki>[[Category:VoA scripted users|{{PAGENAME}}]]
// Useful stuff from [[Wikipedia:WikiProject_User_scripts]]
function addToolboxLink(url, name, id){
var tb = document.getElementById('p-tb').getElementsByTagName('ul')[0];
addlilink(tb, url, name, id);
}
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;
}
function addTab(url, name, id, title, key){
var tabs = document.getElementById('p-cactions').getElementsByTagName('ul')[0];
addlilink(tabs, url, name, id, title, key);
}
// culled from [[User:Lupin/popups.js]]
function nichalp_articleFromURL(h) {
if (typeof h != 'String') h=String(h);
h=decodeURI(h);
var m=RegExp('[^:]*://en\\.wikipedia\\.org/(wiki/|w/index\\.php\\?title=)([^&?]*)').exec(h);
if(m===null) return null;
return m[2];
}
function nichalp_isIpUser(user) {
return RegExp('(User:)?' +
'((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\\.){3}' +
'(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])')
.test(user);
}
function nichalp_removeAnchor(article) {
// is there a #? if not, we're done
var i=article.indexOf('#');
if (i == -1) return article;
return article.substring(0,i);
}
function nichalp_userName(article) {
var i=article.indexOf('User');
var j=article.indexOf(':');
if (i != 0 || j == -1) return null;
var k=article.indexOf('/');
if (k==-1) return article.substring(j+1);
else return article.substring(j+1,k);
}
// do it
function nichalp_customLinks() {
var article=nichalp_articleFromURL(document.location.href);
if (!article) return;
var user=nichalp_userName(article);
if(!user) return;
user=nichalp_removeAnchor(user);
if (!nichalp_isIpUser(user)) {
addToolboxLink('http://tools.wikimedia.de/~interiot/cgi-bin/count_edits?dbname=enwiki&user='+user, user+"'s edit count", 'toolbox_katestool');
}
var special='http://wiki.riteme.site/w/index.php?title=Special:';
addToolboxLink(special + 'Log&user='+user, user+"'s log", 'toolbox_userlog');
addToolboxLink(special + 'Blockip&ip='+user, 'Block '+user, 'toolbox_blockuser');
addToolboxLink(special + 'Ipblocklist&action=unblock&ip='+user, 'Unblock '+user, 'toolbox_unblockuser');
}
// make it all happen on page load
if (window.addEventListener) window.addEventListener("load",nichalp_customLinks,false);
else if (window.attachEvent) window.attachEvent("onload",nichalp_customLinks);
else {
window._old_nichalp_onload = window.onload;
window.onload = function() { window._old_nichalp_onload(); nichalp_customLinks(); }
}
//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 afdaddlilink(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 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 = "Close as " + close;
}
function 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 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 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 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 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 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 add_afd_tabs()
{
var c1 = document.getElementById('column-one');
var tabs = c1.getElementsByTagName('div')[0].getElementsByTagName('ul')[0];
// Only add for pages with the right string somewhere in the title
if (document.title.indexOf("Editing Wikipedia:Articles for deletion/") != -1)
{
tabs.appendChild(afdaddlilink('javascript:result()',"close"));
tabs.appendChild(afdaddlilink('javascript:relist()',"relist"));
}
if (document.title.indexOf("Editing Talk:") != -1)
{
tabs.appendChild(afdaddlilink('javascript:keep()',"keep"));
tabs.appendChild(afdaddlilink('javascript:no_consensus()',"no consensus"));
tabs.appendChild(afdaddlilink('javascript:redirect()',"redirect"));
tabs.appendChild(afdaddlilink('javascript:merge()',"merge"));
tabs.appendChild(afdaddlilink('javascript:other()',"other"));
}
}
addOnloadHook(add_afd_tabs);
//end AfD closing script
//Admin tools
document.write('<script type="text/javascript" src="'
+ 'http://wiki.riteme.site/w/index.php?title=User:Voice_of_All/Protection/monobook.js'
+ '&action=raw&ctype=text/javascript&dontcountme=s"></script>');
//
// Script from [[User:MarkS/extraeditbuttons.js]]
document.write('<script type="text/javascript" src="'
+ 'http://wiki.riteme.site/w/index.php?title=User:MarkS/extraeditbuttons.js'
+ '&action=raw&ctype=text/javascript&dontcountme=s"></script>');
//END
// ***** Window Load ******
window.onload = Main;
function Main()
{
//shortTabs();
add_tabs();
if (document.title.indexOf("Editing User talk:") == -1)
addEditSection0();
}
//
//from Func, hacked into warn tabs only
//***********************
//
// Released into the public domain, btw.
// Func's monobook.js, now with ADMIN powers.... :)
//
if ( window.addEventListener ) // modern browsers, screw IE :)
{
function WikiInit()
{
Wiki = {}; // global
Wiki.href = window.location.href;
Wiki.path = window.location.pathname;
Wiki.quer = window.location.search;
if ( Wiki.quer.length < 2 ) Wiki.quer = '';
Wiki.wiki = ! Wiki.path.indexOf( '/wiki/' );
Wiki.diff = Wiki.quer.indexOf( 'diff=' ) != -1;
Wiki.edit = ( Wiki.quer.indexOf( 'action=edit' ) != -1 ) || ( Wiki.quer.indexOf( 'action=submit' ) != -1 );
Wiki.user = Wiki.href.indexOf( 'User:' ) != -1; // make more robust
Wiki.talk = Wiki.href.indexOf( 'User_talk:' ) != -1; // make more robust
Wiki.spec = Wiki.href.indexOf( 'Special:' ) != -1;
Wiki.recentchanges =
Wiki.href.indexOf( 'Special:Recentchanges' ) != -1 ||
Wiki.href.indexOf( 'Special%3ARecentchanges' ) != -1 ;
}
// Pass actions from one page to the next via
// window.name; which is faster and easier than
// using a cookie.
//
function PassItOn( _action_ )
{ if ( _action_ ) window.name = 'wpFuncAction=' + _action_;
else
{ var hack = window.name; window.name = '';
if ( ! hack.indexOf( 'wpFuncAction=' ) )
{ hack = hack.substr( 13 );
if ( hack == 'lastdiff' )
{ if ( Wiki.quer )
window.location.href += '&diff=0';
else
window.location.href += '?diff=0';
}
// more to come....
}
}
}
function wpFuncPreLoad()
{
WikiInit(); // Global Wiki object.
PassItOn(); // Do we need to be somewhere else?
}
wpFuncPreLoad();
// Remind me to ask the developers to throw
// unique IDs onto important elements!!!
//
function GetByClass( className, tagName, elemObj )
{ var i, filter, found = [];
elemObj = elemObj || document;
if ( tagName )
{ filter = elemObj.getElementsByTagName( tagName );
for ( i = 0; i < filter.length; i++ )
if ( filter[ i ].className == className )
found.push( filter[ i ] );
}
else // blah, do it when I need it
{
}
return found;
}
function SP(x)
{ var i, s = ''; x = x || 1; while ( x-- ) s += ' ';
return document.createTextNode( s );
}
function NB(x)
{ var i, s = ''; x = x || 1; while ( x-- ) s += '\xA0';
return document.createTextNode( s );
}
function BR(){ return document.createElement( 'br' ) }
function NewLink( txt, url, plainlinks, linkColor )
{ var a = document.createElement( 'a' );
a.appendChild( document.createTextNode( txt ) );
a.href = url;
if ( plainlinks ) a.className = 'plainlinks';
if ( linkColor )
{ if ( typeof linkColor == "string" )
a.style.color = linkColor;
else a.style.color = '#FF0000'; // old default behavior
}
return a;
}
function RCPatrol() // for admins
{
var table, TDs, otitle, ntitle, prevLink, currLink, link, rollback, contribs, block;
var tr, td;
if ( Wiki.edit )
{
gEditForm = document.getElementById( 'editform' );
gTextBox = gEditForm[ 'wpTextbox1' ];
gSummary = gEditForm[ 'wpSummary' ];
gMinorBox = gEditForm[ 'wpMinoredit' ];
gWatchBox = gEditForm[ 'wpWatchthis' ];
var addtexts = document.createElement( 'div' );
function Inserter( seeText, addText, editSum, addLoc, color, submit ) // local function
{
var a = NewLink( seeText, '', true, color );
a.addText = addText;
a.addLoc = addLoc || 8; // 2 == top; 5 == insertion-loc; 8 == bottom
a.editSum = editSum || '';
a.submit = submit || false;
a.onclick = function()
{
if ( this.addLoc == 8 ) gTextBox.value += this.addText;
else if ( this.addLoc == 2 ) gTextBox.value = this.addText + gTextBox.value;
else /* this.addLoc == 5; Safari problems */ ;
gMinorBox.checked = true;
// gWatchBox.checked = false;
if ( this.editSum ) gSummary.value += this.editSum;
if ( this.submit ) gEditForm.submit();
return false;
}
return a;
}
if ( Wiki.talk ) // here is where we tell the vandals to bugger off
{
var kTest = '#0000AA', // blue
kWarn = '#00AA00', // green
kFinal = '#AAAA00', // yellow
kBlock = '#AA0000'; // red
var tableTags =
[ [ [ 'uw-create', 'uw-create1' ],
[ 'test2', 'uw-test2', 'uw-uhblock', 'uw-uhblock' ], // special case
[ 'uw-vandalism3', 'uw-vandalism3' ],
[ 'test4', 'uw-vand4' ],
[ 'test5', 'uw-vblock' ]
],
[ null,
[ 'blanking', 'uw-delete1' ],
[ 'blanking2', 'uw-delete2' ],
[ 'blanking3', 'uw-delete3' ],
[ 'blanking4', 'blocked' ]
],
[ [ 'drmafd', 'removing AFDs' ],
[ 'drmafd2', 'removing AFDs, 2nd' ],
[ 'drmafd3', 'removing AFDs, 3rd' ],
[ 'drmafd4', 'final warning' ],
[ 'drmafd5', 'blocked' ]
],
[ [ 'spam', 'uw-spam1' ],
[ 'spam2', 'uw-spam2' ],
[ 'spam2a', 'uw-spam3' ],
[ 'uw-speedy1', 'uw-speedy1' ],
[ 'spam4', 'blocked' ]
],
[ [ 'username', 'uw-username' ],
[ 'Whois', 'Whois' ],
[ 'repeatvandal', 'repeatvandal' ],
[ 'uw-defam3', 'final warning' ],
[ 'indefblockeduser', 'blocked' ]
],
[ null,
null,
[ '3RR', '3RR warning' ],
[ '3RR2', 'final 3RR warning' ],
[ '3RR3', 'blocked for 3RR' ]
],
[ null,
null,
[ 'attack', 'personal attacks' ],
null,
null
]
];
table = document.createElement( 'table' );
// Formatting
//
table.style.fontSize = 'x-small';
var i, j, a, color;
for ( i = 0; i < tableTags.length; i++ )
{ tr = document.createElement( 'tr' );
a = tableTags[ i ];
for ( j = 0; j < 5; j++ )
{ td = document.createElement( 'td' );
color = ( j == 0 ) ? kTest :
( j < 3 ) ? kWarn :
( j == 3 ) ? kFinal :
kBlock ;
if ( a[ j ] )
{ td.appendChild(
Inserter(
a[ j ][ 0 ], // click on text
'{{subst:' + a[ j ][ 0 ] + '}} ~~~~\n\n', // insert this text
a[ j ][ 1 ], // edit summary text
8, // insert at end
color
)
);
td.appendChild( NB() );
td.appendChild(
Inserter(
'!', // click on text
'{{subst:' + a[ j ][ 0 ] + '}} ~~~~\n\n', // insert this text
a[ j ][ 1 ], // edit summary text
8, // insert at end
color,
true // auto-sumbit
)
);
if ( a[ j ][ 2 ] ) // 2 links in one cell, ie: test2a
{ td.appendChild( BR() );
td.appendChild(Inserter(a[j][2],'{{subst:'+a[j][2]+'}} ~~~~\n\n',a[j][3],8,color));
td.appendChild( NB() );
td.appendChild(Inserter('!','{{subst:'+a[j][2]+'}} ~~~~\n\n',a[j][3],8,color,true));
}
}
else td.appendChild( NB() );
tr.appendChild( td );
}
table.appendChild( tr );
}
addtexts.appendChild( table );
var span = document.createElement( 'span' );
span.style.fontSize = 'x-small';
span.appendChild(Inserter('W-graphical','{{subst:W-link}} ~~~~\n\n','W-link',8,'#0000FF'));
span.appendChild(NB());
span.appendChild(Inserter('!','{{subst:W-graphical} ~~~~\n\n','welcome',8,'#0000AA',true));
span.appendChild( NB(4) );
span.appendChild(Inserter('nothanks|PAGE','{{subst:nothanks|PAGE}} ~~~~\n\n','copyvio',8,'#0000AA'));
span.appendChild( NB(4) );
span.appendChild(Inserter('vanity|PAGE','{{subst:vanity|PAGE}} ~~~~\n\n','[[WP:NOT]]',8,'#0000AA'));
span.appendChild( NB(4) );
addtexts.appendChild( span );
}
gEditForm.parentNode.insertBefore( addtexts, gEditForm );
}
}
// Due to problems with Safari, this CURRENTLY will only insert at the END for now.
//
function FieldInsert( field, text, _where_ )
{
field.value += text;
}
function PortletMenu( id ) // constructor
{
this.port = document.getElementById( id );
this.menu = this.port.getElementsByTagName( 'ul' )[ 0 ];
this.menu.style.textTransform = 'none'; // override the CSS
this.items = {};
this.links = {};
var i, o, items = this.menu.getElementsByTagName( 'li' );
for ( i = 0; i < items.length; i++ )
{
// now with sanity checks
//
if ( ( o = items[ i ] ) )
{ this.items[ o.id ] = o;
if ( o.firstChild && o.firstChild.href )
{
this.links[ o.id ] = o.firstChild;
this.links[ o.id ].style.textTransform = 'none'; // I could do this in the .css...
}
}
}
this.register = function( id, txt, url ) // internal, basically
{ var li = document.createElement( 'li' );
li.id = id;
var a = NewLink( txt, url );
li.appendChild( a );
this.items[ id ] = li;
this.links[ id ] = a;
a.style.textTransform = 'none'; // I hate css so much....
return li;
}
this.append = function( id, txt, url )
{ this.menu.appendChild( this.register( id, txt, url ) );
};
this.insert = function( before, id, txt, url )
{ this.menu.insertBefore( this.register( id, txt, url ), this.items[ before ] );
};
this.follow = function( after, id, txt, url )
{ this.menu.insertBefore( this.register( id, txt, url ), this.items[ after ].nextSibling );
}
this.getText = function( id ){ return this.links[ id ].firstChild.nodeValue };
this.setText = function( id, txt ){ this.links[ id ].firstChild.nodeValue = txt };
this.getHref = function( id ){ return this.links[ id ].href };
this.setHref = function( id, url ){ this.links[ id ].href = url };
}
function PageActions()
{ // ca-nstab-main Article /wiki/PAGE | /w/...action=edit
// ca-nstab-user User page /wiki/User:USER | /w/...action=edit
// ca-article Special Page (I find 'ca-article' slightly ironic, since it isn't.)
//
// ca-talk Discussion /wiki/Talk:... User_talk... /w/...action=edit
//
// ca-edit Edit this page /w/...action=edit
// ca-addsection + /w/...action=edit§ion=new
// ca-viewsource View source /w/...action=edit
//
// ca-history History /w/...action=history
//
// ca-protect Protect /w/...action=protect
// ca-delete Delete /w/...action=delete
//
// ca-move Move Special:Movepage/PAGE
//
// ca-watch Watch /w/...action=watch
// ca-unwatch Unwatch /w/...action=unwatch
//
// User Talk Edits Logs Edit 0 + History Diff Protect Delete Move Watch Logs Purge
// Page Talk Edit 0 History Diff Protect Delete Move Watch Logs Purge
// As an admin, I'm not sure when this would be nessesary....
//
var edit = PageMenu.items[ 'ca-viewsource' ] ? 'ca-viewsource' : 'ca-edit';
// I need the space.
//
if ( PageMenu.items[ 'ca-talk' ] ) PageMenu.setText( 'ca-talk', 'Talk' );
if ( PageMenu.items[ 'ca-edit' ] ) PageMenu.setText( 'ca-edit', 'Edit' );
if ( PageMenu.items[ 'ca-viewsource' ] ) PageMenu.setText( 'ca-viewsource', 'View' );
// Move the offset from off of the right of ca-talk to the left of ca-edit
//
// from /skins-1.5/monobook/main.css :
//
// /* offsets to distinguish the tab groups */
// li#ca-talk { margin-right: 1.6em; }
// li#ca-watch, li#ca-unwatch, li#ca-varlang-0, li#ca-print { margin-left: 1.6em; }
//
if ( PageMenu.items[ 'ca-talk' ] )
{
PageMenu.items[ 'ca-talk' ].style.marginRight = '0.3em'; // ??? how to just go back to the browser's default ???
PageMenu.items[ edit ].style.marginLeft = '1.6em';
}
if ( PageMenu.items[ 'ca-nstab-user' ] )
{
PageMenu.setText( 'ca-nstab-user', 'User' );
// User: or User talk:
//
var user = document.getElementsByTagName( 'h1' )[ 0 ].firstChild.nodeValue;
user = user.substr( user.indexOf( ':' ) + 1 );
if ( user.indexOf( '/' ) != -1 ) // subpage
user = user.split( '/' )[ 0 ];
PageMenu.insert( edit, 'ca-edits', 'Edits', '/wiki/Special:Contributions/' + user );
PageMenu.insert( edit, 'ca-logs', 'Logs', '/w/index.php?title=Special%3ALog&user=' + user );
}
}
function wpFuncOnLoad()
{
PageMenu = new PortletMenu( 'p-cactions' );
UserMenu = new PortletMenu( 'p-personal' );
NavMenu = new PortletMenu( 'p-navigation' );
ToolMenu = new PortletMenu( 'p-tb' );
RCPatrol();
PageActions();
UserActions();
}
window.addEventListener( 'load', wpFuncOnLoad, false );
}
//
//END
//*****************************
function hidevfd(){
var divs = document.getElementsByTagName("div");
for(var x = 0; x < divs.length; ++x)
if(divs[x].className.indexOf("vfd") != -1)
divs[x].style.display = "none";
document.getElementById('footer').style.display = 'none';
}
function showvfd(){
var divs = document.getElementsByTagName("div");
for(var x = 0; x < divs.length; ++x)
if(divs[x].className.indexOf("vfd") != -1)
divs[x].style.display = "";
document.getElementById('footer').style.display = '';
}
function addlilink(tabs, url, name){
var na = document.createElement('a');
na.href = url;
na.appendChild(document.createTextNode(name));
var li = document.createElement('li');
li.appendChild(na);
tabs.appendChild(li);
return li;
}
function vfdlinks(){
var tabs = document.getElementById('p-cactions').getElementsByTagName('ul')[0];
if(document.title.indexOf("Wikipedia:Articles for deletion") == 0){
addlilink(tabs, 'javascript:hidevfd()', 'Hide');
addlilink(tabs, 'javascript:showvfd()', 'Show');
}
}
if (window.addEventListener) window.addEventListener("load",vfdlinks,false);
else if (window.attachEvent) window.attachEvent("onload",vfdlinks);
/* <pre><nowiki> */
if (mw.config.get('wgAction') == 'delete') {
var csdDeleteForm = {
FillSelect:function(sel, arr){
if(arr && arr.length>0){
if(arr.length>1){
var FirstOpt = new Option("CSD Reasons", "");
// catches stupid IE error
if(FirstOpt.innerHTML != "CSD Reasons"){
FirstOpt.innerHTML = "CSD Reasons";
}
sel.appendChild(FirstOpt);
sel.options[0].style.color = "gray"
}
sel.disabled = false;
for(var i=0;i<arr.length;i++){
var opt = new Option(arr[i].display, arr[i].value);
// catches stupid IE error
if(opt.innerHTML != arr[i].display){
opt.innerHTML = arr[i].display;
}
sel.appendChild(opt);
}
}else{
sel.options[0] = new Option("No Options Available", "");
// catches stupid IE error
if(sel.options[0].innerHTML != "No Options Available"){
sel.options[0].innerHTML = "No Options Available";
}
sel.disabled = true;
return false;
}
return true;
},
ValueArray:[
{"value":"[[WP:CSD#G1|CSD G1]]: [[WP:PN|Patent Nonsense]]","display":"G1 - Nonsense"},
{"value":"[[WP:CSD#G2|CSD G2]]: Test Pages","display":"G2 - Test Pages"},
{"value":"[[WP:CSD#G3|CSD G3]]: [[WP:VAND|Pure Vandalism]]","display":"G3 - Pure Vandalism"},
{"value":"[[WP:CSD#G4|CSD G4]]: Recreation of deleted material","display":"G4 - Recreated Deleted"},
{"value":"[[WP:CSD#G5|CSD G5]]: Contributions by [[Wikipedia:List of banned users|Banned User]]","display":"G5 - Banned User"},
{"value":"[[WP:CSD#G6|CSD G6]]: Housekeeping","display":"G6 - Housekeeping"},
{"value":"[[WP:CSD#G7|CSD G7]]: Only one editor has made substantial edits to this page and he or she has requested its deletion or blanked the page","display":"G7 - Author Request"},
{"value":"[[WP:CSD#G8|CSD G8]]: Talkpage of non-Existent Article","display":"G8 - Talk Page"},
{"value":"[[WP:CSD#G10|CSD G10]]: [[Wikipedia:Attack page|Attack Page]]","display":"G10 - Attack Pages"},
{"value":"[[WP:CSD#G11|CSD G11]]: [[WP:SPAM|Blatant Advertising]]","display":"G11 - Advertising"},
{"value":"[[WP:CSD#G12|CSD G12]]: [[WP:C|Blatant Copyright infringement]]","display":"G12 - Copyright"},
{"value":"[[WP:CSD#A1|CSD A1]]: Very short article providing little or no context","display":"A1 - No Context"},
{"value":"[[WP:CSD#A2|CSD A2]]: Foreign language article that exists on another Wikipedia","display":"A2 - Foreign Language"},
{"value":"[[WP:CSD#A3|CSD A3]]: No meaningful content","display":"A3 - No Content"},
{"value":"[[WP:CSD#A5|CSD A5]]: Has been transwikied","display":"A5 - Transwikied"},
{"value":"[[WP:CSD#A7|CSD A7 (Bio)]]: Biographical article that does not assert significance","display":"A7 - Unremarkable Bio"},
{"value":"[[WP:CSD#A7|CSD A7 (Group)]]: Article about a club or group that does not assert significance","display":"A7 - Unremarkable Group"},
{"value":"[[WP:CSD#A7|CSD A7 (Band)]]: Article about a band that does not assert [[WP:MUSIC|significance]]","display":"A7 - Unremarkable Band"},
{"value":"[[WP:CSD#A7|CSD A7 (Corp)]]: Article about a company that doesn't assert [[WP:CORP|significance]]","display":"A7 - Unremarkable Firm"},
{"value":"[[WP:CSD#A7|CSD A7 (Web)]]: Article about a web site that does not assert [[WP:WEB|significance]]","display":"A7 - Unremarkable Web"},
{"value":"[[WP:CSD#A7|CSD A7]]: Article about subject that does not assert significance.","display":"A7 - Other"},
{"value":"[[WP:CSD#R1|CSD R1]]: Redirect to non-existent page","display":"R1 - Bad Target"},
{"value":"[[WP:CSD#R2|CSD R2]]: Redirect to User/User talk namespaces from mainspace","display":"R2 - Crossnamespace"},
{"value":"[[WP:CSD#R3|CSD R3]]: Implausible typo","display":"R3 - Bad Typo"},
{"value":"[[WP:CSD#I1|CSD I1]]: Redundant to another image","display":"I1 - Redundant"},
{"value":"[[WP:CSD#I2|CSD I2]]: Image is corrupted","display":"I2 - Corrupt/Empty"},
{"value":"[[WP:CSD#I3|CSD I3]]: Improper license","display":"I3 - Improper License"},
{"value":"[[WP:CSD#I4|CSD I4]]: No license or No Source Information","display":"I4 - Lack of License"},
{"value":"[[WP:CSD#I5|CSD I5]]: Image is unused and [[WP:NFCC|not free]]","display":"I5 - Unused Unfree"},
{"value":"[[WP:CSD#I6|CSD I6]]: No [[WP:FURG|justification]] given for fair use","display":"I6 - No Fair Use"},
{"value":"[[WP:CSD#I7|CSD I7]]: Bad [[WP:FURG|justification]] given for fair use","display":"I7 - Invalid Fair Use"},
{"value":"[[WP:CSD#I8|CSD I8]]: Image exists on the Commons","display":"I8 - On Commons"},
{"value":"[[WP:CSD#C1|CSD C1]]: Category is Empty (and has been for 4 days or more)","display":"C1 - Empty"},
{"value":"[[WP:CSD#C2|CSD C2]]: Speedy Renaming","display":"C2 - Speedy Rename"},
{"value":"[[WP:CSD#C3|CSD C3]]: Corresponding template was deleted","display":"C3 - Template"},
{"value":"[[WP:CSD#U1|CSD U1]]: User requested deletion","display":"U1 - User Request"},
{"value":"[[WP:CSD#U2|CSD U2]]: Userpage of non-existent user","display":"U2 - No User"},
{"value":"[[WP:CSD#U3|CSD U3]]: Userpage that is primarily a gallery of fair use images","display":"U3 - Fair Use Gallery"},
{"value":"[[WP:CSD#T1|CSD T1]]: Template that is divisive and inflammatory.","display":"T1 - Divisive"},
{"value":"[[WP:CSD#P2|CSD P2]]: Underpopulated","display":"P2 - Underpopulated"},
{"value":"[[WP:NOT#PUBLISHER|Wikipedia is not a place for cool ideas or neologisms]]","display":"WP:NOT#OR"},
{"value":"[[WP:NOT#BUREAUCRACY|Wikipedia is not a bureaucracy]]","display":"WP:NOT#BUREAUCRACY"},
{"value":"[[WP:NOT#MYSPACE|Wikipedia is not MySpace or any other social networking site]]","display":"WP:NOT#SOCIAL"},
{"value":"[[:Category:Temporary Wikipedian userpages|Talk page of an indefinitely blocked user]]","display":"Blocked user"},
{"value":"[[WP:AFD|AFD]]: Deleted after discussion at Articles for Deletion","display":"AFD close"},
{"value":"[[WP:PROD|Prod]] left uncontested for five days.","display":"Prod close"}
],
//**************************** attaching function *****************************************
// got thIS super handi function from http://www.scottandrew.com he is pretty dang smart **
//*****************************************************************************************
addEvent:function(obj, evType, fn, useCapture){
//alert(obj);
if (obj.addEventListener){
obj.addEventListener(evType, fn, useCapture);
return true;
} else if (obj.attachEvent){
var r = obj.attachEvent("on"+evType, fn);
return r;
} else {
alert("Handler could not be attached");
}
}
}
function addSelectAfter(){
var obj = document.getElementById('wpReason') || document.getElementById('wpComment');
// create select using included array
var sel = document.createElement("SELECT");
csdDeleteForm .FillSelect(sel, csdDeleteForm .ValueArray);
// name it
sel.name = "csdOptions";
sel.id = "csdOptions";
sel.style.marginLeft = "10px";
csdDeleteForm .addEvent(sel, "change", csdChangeBox, false);
// check for next sibling and insert before it or at the end
if(obj.nextSibling){
obj.parentNode.insertBefore(sel,obj.nextSibling);
}else{
obj.parentNode.appendChild(sel);
}
}
try{
// add one on load
csdDeleteForm.addEvent(window, "load", addSelectAfter, false);
}catch(err){}
}
function csdChangeBox() {
var obj = document.getElementById('wpReason') || document.getElementById('wpComment');
obj.value = document.getElementById('csdOptions').value;
}
// <source lang=javascript>
// This script changes the "Your signature with timestamp" edit button to use a real em dash instead of two hyphens.
(function () {
var oldAddButton = addButton;
if (typeof(oldAddButton) != 'function') return;
addButton = function () {
if (arguments.length > 2)
arguments[2] = arguments[2].replace(/^--(~+)$/, '—$1');
oldAddButton.apply(this, arguments);
};
})();
// </source>
/* </nowiki><pre> */
// </nowiki></pre>[[Category:Wikipedia administrators who use VoA script|{{PAGENAME}}]]