Skript-Erweiterungen

Aus Limbas Wiki

Wechseln zu: Navigation, Suche

Admin-Dokumentation / Hauptseite


LIMBAS ermöglicht es, für spezielle Anwendungen Erweiterungen einzubinden. Dazu gibt es zwei Möglichkeiten:

LIMBAS Core mit eigenem Skript erweitern

Beim Start ermittelt LIMBAS alle Dateien "ext_*.inc" aus dem Verzeichnis ./dependent/EXTENSIONS bzw. beliebigen Unterverzeichnissen davon. Vor der Ausführung eines Skripts .php, .dao oder .lib überprüft dieses das Vorhandensein ein oder mehrerer (aus verschiedenen Unterverzeichnissen) ext_.inc und arbeitet diese ggf. ab.
Folgende Sourcedateien können momentan erweitert werden:

Source Script Extension Name Ausführung Funktionalität in LIMBAS
main.php ext_main.inc Skriptmitte Haupteinstiegsseite
main.php ext_main.js Skriptende Haupteinstiegsseite Javascript Bodyelemente
main_admin.php ext_main_admin.inc Skriptmitte Admin Haupteinstiegsseite
main_dyns.php ext_ajax.inc Skriptanfang Haupteinstiegsseite für Ajax-Aufrufe
gtab/gtab.lib ext_gtab.inc Skriptanfang Grundlegende Funktionen für alle Datenbank-Abfragen und -Änderungen
gtab/html/gtab_erg.php ext_gtab_erg.inc Skriptanfang Funktionen für die Listen-Darstellung
gtab/html/gtab_erg.dao ext_gtab_erg_dao.inc Skriptanfang Funktionen für die Listen-Darstellung
gtab/dao/gtab_change.dao ext_gtab_change.inc Skriptanfang Funktionen für die Detail-Darstellung
lib/session_auth.lib ext_session_auth.inc Skriptende Funktionen für die Session-Initialisierung
lib/session_auth.lib ext_ldap.inc Skriptanfang Funktionen für die LDAP Authentifizierung
extra/report/report.dao ext_report.inc Skriptanfang Funktionen für Reports
extra/explorer/filestructure.lib ext_explorer.inc Skriptanfang Funktionen für LIMBAS DMS
layout/nav.php ext_nav.inc Skriptende Erweiterung der Navigationsleiste
extra/multiframe/multiframe.dao ext_multiframe.inc Skriptende Funktionen für Darstellungen im Mehrzweck-Fensters am rechten Browser-Rand
layout/style/css.php ext_css.inc Skriptende Erweiterung für Überschreibungen des Hauptstylesheets von Limbas (für direkte Anpassungen am Layout)
main.php ext_main.css Skriptmitte Zusätzlich eingebundenes CSS für eigene Erweiterungen

Generell können beliebig viele Erweiterungsskripte des gleichen Namens in unterschiedlichen Ordnern angelegt werden. Dabei kann man eine eigene Ordnerstruktur im ./dependent/EXTENSIONS Verzeichnis erstellen, die der Übersichtlichkeit dient.== LIMBAS mit eigenen Funktionen erweitern == Das Skript, das von LIMBAS ausgeführt werden soll, muss im Verzeichnis ./dependent/EXTENSIONS oder einem Unterverzeichnis mit der Endung *.ext vorliegen. Dieses Skript wird unter Admin->Setup->Menüpunkte bei dem Menüpunkt, der die Ausführung des Skriptes triggert, in der Spalte "Erweiterung" per Select ausgewählt. Falls der Menüpunkt schon eine Limbas-Aktion beninhaltet hat wird die ursprünglich vorgesehene Aktion nicht ausgeführt. Es können ebenfalls eigene Menüpunkte hinzugefügt werden. Diese können berechtigt und im vollen Umfang in Erweiterungen genutzt werden. Unter "Menüpunkte" fallen auch Aktionen oder Links die nicht in Menüs genutzt werden.

Note: Bitte beachten Sie, dass das Select-Feld nur zur Verfügung steht, wenn dem Menüpunkt ein eindeutiger Aktionsname zugewiesen ist.

Im Beispiel wird die Datei helloworld.ext aufgerufen. Die folgenden Beispielcode enthält:

Example:
 
<?php
echo "hello world";
?>

Die Aktion kann nun über folgende URL aufgerufen werden: http://...openlimbas/dependent/main.php?action=nav_meinMenue. Skripterweiterung Abb.1.png

Erweiterung der main.php über die Datei ext_main.inc

Diese muss im Verzeichnis /dependent/EXTENSIONS bzw. einem beliebigem Unterverzeichnis angelegt werden. Um eine Extension für einen neuen Hauptmenüpunkt auswählen zu können, muss zunächst eine Aktion eingegeben werden.
Die Aktion kann ein beliebiger Name sein, der später zum Aufrufen der Extension verwendet wird. (Achtung: Jeder Name darf nur einmal vorkommen)
Der Aufruf erfolgt über die Ergänzung des limbas-Links mit "main.php?action=NAME_DER_AKTION".

Example: ext_main.inc:
 <?
   if($action == 'nav_meinMenue' ){
   #require('eine Datei die Sie brauchen');
   echo "hallo";
   $action='null';
 }
 ?>

$action='null' ist dabei ein wichtiger Eintrag, da ansonsten alle weiteren Aktionen ausgeführt werden würden. Ruft man nun im Browser den Link .../main.php?action=nav_meinMenue auf wird als Rückgabe "hallo" ausgegeben.