Inhaltsverzeichnis

Erläuterung zur Nutzung der PHP-Klasse für die Einbindung in die eigene Webseite, Fortgeschrittenes Beispiel mit Caching

Dieses etwas fortgeschrittenere Beispiel nutzt die eingebauten sehr simplen Caching-Funktionen der FDB-Klasse.

Die Nutzung des Caches ermöglicht die Ladezeiten der Seiten erheblich zu verkürzen, da nicht bei jedem Zugriff eine Anfrage an die Forschungsdatenbank geschickt wird.

Die Cache-Dateien werden standardmässig in /tmp abgelegt, dies kann über den Setter setCacheDir($dir) geändert werden. Die Cache-Dateien haben alle standardmässig den Dateinamenspräfix fdb-.

Wird der Parameter fdbClearCache übergeben, wird der Cache für die aktuelle Parameterkonfiguration neu geschrieben.

Wird der Parameter fdbClearAllCaches übergeben, werden alle Cache-Dateien gelöscht und der Cache für die aktuelle Parameterkonfiguration wird neu geschrieben.

Änderung der Standardeinstellungen

Die meisten Standardeinstellungen können mit entsprechenden Methoden überschrieben werden.

Einbindung in die Eigene Webseite (Beispiel für Publikationslisten)

fdb-ira.php
<!-- start FDB Code -->
<!-- We include the minified jquery for the fancy javascripts -->
<script type="text/javascript" src="http://code.jquery.com/jquery-1.7.2.min.js">
</script>
 
<?php
  # Alle Fehler zurueckmelden
  error_reporting(E_ALL);
 
  # nicht fuer den Produktionsbetrieb, Fehler anzeigen
  ini_set('display_errors',1);
 
  # Bibliothek laden
  require_once('../fdb/php/lib/fdb.class.php');
 
  # FDB-Klasse initialisieren  
  $fdb = new de\uni_freiburg\tf\fdb\FDB('../fdb/xsl/forschdb_utf8_chermann.xsl');
 
  # Parameter fuer FDB festlegen
  # Kostenstelle definieren
  $fdb->setFDBParameter('Kostenstelle','110113');
 
  # Debug Ausgabe aktivieren oder nicht (Bei true wird eine vollstaendige HTML-Seite ausgegeben, anstatt nur der content, default false)
  $fdb->setXsltDebug(false);
 
  # Javascript Ausgabe aktivieren oder nicht (Bei true werden Javascript-Funktionen eingebaut, default true)
  $fdb->setXsltEnableJavascript(true);
 
  # nach oben links anzeigen
  $fdb->setXsltParameter('enable_totop_backlink','true');
 
  # Darstellung des Publikations-Listings anpassen
  $fdb->setXsltParameter("publications_listing", "publications_list_alltypes");
 
  # Sprache anpassen, abhaengig von dem Parameter lang in der session
  # Array zur Uebersetzung von $_SESSION['lang'] (DE,EN) in die Kuerzel, die das XSL erwartet (D,E)
  $langArray = array(
    'EN' => 'E',
    'DE' => 'D'
  );
  if (isset($_SESSION['lang']) && in_array($_SESSION['lang'], array_keys($langArray))) {
      # Sprache setzen
      $fdb->setXsltParameter("language", $langArray[$_SESSION['lang']]);
  } else {
      # fuer den Fall, dass die Sprache nicht bekannt ist, Standard-Sprache (Deutsch) waehlen
      $fdb->setXsltParameter("language", "D");
  }
 
  # 24h * 30 Tage
  $cacheLifetime = 24 * 60 * 60 * 30;
 
  # Cache nur neu schreiben, wenn er ungueltig ist
  $fdb->writeCacheFileIfCacheExpired($cacheLifetime);
 
  # echo $fdb->getCacheFile();
  # echo 'Cache expired?: ', $fdb->isCacheFileExpired($cacheLifetime) ? 'true' : 'false';

  # Cache in die Ausgabe einbinden
  $fdb->includeCacheInOutput();
?>