Projekte aus der Forschungsdatenbank mittels PHP einbinden (Besonderheit, da Parameterauswertung)

Die Besonderheit bei der Einbindung von Projekten ist, dass der URL-Parameter projectId ausgewertet werden muss.

Dies geschieht im untenstehenden Beispiel durch Weitergabe an den Parameter Lfdnr an die Forschungsdatenbank.

if (isset($_REQUEST['projectId'])) {
  $fdb->setFDBParameter('Lfdnr',$_REQUEST['projectId']);
}

Durch Übergabe dieses Parameters wird die Forschungsdatenbank angewiesen nur dieses eine Projekt auszugeben. Sofern nur ein Projekt im XML vorhanden ist, zeigt das XSLT-Stylesheet dann die ausführliche Darstellung des Projektes an.

Zusätzlich wird am Ende noch ein Link ausgegeben, der es ermöglicht zur Liste aller Projekte zurückzuspringen.

fdb-ira-projects.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');
  $fdb->setFDBParameter('Dokumentart','Projekt');
 
  # So koennen die aktuell gesetzten Parameter ausgegeben werden
  # var_dump($fdb->getFDBParameters());

  # Wenn Parameter projectId uebergeben, dann nur dieses eine Projekt ausgeben
  if (isset($_REQUEST['projectId'])) {
	$fdb->setFDBParameter('Lfdnr',$_REQUEST['projectId']);
  }
 
  # Keine nach oben links anzeigen
  $fdb->setXsltParameter('enable_totop_backlink','false');
 
  # 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);
 
  # Cache in die Ausgabe einbinden
  $fdb->includeCacheInOutput();
 
?>
 
<br clear="all" />
<br />
<?php
  # Wenn Parameter projectId uebergeben, dann Zurueck-Link anzeigen
  if (isset($_REQUEST['projectId'])) {
    if (isset($_SESSION['lang']) && $_SESSION['lang'] == "EN") {
	?><a href="<?php echo $_SERVER['PHP_SELF']; ?>">Back to the list</a><?php
    } else {
	?><a href="<?php echo $_SERVER['PHP_SELF']; ?>">Zur&uuml;ck zur Projekt-Liste</a><?php
    }
  }
 
?>
<!-- end FDB Code -->