User:Func/wpfunc/nupatrol.js

//

// Released into the public domain by User:Func

//

function NUPatrol()

{

if ( window.location.href.indexOf( 'Special:Log/newusers' ) < 0 &&

window.location.href.indexOf( '&type=newusers' ) < 0 ) return;

var items, item, i, links, user, name, talk, contribs, insertLoc, link;

items = document.getElementById( 'bodyContent' ).getElementsByTagName( 'ul' )[ 0 ].getElementsByTagName( 'li' );

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;

}

for ( i = 0; i < items.length; i++ )

{

item = items[ i ];

links = item.getElementsByTagName( 'a' );

user = links[ 0 ]; name = user.firstChild.nodeValue;

talk = links[ 2 ]; talk.firstChild.nodeValue = 'talk'; // lowercase 'Talk' for consistency

contribs = links[ 3 ];

insertLoc = user.nextSibling; // ' newusers '

item.insertBefore( document.createTextNode( ' ( ' ), insertLoc );

item.insertBefore( talk, insertLoc );

item.insertBefore( document.createTextNode( ', ' ), insertLoc );

item.insertBefore( contribs, insertLoc );

item.insertBefore( document.createTextNode( ', ' ), insertLoc );

item.insertBefore( NewLink( 'actions', '/w/index.php?title=Special%3ALog&user=' + name, true, '#000088' ), insertLoc );

item.insertBefore( document.createTextNode( ', ' ), insertLoc );

item.insertBefore( NewLink( 'blocks', '/w/index.php?title=Special%3ALog&type=block&page=User%3A' + name, true, '#008800' ), insertLoc );

item.insertBefore( document.createTextNode( ', ' ), insertLoc );

item.insertBefore( NewLink( 'is blocked?', '/wiki/Special:Ipblocklist?action=search&ip=' + name, true, '#888800' ), insertLoc );

item.insertBefore( document.createTextNode( ', ' ), insertLoc );

item.insertBefore( NewLink( 'do block!', '/w/index.php?title=Special:Blockip&ip=' + name, true, '#880000' ), insertLoc );

item.insertBefore( document.createTextNode( ' )' ), insertLoc );

item.removeChild( insertLoc.nextSibling ); // should remove the span

item.removeChild( insertLoc ); // should remove ' newusers ' text

}

}

if ( window.addEventListener ) window.addEventListener( 'load', NUPatrol, false );

else if ( window.attachEvent ) window.attachEvent( 'onload', NUPatrol );

//