Jump to content

User:Rdsmith4/monobook.js

From Wikipedia, the free encyclopedia
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.
Note: After saving, you have to bypass your browser's cache to see the changes. Google Chrome, Firefox, Microsoft Edge and Safari: Hold down the ⇧ Shift key and click the Reload toolbar button. For details and instructions about other browsers, see Wikipedia:Bypass your cache.
/* <nowiki> */
function changeLinks(){
    if(!document.getElementById) return;
//  document.getElementById('pt-userpage').firstChild.innerHTML = 'me';
    document.getElementById('pt-mytalk').firstChild.innerHTML = 'talk';
    document.getElementById('pt-watchlist').firstChild.innerHTML = 'watchlist';
    document.getElementById('pt-preferences').firstChild.innerHTML = 'prefs';
    document.getElementById('pt-mycontris').firstChild.innerHTML = 'contribs';
    document.getElementById('pt-logout').firstChild.innerHTML = 'log out';
    document.getElementById('ca-talk').firstChild.innerHTML = 'talk';
    document.getElementById('ca-edit').firstChild.innerHTML = 'edit this page';
}

function myLoadFuncs(){
    changeLinks();
}

if (window.addEventListener) window.addEventListener("load",myLoadFuncs,false);
else if (window.attachEvent) window.attachEvent("onload",myLoadFuncs);

function addlilink(tabs, url, name, id) {
    var na = document.createElement('a');
    na.href = url;
    na.id = id;
    na.appendChild(document.createTextNode(name));
    var li = document.createElement('li');
    li.appendChild(na);
    tabs.appendChild(li);
    return li;
}

function addtab(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 vandal(tmplt, summ) {
    var txt = document.editform.wpTextbox1;
    if(txt.value.length > 0) txt.value += '\n';
    txt.value += '{{subst:' + tmplt + '}} ~~~~';
    txt.focus();
    txt = document.editform.wpSummary;
    txt.value = summ
    document.editform.wpWatchthis.checked = false;
}

function speedy (criterion) {
    var form = document.forms.deleteconfirm;
    form.wpReason.value = criterion;
}

function morelinks() {
    var tabs = document.getElementById('p-cactions').getElementsByTagName('ul')[0];
    if(document.title.indexOf("Editing User talk:") == 0) {
        addlilink(tabs, 'javascript:vandal("User:Rdsmith4/test", "test")', '1', '');
        addlilink(tabs, 'javascript:vandal("User:Rdsmith4/test2", "test2")', '2', '');
        addlilink(tabs, 'javascript:vandal("test3", "test3")', '3', '');
        addlilink(tabs, 'javascript:vandal("test4", "test4")', '4', '');
        addlilink(tabs, 'javascript:vandal("test5", "test5")', '5', '');
        addlilink(tabs, 'javascript:vandal("spam", "spam")', 's1', '');
        addlilink(tabs, 'javascript:vandal("spam3", "spam3")', 's3', '');
        addlilink(tabs, 'javascript:vandal("spam4", "spam4")', 's4', '');
    }
    if(document.title.indexOf("Confirm delete - Delete") == 0) {
        addlilink(tabs, 'javascript:speedy("nonsense")', 'no', '');
        addlilink(tabs, 'javascript:speedy("remove redirect for page move")', 're', '');
        addlilink(tabs, 'javascript:speedy("misleading redirect")', 'mr', '');
        addlilink(tabs, 'javascript:speedy("talk page with no useful history")', 'tu', '');
        addlilink(tabs, 'javascript:speedy("talk page of deleted article")', 'td', '');
    }
}

// Adds a "blocklog" tab and fills in the username field on Special:Blockip, if a "&faketarget=username" is present.
function do_blockip_stuff()
{
  // Look for a &faketarget= for the username/ip
  var l = location.search.substring(1).split('&');
  var target = '';
  for (var i = 0; i < l.length; ++i)
    {
      var n = l[i].indexOf('=');
      if (l[i].substring(0, n) == 'faketarget')
	{
	  target = l[i].substring(n + 1);
	  break;
	}
    }

  if (target == '')
    return;

  // put account name in "IP Address/username" field
  var addr = document.getElementsByName('wpBlockAddress')[0];
  addr.value = unescape(target);

  // add "blocklog" tab
  var c1 = document.getElementById('column-one');
  var tabs = c1.getElementsByTagName('div')[0].getElementsByTagName('ul')[0];
  tabs.appendChild(addtab('/w/index.php?title=Special%3ALog&type=block&user=&page=User%3A' + target, 'log'));
}

// Adds "block" and "blocklog" tabs to User: and User talk: pages.
function add_block_tab()
{
  var c1 = document.getElementById('column-one');
  var tabs = c1.getElementsByTagName('div')[0].getElementsByTagName('ul')[0];

  // use the "edit this page" tab to get already-tidied url
  var editlk = document.getElementById('ca-edit').getElementsByTagName('a')[0].href;
  // cut everything up to "title=" from the start and everything past "&action=edit" from the end
  editlk = editlk.substring(editlk.indexOf('title=') + 6, editlk.lastIndexOf('&action=edit'));
  editlk = editlk.substring(editlk.indexOf(':') + 1);
  var slloc = editlk.indexOf('/');
  if (slloc > 0)
    editlk = editlk.substring(0, slloc);

  // add "block" tab
  tabs.appendChild(addtab('/w/index.php?title=Special%3ABlockip&faketarget=' + editlk, 'Block'));
  // add "blocklog" tab
  tabs.appendChild(addtab('/w/index.php?title=Special%3ALog&type=block&user=&page=User%3A' + editlk, 'log'));
}

function do_onload()
{
  if (document.title.indexOf('User:') == 0
      || document.title.indexOf('User talk:') == 0
      || document.title.indexOf('Editing User:') == 0
      || document.title.indexOf('Editing User talk:') == 0)
    add_block_tab();
  else if (document.title.indexOf('Block user') == 0) // could stand to be more robust
    do_blockip_stuff();
}

if (window.addEventListener) 
  window.addEventListener("load", do_onload, false);
else if (window.attachEvent) 
  window.attachEvent("onload", do_onload);

window.onload = Main;
function Main() {
    morelinks();
}


//	The following is modified from Func's new-page-patrol scripts:
//	http://en.wikipedia.org/wiki/User:Func/wpfunc/nupatrol.js

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 )
	{	var a = document.createElement( 'a' );
			a.appendChild( document.createTextNode( txt ) );
			a.href = url;
		if ( plainlinks ) a.className = 'plainlinks';
		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), insertLoc );
		item.insertBefore( document.createTextNode( ', ' ), insertLoc );

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

		item.insertBefore( NewLink( 'list', '/wiki/Special:Ipblocklist?action=search&ip=' + name, true ), insertLoc );
		item.insertBefore( document.createTextNode( ', ' ), insertLoc );

		item.insertBefore( NewLink( 'block', '/w/index.php?title=Special:Blockip&ip=' + name, true ), 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> */