Erweiterungen Skript-Erweiterungen Geschätzte Lektüre: 4 Minuten 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 ScriptExtension NameAusführungFunktionalitätsession_auth.libext_global.incSkriptanfangGlobalmain.phpext_main.incSkriptmitteHaupteinstiegsseitemain.phpext_main.jsSkriptendeHaupteinstiegsseite Javascript Bodyelementemain_admin.phpext_main_admin.incSkriptmitteAdmin Haupteinstiegsseitemain_dyns.phpext_ajax.incSkriptanfangHaupteinstiegsseite für Ajax-Aufrufegtab/gtab.libext_gtab.incSkriptanfangGrundlegende Funktionen für alle Datenbank-Abfragen und -Änderungengtab/html/gtab_erg.phpext_gtab_erg.incSkriptanfangFunktionen für die Listen-Darstellunggtab/html/gtab_erg.daoext_gtab_erg_dao.incSkriptanfangFunktionen für die Listen-Darstellunggtab/dao/gtab_change.daoext_gtab_change.incSkriptanfangFunktionen für die Detail-Darstellunglib/session_auth.libext_session_auth.incSkriptendeFunktionen für die Session-Initialisierunglib/session_auth.libext_ldap.incSkriptanfangFunktionen für die LDAP Authentifizierungextra/report/report.daoext_report.incSkriptanfangFunktionen für Reportsextra/explorer/filestructure.libext_explorer.incSkriptanfangFunktionen für LIMBAS DMSlayout/nav.phpext_nav.incSkriptendeErweiterung der Navigationsleisteextra/multiframe/multiframe.daoext_multiframe.incSkriptendeFunktionen für Darstellungen im Mehrzweck-Fensters am rechten Browser-Randadmin/setup/color_schema.libext_css.incext_scss.incextscssv.incSkriptendeErweiterung für Überschreibungen des Hauptstylesheets von Limbas (für direkte Anpassungen am Layout)main.phpext_main.cssSkriptmitteZusä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. Notiz: 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: Beispiel: <?php echo "hello world"; ?> Die Aktion kann nun über folgende URL aufgerufen werden: http://…openlimbas/dependent/main.php?action=nav_meinMenue. 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“. Beispiel: 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. Erweiterung des Stylesheets Die Dateien ‚ext_scss.inc‘ und ‚ext_scssv.inc‘ werden so wie sie sind (als Textdatei) eingefügt und zu css kompiliert. Die ‚ext_css.inc‘ wird als php Datei interpretiert und ausgeführt, und alles was am Ende in die Variable $buf geschrieben wird, wird an die css Datei hinten angehängt. Um die Erweiterung anzuwenden muss das Farbschema manuell neu generiert werden. Beispiel:ext_css.inc <?php $buf = ".lmbGtabmenuIcon-11{ background-color: red; }";