cell/FUNCTION

Dieser Content-Driver wird benutzt um zum einen easydb-weite Funktionen und zum anderen Driver-abhängige Spezialfunktionen bereitzustellen.

Verfügbarkeit

In allen Drivern verfügbar.

Parameter

Bitte beachten Sie Werte für Variablen die in "Anführungszeichen" stehen, mit Anführungszeichen eingeben werden müssen. Innerhalb des "Strings" können Sie " mit \" escapen.

Function Der Parameter bestimmt die Funktion und alle weiteren Parameter. Im nächsten Abschnitt Funktionen ist jede Funktion separat dokumentiert.

Funktionen

is_easydb_user

Die Funktion gibt 1 aus, wenn der eingeloggte Benutzer über die easydb-eigene Methode authentifiziert wurde. Obwohl das auch für den Gast-Nutzer "guest" zutrifft, wird für diesen (ab Version 4.0.140) wie auch in allen anderen Fällen nichts ausgegeben.

login_status

Gibt 2 aus, wenn der Benutzer authentifiziert ist (also sich eingeloggt hat), wenn nicht 0.

Die aus easydb 3 bekannte Gast-Authorisierung gibt es in der easydb 4 nicht mehr.

login_user_column

Gibt entweder das login oder den displayname des Benutzers aus.

column Entweder login, um das Login des Benutzers anzuzeigen oder displayname um den als Config-Variable konfigurierten (im easydb Authentifizierungs-Fall) Display-Name anzuzeigen. Alle anderen Werte sind nicht mehr gültig und produzieren eine Warnung im Log.

include_static

Diese Funktion wird benutzt, um eine Datei einzulesen und auszugeben die im easydb docroot im Dateisystem auf dem easydb Server liegt. Wird die Datei nicht gefunden, wird versucht eine Datei einzulesen, die genauso heisst, aber vor dem Namen noch ein "example_" trägt. Dadurch ist es möglich ein Beispiel mitzuliefern, welches dann durch eine andere Version der Datei ersetzt wird.

"file_name" Der Dateiname relativ zum easydb docroot. %eadb_frontend% wird durch den Instanz-Namen der easydb ersetzt, %lang% durch das Kürzel der aktuellen Sprache (z.B. de oder en).

resize_iframe_height

Gibt Javascript aus, so dass der Parent-Iframe auf die Höhe des aktuellen body.offsetHeight gesetzt wird.

extra_space Zahl in Pixeln, um extra Höhe zu addieren.

move_frameset

Gibt Javascript aus, um den aktuellen Frame in seiner Breite zu verändern oder auf Fullscreen zu vergrößeren. easydb benutzt das, um die Sidebar für Editor und Detail zu öffnen.

width_in_pixel Die neue Breite des Frames in Pixeln.
fullscreen Das Parent-Parent-Frameset wird auf "rows=0,*" gesetzt. Das funktioniert nur, wenn das Frameset entsprechend aufgebaut ist.

print_grid_by_id

Setzt das Rendern bei einem anderen Grid fort. Benutzen Sie diese Funktion, um bestimmte GRIDs wiederzuverwenden ohne sie doppelt zu bauen oder zu kopieren.

grid_id Die GRID-ID. Achtung, dieses ist NICHT die Mask-ID!

loading_div

Es wird eine DIV ausgegeben die verschwindet, wenn die Seite vollständig geladen ist. Solange die Seite lädt, blinkt die DIV alle 500ms.

class DOM class des DIV.
"style" DOM style des DIV.
"text" HTML welches in der DIV ausgegeben wird.

language_selector

Gibt einen Sprachumschalter aus. Es werden alle Sprachen aus der Config-Variable LANGUAGE in der angegebenen Reihenfolge ausgegeben. Der Sprachumschalter zeigt ein kleines Menü, wenn genug Platz vorhanden ist, sonst wird beim Klick auf die Flagge zur nächsten Sprache geschaltet.

Seit Version 4.0.168 hat der Sprachumschalter keine Parameter mehr.

language_print_current

Gibt den aktuellen language_code (z.B. de oder en) aus wie er in der Tabelle pf_languages in der Spalte code festgelegt ist.

output_menu

Seit Version 4.0.177

Gibt eine Menü-Struktur als HTML aus. Dazu werden pseudo-mässige Einträge in einer String-Tool-Variable gemacht, die eine Menü-Struktur definieren.

menu_name Name der String-Tool-Variable in der die Struktur des Menüs abgespeichert wird. Mehr Information zur Struktur gibt es im Beispiel
start_level Die Ebene ab dem das Menü ausgegeben wird (Zählung startet bei 0). Benutzten Sie diese Option, um z.B. ein Kopf-Menü mit der Ebene 0 auszugeben und auf der linken Seite die Ebenen 1-2.
end_level Die Ebene bis zu welcher das Menü ausgegeben wird (Zählung startet bei 0).

Beispiel für eine String-Tool-Variable für MENU_beispiel:

*index/Start Menu-Bezeichner-Start
*index/Overview Menu-Bezeichner-Overview
**index/Overview Menu-Bezeichner-Overview
**index/Page1 Menu-Bezeichner-Page1
**index/Page2 Menu-Bezeichner-Page2
*index/Docs Menu-Bezeichner-Docs
**index/Docs-Page1 Menu-Bezeichner-Docs-Page1
**index/Docs-Page2 Menu-Bezeichner-Docs-Page2
***index/Docs-Page2-Subpage1 Menu-Bezeichner-Docs-Page2-Subpage1
***index/Docs-Page2-Subpage2 Menu-Bezeichner-Docs-Page2-Subpage2

Das Menü wird aus der Variable MENU_beispiel ausgelesen:

  • Pro Zeile wird ein Menü-Eintrag definiert. Dabei gibt die Anzahl der * an, auf welcher Ebene sich ein Menü-Eintrag befindet.
  • Nach dem * wird in Form driver/mask die Mask angegeben, welche aufgerufen werden soll. Unterstützt werden derzeit index, edit und search.
  • Nach einem Leerzeichen folgt der Name einer String-Tool-Variable die den Namen des Menü-Eintrages definiert, wie er im HTML ausgegeben wird.
  • Das HTML für das Menü besteht aus DIVs, die als class Information über die jeweilige Position im Menü beinhalten und ob ein Menü-Eintrag aktuell ausgewählt ist.

Sie können über %<string-tool-variable>% Menü-Definitionen verschachteln. Damit ist es möglich, z.B. abhängig vom Login-Status neben einem Basis-Menü weitere Menü-Einträge für Nutzer zu definieren, die eingeloggt sind.

Verwenden Sie diese Funktion im Zusammenspiel mit driver/index-Mask-Property Menu-URL, zur Ausgabe von Links verwenden Sie am besten grid/LINK-exec_php.

output_tooltip

Seit Version 4.0.199.

Gibt einen Tooltip aus. In der Standard-Einstellung wird ein ? ausgegeben. Beim Klick darauf, erscheint rechts unten neben dem ? ein Tooltip. Das Design kann per CSS (div.l10n-tooltip) angepasst werden. Um an Stelle ? etwas anderes auszugeben, kann der Key l10n.tooltip.anchor im String-Tool gesetzt werden. l10n.tooltip.anchor.title setzt den title des HTML Elements.

key Der Key, wie er in der Datei instances/<instance>/l10n/<instance>.csv oder im String-Tool definiert ist. Schreiben Sie den Key ohne das Prefix l10n.. Zum Beispiel wird der key "meine_hilfe" im String-Tool mit l10n.meine_hilfe gesetzt, in der csv-Datei nur meine_hilfe.

system_variable

Gibt eine System-Variable aus die z.B. Konfigurationen wiederspiegelt.

Die Variablen-Auswahl kann von easydb zu easydb etwas unterschiedlich ausfallen, wir haben hier nur die wichtigsten aufgelistet.

variable date Aktuelles Datum im PHP-Format "D M j G:i:s T Y" (Thu Jun 3 16:24:43 CEST 2010)
  host_url Die URL des Hosts, auf dem easydb läuft.
  db_host Config-Variable DB_HOST, nicht gesetzt, wenn PDO_DATA_DSN verwendet wird.
  code_version Gibt die aktuelle Code-Version aus.
  easydbrel_instance_version Die Version des aktuellen Frontends.
  creator_version Die Version des aktuellen Frontends. Zählt +1 mit jedem Speichern im Creator.
  db_version Die Version des aktuellen dbmodels. Zählt +1 mit jedem Speichern.
  dbmodel_version ==db_version.
  easydb_id Interne easydb_id.
  easydb_version Der easydb 3 Versions-String.
  eadb_frontend Die Name der easydb Instanz.
  pf_logo Das Programmfabrik Logo mit Link zur Programmfabrik Webseite. Seit Version 4.0.168.
  pf_logo&version ... zusätzlich die Code-Version und Frontend-Version der easydb. Seit Version 4.0.168.
  pf_logo&version ... zusätzlich die Anzahl der Datensätze in der EASYDB_DEFAULT_TABLE. Dieser Wert wird stündlich aktualisiert. Seit Version 4.0.168.
  user_login Das login des aktuell eingloggten Benutzers.
  user_id ==user_login
  user Der displayname des aktuell eingloggten Benutzers.

user_variable

Definiert und gibt eine User-Variable aus. Diese Variable kann im Admin-Bereich vom Administrator gesetzt werden.

"name" Der Name der Variable. Mehrfachnutzungen sind möglich.
"doc" Ein beschreibender Text der im Frontend die Variable erklärt.

config_variable

Gibt den Wert einer Config-Variablen aus.

"name" Name der Config-Variable.

user_html

Gibt den displayname eines eingeloggten Benutzers aus, wenn kein Benutzer eingeloggt ist wird der Lokalisierungsschlüssel general.NoUser ausgegeben (dieser kann im Stringtool mit l10n.general.NoUser überschrieben werden).

user_login_type

Gibt den Login-Typ an über den der aktuelle Benutzer authentifiziert wurde.

user_is_member_of_group

Gibt 1 aus, wenn der aktuelle Benutzer Mitglied einer der angegeben Gruppen ist, sonst wird nichts ausgegeben.

group_ids Komma separierte Liste mit den numerischen Gruppen-IDs aus der easydb Usergruppen-Tabelle.

user_created_current_object

Checkt, je nach Context (Editor, Detail, Result), ob das aktuelle Objekt vom aktuell eingeloggten Benutzer angelegt wurde. Intern wird die Spalte easydb_owner überprüft. Gibt 1 aus wenn ja, nichts, wenn nein.

jscript_dimensions (nicht mehr verwenden!)

Gibt Javascript aus, welches die aktuelle Breite und Höhe des Fensters in window_width und window_height speichert.

throw_exception

Wirft eine EasyDBException, diese wird in der Regel als große Fehlermeldung im Frontend angezeigt. Nur bei wirklich ernsten Problemen benutzen, wir z.B. Fraud-Detection aufgrund fehlender Rechten o.ä.

error Dieser String wird als Stringtool Variable interpretiert. D.h. der entsprechende Wert muss um Stringtool gepflegt werden.

driver_exists

Gibt 1 aus, wenn ein Modul/Driver geladen ist, nichts, wenn nicht. Dies wird verwendet, um das Frontend variabel auf installierte Module reagieren zu lassen. Beispielsweise kann ein Button eingeblendet werden, wenn das Frontend über ein installiertes PowerPoint-Modul verfügt.

"driver_name" Name des Moduls/Drivers.

jscript_reloadOnResize

Gibt Javascript aus, welches das aktuelle Window neu-lädt, wenn seine Größe verändert wurde.

rightsmanager

Gibt einen Rechte-Manager aus. Dies wird in driver/edit-Masks verwendet um mit einen Rechte-Manager Rechte für ein Objekt abspeichern zu können.

"rightmask" Name der driver/rightsmanager-Mask. Bitte beachten Sie, dass hier nur Masken vom Typ object und link verwendet werden können.

jscript_for_TAB

Dieses Javascript muss in dem gewünschten Reiter (in der entsprechenden Spalte) eines grid/TABS ausgegeben werden, um ausgeführt zu werden. Je nachdem, ob der Benutzer den Reiter aktiviert oder de-aktiviert wird das angegebene Javascript ausgeführt.

mode when_activated führt das Javascript aus, wenn der Reiter aktiviert wird, when_deactivated führt das Javascript aus, wenn der Reiter de-aktiviert wird.
"script" Javascript welches ausgeführt werden soll.

gradient

Diese Funktion stammt aus den Anfangszeiten der easydb. Es wird eine Einzeilige-Tabelle ausgegeben, die über Hintergrundfarben in den Zellen einen Farbverlauf simuliert. Die Zellen werden jeweils mit einem spacer.gif ausgefüllt. Das spacer.gif ist eine Grafik mit einem einzigen transparenten Pixel. Die Farben werden von der Farbe start bis zur Farbe end in steps Schritten übergeblendet.

spacerWidth Die Breite für das spacer.gif.
spacerHeight Die Höhe für das spacer.gif.
steps Anzahl der Spalten in der Tabelle.
startRed Der Start-Farbwert für Rot als Dezimal-Zahl (0-255)
startGreen Der Start-Farbwert für Grün als Dezimal-Zahl (0-255)
startBlue Der Start-Farbwert für Blau als Dezimal-Zahl (0-255)
endRed Der End-Farbwert für Rot als Dezimal-Zahl (0-255)
endGreen Der End-Farbwert für Grün als Dezimal-Zahl (0-255)
endBlue Der End-Farbwert für Blau als Dezimal-Zahl (0-255)

gcell_value_for_CASE

Diese Funktion wird als value-Funktion in einem grid/CASE benutzt. Sie sorgt dafür, dass die comparison-Spalte im grid/CASE neu berechnet wird, wenn sich in der Maske etwas ändert. Dabei

gcell_id Die GCELL-ID eines cell/INPUT, cell/TEXTAREA oder cell/DIREKTLINK. Das Eingabe-Element muss vor der cell/FUNCTION/gcell_value_for_CASE ausgegeben werden.
field_id Die Column-ID (Spalten ID aus dem dbmodel) des Feldes. Funktioniert nur für cell/DIREKTLINK und muss in driver/editlinks-Masken benutzt werden, da gcell_id dort nicht anwendbar ist.
column Normalerweise wird der value des Feldes als Vergleichswert für grid/CASE verwendet. column verwendet abweichend den Wert einer Spalte in der vom cell/DIREKTLINK verlinkten Link-Tabelle. Dieser Parameter funktioniert nur für cell/DIREKTLINK.

mode_is_active

Diese Funktion gibt eine 1 aus, wenn der gewählte Mode aktiv ist. Seit Version 4.0.229.

mode pdf Ist aktiv, wenn ein PDF gerendert wird.