User:Nixeagle/GeorgeMoney.js

//

//GeorgeMoney's monobook.js

//Copy this to User:Eagle 101/monobook.js

//----------------------------DEVELOPMENTAL-------------------------------

//MAIN VARS

var myname="Eagle 101"

var mypage="User:Eagle 101"

var mytalk="User talk:Eagle 101"

var mytalkurl="User_talk:Eagle 101"

var mycontribs="Special:Contributions/Eagle 101"

var serverurl="http://en.wikipedia.org"

var wikiurl=serverurl+"/wiki/"

var pathurl=serverurl+"/w/"

var phpurl=pathurl+"index.php?title="

var editcounturl="http://tools.wikimedia.de/~essjay/edit_count/Count.php"

var editcount=editcounturl+"?username="

//READONLY

if (window.location.href.indexOf('read=1') != -1) {

loadCSS('User:GeorgeMoney/ReadOnly.css');

}

//

if (window.location.href.indexOf('css=1') != -1) {

loadCSSext('http://wikipedia.georgemoney.com/rc.css');

}

//

//COMMANDS FROM URL

$(function () {

var fontsize=getParamValue('fontsize');

if (fontsize) document.write('');

var fontsizenc=getParamValue('fontsizenc');

if (fontsizenc) document.write('');

var welcome=getParamValue('welcome');

if (welcome) {

document.getElementById('wpTextbox1').value = "{{subst:User:GeorgeMoney/Welcome}}";

document.getElementById('wpSummary').value = "Welcome to wikipedia!";

document.getElementById('editform').submit();

}

/*

var minor=getParamValue('autominor');

if (minor) {

switch (minor) {

case '1':

case 'yes':

case 'true':

document.editform.wpMinoredit.checked=true;

break;

case '0':

case 'no':

case 'false':

document.editform.wpMinoredit.checked=false;

}

}

*/

});

// ARCHIVING - DOESN'T WORK YET

if (location.href.indexOf('&action=edit&archive=1') != -1) {

$(function (){

document.getElementById('wpTextbox1').value = "{{subst:User talk:GeorgeMoney}}";

document.getElementById('wpSummary').value = "JS: Archiving talk page";

document.getElementById('editform').submit();

});

}

if (location.href.indexOf('&action=edit&archive=2') != -1) {

$(function (){

document.getElementById('wpTextbox1').value = "{{subst:User:GeorgeMoney/Archives/Subst}}";

document.getElementById('wpSummary').value = "JS: Archiving talk page";

document.getElementById('editform').submit();

});

}

//Modified version of user:Where/usertabs

$(function() {

if (document.title.search("/") != -1 || document.title.search("- History -") != -1) { //no subpages or history

return;

}

if (document.title.indexOf("User:") == 0 || document.title.indexOf("User talk:") == 0) {

username_a = document.URL.match(/:.*:(.*)/);

username=username_a[1];

addTab(phpurl+"User_talk:"+username+"&action=edit§ion=new&welcome=1", "welcome!", "ca-contrib", "contribs", "");

}

});

//POPUPS

popupFixDabs=true;

//------------------------NON-DEV; REC--------------------------------------------------

//-------------------------SEARCHBOX

function customsearch() {

document.getElementById('searchform').action = "http://wikipedia.georgemoney.com/search.php";

document.getElementById('searchInput').name = "title";

};

window.addEventListener("load", customsearch, false);

//------------ADD EDIT COUNT LINK FOR USERS

$(function () {

if (document.getElementById('t-contributions')) {

z=document.getElementById("content").childNodes;

for (var n=0;n

if (z[n].className=="firstHeading") var username = z[n].textContent.replace(new RegExp('User(?:[ _]talk)?:([^/]*)', 'g'), '$1');

};

var toolbox = document.getElementById('p-tb').getElementsByTagName('ul')[0];

var link = document.createElement('a');

link.href = editcount+username;

link.appendChild(document.createTextNode('Edit count'));

var li = document.createElement('li');

li.appendChild(link);

toolbox.appendChild(li);

}

});

//----------------------------LIST REDLINKS

function listRedLinks() {

var len=document.links.length;

var output=document.createElement('div');

output.innerHTML='

Red links

';

var gotSome=false;

for (var i=0; i

if (document.links[i].className=='new') {

gotSome=true;

var l=document.links[i].cloneNode(true);

output.appendChild(l);

output.appendChild(document.createElement('br'));

}

}

if (gotSome){

output.appendChild(document.createElement('hr'));

var h1=document.getElementsByTagName('h1')[0];

h1.parentNode.insertBefore(output, h1.nextSibling);

}

}

$(function(){addToolboxLink('javascript:listRedLinks()', 'List red links');});

//---------------------------------------------------------------------------------IGNORE--------------------------------------------------------------------------------------------------------

//LINKS

$(function(){addTopLink(editcount+myname, 'edit count');});

$(function(){addNavLink(phpurl+'Special%3ALog&type=newusers&user=&page=', 'New user log');});

$(function(){addNavLink('http://wiki.xyrael.net/mediawiki/index.php?title=Special:Recentchanges', 'Test Wiki');});

$(function(){addNavLink('http://wikipedia.georgemoney.com/search2.php', 'Special Query');});

//---------------------------------------------------------------------------------------------------------------FUNCTS------------------------------------------------------------------------------------------------

function redir(url) {

document.write('');

}

function loadJS(page){

page=page.replace(" ", "_");

document.write('');

}

function loadCSS(page){

page=page.replace(" ", "_");

document.write('');

}

function loadCSSext(page){

document.write('');

}

function loadchrome(page){

page=page.replace(" ", "_");

document.write('');

}

//PAGENAME FOR CSS

document.write('');

// ----------------------------------------------HELPERS----------------------------------------------

// --- ADD VARIOUS LINKS ----

function addToolboxLink(url, name, id){

var tb = document.getElementById('p-tb').getElementsByTagName('ul')[0];

addlilink(tb, url, name, id);

}

//

function addTopLink(url, name, id){

var personal = document.getElementById('p-personal').getElementsByTagName('ul')[0];

addlilink(personal, url, name, id);

}

//

function addNavLink(url, name, id){

var navigation = document.getElementById('p-navigation').getElementsByTagName('ul')[0];

addlilink(navigation, url, name, id);

}

//

function addTab(url, name, id, title, key){

var tabs = document.getElementById('p-cactions').getElementsByTagName('ul')[0];

return addlilink(tabs, url, name, id, title, key);

}

//

// ------ MORE MAJOR LINKAGE -----

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", "p-navigation", or "p-tb".

//

//* 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;

}

//

// ------------- LINKAGE ----------------

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;

}

//

//

// ---------- END HELPER FUNCTIONS ---------

//

//---------- TEST

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;

}

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[ 1 ]; talk.firstChild.nodeValue = '████'; // lowercase 'Talk' for consistency

insertLoc = user.nextSibling; // ' newusers '

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

item.insertBefore( talk, insertLoc );

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

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

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

item.insertBefore( NewLink( '[report]', 'javascript:AIVandal("' + name + '")', true, 'red' ), insertLoc );

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

item.insertBefore( NewLink( '[welcome]', '/w/index.php?title=User_talk:' + name + '&action=edit§ion=new&welcome=1', true, 'green' ), 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 );

// AIV tools

mw.loader.load('https://en.wikipedia.org/w/index.php?title=User:Lightdarkness/aiv.js'

+ '&action=raw&ctype=text/javascript');

loadJS('User:Voice_of_All/Sleeper/monobook.js');