MediaWiki:Monobook.js: Difference between revisions

From Wikipedia of the Dark Brotherhood, an online Star Wars Club
No edit summary
No edit summary
 
(One intermediate revision by the same user not shown)
Line 1: Line 1:
////////////////////////////////////////////////////////////////////////////
<nowiki>
// [[User:Celestianpower]]'s monobook.
// Most of it copied from some place or other and where it is, I've tried to give a source.
// If you want to copy any of it, I'd be flattered.
////////////////////////////////////////////////////////////////////////////


// Filter changes live
// La parte di script per l'estensione del box strumenti è opera di [[Utente:Timendum]]
// [[User:Lupin/recent2.js]] - please include this line
// (un sentito ringraziamento) :-)
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>');


// [[User:Lupin/popupsdev.js]] - please include this line
function morelinks() {
  var tabs = document.getElementById('p-cactions').cloneNode(true);
  tabs.id = 'mytabs';
  var listitems = tabs.getElementsByTagName('LI');
  for (i=0;i<listitems.length;i++) {
    if(listitems[i].id) listitems[i].id = 'mytabs-' + listitems[i].id;
  }
  document.getElementById('column-content').appendChild(tabs);


document.write('<script type="text/javascript" src="'
var boxclone = document.createElement("div");
            + 'http://en.wikipedia.org/w/index.php?title=User:Lupin/popupsdev.js'  
boxclone.id = 'p-navclone';
            + '&action=raw&ctype=text/javascript&dontcountme=s"></script>');
boxclone.setAttribute("class","portlet");


popupShortcutKeys=true; // optional: enable keyboard shortcuts
var titolo = document.createElement("h5");
popupAdminLinks=true;   // optional: enable admin links
titolo.innerHTML = "strumenti extra";
popupStructure='menus'; // new feature: lovely CSS dropdown menus
boxclone.appendChild(titolo);
popupFixRedits = true;
popupFixDabs = true;


//<nowiki>
var corpo = document.createElement("div");
corpo.setAttribute("class","pBody");
var list_ul = document.createElement("ul");


//From ABCD
var list_a = document.createElement("li");
function hideafd(){
list_a.id = 'v-sandbox';
    var divs = document.getElementsByTagName("div");
var link_a = document.createElement("a");
    for(var x = 0; x < divs.length; ++x)
  link_a.href = '/wiki/Utente:Kormoran/Sandbox';
        if(divs[x].className.indexOf("vfd") != -1 || divs[x].className.indexOf("afd") != -1)
  link_a.innerHTML = 'Sandbox personale';
            divs[x].style.display = "none";
  list_a.appendChild(link_a);
    document.getElementById('footer').style.display = 'none';
  list_ul.appendChild(list_a);
}
 
function showafd(){
    var divs = document.getElementsByTagName("div");
    for(var x = 0; x < divs.length; ++x)
        if(divs[x].className.indexOf("vfd") != -1 || divs[x].className.indexOf("afd") != -1)
            divs[x].style.display = "";
    document.getElementById('footer').style.display = '';
}
 
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;
}
 
 
//Hybirdization of ABCD afd closer
 
function closeafd(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 afdresult(){
    var res = prompt("Result?");
    if(!res) return;
    var form = document.editform;
    form.wpSummary.value = 'AFD result';
    var txt = form.wpTextbox1;
    txt.value += '{{oldafdfull|date=[[DAY MONTH]] [[2005]]|result=' + res + '|votepage={{subst:PAGENAME}}}}';
    txt.focus();
}
 
function afddelete(){
    document.forms.deleteconfirm.wpReason.value = '[[Wikipedia:Articles for deletion/' + unescape(window.location.href.replace(/^.*\?title=([^&]+)&action=delete.*$/, '$1').replace(/_/g, ' ')).replace(/^(Talk|Wikipedia( talk)?):/, '') + ']]';
}
 
function fairusedelete(){
    document.forms.deleteconfirm.wpReason.value = 'Orphanned fair use image (' + '[[' + 'WP:CSD' + ']]' + ' I5)';
}
 
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);
    }
}
 
function afdresult(){
    var res = prompt("Result?");
var day = prompt("On which day was it nominated?");
    if(!res) return;
    var form = document.editform;
    form.wpSummary.value = 'AFD result';
    var txt = form.wpTextbox1;
    txt.value += '{{oldafdfull|date=[[' + day + ']] [[2005]]|result=' + res + '|votepage={{subst:PAGENAME}}}}';
    txt.focus();
}
 
// appends msg to the currently-editted page, sets the summary to summ,
// and marks or unmarks the Watch this page checkbox according to watch.
function edit_summary_watch(msg, summ, watch)
{
  var f = document.editform, t = f.wpTextbox1;
  if (t.value.length > 0)
    t.value += '\n';
  t.value += msg;
  f.wpSummary.value = summ;
}
 
function testn(number)
{
  var page = prompt("Vandalism to which article?")
  var f = document.editform, t = f.wpTextbox1;
  if (t.value.length > 0)
    t.value += '\n';
  t.value += "{{subst:" + "test" + number + "-n|" + page + "}} ~" + "~" + "~" + "~";
  f.wpSummary.value = "Vandalism to [[" + page + "]] - warning " + number;
}
 
function test5()
{
  var howlong = prompt("How long have they been blocked for?")
  var f = document.editform, t = f.wpTextbox1;
  if (t.value.length > 0)
    t.value += '\n';
  t.value += "{{subst:vbc-t|" + howlong + " hours}} ~~" + "~~";
  f.wpSummary.value = "Blocked for " + howlong + " hours for vandalising!";
}
 
function interwiki(wiki)
{
  var f = document.editform, t = f.wpTextbox1;
  t.value += '\n';
  t.value += "[[";
  t.value += wiki;
  t.value += ":{{subst:PAGENAME";
  t.value += "}}]]";
  f.wpSummary.value = "Adding interwiki to " + wiki + "-wiki";
}
 
// adds various tabs to call the above
function add_tabs()
{
  var c1 = document.getElementById('column-one');
  var tabs = c1.getElementsByTagName('div')[0].getElementsByTagName('ul')[0];
 
  // Only add for pages with "Editing User talk:" at the start of the title
  if (document.title.indexOf("Editing User talk:") == 0)
    {
      addlilink(tabs, 'javascript:edit_summary_watch("{{subst:anon}} ~~~~", "{{anon}}", false, 0)',"IP");
      addlilink(tabs, 'javascript:edit_summary_watch("{{subst:User:Celestianpower/welcome}} ~~~~", "Welcome!", false, 0)',"Welcome!");
      addlilink(tabs, 'javascript:edit_summary_watch("{{subst:EA-welcome}} ~~~~</div>", "Welcome to Esperanza!", false, 0)',"EA!");
      addlilink(tabs, 'javascript:testn(1)',"t1");
  addlilink(tabs, 'javascript:testn(2)',"t2");
  addlilink(tabs, 'javascript:testn(3)',"t3");
  addlilink(tabs, 'javascript:testn(4)',"t4");
      addlilink(tabs, 'javascript:test5()',"Blocked!");
    }
  if (document.title.indexOf("Editing Wikipedia:Articles for deletion") == 0)
    {
        addlilink(tabs, 'javascript:closeafd("keep", "")', 'Keep');
        addlilink(tabs, 'javascript:closeafd("delete", "")', 'Delete');
        addlilink(tabs, 'javascript:closeafd(prompt("Result?"), "")', 'Other');
    }
 
  if (document.title.indexOf("Wikipedia:Articles for deletion/Log/") != -1)
    {
        addlilink(tabs, 'javascript:hideafd()', 'Hide', 'ca-hide');
        addlilink(tabs, 'javascript:showafd()', 'Show', 'ca-show');
    }
  if (document.title.indexOf("My watchlist") == 0)
    {
        addlilink(tabs, 'http://en.wikipedia.org/wiki/User:Celestianpower/status?action=edit&autoedit=s_Image:in_Image:out_&autosummary=I%20am%20out!&autominor=true&autoclick=wpSave', "Out");
        addlilink(tabs, 'http://en.wikipedia.org/wiki/User:Celestianpower/status?action=edit&autoedit=s_Image:out_Image:in_&autosummary=I%20am%20in!&autominor=true&autoclick=wpSave', "In");
    }
 
  if(document.title.indexOf("Confirm delete") == 0)
    {
        addlilink(tabs, 'javascript:afddelete()', 'AFD');
        addlilink(tabs, 'javascript:fairusedelete()', 'Fair use');
    }
 
  if(document.title.indexOf("Editing ") == 0){
        addlilink(tabs, 'javascript:replace()', 'Replace');
        addlilink(tabs, 'javascript:interwiki("es")', 'es');
        addlilink(tabs, 'javascript:interwiki(prompt("Which other Wikipedia has an article on this subject?"))', 'i-wiki');
    }
 
  if(document.title.indexOf("Editing Talk:") == 0){
        addlilink(tabs, 'javascript:afdresult()', 'AFDr');
        addlilink(tabs, 'javascript:interwiki(es)', 'es');
        addlilink(tabs, 'javascript:interwiki(prompt("Which Wikipedia has an article on the same subject?"))', 'i-wiki');
    }
 
}
 
if (window.addEventListener)
  window.addEventListener("load", add_tabs, false);
else if (window.attachEvent)
  window.attachEvent("onload", add_tabs);
 
 
function addtab(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;
}
 
 
///////////////////////////////////////////////////////////////////
// AutoAFD by Korath
// This needs to change depending on skin used.
//////////////////////////////////////////////////////////////////
function add_link2(url, name)
{
  var na = document.createElement('a');
  na.setAttribute('href', url);
  na.appendChild(document.createTextNode(name));
 
  var li = document.createElement('li');
  li.appendChild(na);
 
  var tabs = document.getElementById('p-cactions').getElementsByTagName('ul')[0];
  tabs.appendChild(li);
}
 
function strip_namespace(target)
{
  var colon = target.indexOf(':');
  if (colon != -1)
    {
      var spaces = new Array('User', 'Wikipedia', 'Image', 'MediaWiki', 'Template', 'Help', 'Category');
      var ns = target.substring(0, colon);
      if (ns == '' || ns == 'Talk')
        return target.substring(colon + 1);
      else
        for (var i = 0; i < spaces.length; ++i)
          {
            if (ns == spaces[i]
                || ns == spaces[i] + '_talk')
              return target.substring(colon + 1);
          }
    }
 
  return target;
}
 
function afd()
{
  document.editform.wpTextbox1.value = '{' + '{' + 'subst:afd}}\n' + document.editform.wpTextbox1.value;
  document.editform.wpSummary.value = 'afd';
 
  var target = document.editform.action;
  target = target.substring(target.indexOf('title=') + 6,
                            target.lastIndexOf('&action=submit'));
 
  var months = new Array('January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December');
  var date = new Date();
  date = date.getUTCFullYear() + '_' + months[date.getUTCMonth()] + '_' + date.getUTCDate();
 
  var pagename = strip_namespace(target);
 
  window.open('/w/index.php?title=Wikipedia:Articles_for_deletion/' + pagename + '&action=edit&fakeaction=afdsub&faketarget=' + target,
              'Afd ' + unescape(target),
              'status,toolbar,location,menubar,directories,resizeable,scrollbars');
  window.open('/w/index.php?title=Wikipedia:Articles_for_deletion/Log/' + date + '&action=edit&fakeaction=afdlist&faketarget=' + pagename,
              'AfdLog ' + unescape(target),
              'status,toolbar,location,menubar,directories,resizeable,scrollbars');
}
 
function autoafd()
{
  if (document.title.indexOf('Editing ') == 0)
    {
      var action = '';
      var target = '';
      if (location.search)
        {
          var l = location.search.substring(1).split('&');
          for (var i = 0; i < l.length; ++i)
            {
              var eq = l[i].indexOf('=');
              var name = l[i].substring(0, eq);
              if (name == 'fakeaction')
                action = l[i].substring(eq + 1);
              else if (name == 'faketarget')
                target = unescape(l[i].substring(eq + 1)).replace(/_/g, ' ');
            }
        }
 
      if (action == 'afdlist')
        {
          document.editform.wpTextbox1.value += '{{' + 'subst:afd3|pg=' + target + '}}\n';
          document.editform.wpSummary.value = '[[Wikipedia:Articles for deletion/' + target + ']]';
        }
      else if (action == 'afdsub')
        {
          if (document.editform.wpTextbox1.value.length > 0)
            {
              target = document.editform.action;
              target = unescape(target.substring(target.indexOf('title=') + 6, target.lastIndexOf('&action=submit'))).replace(/_/g, ' ');
              window.alert("There's an old afd at the default location already.\n\n" +
                          'Please either move it out of the way (and update existing links to it), or file the Afd by hand in another location (such as [[' + target + ' (2)]]).');
            }
          else
            document.editform.wpTextbox1.value += '{' + '{' + 'subst:afd2|pg=' + target + '|text=' + '}' + '}' +
  '-- ~' + '~' + '~' + '~\n' +
              '\n*\'\'\' \'\'\'\n*\'\'\' \'\'\'\n*\'\'\' \'\'\'\n';
        }
      else
        add_link2('javascript:afd()', 'Afd');
    }
}
 
if (window.addEventListener)
  window.addEventListener('load', autoafd, false);
else if (window.attachEvent)
  window.attachEvent('onload', autoafd);
 
// Adds a "blocklog" tab and fills in the username field on Special:Blockip, if a "&faketarget=username" is present.
function do_blockip_stuff()
{
  // focus on Reason field
  document.getElementsByName('wpBlockReason')[0].focus();
 
  // 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];
  addlilink(tabs, '/wiki/Special:Log/block?page=User:' + target, 'blocklog');
}
 
// Opens the block log in the current window, and Special:Blockip in a popup.
// Width, height, top, and left are chosen for a 1600x1200 display.
//function blockpage_and_log(target)
//{
//  window.open('Special_Blockip.html?foo=blarg&faketarget=' + target, 'Block', 'width=1600,height=600,top=600,left=0');
// document.location.href = 'http://en.wikipedia.org/w/index.php?title=Special%3ALog&type=block&user=&page=User%3A' + target;
//}
 
// 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
  addlilink(tabs, '/wiki/Special:Blockip/' + editlk, 'block');
 
  // To open the block page and block log simultaneously, replace the above line with:
  // addlilink(tabs, 'javascript:blockpage_and_log("' + editlk + '")', 'Block');
  // and uncomment the blockpage_and_log() function above.
 
  // add "blocklog" tab
  addlilink(tabs, '/w/index.php?title=Special%3ALog&type=block&user=&page=User%3A' + editlk, 'blocklog');
 
}
 
function do_onload()
{
  if (document.title.indexOf('User:') == 0
      || document.title.indexOf('User talk:') == 0)
    add_block_tab();
  else if (document.title.indexOf('Block user') == 0) // could stand to be more robust
    do_blockip_stuff();
}
 
//From User:Func
if (window.addEventListener)
  window.addEventListener("load", do_onload, false);
else if (window.attachEvent)
  window.attachEvent("onload", do_onload);
 
if ( document.createElement && window.addEventListener )
{
function SoFixItInit() // pre-load, (don't want to slow down loading of article's content, though)
{
 
}
 
function SoFixItLoad() // post-load
{
UserMenu = new PortletMenu( 'p-personal'  );
PageMenu = new PortletMenu( 'p-cactions'  );
NavMenu = new PortletMenu( 'p-navigation' );
//ToolMenu = new PortletMenu( 'p-tb'         );
 
// This is inefficient and not particularly robust.
// This comes first, I want this link to come up as
// fast as possible.
//
function GetByClass( sElem, sClass )
{ var i, a2 = [], a = document.getElementsByTagName( sElem );
for ( i = 0; i < a.length; i++ )
if ( a[ i ].className == sClass )
a2.push( a[ i ] );
return a2;
}
var a, td = GetByClass( 'td', 'diff-otitle' );
if ( ( td = td[ 0 ] ) && ( a = td.getElementsByTagName( 'a' )[ 0 ] ) )
a.href = a.href + '&action=edit'; // need to change text, later
 
var userName = UserMenu.getText( 'pt-userpage' );
 
// personal (top-most) menu
//
// Celestianpower  Háblame  Prefs  Watchlist  Contribs  Kate VAN  ESP  Log out  <UTCdate>
//
UserMenu.setText( 'pt-mytalk'    , 'Háblame'  );
UserMenu.setText( 'pt-preferences', 'Prefs' );
UserMenu.setText( 'pt-watchlist'  , 'Watchlist' );
UserMenu.setText( 'pt-mycontris'  , 'Contribs' );
UserMenu.setText( 'pt-logout'    , 'Log out'  );
//
UserMenu.setHref( 'pt-mycontris',
'http://en.wikipedia.org/w/index.php?title=Special:Contributions&target=' +
userName + '&offset=0&limit=500' );
//
//
// it seems there is a stylesheet that makes them lowercase
//
// ok, the lowercased menu items are starting to really bug me:
//
document.getElementById( 'p-personal' ).getElementsByTagName( 'ul' )[0].style.textTransform = 'none';
//
UserMenu.insertBefore( 'pt-stat', 'pt-esp', 'ESP', 'irc://irc.freenode.net/wikipedia-esperanza' );
UserMenu.insertBefore( 'pt-esp', 'pt-vandal', 'VAN', 'irc://irc.freenode.net/wikipedia-en-vandalism' );
UserMenu.insertBefore( 'pt-utc', 'pt-kate', 'Kate',
'javascript:void InlineKate( "' + userName + '" )' );
                if(document.getElementById('ca-edit'))
                      document.getElementById('ca-edit').firstChild.innerHTML = 'Edit';
// so I always know what time it is in UTC land:
//
UserMenu.append( 'pt-utc', UTCTime(), 'javascript:void UserMenu.setText("pt-utc",UTCTime())' );
 
// article-actions menu, (the "tabs")
//
if ( PageMenu[ 'ca-history' ] ) // theory: if it has a history tab, then it's purgable
{
PageMenu.insertBefore( 'ca-history', 'ca-lastdiff', 'Last diff',
PageMenu.getHref( 'ca-history' ).replace( /action=history/, 'diff=0' ) );
 
PageMenu.append( 'ca-purge', 'Purge',
PageMenu.getHref( 'ca-history' ).replace( /action=history/, 'action=purge' ) );
 
                        PageMenu.setText( 'ca-edit'    , 'Edit'  );
 
                        PageMenu.setText( 'ca-history'    , 'History'  );
 
                        PageMenu.setText( 'ca-delete'    , 'Delete'  );
}
 
var x = 1;
NavMenu.append( 'n-' + x++, 'monobook.js', 'http://en.wikipedia.org/w/index.php?title=User:' + userName + '/monobook.js&action=edit' );
        NavMenu.append( 'n-' + x++, 'Vandalism Fighter', 'http://www.csclub.uwaterloo.ca/~dawill03/cdvf/vf.jar' );
        NavMenu.append( 'n-' + x++, 'Wiktionary', 'http://en.wiktionary.org/wiki/Special:Watchlist');
        NavMenu.append( 'n-' + x++, 'Snicket WikiCity', 'http://snicket.wikicities.com/wiki/Special:Recentchanges' );
        NavMenu.append( 'n-' + x++, 'AfDs to be closed', 'http://en.wikipedia.org/wiki/Wikipedia:Articles_for_deletion/Old' );
}
 
function PortletMenu( id ) // constructor
{
this.menu = document.getElementById( id );
this.list = this.menu.getElementsByTagName( 'ul' )[ 0 ]; // bypass "<h5>Views</h5>", etc.
 
// sigh...as far as I can figure, there is empty whitespace being treated
// as TextNodes....
//
var LIs = this.list.getElementsByTagName( 'li' );
 
for ( var i = 0; i < LIs.length; i++ )
{
this[ LIs[ i ].id ] = LIs[ i ];
}
 
this.newItem = function( id, txt, url )
{ var li = document.createElement( 'li' ); li.id  = id;
var  a = document.createElement( 'a'  );  a.href = url;
 
a.appendChild( document.createTextNode( txt ) );
li.appendChild( a );
 
this[ id ] = li; // watch this!!!
 
return li;
}
 
this.append = function( id, txt, url )
{ this.list.appendChild( this.newItem( id, txt, url ) );
}
this.insertBefore = function( old, id, txt, url )
{ this.list.insertBefore( this.newItem( id, txt, url ), this[ old ] );
}
 
// the ByTagName here is a bit annoying, but in Safari, I was picking
// up TextNodes by using this[ id ].firstChild.firstChild
//
this.getText = function( id      ) { return this[ id ].getElementsByTagName( 'a' )[ 0 ].firstChild.data }
this.setText = function( id, txt ) {        this[ id ].getElementsByTagName( 'a' )[ 0 ].firstChild.data = txt }
 
this.getHref = function( id      ) { return this[ id ].getElementsByTagName( 'a' )[ 0 ].href      }
this.setHref = function( id, url ) {        this[ id ].getElementsByTagName( 'a' )[ 0 ].href = url }
// I add em as I need em....
}
 
function InlineKate( user )
{
var kate =
'http://tools.wikimedia.de/~kate/cgi-bin/count_edits?user=' + user + '&dbname=enwiki';
 
var div = document.createElement( 'div' );
div.id = 'inlineKateDiv';
div.style.position = 'absolute';
div.style.zIndex  = 1000;
div.style.left    = '20px';
div.style.top      =  '20px';
div.style.backgroundColor = '#FFFFFF';
div.style.borderStyle    = 'solid';
div.style.borderWidth    = ' medium';
div.style.borderColor    = '#000000';
 
var top = document.createElement( 'div' );
top.id = 'inlineKateTop';
top.style.textAlign = 'right';
top.style.margin = '8px';
top.style.backgroundColor = '#DDDDDD';
 
var a = document.createElement( 'a' );
a.appendChild( document.createTextNode( "Go to Kate's" ) );
a.href    = kate;
a.target = '_parent';
a.style.margin = '8px';
 
top.appendChild( a );
 
a = document.createElement( 'a' );
a.appendChild( document.createTextNode( 'Close' ) );
a.href    = "javascript:void RemoveNode('inlineKateDiv')";
a.style.margin = '8px';
 
top.appendChild( a );
 
div.appendChild( top );
 
var iframe = document.createElement( 'iframe' );
iframe.id  = 'inlineKateBot';
iframe.style.width  = '300px';
iframe.style.height = '400px';
iframe.style.margin =  '8px';
iframe.style.borderStyle = 'solid';
iframe.style.borderWidth = 'thin';
iframe.style.borderColor = '#000000';
iframe.src = kate;
 
div.appendChild( iframe );
 
document.body.appendChild( div );
}
 
function RemoveNode( id )
{ var node = document.getElementById( id )
node.parentNode.removeChild( node );
}
 
function UTCTime()
{
// Get a date stamp for the time in UTC-land.
//
// for the future: a format arg
//
var s = '',
d = new Date(),
a = 'Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec'.split(' ');
return d.getUTCDate() + ' ' +
a[ d.getUTCMonth() ] + ' ' +
d.getUTCFullYear() + ' ' +
( '0' + d.getUTCHours()  ).substr( -2 ) + ':' +
( '0' + d.getUTCMinutes() ).substr( -2 ) + ' ' + 'UTC';
}
 
SoFixItInit();
window.addEventListener( 'load', SoFixItLoad, false );
}
 
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 );
var list_b = document.createElement("li");
item.insertBefore( document.createTextNode( ', ' ), insertLoc );
list_b.id = 'v-tabelle';
var link_b = document.createElement("a");
link_b.href = '/wiki/Wikipedia:Come_usare_le_tabelle';
link_b.innerHTML = 'Markup tabelle';
list_b.appendChild(link_b);
list_ul.appendChild(list_b);


item.insertBefore( NewLink( 'do block!', '/w/index.php?title=Special:Blockip&ip=' + name, true, '#880000' ), insertLoc );
var list_c = document.createElement("li");
list_c.id = 'v-makeup';
var link_c = document.createElement("a");
link_c.href = '/wiki/Aiuto:Markup_immagini';
link_c.innerHTML = 'Markup immagini';
list_c.appendChild(link_c);
list_ul.appendChild(list_c);


item.insertBefore( document.createTextNode( ' )' ), insertLoc );
var list_d = document.createElement("li");
list_d.id = 'v-tex';
var link_d = document.createElement("a");
link_d.href = '/wiki/Wikipedia:Formule_matematiche_TeX';
link_d.innerHTML = 'Markup TeX';
list_d.appendChild(link_d);
list_ul.appendChild(list_d);


item.removeChild( insertLoc.nextSibling ); // should remove the span
corpo.appendChild(list_ul);
item.removeChild( insertLoc ); // should remove ' newusers ' text
boxclone.appendChild(corpo);
}
document.getElementById("column-one").appendChild(boxclone);
}
}
if ( window.addEventListener ) window.addEventListener( 'load', NUPatrol, false );
else if ( window.attachEvent ) window.attachEvent( 'onload', NUPatrol );


/*
if (window.addEventListener) window.addEventListener("load",morelinks,false);
else if (window.attachEvent) window.attachEvent("onload",morelinks);
*/
addLoadEvent(morelinks);


//</nowiki>
</nowiki>

Latest revision as of 21:51, 2 May 2006

<nowiki>

// La parte di script per l'estensione del box strumenti è opera di [[Utente:Timendum]]
// (un sentito ringraziamento) :-)

function morelinks() {
  var tabs = document.getElementById('p-cactions').cloneNode(true);
  tabs.id = 'mytabs';
  var listitems = tabs.getElementsByTagName('LI');
  for (i=0;i<listitems.length;i++) {
    if(listitems[i].id) listitems[i].id = 'mytabs-' + listitems[i].id;
  }
  document.getElementById('column-content').appendChild(tabs);

 var boxclone = document.createElement("div");
 boxclone.id = 'p-navclone';
 boxclone.setAttribute("class","portlet");

 var titolo = document.createElement("h5");
 titolo.innerHTML = "strumenti extra";
 boxclone.appendChild(titolo);

 var corpo = document.createElement("div");
 corpo.setAttribute("class","pBody");
 var list_ul = document.createElement("ul");

 var list_a = document.createElement("li");
 list_a.id = 'v-sandbox';
 var link_a = document.createElement("a");
 link_a.href = '/wiki/Utente:Kormoran/Sandbox';
 link_a.innerHTML = 'Sandbox personale';
 list_a.appendChild(link_a);
 list_ul.appendChild(list_a);

 var list_b = document.createElement("li");
 list_b.id = 'v-tabelle';
 var link_b = document.createElement("a");
 link_b.href = '/wiki/Wikipedia:Come_usare_le_tabelle';
 link_b.innerHTML = 'Markup tabelle';
 list_b.appendChild(link_b);
 list_ul.appendChild(list_b);

 var list_c = document.createElement("li");
 list_c.id = 'v-makeup';
 var link_c = document.createElement("a");
 link_c.href = '/wiki/Aiuto:Markup_immagini';
 link_c.innerHTML = 'Markup immagini';
 list_c.appendChild(link_c);
 list_ul.appendChild(list_c);

 var list_d = document.createElement("li");
 list_d.id = 'v-tex';
 var link_d = document.createElement("a");
 link_d.href = '/wiki/Wikipedia:Formule_matematiche_TeX';
 link_d.innerHTML = 'Markup TeX';
 list_d.appendChild(link_d);
 list_ul.appendChild(list_d);

 corpo.appendChild(list_ul);
 boxclone.appendChild(corpo);
 document.getElementById("column-one").appendChild(boxclone);
}

/*
if (window.addEventListener) window.addEventListener("load",morelinks,false);
else if (window.attachEvent) window.attachEvent("onload",morelinks);
*/
addLoadEvent(morelinks);

</nowiki>