MediaWiki:MenuLista.js

Z WikiSkript

Poznámka: Po zveřejnění musíte vyprázdnit cache vašeho prohlížeče, jinak změny neuvidíte.

  • Firefox / Safari: Při kliknutí na Aktualizovat držte Shift nebo stiskněte Ctrl-F5 nebo Ctrl-R (na Macu ⌘-R)
  • Google Chrome: Stiskněte Ctrl-Shift-R (na Macu ⌘-Shift-R)
  • Internet Explorer / Edge: Při kliknutí na Aktualizovat držte Ctrl nebo stiskněte Ctrl-F5
  • Opera: Stiskněte Ctrl-F5.
/* ============== MENU - HORNÍ LIŠTA, EDITAČNÍ MENU ======================================
   autor:       User:Slepi
   popis:       skript upravuje horní menu - vytváří oranžovou lištu s osobním menu
                a vyhledávacím políčkem, odkazy pro editace, historii apod.
   =======================================================================================
*/

var menuLista = {
 
  createEditMenu : function() {
 
    // získání seznamu jmenných prostorů ajaxem z api
    $.getJSON("/api.php?action=query&meta=siteinfo&siprop=namespaces&format=json", function(xmlJmenneProstory) {
 
      // hrátky s názvem současného jmenného prostoru a jeho diskusní stránky
      soucasnyProstor = parseInt(mw.config.get("wgNamespaceNumber"));
      if ((soucasnyProstor%2) == 0) {
        urlmap_mainNS = xmlJmenneProstory.query.namespaces[soucasnyProstor]["*"];
        urlmap_talkNS = xmlJmenneProstory.query.namespaces[soucasnyProstor+1]["*"] + ":";
      } else {
        urlmap_mainNS = xmlJmenneProstory.query.namespaces[soucasnyProstor-1]["*"];
        urlmap_talkNS = xmlJmenneProstory.query.namespaces[soucasnyProstor]["*"] + ":";
      }
 
      // základy url pro odkazy na editaci atd.
      urlmap_base = mw.config.get("wgServer") + mw.config.get("wgScript") + "/";
      urlmap_name = encodeURI(mw.config.get("wgTitle"));
 
      // dvojtečka za jmenným prostorem (hlavní jmenný prostor dvojtečku nemá)
      urlmap_mainNS += (mw.config.get("wgNamespaceNumber") == 0  ? "" : ":");
 
      // vytvoření odkazů
      urlmap_mainPage = urlmap_base + urlmap_mainNS + urlmap_name;
      urlmap_talkPage = urlmap_base + urlmap_talkNS + urlmap_name;
      urlmap_editPageVE = urlmap_base + mw.config.get("wgPageName") + "?veaction=edit";
      urlmap_editPage = urlmap_base + mw.config.get("wgPageName") + "?action=edit" + (((mw.config.get("wgNamespaceNumber") % 2) == 0) ? "" : "&section=new");
      urlmap_histPage = urlmap_base + mw.config.get("wgPageName") + "?action=history";
 
      // editační políčko vedle hlavního nadpisu s odkazy na editaci, historii, apod.
			if(mw.config.get("wgNamespaceNumber") != -1) {
        possibleVEpages = [0, 2, 3, 4, 5, 12, 13, 106];
        if(possibleVEpages.indexOf(mw.config.get("wgNamespaceNumber")) > -1) {
 		   		$('#firstHeading').append('<img style="float: right;" id="map_edit_img" usemap="#map_edit" src="http://www.wikiskripta.eu/images/8/88/Editarticle.png" /><map id="map_edit" name="map_edit"><area shape="rect" coords="4,4,45,35" href="' + urlmap_mainPage + '" alt="Stránka" title="Stránka"    /><area shape="rect" coords="45,4,84,35" href="' + urlmap_talkPage + '" alt="Diskusní stránka" title="Diskusní stránka"    /><area shape="rect" coords="84,4,124,35" href="' + urlmap_editPageVE + '" alt="Editovat" title="Editovat"    /><area shape="rect" coords="124,4,161,35" href="' + urlmap_editPage + '" alt="Editovat zdrojový kód" title="Editovat zdrojový kód"    /><area shape="rect" coords="161,4,201,35" href="' + urlmap_histPage + '" alt="Starší verze" title="Starší verze"    /></map>');
			  } else {
          $('#firstHeading').append('<img style="float: right;" id="map_edit_img" usemap="#map_edit" src="http://www.wikiskripta.eu/images/8/8d/Editarticle2.png" /><map id="map_edit" name="map_edit"><area shape="rect" coords="4,5,47,33" href="' + urlmap_mainPage + '" alt="Stránka" title="Stránka"    /><area shape="rect" coords="45,5,85,33" href="' + urlmap_talkPage + '" alt="Diskusní stránka" title="Diskusní stránka"    /><area shape="rect" coords="84,5,124,33" href="' + urlmap_editPage + '" alt="Editovat" title="Editovat zdrojový kód"    /><area shape="rect" coords="122,5,162,33" href="' + urlmap_histPage + '" alt="Starší verze" title="Starší verze"    /></map>');
        }
      } 
    })
  },
 
  // překladač Google (samotná funkce je zvlášť v MediaWiki:Common.js)
  createTranslator : function() {
    window.
    $("#p-personal").prepend('<a href="#googtrans(cs|en)" onclick="menuLista.useTranslator();"><img src="http://www.wikiskripta.eu/images/5/52/Translate.png" style="margin-left: 470px" id="imgtranslgoog" alt="Překlad" /></a>');
  },

  useTranslator : function() {
    location.hash = "googtrans(cs|en)";
    location.reload();
  },
 
  // vytvoření nápisu "WikiSkripta" v záhlaví stránky
  createWikiSkripta : function() {
    if(mw.config.get("wgTitle") != mw.config.get("wgMainPageTitle")) {
       $("#p-personal").prepend('<a href="' + mw.config.get("wgServer") + '"><img src="http://www.wikiskripta.eu/images/c/cd/Wsnadpis.png" style="margin-left: 13px;" alt="' + mw.config.get("wgSiteName") + '" /></a>');
      $("#imgtranslgoog").css("margin-left", "310px"); // posunutí CSS překladače oproti hlavní stránce
    }
  }, 
 
  // editace sekcí
  createEditSection : function() {
    $(":header").each( function() {
      $(this).children(".mw-headline").insertBefore($(this).find(".editsection"));
    });
  },

  // skrytí cactions a dalších zbytečností na stránce VisualEditoru
  hideCactions : function() {
    if((location.href.indexOf("veaction")) > -1) {
      $("#p-cactions .menu").hide();
      $("#map_edit_img").hide();
      $("#fb_likebutton").hide();
      $("#catlinks").hide();
    }
  },

  // osobní menu vyjíždějící na kliknutí
  createPersonalMenu : function() {
    if((mw.config.get("wgUserName") != null) && (document.cookie.indexOf("ws_persmenu=1") == -1)) {
      $("#p-personal ul").addClass("personalHidden").hide();
      $("#p-personal").append('<span id="p_username">&#171; '+ mw.config.get("wgUserName") + '</span>');
      $("#p_username").click(function(){$(".personalHidden").show("slow"); $("#p-personal span").hide("fast");});
    }
  },
 
  install : function () {
    menuLista.createEditMenu();
    menuLista.createTranslator();
    menuLista.createWikiSkripta();
    menuLista.createEditSection();
    $(menuLista.hideCactions);
    $(menuLista.createPersonalMenu);
  }
 
};
 
// spuštění všeho
menuLista.install();