Jump to content

User:Doc glasgow/monobook.js

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by Doc glasgow (talk | contribs) at 00:41, 2 November 2005 (try it out). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.
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> //

//  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( 'Kate\'s Tool' ) ); // eh, the css makes the text lowercase
   a.href = 'http://kohl.wikimedia.org/~kate/cgi-bin/count_edits?dbname=enwiki&user=' + user;
 
   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 );

// -----------------------------------------------------------------------------
// Übergodmode Monobook skin
// (c) 2005 Sam Hocevar <sam@zoy.org>
// $Id: ubergodmode.js 886 2005-05-14 23:56:48Z sam $
// -----------------------------------------------------------------------------

// -----------------------------------------------------------------------------
// Language support
// -----------------------------------------------------------------------------
var blocklink = 'Block this user';
switch (document.getElementsByTagName('html')[0].lang) {
  case 'fr':
    blocklink = 'Bloquer cet utilisateur';
    break;
}

// -----------------------------------------------------------------------------
// Our nice Block functions
// -----------------------------------------------------------------------------
function PerformBlock() {
  var l, target = '';
  // Look for '&faketarget=XXX' in URL
  url = location.pathname;
  l = location.search.substring(1).split('&');
  for (i = 0; i < l.length; i++) {
    var n = l[i].indexOf('=');
    if (l[i].substring(0, n) == 'faketarget') {
      target = l[i].substring(n + 1);
    }
  }
  if (!target)
    return;
  form = document.getElementById('blockip');
  if (!form)
    return;
  input = form.getElementsByTagName('input')[0];
  input.value = target;
}

// -----------------------------------------------------------------------------
// Add block buttons to the page
// -----------------------------------------------------------------------------
function AddBlockButtons() {
  var l, article = '', vandal;
  // Add 'block' links to a diff page
  l = document.getElementById('t-contributions');
  if (l) {
    clone = l.cloneNode(true);
    l.id = 't-blockuser';
    a = clone.getElementsByTagName('a')[0];
    a.href = a.href.replace(/Special:Contributions\//, 'Special:Blockip/');
    a.href = a.href.replace(/target=/, 'faketarget=');
    a.innerHTML = blocklink;
    l.parentNode.insertBefore(clone, l.nextSibling);
  }
}

// -----------------------------------------------------------------------------
// Modify the page once it is loaded
// -----------------------------------------------------------------------------
if (window.addEventListener) {
  window.addEventListener("load", PerformBlock, false);
  window.addEventListener("load", add_tabs, false);
  window.addEventListener("load", AddBlockButtons, false);
  add_tabs
} else if (window.attachEvent) {
  window.attachEvent("onload", PerformBlock);
  window.attachEvent("onload", AddBlockButtons);
  window.attachEvent("onload", add_tabs);

}

// ----------------------------------------------------------------------------
// Auto-AFD closer (copied from GraemeL
// ----------------------------------------------------------------------------

/**** Add generic tab ****/

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

/**** Add tab as menu ****/

function addlimenu(tabs, name, id)
{
    var na = document.createElement('a');
    na.href = '#';
    var mn = document.createElement('ul');
    na.appendChild(document.createTextNode(name));
    var li = document.createElement('li');
    li.id = id;
    li.className = 'tabmenu';
    li.appendChild(na);
    li.appendChild(mn);
    tabs.appendChild(li);
    return li;
}

function closevfd(bold, notbold){
    var form = document.editform;
    var txt = form.wpTextbox1;
    txt.value = "{{subst:at}} '''" + bold + "'''" + notbold + ". --~~~~\n" + txt.value + "\n{{subst:ab}}\n";
    form.wpSummary.value = "Close discussion: " + bold + notbold;
    form.wpWatchthis.checked = false;
}

function add_tabs()
{
  var tabs = document.getElementById('p-cactions').getElementsByTagName('ul')[0];
  var username=document.getElementById("pt-userpage").textContent;

  if(document.title.indexOf("Editing Wikipedia:Articles for deletion") != -1){                     // AfD tabs
        addlimenu(tabs, 'AfD close actions', 'afda');
        var afda = document.getElementById('afda').getElementsByTagName('ul')[0];
        addlilink(afda, 'javascript:closevfd("Delete", "")', 'Delete', '');
        addlilink(afda, 'javascript:closevfd("Speedy Delete", "")', 'SD', '');
        addlilink(afda, 'javascript:closevfd("Keep", "")', 'Keep', '');
        addlilink(afda, 'javascript:closevfd("Keep (No consensus)", "")', 'Keep, NC', '');
        addlilink(afda, 'javascript:closevfd("Merge and Redirect", " to [[" + prompt("Merge and redirect to?") + "]]")', 'M&R', '');
        addlilink(afda, 'javascript:closevfd("Redirect", " to [[" + prompt("Redirect to?") + "]]")', 'Redirect', '');
        addlilink(afda, 'javascript:closevfd("Transwiki", " to " + prompt("Transwiki to?"))', 'Transwiki', '');
        addlilink(afda, 'javascript:closevfd("Transwiki", " to Wiktionary")', 'WIKT', '');
        addlilink(afda, 'javascript:closevfd(prompt("Result?"), "")', 'Other', '');
  }
}

// </nowiki> //