Extension/GlobalHeaders

aus wiki, dem genealogischen Lexikon zum Mitmachen.
Zur Navigation springen Zur Suche springen

Extension

Extension
edit
name  GlobalHeaders
url  https://gitlab.genealogy.net/genwiki/GlobalHeaders
wikidataid  →
purpose  Adds a custom global top menu
since  2009-05-04
until  
comment  
state  ⚠️
wiki  →

siehe Vorlage:GlobalHeader

GlobalHeaders.php

<?php
# Formatierung (Farbe, Hintergrund usw.)
# durch die CSS-IDs:
# menue, menue-row,
# menue-subrow-Datenbanken
# sowie Klassen:
# home-tab, home-tab-link
# db-tab, db-tab-link
#
# Die konkrete Funktionsdeklaration mit den Variablen sind Besonderheiten von Mediawiki
# Entscheidend fuer die Ausgabe ist der finale Zustand 
# der Variablen $html, der hier dem auszugebenden
# Seitenquelltext ($text) angefuegt wird.
function fnAddGlobalHeaders ($skin, &$text) {

# Die globale Variable $wgLang ist ein Spezifikum von Mediawiki und ist in anderen
# Anwendungen entsprechend zu ersetzen. Sie enthaelt u.a. die aktuelle Sprachauswahl
# des Anwenders oder die Standardeinstellung bei fehlender Anmeldung.
   global $wgLang;

# Ermitteln der Spracheinstellung des Benutzers
# Dabei werden Regionalvarianten auf die �blichen zwei Zeichen verk�rzt
# z.B. en-br
# Der Sprachcode ist bei Mediawiki eine Eigenschaft des Objektes $wgLang,
# in anderen Anwendungen entsprechend als Zwei-Zeichen-Code zu ermitteln
$lang = substr($wgLang->getCode(), 0, 2);

# Sollte der Benutzer eine "exotische" (in der XML-Datei nicht vorgesehene) Sprache ausgew�hlt  haben
# -> dann eben auf Englisch, das ist international ueblicher als deutsch
# In der XML-Datei ergaenzte Sprachversionen muessen ins Array hinein, damit sie auch aktiv werden.
if  ( ! in_array ( $lang, array ( 'de', 'en' ) ) )
    $lang='en';

# Lesen der zentralen Konfigurationsdatei f�r die globalen Header
# Diese xml-Datei immer ueber SVN aendern!
$xml = simplexml_load_file('http://svn.genealogy.net/site/genealogy-site.xml');

$html = '<div id="menue"><div id="menue-row">';

# Jetzt wird obere Navi-Zeile aufgebaut
foreach ($xml->section as $section) {
   foreach( $section->link as $link) {
      if( $lang == $link['lang'] ) {
# Der Tooltip wird als Feld tooltip gesucht.
# Falls in der XML-Datei das Feld nicht angegeben wurde, wird das label als tooltip verwendet.
         $tooltip = $link['tooltip'];
         if (strlen($tooltip) == 0) $tooltip = $link['label'];
         $html = $html.'<span class="home-tab"><a class="home-tab-link" title="'.$tooltip.'" href="'.$link['href'].'">'.$link['label']."</a></span>\n";
      }
   }
}
$html = $html."</div>\n";

# Jetzt wird versucht, die zweiten Zeile aufzubauen
# Im GenWiki sind das alle "subsections" des Eintrages "databases"
# Wer andere will, muss den if-Zweig anpassen und die entsprechenden
# Daten in der XML-Datei ggf. ergaenzen!
foreach ($xml->section as $section) {
   if( 'databases' == $section['id'] ) {
      $html = $html."<div id='menue-subrow-Datenbanken'>";
      foreach( $section->subsection as $subsection) {
         foreach( $subsection->link as $link) {
            if( $lang == $link['lang'] ) {
# Der Tooltip wird als Feld tooltip gesucht.
# Falls in der XML-Datei das Feld nicht angegeben wurde, wird das label als tooltip verwendet.
               $tooltip = $link['tooltip'];
               if (strlen($tooltip) == 0) $tooltip = $link['label'];
               $html = $html.'<span class="db-tab"><a class="db-tab-link" title="'.$tooltip.'" href="'.$link['href'].'">'.$link['label']."</a></span>\n";
            }
         }
      }
      $html = $html."</div>\n";
   }
}
$html = $html ."</div>\n";
#$html = $html . "<!-- Piwik -->\n";
#$html = $html . "<script type=\"text/javascript\">\n";
#$html = $html . "var pkBaseURL = ((\"https:\" == document.location.protocol) ? \"https://technik.genealogy.net/piwik/\" : \"http://technik.genealogy.net/piwik/\");\n";
#$html = $html . "document.write(unescape(\"%3Cscript src='\" + pkBaseURL + \"piwik.js' type='text/javascript'%3E%3C/script%3E\"));\n";
#$html = $html . "</script><script type=\"text/javascript\">\n";
#$html = $html . "try {\n";
#$html = $html . "var piwikTracker = Piwik.getTracker(pkBaseURL + \"piwik.php\", 3);\n";
#$html = $html . "piwikTracker.trackPageView();\n";
#$html = $html . "piwikTracker.enableLinkTracking();\n";
#$html = $html . "} catch( err ) {}\n";
#$html = $html . "</script><noscript><p><img src=\"http://technik.genealogy.net/piwik/piwik.php?idsite=3\" style=\"border:0\" alt=\"\" /></p></noscript>\n";
#$html = $html . "<!-- End Piwik Tracking Code -->\n";
#$html = $html ."<img src='http://wiki-test.genealogy.net/w/skins/common/images/genealogy.net.png' style='display:none;' alt='' />\n";

$text = $text . $html;

return true; 
}
?>

genealogy-site.xml

http://svn.genealogy.net/site/genealogy-site.xml

<site xmlns="http://genealogy.net/site" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://genealogy.net/site http://www.genealogy.net/genealogy-site.xsd">
  <section id="home">
    <link lang="de" label="Home" href="https://www.genealogy.net" tooltip="Zur Startseite von genealogy.net" />
    <link lang="en" label="Home" href="https://www.genealogy.net" tooltip="To the main page of genealogy.net" />
  </section>
  <section id="genwiki">
    <link lang="de" label="GenWiki" href="https://wiki.genealogy.net/" tooltip="Das Genealogische Wiki, die Informationszentrale" />
    <link lang="en" label="GenWiki" href="https://wiki.genealogy.net/" tooltip="Genealogical wiki, the information center (in German)" />
  </section>
  <section id="news">
    <link lang="de" label="Zeitschrift" href="https://wiki.genealogy.net/Computergenealogie" tooltip="Die Zeitschrift 'Computergenealogie'" />
    <link lang="en" label="Magazine" href="https://wiki.genealogy.net/Computergenealogie" tooltip="Our magazine 'Computergenealogie' (in German)" />
  </section>
  <section id="Events">
    <link lang="de" label="Veranstaltungen" href="https://team.genealogy.net/group/treffpunkt/event/calendar/" tooltip="Der genealogische Veanstaltungskalender" />
    <link lang="en" label="Events" href="https://team.genealogy.net/group/treffpunkt/event/calendar/" tooltip="Genealogical Event Calendar (in German)" />
  </section>
  <section id="regional">
    <link lang="de" label="Regional" href="https://wiki.genealogy.net/Portal:Regionale_Forschung" tooltip="Unterstützung für die regionale Forschung" />
    <link lang="en" label="Regional research" href="https://wiki.genealogy.net/Portal:Regional_Research" tooltip="Help for regional research (in German)" />
  </section>
  <section id="databases">
    <link lang="de" label="Datenbanken" href="https://wiki.genealogy.net/Portal:Datenbanken" tooltip="Die Mitmach-Datenbank-Projekte bei genealogy.net" />
    <link lang="en" label="Databases"   href="https://wiki.genealogy.net/Portal:Databases" tooltip="Join-in database projects at genealogy.net (in German)" />
    <link lang="dk" label="Databaser"   href="https://wiki.genealogy.net/Portal:Datenbanken" tooltip="" />
    <link lang="fr" label="Banques de données"   href="https://wiki.genealogy.net/Portal:Datenbanken" tooltip="" />
    <link lang="se" label="Databaser"   href="https://wiki.genealogy.net/Portal:Datenbanken" tooltip="" />
    <link lang="es" label="Base de datos"   href="https://wiki.genealogy.net/Portal:Datenbanken" tooltip="" />
    <link lang="hu" label="Adatbázisok"   href="https://wiki.genealogy.net/Portal:Datenbanken" tooltip="" />
    <link lang="ro" label="Colecţii de date"   href="https://wiki.genealogy.net/Portal:Datenbanken" tooltip="" />
    <link lang="pl" label="Bank danych"   href="https://wiki.genealogy.net/Portal:Datenbanken" tooltip="" />
    <link lang="sk" label="Databázy"   href="https://wiki.genealogy.net/Portal:Datenbanken" tooltip="" />
    <link lang="nl" label="Databanken"   href="https://wiki.genealogy.net/Portal:Datenbanken" tooltip="" />
    <link lang="ru" label="Банки данных"   href="https://wiki.genealogy.net/Portal:Datenbanken" tooltip="" />
    <link lang="lt" label="Duomenų bankas"   href="https://wiki.genealogy.net/Portal:Datenbanken" tooltip="" />
    <subsection id="gedbas">
      <link lang="de" label="GEDBAS" href="https://gedbas.genealogy.net" tooltip="Genealogische Datenbasis - gesammelte Personendaten" />
      <link lang="en" label="GEDBAS" href="https://gedbas.genealogy.net?lang=en" tooltip="Genealogical Database - collected personal data (in German)" />
    </subsection>
    <!--subsection>
      <link lang="de" label="FOKO" href="http://foko.genealogy.net" tooltip="Die Aktion Forscherkontakte der DAGV" />
      <link lang="en" label="FOKO" href="http://foko.genealogy.net" tooltip="Contacts to genealogists - a DAGV project (in German)" />
    </subsection-->
    <subsection id="gov">
      <link lang="de" label="GOV" href="https://gov.genealogy.net/?lang=de" tooltip="Das Geschichtliche Ortsverzeichnis - die Datenbank historischer und aktueller Ortsdaten" />
      <link lang="en" label="GOV" href="https://gov.genealogy.net/?lang=en" tooltip="GOV - the historical gazeteer" />
    </subsection>
    <subsection id="ofb">
      <link lang="de" label="OFBs" href="https://ofb.genealogy.net" tooltip="Ortsfamilienbücher online" />
      <link lang="en" label="Local Heritage Book" href="https://ofb.genealogy.net" tooltip="Local Heritage Books - online (in German)" />
      <link lang="fr" label="Parentés et filiations locales" href="https://ofb.genealogy.net" tooltip="" />
      <link lang="se" label="Ortsfamiljeböcker" href="https://ofb.genealogy.net" tooltip="" />
      <link lang="es" label="Libros de familia local" href="https://ofb.genealogy.net" tooltip="" />
      <link lang="hu" label="Családtörténeti könyvek" href="https://ofb.genealogy.net" tooltip="" />
      <link lang="ro" label="Cărţi familiale de localitate" href="https://ofb.genealogy.net" tooltip="" />
      <link lang="pl" label="Miejscowe kroniki rodzinne" href="https://ofb.genealogy.net" tooltip="" />
      <link lang="sk" label="Miestne rodinneéknihy" href="https://ofb.genealogy.net" tooltip="" />
      <link lang="nl" label="Plaatselijke familieboeken" href="https://ofb.genealogy.net" tooltip="" />
      <link lang="ru" label="Местные хроники наследия" href="https://ofb.genealogy.net" tooltip="" />
      <link lang="lt" label="Vietovių registro knygos" href="https://ofb.genealogy.net" tooltip="" />
    </subsection>
    <subsection id="adressbücher">
      <link lang="de" label="Adressbücher" href="https://wiki.genealogy.net/Portal:Adressbuch" tooltip="Adressbuch-Datenbank" />
      <link lang="en" label="City directories" href="https://wiki.genealogy.net/Portal:Adressbuch" tooltip="Database of historic city directories addressbooks (in German)" />
<link lang="dk" label="Adressebøger" href="https://wiki.genealogy.net/Portal:Adressbuch" tooltip="" />
<link lang="fr" label="Répertoires d`adresses" href="https://wiki.genealogy.net/Portal:Adressbuch" tooltip="" />
<link lang="se" label="Adressböcker" href="https://wiki.genealogy.net/Portal:Adressbuch" tooltip="" />
<link lang="es" label="Libreta de direcciones" href="https://wiki.genealogy.net/Portal:Adressbuch" tooltip="" />
<link lang="hu" label="Címjegyzék" href="https://wiki.genealogy.net/Portal:Adressbuch" tooltip="" />
<link lang="ro" label="Cărţi de adrese" href="https://wiki.genealogy.net/Portal:Adressbuch" tooltip="" />
<link lang="pl" label="Książki adresowe" href="https://wiki.genealogy.net/Portal:Adressbuch" tooltip="" />
<link lang="sk" label="Adresová kniha" href="https://wiki.genealogy.net/Portal:Adressbuch" tooltip="" />
<link lang="nl" label="Adresboeken" href="https://wiki.genealogy.net/Portal:Adressbuch" tooltip="" />
<link lang="ru" label="Адресные книги" href="https://wiki.genealogy.net/Portal:Adressbuch" tooltip="" />
<link lang="lt" label="Adresų knygos" href="https://wiki.genealogy.net/Portal:Adressbuch" tooltip="" />


    </subsection>
    <subsection id="familienanzeigen">
      <link lang="de" label="Familienanzeigen" href="https://familienanzeigen.genealogy.net/" tooltip="Die Datenbank abgeschriebener veröffentlichter Familienanzeigen" />
      <link lang="en" label="Personal columns" href="https://familienanzeigen.genealogy.net/" tooltip="Database of transcribed published personal columns (in German)" />
      <link lang="dk" label="Dødsannoncer, fødsler, vielser o.l." href="https://familienanzeigen.genealogy.net" tooltip="" />
      <link lang="fr" label="Annonces de famille" href="https://familienanzeigen.genealogy.net" tooltip="" />
      <link lang="se" label="Familjeannonser" href="https://familienanzeigen.genealogy.net" tooltip="" />
      <link lang="es" label="Anuncios de familia" href="https://familienanzeigen.genealogy.net" tooltip="" />
      <link lang="hu" label="Anuncios de familia" href="https://familienanzeigen.genealogy.net" tooltip="" />
      <link lang="ro" label="Anun&#355;uri familiale" href="https://familienanzeigen.genealogy.net" tooltip="" />
      <link lang="pl" label="Anonse rodzinne" href="https://familienanzeigen.genealogy.net" tooltip="" />
      <link lang="sk" label="Anonse rodzinne" href="https://familienanzeigen.genealogy.net" tooltip="" />
      <link lang="nl" label="Familie-aankondigingen" href="https://familienanzeigen.genealogy.net" tooltip="" />
      <link lang="ru" label="Газетные объявления семейных событий" href="https://familienanzeigen.genealogy.net" tooltip="" />
      <link lang="lt" label="Liudijimai – Metrikai" href="https://familienanzeigen.genealogy.net" tooltip="" />

    </subsection>
    <subsection id="grabsteine">
      <link lang="de" label="Grabsteine" href="https://grabsteine.genealogy.net/" tooltip="Grabstein-Datenbank" />
      <link lang="en" label="Tombstones" href="https://grabsteine.genealogy.net/" tooltip="Find a grave (in German)" />
    </subsection>
    <subsection>
      <link lang="de" label="Verlustlisten 1. WK" href="http://www.verlustlisten.de" tooltip="Erfassungsprojekt Verlustlisten des Ersten Weltkriegs" />
      <link lang="en" label="WW I Casualty List" href="https://des.genealogy.net/eingabe-verlustlisten/search?lang=en" tooltip="Data entry of the WW I Casualty List" />
    </subsection>
    <subsection>
      <link lang="de" label="Metasuche" href="https://meta.genealogy.net" tooltip="Projektübergreifende Suche nach Personen (Name, Lebensorte)" />
      <link lang="en" label="Meta Search" href="https://meta.genealogy.net/?lang=en" tooltip="Searching for persons in all database projects (name, living places)" />
    </subsection>
  </section>
  <section id="digibib">
    <link lang="de" label="DigiBib" href="https://www.digibib.genealogy.net/viewer/" tooltip="Die Digitale Bibliothek - gescannte genealogische Literatur" />
    <link lang="en" label="DigiBib" href="https://www.digibib.genealogy.net/viewer/" tooltip="Digital library - scanned genealogical literature (mostly German)" />
  </section>
  <section id="des">
    <link lang="de" label="DES" href="https://des.genealogy.net" tooltip="Daten-Eingabe-System" />
    <link lang="en" label="DES" href="https://des.genealogy.net" tooltip="Data Entry System" />   
  </section>
  <section id="software">
    <link lang="de" label="Software" href="https://wiki.genealogy.net/Kategorie:Genealogiesoftware" tooltip="Software für Genealogen" />
    <link lang="en" label="Software" href="https://wiki.genealogy.net/Kategorie:Genealogiesoftware" tooltip="Software for genealogists (in German)" />
  </section>
  <section id="mailinglists">
    <link lang="de" label="Kommunikation" href="https://wiki.genealogy.net/Genealogische_Mailinglisten/Discourse" tooltip="Austausch mit anderen Forschern bei genealogy.net" />
    <link lang="en" label="Communication" href="https://discourse.genealogy.net" tooltip="Exchange with other people! " />
  </section>
  <section id="forum">
    <link lang="de" label="Forum" href="https://forum.genealogy.net" tooltip="Das genealogische Forum" />
    <link lang="en" label="Forum" href="https://forum.genealogy.net" tooltip="The genealogical forum (in German)" />
  </section>
  <section id="societies">
    <link lang="de" label="Vereine" href="https://wiki.genealogy.net/Portal:Vereine" tooltip="Übersicht genealogischer Vereine im deutschsprachigen Raum" />
    <link lang="en" label="Societies" href="https://wiki.genealogy.net/Portal:Societies" tooltip="List of genealogical societies in German speaking areas" />
    <link lang="dk" label="Foreninger" href="https://wiki.genealogy.net/Portal:Vereine" tooltip="" />
    <link lang="fr" label="Associations" href="https://wiki.genealogy.net/Portal:Vereine" tooltip="" />
    <link lang="se" label="Föreningar" href="https://wiki.genealogy.net/Portal:Vereine" tooltip="" />
    <link lang="es" label="Asociaciónes" href="https://wiki.genealogy.net/Portal:Vereine" tooltip="" />
    <link lang="hu" label="Szervezetek" href="https://wiki.genealogy.net/Portal:Vereine" tooltip="" />
    <link lang="ro" label="Asociaţii" href="https://wiki.genealogy.net/Portal:Vereine" tooltip="" />
    <link lang="pl" label="Stowarzyszenia" href="https://wiki.genealogy.net/Portal:Vereine" tooltip="" />
    <link lang="sk" label="Združenia" href="https://wiki.genealogy.net/Portal:Vereine" tooltip="" />
    <link lang="nl" label="Verenigingen" href="https://wiki.genealogy.net/Portal:Vereine" tooltip="" />
    <link lang="ru" label="Союзы" href="https://wiki.genealogy.net/Portal:Vereine" tooltip="" />
    <link lang="lt" label="Draugijos" href="https://wiki.genealogy.net/Portal:Vereine" tooltip="" />
  </section>
  <section id="help">
    <link lang="de" label="Hilfen/FAQs" href="https://wiki.genealogy.net/Portal:Praktische_Hilfe" tooltip="Praktische Hilfen für die genealogische Forschung mit und ohne Internet" />
    <link lang="en" label="Help/FAQs" href="https://wiki.genealogy.net/Portal:Praktische_Hilfe"   tooltip="Help for beginning genealogists (in German)" />
  </section>
</site>