Szerkesztő:Dani/userpageutils.js

A Wikipédiából, a szabad enciklopédiából

Megjegyzés: közzététel után frissítened kell a böngésződ gyorsítótárát, hogy lásd a változásokat.

  • Firefox / Safari: tartsd lenyomva a Shift gombot és kattints a Frissítés gombra a címsorban, vagy használd a Ctrl–F5 vagy Ctrl–R (Macen ⌘–R) billentyűkombinációt
  • Google Chrome: használd a Ctrl–Shift–R (Macen ⌘–Shift–R) billentyűkombinációt
  • Internet Explorer / Edge: tartsd nyomva a Ctrl-t, és kattints a Frissítés gombra, vagy nyomj Ctrl–F5-öt
  • Opera: Nyomj Ctrl–F5-öt
/* Qcz's Userpage Utilities v0.9
 * Requires jQuery.
 * License: GPLv3
 */

function isDeniedNamespace() {
  // nem akarjuk, hogy ahol nem kell, ott címet lehessen cserélni vagy ikont lehessen pakolni
  if (wgNamespaceNumber == 0 || wgNamespaceNumber == 1 || // fő névtér és vitája
      wgNamespaceNumber == 6 || wgNamespaceNumber == 7 || // kép
      wgNamespaceNumber == 10 || wgNamespaceNumber == 11 || // sablon
      wgNamespaceNumber == 14 || wgNamespaceNumber == 15 || // kategória
      wgNamespaceNumber == 101 // portálvita
     )
  {
    return true;
  } else {
    return false;
  }
}

/* 
 * Ikonok elrendezése a cím mellé, ablakátméretezés esetén újrapozícionálás
*/
$(document).ready(function() {
  if (isDeniedNamespace()) 
     return;
  var sarokIcons = [];

  /* ikonok repozícionálása */
  function reposIcons() {
    if (sarokIcons.length == 0) return;
    var offset = $('#firstHeading').offset();
    var top = offset.top;
    var maxheight = $('#firstHeading').height();
    var right = offset.left + $('#firstHeading').width();
    for (var i = sarokIcons.length -1; i > -1; i--) {
       var thisTop = (sarokIcons[i].height > maxheight ?
                   top - (sarokIcons[i].height - maxheight) / 2 :
                   top + maxheight/2 - sarokIcons[i].height / 2);
       $('#sarokikon' + i)
         .css('top', (thisTop < 0 ? 0 : thisTop))           
         .css('left', right - sarokIcons[i].width);
       right = right - sarokIcons[i].width - 5;
    }
  };

  var sarokIconSpans = $('.sarokikon');
  if (sarokIconSpans.length == 0) return;
  sarokIconSpans.each(function() {
    // ugye a div fogja magát és kitolja 100%-ra a width-ét, így nem tudjuk mérni
    // a spannál meg a szöveg height-ű lesz egy képet tartalmazó span-is, még ha nagyobb is
    // ezért mi is ilyen mocskos szemetek leszünk, először inline lemérjük a div width-ét
    // majd elvesszük az inline css-osztályt, és lemérjük a height-et
    var xwidth = $(this).width();
    $(this).removeClass('sarokikon');
    var xheight = $(this).height();
    sarokIcons.push({
      html: $(this).html(),
      height: xheight,
      width: xwidth
    });
    $(this).remove();
  });
  if (sarokIcons.length > 0) {
    var offset = $('#firstHeading').offset();
    var right = offset.left + $('#firstHeading').width();
    for (var i = sarokIcons.length -1; i > -1; i--) {
      var iconDiv = $('<div></div>')
        .addClass('sarokikon_fenn')
        .attr('id', 'sarokikon' + i)
        .html(sarokIcons[i].html)
        .css('position', 'absolute')
        .css('width', sarokIcons[i].width)
        .css('height', sarokIcons[i].height)
        .css('z-index', 99);
       switch (skin) {
           case "monobook":
              iconDiv.appendTo('#globalWrapper');
              break;
           default:
              iconDiv.appendTo('body');
              break;
       }
       right = right - sarokIcons[i].width - 5;
    }
    reposIcons();

    var resizeTimer = null;
    $(window).bind('resize', function() {
        if (resizeTimer) clearTimeout(resizeTimer);
        resizeTimer = setTimeout(reposIcons, 100);
    });    
  }
});

/* 
 * Cím és alcím cseréje
*/
$(document).ready(function() {
  if (isDeniedNamespace()) 
     return;
  if ($('#sajatcim').length > 0) {
    if ($('#sajatcim').hasClass('nincsszerk') == false &&
          $('#firstHeading > .editsectionmoved').length > 0) {
       var movededit =
          $('<div>').append(
             $("#firstHeading > .editsectionmoved")
             .eq(0).clone()
          ).html();
      $('#firstHeading').html($('#sajatcim').html() + ' ' + movededit);
    } else {
      $('#firstHeading').html($('#sajatcim').html());
    }

    $('#sajatcim').remove();
  }
  // alcímet csak a júzernévtérben cserélgessünk
  if (!(wgNamespaceNumber == 2 || wgNamespaceNumber == 3)) return;
  if ($('#sajatalcim').length > 0 && $('#siteSub').length > 0) {
    $('#siteSub').html($('#sajatalcim').html());
    $('#sajatalcim').remove();
  }
});


/*
 * Kategóriák összegyűjtése
*/
$(document).ready(function() {
  if (wgNamespaceNumber == 2 && $('#mw-normal-catlinks').length > 0 && $('.kategoria').length > 0) {
    var catlinksA = $('<div>').append(
                      $('#mw-normal-catlinks > a')
                      .eq(0).clone()
                    ).html();
    var oldCats = [];
    $('#mw-normal-catlinks > span').each(function() {
      oldCats.push(     
        $('<div>').append(
          $(this)
          .eq(0).clone()
        ).html()
                    
      );
    });
    var catOutput = catlinksA + ': ';
    for (var i = 0;i<oldCats.length;i++) {
       catOutput = catOutput + oldCats[i];
       if (i < oldCats.length -1)
          catOutput = catOutput + ' | ';
    }
    $('.kategoria').each(function() {
        catOutput = catOutput + ' | ' + $(this).html();
        $(this).remove();
    });
    $('#mw-normal-catlinks').html(catOutput);
  }
});


/*
 * Betűtípus lecserélése
*/
$(document).ready(function() {
  if ((wgNamespaceNumber == 2 || wgNamespaceNumber == 3) && $('.betutipus').length > 0) { 
    var userFont = $('.betutipus').html();
    $('#firstHeading').css('font-family', userFont);
    $('#bodyContent').css('font-family', userFont);
    $('.betutipus').remove();
  }
});