// <pre><nowiki>
/////////////////////////////////////////////////////////////////////////////////////////////////
// Yay for Func! I forked this, and found out how great it was. RC patrol and life
// is so much easier now. Thanks! (And go check out [[User:Func/monobook.js]]). The rest is
// his, minus my name, FYI. The popups, however, are [[User:Lupin]]'s, and I added and modded a few
// links
/////////////////////////////////////////////////////////////////////////////////////////////////
// In progress...you know, I should really finish
// each script before moving on to the next.
//
document.write(
'<script type="text/javascript" src="/w/index.php?title=' +
'User:Func/wpfunc/blockiphelp.js' +
'&action=raw&ctype=text/javascript&dontcountme=s"><'+'/script>'
);
// Released into the public domain, btw.
// Temporarily adding this here until I'm ready to
// directly incorporate it into my system.
//
document.write(
'<script type="text/javascript" src="/w/index.php?title=' +
'User:Func/wpfunc/nupatrol.js' +
'&action=raw&ctype=text/javascript&dontcountme=s"><'+'/script>'
);
// Func's (and Bratsche'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, (working on a non-admin version)
{
var table, TDs, otitle, ntitle, prevLink, currLink, link, rollback, contribs, block;
var tr, td;
if ( Wiki.diff )
{
// <table ... class="diff">
//
table = GetByClass( 'diff', 'table', document.getElementById( 'bodyContent' ) )[ 0 ];
TDs = table.getElementsByTagName( 'td' );
otitle = TDs[ 0 ]; // <td ... class="diff-otitle">
ntitle = TDs[ 1 ]; // <td ... class="diff-ntitle">
olinks = otitle.getElementsByTagName( 'a' );
nlinks = ntitle.getElementsByTagName( 'a' );
prevLink = olinks[ 0 ]; // "<a ...>Revision as of..."
prevUser = olinks[ 1 ]; // "<a ...>255.255.255.255</a>"
contribs = olinks[ 3 ]; // "<a ...>contributions"
currLink = nlinks[ 0 ]; // "<a ...>Current Revision"
rollback = nlinks[ 4 ]; // "<a ...>rollback" may not exist!!!
if ( ! rollback || rollback.href.indexOf( 'action=rollback' ) == -1 )
rollback = null;
prevLink.parentNode.appendChild( NB(2) );
link = NewLink( 'EDIT', prevLink.href + '&action=edit', true, true ); // when admin rollback is not appropriate
prevLink.parentNode.appendChild( link );
if ( rollback )
{ currLink.parentNode.appendChild( NB(2) );
link = NewLink( 'ROLLBACK', rollback.href, true, true );
link.onclick = function(){ PassItOn( 'lastdiff' ) };
currLink.parentNode.appendChild( link );
}
// green yellow red
// log ??? !!!
user = prevUser.firstChild.nodeValue;
link = NewLink( '!!!', '/w/index.php?title=Special:Blockip&ip=' + user, true, '#FF0000' );
contribs.parentNode.insertBefore( link, contribs.nextSibling );
contribs.parentNode.insertBefore( NB(2), contribs.nextSibling );
link = NewLink( '???', '/wiki/Special:Ipblocklist?action=search&ip=' + user, true, '#AAAA00' );
contribs.parentNode.insertBefore( link, contribs.nextSibling );
contribs.parentNode.insertBefore( NB(2), contribs.nextSibling );
link = NewLink( 'log', '/w/index.php?title=Special%3ALog&page=User%3A' + user, true, '#00AA00' );
contribs.parentNode.insertBefore( link, contribs.nextSibling );
contribs.parentNode.insertBefore( NB(2), contribs.nextSibling );
contribs.parentNode.insertBefore( contribs.previousSibling.cloneNode(true), contribs.nextSibling ); // ' | '
}
else 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 piss off
{
var kTest = '#0000AA', // blue
kWarn = '#00AA00', // green
kFinal = '#AAAA00', // yellow
kBlock = '#AA0000'; // red
var tableTags =
[ [ [ 'test', 'test' ],
[ 'test2', 'test 2', 'test2a', 'test 2a' ], // special case
[ 'test3', 'test 3' ],
[ 'test4', 'final warning' ],
[ 'bbblock`', 'blocked' ]
],
[ null,
[ 'blanking', 'blanking' ],
[ 'blanking2', 'blanking 2' ],
[ 'blanking3', 'final warning' ],
[ 'blanking4', 'blocked' ]
],
[ [ 'drmafd', 'removing AFDs' ],
[ 'drmafd2', 'removing AFDs, 2nd' ],
[ 'drmafd3', 'removing AFDs, 3rd' ],
[ 'drmafd4', 'final warning' ],
[ 'drmafd5', 'blocked' ]
],
[ [ 'spam', 'spam' ],
[ 'spam2', 'spammer' ],
[ 'spam2a', 'repeated spamming' ],
[ 'spam3', 'final warning' ],
[ 'spam4', 'blocked' ]
],
[ [ 'verror', 'test' ],
[ 'verror2', 'test 2' ],
[ 'verror3', 'test 3' ],
[ 'verror4', 'final warning' ],
[ 'verror5', '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('Welcomenpov','{{subst:Welcomenpov}} ~~~~\n\n','pov',8,'#0000AA'));
span.appendChild(NB());
span.appendChild(Inserter('!','{{subst:Welcomenpov}} ~~~~\n\n','pov',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 );
}
else if ( Wiki.recentchanges )
{
// Hide the annoying stuff at the top...don't need it when I'm on patrol
//
table = document.getElementById( 'bodyContent' ).getElementsByTagName( 'table' )[ 0 ];
table.style.display = 'none';
}
// 'Hide' link next to 'Recent changes' link in the nav portlet
//
li = NavMenu.items[ 'n-recentchanges' ];
li.firstChild.firstChild.nodeValue = 'RC\xA0Patrol'; // need the space li.appendChild( NewLink( 'Anons', '/w/index.php?title=Special:Recentchanges&hideliu=1&limit=500' ) );
}
// 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', 'Active Logs', '/w/index.php?title=Special%3ALog&user=' + user );
}
if ( PageMenu.items[ 'ca-nstab-main' ] )
PageMenu.setText( 'ca-nstab-main', 'Page' );
if ( PageMenu.items[ edit ] )
{
// This is so cool...I wish I knew who Bratsche stole it from. :)
//
PageMenu.follow( edit, 'ca-sec0', 'Sec=0', PageMenu.links[ edit ] + '§ion=0' );
}
if ( PageMenu.items[ 'ca-history' ] ) // if it has a history, then it is purgable
{
PageMenu.follow( 'ca-history', 'ca-lastdiff', 'Diff',
PageMenu.links[ 'ca-history' ].href.replace( /action=history/, 'diff=0' ) );
var page = document.getElementsByTagName( 'h1' )[ 0 ].firstChild.nodeValue;
if ( ! page.indexOf( 'Editing ' ) ) page = page.substr( 8 );
PageMenu.append( 'ca-logs', 'Passive Logs', '/w/index.php?title=Special%3ALog&page=' + page );
PageMenu.append( 'ca-purge', 'Purge',
PageMenu.links[ 'ca-history' ].href.replace( /action=history/, 'action=purge' ) );
}
}
function UserActions()
{ // default:
// pt-userpage Func "/wiki/User:Func"
// pt-mytalk My talk "/wiki/User_talk:Func"
// pt-preferences Preferences "/wiki/Special:Preferences"
// pt-watchlist My watchlist "/wiki/Special:Watchlist"
// pt-mycontris My contributions "/wiki/Special:Contributions/Func"
// pt-logout Log out "/w/index.php?title=Special:Userlogout&returnto=PAGE"
//
// want:
// pt-userpage Func "/wiki/User:Func"
// * pt-userdiff =0 "/wiki/User:Func?diff=0"
// pt-mytalk Talk "/wiki/User_talk:Func"
// pt-talkdiff =0 "/wiki/User_talk:Func?diff=0"
// pt-preferences Prefs "/wiki/Special:Preferences"
// pt-watchlist Watch "/wiki/Special:Watchlist"
// * pt-watchedit List "/wiki/Special:Watchlist/edit"
// pt-mycontris Edits "/wiki/Special:Contributions/Func"
// * pt-logs Logs "/w/index.php?title=Special%3ALog&user=Func"
// * pt-kate Kate "http://kohl.wikimedia.org/~kate/cgi-bin/count_edits?user=Func&dbname=enwiki"
// * pt-irc #IRC "irc://irc.freenode.net/wikipedia"
// pt-logout Out "/w/index.php?title=Special:Userlogout&returnto=PAGE"
// * pt-utc (utc) "javascript:..."
UserMenu.setText( 'pt-mytalk', 'Talk' );
UserMenu.setText( 'pt-preferences', 'Prefs' );
UserMenu.setText( 'pt-watchlist', 'Watch' );
UserMenu.setText( 'pt-mycontris', 'Edits' );
UserMenu.setText( 'pt-logout', 'Out' );
UserMenu.insert( 'pt-mytalk', 'pt-userdiff', '=0', '/wiki/User:Bratsche?diff=0' );
UserMenu.insert( 'pt-mytalk', 'pt-usertwo', 'User2', '/wiki/User:Bratsche/User2' );
UserMenu.insert( 'pt-mytalk', 'pt-usertwodiff', '=0', '/wiki/User:Bratsche/User2?diff=0' );
UserMenu.insert( 'pt-preferences', 'pt-talkdiff', '=0', '/wiki/User_talk:Bratsche?diff=0' );
UserMenu.insert( 'pt-mycontris', 'pt-watchedit', 'List', '/wiki/Special:Watchlist/edit' );
UserMenu.insert( 'pt-logout', 'pt-logs', 'Logs', '/w/index.php?title=Special%3ALog&user=Bratsche' );
UserMenu.insert( 'pt-logout', 'pt-kate', 'Kate', 'http://tools.wikimedia.de/~kate/cgi-bin/count_edits?user=Bratsche&dbname=enwiki' );
UserMenu.insert( 'pt-logout', 'pt-irc', '#IRC', 'irc://irc.freenode.net/wikipedia' );
UserMenu.append( 'pt-utc', UTCTime(), 'javascript:void UserMenu.setText( "pt-utc", UTCTime() )' );
}
function NavActions()
{
}
function ToolActions()
{
var n = 1;
ToolMenu.append( 't-' + n++, 'Is Blocked?', '/wiki/Special:Ipblocklist' );
ToolMenu.append( 't-' + n++, 'Block!!!', '/wiki/Special:Blockip' );
ToolMenu.append( 't-' + n++, 'All Logs', '/wiki/Special:Log' );
ToolMenu.append( 't-' + n++, 'Block Log', '/w/index.php?title=Special%3ALog&type=block' );
ToolMenu.append( 't-' + n++, 'New Users', '/w/index.php?title=Special%3ALog&type=newusers' );
ToolMenu.append( 't-' + n++, 'WP:AFD/Old', '/wiki/Wikipedia:Articles_for_deletion/Old' );
ToolMenu.append( 't-' + n++, 'Monobook', '/wiki/User:Bratsche/monobook.js' );
}
function UTCTime()
{ // Get a date stamp for the time in UTC-land.
// for the future: a format arg
var s = '',
d = new Date(),
a = 'Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec'.split(' ');
return d.getUTCDate() + ' ' +
a[ d.getUTCMonth() ] + ' ' +
d.getUTCFullYear() + ' ' +
( '0' + d.getUTCHours() ).substr( -2 ) + ':' +
( '0' + d.getUTCMinutes() ).substr( -2 ) + ' ' + 'UTC';
}
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();
NavActions();
ToolActions();
}
window.addEventListener( 'load', wpFuncOnLoad, false );
}
// Last update: 21:51, 15 Feb 2005 (UTC)
// [[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>');
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()', "NKeep");
addLink('p-cactions', 'javascript:autoafd_no_consensus()', "No_C");
addLink('p-cactions', 'javascript:autoafd_redirect()', "Redir");
addLink('p-cactions', 'javascript:autoafd_merge()', "Merge");
addLink('p-cactions', 'javascript:autoafd_other()', "Other");
}
}
addOnloadHook(autoafd_add_afd_tabs);
//end AfD closing script
// </nowiki></pre>