Difference between revisions of "User:Nathan/monobook.js"

MyWikiBiz, Author Your Legacy — Friday November 22, 2024
Jump to navigationJump to search
Line 1: Line 1:
 +
// '''Note''': There is now a mostly equivalent function, <code>addPortletLink()</code>, included as a part of [[MediaWiki]] in [http://en.wikipedia.org/skins-1.5/common/wikibits.js wikibits.js].  Please consider using it instead.  The only major difference is that the first argument to <code>addPortletLink()</code> should be the <code>id</code> attribute of an element containing the list, not the DOM node of the list itself.  <pre>
 +
 +
function addlilink(node, href, text, id, tooltip, accesskey) {
 +
        // the code below is mostly copied from addPortletLink()
 +
 +
var link = document.createElement( "a" );
 +
link.appendChild( document.createTextNode( text ) );
 +
link.href = href;
 +
 +
var item = document.createElement( "li" );
 +
item.appendChild( link );
 +
if ( id ) item.id = id;
 +
 +
if ( accesskey ) {
 +
link.setAttribute( "accesskey", accesskey );
 +
tooltip += " ["+accesskey+"]";
 +
}
 +
if ( tooltip ) {
 +
link.setAttribute( "title", tooltip );
 +
}
 +
updateTooltipAccessKeys( new Array( link ) );
 +
 +
node.appendChild( item );
 +
 +
return item;
 +
}
 +
 +
// </pre>[[Category:Wikipedia scripts]]
 +
 +
// '''Note''': This is now just a thin wrapper around <code>addPortletLink()</code> from [http://en.wikipedia.org/skins-1.5/common/wikibits.js wikibits.js].  Please consider using <code>addPortletLink()</code> directly instead.
 +
 +
function addTab(url, name, id, title, key) {
 +
    return addPortletLink('p-cactions', url, name, id, title, key);
 +
}
 +
 +
// [[Category:Wikipedia scripts]]
 +
 
// <pre><nowiki>
 
// <pre><nowiki>
  
Line 9: Line 46:
 
   if (wgCanonicalNamespace == "User" || wgCanonicalNamespace == "User_talk") {
 
   if (wgCanonicalNamespace == "User" || wgCanonicalNamespace == "User_talk") {
 
     var username = encodeURIComponent( wgTitle );
 
     var username = encodeURIComponent( wgTitle );
     addPortletLink("p-cactions", wgServer + "/Special:Contributions/" + username, "Contribs", "ca-contrib", "User contributions");
+
     addTab("p-cactions", wgServer + "/Special:Contributions/" + username, "Contribs", "ca-contrib", "User contributions");
     addPortletLink("p-cactions", wgServer + "/Special:Log&type=move&user=" + username, "Page moves", "ca-pagemoves", "Page moves by this user");
+
     addTab("p-cactions", wgServer + "/Special:Log&type=move&user=" + username, "Page moves", "ca-pagemoves", "Page moves by this user");
     addPortletLink("p-cactions", wgServer + "/Special:Log&type=block&page=User:" + username, "Blocks received", "ca-blog", "Blocks received by this user");
+
     addTab("p-cactions", wgServer + "/Special:Log&type=block&page=User:" + username, "Blocks received", "ca-blog", "Blocks received by this user");
     addPortletLink("p-cactions", wgServer + "/Special:Prefixindex&from=" + username + "&namespace=2", "Userspace", "", "List of pages in this user's userspace");
+
     addTab("p-cactions", wgServer + "/Special:Prefixindex&from=" + username + "&namespace=2", "Userspace", "", "List of pages in this user's userspace");
     addPortletLink("p-cactions", wgServer + "/Special:Log&type=block&user=" + username, "Blocks given", "", "Blocks by this user");
+
     addTab("p-cactions", wgServer + "/Special:Log&type=block&user=" + username, "Blocks given", "", "Blocks by this user");
     addPortletLink("p-cactions", wgServer + "/Special:Log&type=protect&user=" + username, "Protections", "", "Protections by this user");
+
     addTab("p-cactions", wgServer + "/Special:Log&type=protect&user=" + username, "Protections", "", "Protections by this user");
     addPortletLink("p-cactions", wgServer + "/Special:Log&type=delete&user=" + username, "Deletions", "", "Deletions by this user");
+
     addTab("p-cactions", wgServer + "/Special:Log&type=delete&user=" + username, "Deletions", "", "Deletions by this user");
 
   }
 
   }
 
});
 
});

Revision as of 08:31, 20 April 2007

// '''Note''': There is now a mostly equivalent function, <code>addPortletLink()</code>, included as a part of [[MediaWiki]] in [http://en.wikipedia.org/skins-1.5/common/wikibits.js wikibits.js].  Please consider using it instead.  The only major difference is that the first argument to <code>addPortletLink()</code> should be the <code>id</code> attribute of an element containing the list, not the DOM node of the list itself.  <pre>

function addlilink(node, href, text, id, tooltip, accesskey) {
        // the code below is mostly copied from addPortletLink()

 	var link = document.createElement( "a" );
	link.appendChild( document.createTextNode( text ) );
	link.href = href;

	var item = document.createElement( "li" );
	item.appendChild( link );
	if ( id ) item.id = id;

	if ( accesskey ) {
		link.setAttribute( "accesskey", accesskey );
		tooltip += " ["+accesskey+"]";
	}
	if ( tooltip ) {
		link.setAttribute( "title", tooltip );
	}
	updateTooltipAccessKeys( new Array( link ) );

	node.appendChild( item );

	return item;
}

// </pre>[[Category:Wikipedia scripts]]

// '''Note''': This is now just a thin wrapper around <code>addPortletLink()</code> from [http://en.wikipedia.org/skins-1.5/common/wikibits.js wikibits.js].  Please consider using <code>addPortletLink()</code> directly instead.

 function addTab(url, name, id, title, key) {
     return addPortletLink('p-cactions', url, name, id, title, key);
 }

// [[Category:Wikipedia scripts]]

// <pre><nowiki>

// Please leave the following line
// [[user:Where/usertabs]]
 
addOnloadHook(function() {
  if (wgTitle.indexOf("/") != -1 || document.title.indexOf("- History -") != -1)  //no subpages or history
     return;
  if (wgCanonicalNamespace == "User" || wgCanonicalNamespace == "User_talk") {
     var username = encodeURIComponent( wgTitle );
     addTab("p-cactions", wgServer + "/Special:Contributions/" + username, "Contribs", "ca-contrib", "User contributions");
     addTab("p-cactions", wgServer + "/Special:Log&type=move&user=" + username, "Page moves", "ca-pagemoves", "Page moves by this user");
     addTab("p-cactions", wgServer + "/Special:Log&type=block&page=User:" + username, "Blocks received", "ca-blog", "Blocks received by this user");
     addTab("p-cactions", wgServer + "/Special:Prefixindex&from=" + username + "&namespace=2", "Userspace", "", "List of pages in this user's userspace");
     addTab("p-cactions", wgServer + "/Special:Log&type=block&user=" + username, "Blocks given", "", "Blocks by this user");
     addTab("p-cactions", wgServer + "/Special:Log&type=protect&user=" + username, "Protections", "", "Protections by this user");
     addTab("p-cactions", wgServer + "/Special:Log&type=delete&user=" + username, "Deletions", "", "Deletions by this user");
  }
});

// </nowiki></pre>

// This script changes the "Your signature with timestamp" edit button to use a real em dash instead of two hyphens.  <pre><nowiki>

(function () {
    var oldAddButton = addButton;
    if (typeof(oldAddButton) != 'function') return;
    addButton = function () {
        if (arguments.length > 2)
            arguments[2] = arguments[2].replace(/^--(~+)$/, '—$1');
        oldAddButton.apply(this, arguments);
    };
})();

// </nowiki></pre>

//<pre><nowiki>
// Add date and time to your monobook "personal menu" list at the very top of the page.
// Created by [[User:Mathwiz2020]]

// Indicate where you would like the time to appear:
// 1 is first (before username), 2 is second (before talk link), ... 7 is last (after log out link)
insertBeforeNum = 7;

// Do NOT edit below this line unless you're experiened in javascript
insertBeforeArr = new Array("","pt-userpage","pt-mytalk","pt-preferences","pt-watchlist","pt-mycontris","pt-logout","");
insertBefore = insertBeforeArr[insertBeforeNum];

function makeTime()
{
  var li = document.createElement( 'li' );
  li.id = 'pt-time';

  var mySpan = document.createElement( 'span' );
  mySpan.appendChild( document.createTextNode( 'date and time' ) );

  li.appendChild( mySpan );

  if ( insertBefore )
  {
    var before = document.getElementById( insertBefore );
    before.appendChild( li, before );
  }
  else // append to end (right) of list
  {
    document.getElementById( 'pt-logout' ).parentNode.appendChild( li );
  }

  getTime();
}

if      ( window.addEventListener ) window.addEventListener ( 'load', makeTime, false );
else if ( window.attachEvent      ) window.attachEvent      ( 'onload', makeTime      );

function getTime()
{
    var time    = new Date();
    var date    = time.getUTCDate();
    var months  = 'Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec'.split(' ');
        month   = months[time.getUTCMonth()];
    var year    = time.getUTCFullYear();
    var hours   = '0' + time.getUTCHours();
        hours   = hours.substr(hours.length-2, hours.length);
    var minutes = '0' + time.getUTCMinutes();
        minutes = minutes.substr(minutes.length-2, minutes.length);
    var seconds = '0' + time.getUTCSeconds();
        seconds = seconds.substr(seconds.length-2, seconds.length);
    var curTime = hours + ":" + minutes + ":" + seconds + ", " + date + " " + month + " " + year + " (UTC)";
    datePlace   = document.getElementById('pt-time').childNodes[0].childNodes[0];
                  datePlace.replaceData(0, datePlace.length, curTime);
    doTime      = window.setTimeout("getTime()", 1000);
}
//</nowiki></pre>