User:Flcelloguy/monobook.js

From Wikipedia, the free encyclopedia

Note: After saving, you have to bypass your browser's cache to see the changes. Mozilla/Safari: hold down Shift while clicking Reload (or press Ctrl-Shift-R), Internet Explorer: press Ctrl-F5, Opera/Konqueror: press F5.

// [[User:Lupin/popups.js]] - please include this line 

document.write('<script type="text/javascript" src="' 
             + 'http://en.wikipedia.org/w/index.php?title=User:Lupin/popups.js' 
             + '&action=raw&ctype=text/javascript&dontcountme=s"></script>');

popupAdminLinks=true;

//  Add a "Kate" link to your monobook "personal menu" list at the very
 //  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-mycontris'; // 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( 'editcount' ) ); // eh, the css makes the text lowercase
   a.href = 'http://tools.wikimedia.de/~interiot/cgi-bin/count_edits?user=Flcelloguy&dbname=enwiki_p';
 
   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 );

//Func's took to see whether someone is blocked or not already
//	<pre><nowiki>

	//	Released into the public domain by [[User:Func]]
	//
function NUPatrol()
{
	if (	( window.location.href.indexOf( 'Special%3ALog&type=newusers' ) == -1 ) &&
			( window.location.href.indexOf( 'Special:Log/newusers'        ) == -1 )  )
	return; // make more robust???

	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 );

//	</nowiki></pre>

//var x = 1;
//NavMenu.append( 'n-' + x++, 'Mediation', '/wiki/Wikipedia:Requests for mediation' );

//Added 11/11/05, see [[User:Lupin/Anti-vandal_tool]]
// Filter changes live
// [[User:Lupin/recent2.js]] - please include this line
document.write('<script type="text/javascript" src="' 
             + 'http://en.wikipedia.org/w/index.php?title=User:Lupin/recent2.js' 
             + '&action=raw&ctype=text/javascript&dontcountme=s"></script>');

function addToolboxLink(url, name, id){
    var tb = document.getElementById('p-tb').getElementsByTagName('ul')[0];
    addlilink(tb, url, name, id);
}

function addNavigationLink(url, name, id){
    var tb = document.getElementById('p-navigation').getElementsByTagName('ul')[0];
    addlilink(tb, url, name, id);
}

// <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 removeEl(id) {
   if (el = document.getElementById(id))
       el.parentNode.removeChild(el);
}

function Main() {
    addToolboxLink("http://en.wikipedia.org/wiki/Special:Ipblocklist", "Unblock", "blocklink");
    addToolboxLink("http://en.wikipedia.org/wiki/Special:Log", "Log", "loglink");
    addNavigationLink("http://en.wikipedia.org/wiki/Wikipedia:Requests for mediation", "Mediation",        "medlink"); 
    removeEl('n-help');
    removeEl('n-contact');
    removeEl('n-sitesupport');
}
//window.onLoad = Main;
if ( window.addEventListener ) window.addEventListener( 'load', Main, false );
 else if ( window.attachEvent ) window.attachEvent( 'onload', Main );

/*

 */

function replace()
{
    var s = prompt("Search regexp?");
    if(s){
        var r = prompt("Replace regexp?");
        if(!r && r != '') return;
        var txt = document.editform.wpTextbox1;
        txt.value = txt.value.replace(new RegExp(s, "g"), r);
    }
}

addOnloadHook(function () {
    if(document.forms.editform) {
        addLink('p-cactions', 'javascript:replace()', 'replace', 'ca-replace', 'Regexp replace for the edit window', '', 'ca-history');
    }
});

/* 

*/