driver/edit

Der driver/edit dient zum Editieren von Objekten einer bestimmten Haupt-Tabelle. Es können mit einem Editor neben der Haupt-Tabelle auch Datensätze in verknüpte Tabellen geschrieben werden.

Das Rechte-Management bezieht sich immer auf das Objekt aus der Haupt-Tabelle.

Mask-Properties

Table Haupt-Tabelle für das Editieren der Objekte.
exit_to_driver Der Driver zu dem gesprungen wird, wenn das Objekt erfolgreich gespeichert werden konnte. In der Regel ist dieses Feld leer (dann bleibt der Editor offen) oder steht auf search, dann wird die Suche geladen. Das Format ist driver:prefix:url, wobei driver der Name des Drivers ist, prefix ist leer oder parent. um den Vater-Frame neu zu laden, url ist ein String der an die URL gehängt wird, wenn die Seite geladen wird. prefix wird, wenn leer automatisch auf einen in url angegebenen eadb_frame gesetzt (seit Version 4.0.259), prefix und url sind optional.

Für den driver search kann man die search mask auch direkt anhängen. search/WorkfolderSearch lädt beispielsweise die Mask WorkfolderSearch.

exit_to_driver_after_delete Name des Drivers der geladen wird, wenn erfolgreich gelöscht wurde. Format wie bei exit_to_driver
mask_deleted Die driver/grids-Maske die geladen wird, wenn erfolgreich gelöscht wurde. Standardmäßig wird eine Maske mit dem Namen der driver/edit-Maske gesucht mit einem _DELETED am Ende. Im Pulldown kann jedes andere driver/grids ausgewählt werden.
thesaurus_support Für Tabellen bei denen thesaurus_support eingestellt ist, kann hier der Support im Editor eingeschaltet werden. Das bewirkt zum einen, dass eine Suche neu sucht, wenn neue Objekte gelöscht werden und zum anderen das bei new-Aufrufen, die über die URL übergebene select_id als FK_father_id für das neue Objekt gesetzt wird. Mit anderen Worten, wenn Sie innerhalb der driver/edit-Maske einen grid/LINK-driver/edit einbauen mit dem Parameter new gesetzt, so wird das neue Objekt ein Kind von dem ursprünglichen Objekt. Auch bei Aufrufen mit copy_gen_child_no_save, muss thesaurus_support gesetzt sein, damit ein Kind erzeugt wird.
save_callback Der Driver edit verfügt über eine ganze Reihe von CALLBACKs die aufgerufen werden während das Objekt gespeichert wird. Geben Sie hier eine PHP-Funktion an, die diese CALLBACKs abfangen kann und entsprechend in den Speicherprozess eingreift. Das Format ist function_name:driver:param, also zuerst der Name der Funktion function_name, dann der driver, falls er nicht automatisch geladen wird und als drittes noch ein Parameter param. Die Funktion wird mit einem Array als Parameter aufgerufen, welches alle aktuellen Informationen enthält. Dieses Array wird um den Key driver_parm ergänzt, dessen Wert wird auf param gesetzt. Eine Liste der CALLBACKs finden Sie in der Beschreibung zu cell/EDIT_CALLBACK.

Wichtige Callbacks:
  • LOGIN_callback_user_save für easydb User, um verschiedene Sicherheits-Überprüfungen durchführen zu können!
  • CONNECTOR_editor_save_callback für easydb Connector, um den entfernten Connector zu überprüfen und die Felder easydb_id und name zu setzen.
  • WORKFOLDER2_editCallback Wird benutzt, um einen Workfolder abzuspeichern.
check_pool Wenn gesetzt wird check_pulldown auf Pool:pool_id:editmask voreingestellt. Dieser Parameter besteht aus Kompabilitätsgründen.
check_pulldown Im Format linktable:column:mask wird hier angegeben, ob der edit-Driver überprüfen soll, ob das Objekt mit der richtigen Maske angezeigt wird. Ist dem nicht der Fall, wird automatisch die in einer Link-Tabelle angegebene Mask ausgewählt. linktable ist die 1-n verknüpfte Tabelle in der die Informationen stehen, column gibt die Spalte an über die die verknüpfte Tabelle vom aktuellen Objekt erreicht wird, mask gibt die Spalte an, in der als Text der edit-Mask-Name gespeichert ist.
preselect_gcells Liste von GCELL-IDs von DIREKTLINK in dieser Maske, kommasepariert. Diese DIREKTLINK werden auf Grund von Werten die in der URL übertragen werden, vorselektiert. Die Werte werden gesetzt von DIREKTLINK und TABLELINK. Das DIREKTLINK Pulldown wird dann vor-selektiert, wenn der übertragende DIREKTLINK oder TABLELINK dieselbe Tabelle benutzt. Im grid/LINK-driver/edit kann overwrite_gcell_values gesetzt werden, um die von DIREKTLINK und TABLELINK übertragenen Daten zu ignorieren.
close_window_when_done Gibt am Ende der Seite Javascript window.close(); aus, wenn erfolgreich gespeichert oder gelöscht wurde. Damit schließt sich das aktuelle Fenster, wenn es zuvor aus der easydb geöffnet wurde, sonst kommt eine Browser-Warnmeldung.
autosave_every_change Wenn gesetzt wird jedesmal wenn eine Änderung gemacht wurde automatisch gespeichert. Die Speicherung erfolgt über einen IFRAME, so dass der Benutzer davon nichts mitbekommt.
no_rightsmanagement_check Wenn gesetzt wird nicht überprüft ob ein Benutzer die Rechte hat das Objekt zu verändern oder zu löschen.
ignore_unsent_values Wenn gesetzt werden Felder die das Formular nicht gesendet hat ignoriert und beim UPDATE des Datensatzes nicht berücksichtigt.
Spellcheck Einstellung zur Rechtschreibeprüfung des Web-Browsers in INPUT und TEXTAREA Cells:
  • easydb conf Standardeinstellung wird aus der Config BROWSER_SPELLCHECK übernommen.
  • browser Einstellung wird nicht gesetzt, so dass die Einstellung des Web-Browsers gelten.
  • on Rechtschreibprüfung wird aktiviert.
  • off Rechtschreibprüfung wird de-aktiviert.
Sie können diese Formular-weite Einstellung im jeweiligen INPUT und TEXTAREA Feld noch überschreiben.

Seit Version 4.0.168.

grid/FUNCTION

Keine.

grid/LINK

slides_ids_link

Wird benutzt, um in Präsentationen gesammelte Objekte in der Trefferliste anzuzeigen.

eadb_frame Frame der Trefferliste.
multliink_gcell Die GCELL-ID der cell/MULTILINK aus der die Objekt-ID genommen werden sollen.
tags Beliebiger String, der in die Node-Deklaration kopiert wird.
title DOM title für die A-Node.

edit_link

Wird benutzt, um im Editor Buttons auszugeben. Folgende Buttons sind unterstützt:

Benutzen Sie edit_link und nicht mehr die cell/FUNCTION/button.

which prev Zum vorherigen Treffer in der Trefferliste blättern. Benutzen Sie cell/FUNCTION/output_navigation.
  next Zum nächsten Treffer in der Trefferliste blättern. Benutzen Sie cell/FUNCTION/output_navigation.
  save Speichern des aktuellen Editors. Der Editor lädt neu.
  autosave Speichern des aktuellen Editors unter Verwendung eines IFRAME. Der Editor lädt nicht neu.
  exit Bricht das Editieren ab und lädt den in den Properties angegeben exit_to_driver.
redirect_on_success   URL für den Redirect. Session Informationen werden automatisch angehängt. Benutzen Sie eine relative URL.
tags   Beliebiger String, der in die Node-Deklaration kopiert wird.
extra_parm   $_REQUEST[extra_parm] wird auf diesen Wert gesetzt.

link_reset

Wird benutzt, um ein SINGLELINK Feld zu leeren oder auf einen bestimmten Wert zu setzen.

gc_id GCELL-ID des SINGLELINKS der geleert oder gesetzt werden soll.
value Optionaler Wert. Nutzen Sie -1 um mit dem SINGLELINK "nicht gesetzt" zu suchen.
namePrefix Optionaler Prefix für NO ENTRY und NO SELECTION. Für keinen Eintrag und keine Selektion wird der Wert aus den Stringtool-Variablen <namePrefix>NO ENTRY und <namePrefix>NO SELECTION geholt. Wenn nicht gesetzt wird namePrefix ggfs. aus dem verwiesenen SINGLELINK benutzt.

save_and_send_email

Benutzt, um nach erfolgreichem Speichern eine Email zu rendern und zu verschicken. easydb nutzt zum Versenden die PHP Funktion mail. Das Senden von Emails geht nicht, wenn die Edit-Mask ein Gruppen-Editor ist.

Seit Version 4.0.199 wirft easydb keinen Fehler mehr, wenn die Email keinen validen Empfänger enthält, in dem Fall wird die Email einfach nicht versendet.

email_mask Email-Mask, die für die Email gerendert wird. Das Ziel der Email muss in der Datenbank gespeichert sein, die Email-Mask liest das dann aus und verwendet diese Information beim Rendern der Email.
email_mask_2 Optional, eine weitere Email-Mask, die für die Email gerendert wird. Seit Version 4.0.168.
email_mask_3 Optional, eine weitere Email-Mask, die für die Email gerendert wird. Seit Version 4.0.168.
extra_parm $_REQUEST[extra_parm] wird auf diesen Wert gesetzt. Seit Version 4.0.168.

cell/FUNCTION

output_navigation

Gibt die aktuelle Treffer-Nr. aus dem Such-Ergebnis aus, zusammen mit der aktuellen Anzahl der Treffer und einem Vor- und Zurück-Button.

Diese Funktion ersetzt cell/FUNCTION/edit_pos, cell/FUNCTION/edit_ids_count und in Teilen grid/LINK/detail_link.

edit_pos

Gibt die aktuelle Position des Objektes im aktuellen Suchergebnis aus. Achten Sie darauf, dass der Editor mit editframe aufgerufen wird, sonst erscheint als Position nur -.

edit_ids_count

Anzahl der Treffer in der Liste. Achten Sie darauf, dass der Editor mit editframe aufgerufen wird.

edit_id

Objekt-ID des aktuell editierten Objektes. Leer für neue Objekte. Nutzen Sie dies in IFTHEN-Grids.

edit_status

Gibt den aktuellen Status des Editors aus. Wichtig für die Ausgabe von Fehlern. Bitte verwenden sie ab sofort output_error.

status any gibt Status und Error aus, status nur Status, error nur Error.

output_error

Gibt eine DIV aus mit einer Fehlermeldung, wenn aktuell der Status Error ist. Filtert den Text über Stringtool. Gibt zusätzlich aktuelle Warnings aus. Aktuelle Warning können entstehen, wenn während eines Speicher-Vorgangs die Exception EditNextImage geworfen wird oder wenn im Gruppen-Editor bestimmte Sitationen entstehen. Gibt zusätzlich Status Informationen aus, wenn Objekte gespeichert, erzeugt oder gelöscht wurden.

class Der class-String für die DIV. Standardmässig wird feedback benutzt. Zusätzlich wird für Fehler error, für Warnungen warning und für Status status gesetzt.
style Der style-String für die DIV.

Die Fehlermeldung kann über Stringtool-Variablen verändert werden, um dem Benutzer einen verständlichen Fehlertext zu präsentieren. Die Variablen haben das Format EDIT_OUTPUT_ERROR:<pattern>, wobei <pattern> ein regulärer Ausdruck für preg_replace ist. <pattern> wird innerhalb von /<pattern>/i an preg_replace übergeben. Beachten Sie, dass Stringtool alle Keys in Kleinschreibung speichert, dass heisst auch das <pattern> in Kleinschreibung an preg_replace übergeben wird.

Seit Version 4.0.177 wird auch in ‘l10n/keys.csv* entsprechend nach Ersetzungen gesucht (Ersetzungen im Stringtool haben Vorrang).

Seit Version 4.0.259 werden diese Keys auch benutzt, um Fehler beim Vereinnahmen von Assets mit dem Manuellen Importer zu übersetzen. Siehe auch hier.

changelog_poller

Gibt eine DIV aus, die im Falle von Änderungen am Objekt durch andere Sessions Warnhinweise ausgeben und eine Verlinkung zum aktuellen Changelog erlauben.

changelogDetailMask Detail-Mask zur Anzeige des Changelogs.

open_form

Gibt den FORM-open aus und allerlei Steuerdaten.

Jeder Editor benötigt diese Funktion!

method POST Verwendet die POST-Method zum Absenden des Formulars, GET die GET-Methode. Für größere Formulare müssen Sie POST nehmen.
redirect_on_success URL für den Redirect, nach erfolgreichem Speichern.
autocomplete Wenn gesetzt, erlauben Sie dem Browser eine Auto-Vervollständigung in den Formular-Feldern.

close_form

Schließt das FORM.

Jeder Editor benötigt diese Funktion!

group_edit_switch

Gibt einen LINK oder eine Checkbox aus, zur Aktivierung der Editor-Felder (INPUT, SINGLELINK usw.) durch den Benutzer im Gruppen-Editor.

"text_output" DOM title für die A-Node bzw. INPUT-Node.
"gcell_ids" Liste der GCELL-IDs der Editor-Felder, kommasepariert.
"tags" Beliebiger String, der in die SELECT-Node-Deklaration kopiert wird.
checkbox Wenn gesetzt, wird eine INPUT-checkbox benutzt, sonst eine A-Node.

group_edit_multilink_all_delete

Checkbox zur Verhaltensanpassung beim Speichern von Wiederholgruppen (per cell/FUNCTION/editlinks:control oder cell/MULTILINK). Diese Checkbox sorgt dafür, dass alle vorhandenen Einträge dieser Wiederholgruppe vom Gruppen-Editor überschrieben werden.

gcell_ids Liste der GCELL-IDs der cell/FUNCTION/editlinks:control bzw. der cell/MULTLINK.
tags Beliebiger String, der in die SELECT-Node-Deklaration kopiert wird.

group_edit_multilink_remove

Checkbox zur Verhaltensanpassung beim Speichern von Wiederholgruppen (per cell/FUNCTION/editlinks:control). Diese Checkbox sorgt dafür, dass die angegebenen Einträge dieser Wiederholgruppe vom Gruppen-Editor entfernt werden.

gcell_ids Liste der GCELL-IDs der cell/FUNCTION/editlinks:control.
tags Beliebiger String, der in die SELECT-Node-Deklaration kopiert wird.

Für cell/MULTILINK (eadb_links) wird diese Funktion nicht unterstützt.

delete_button

Obsolet. Verwenden Sie grid/LINK/edit_link oder cell/FUNCTION/button.

new_button

Obsolet. Verwenden Sie cell/FUNCTION/button.

copy_button

Obsolet. Verwenden Sie cell/FUNCTION/button.

save_button

Obsolet. Verwenden Sie grid/LINK/edit_link oder cell/FUNCTION/button.

go_action_button ( work in progress )

Der Go-Action-Button erlaubt die Ausgabe eines Pulldowns mit zugehörigem "Go"-Button zur Ausführung.

setValue(field, value) Setzt in BEFORE_UPDATE und BEFORE_INSERT im $RECORD das Feld field auf value.
save() Setzt in EDIT_ID_SET im $_REQUEST den Schalter "save". Damit wird dem Editor mitgeteilt, dass das Formular gespeichert werden soll.

Um die Callbacks programmtechnisch zu erweitern, werden neue Callbacks mit EDIT_register_go_action_callback($callback, $description); angemeldet. Die Instanz-spezifische Callbacks können in die instances/<instance>/<instance>.php geschrieben werden.

go_action_output_callbacks ( work in progress )

Gibt eine Tabelle aus mit den aktuell verfügbaren Callbacks und einer Beschreibung.

_class Zusätzliche DOM-class für die Tabelle.

button

Gibt im Editor einen Button aus.

Verwenden Sie bei Bedarf auch grid/LINK/edit_link.

which save Speichert den Datensatz ab.
  save_multi Speichert den Datensatz mehrfach ab. Die Anzahl schreiben Sie in save_multi. Ggfs. benötigen Sie für diese Art des Speicherns einen Callback, der z.B. eine laufende Nummer hochzählt.
  new Ruft den Editor mit einem leeren neuen Objekt auf.
  delete Löscht nach Sicherheitsabfrage das Objekt.
  copy Ruft den Editor mit einer Kopie des Objektes auf. Speichert automatisch und erzeugt das neue Objekt.
  copy_no_save Ruft den Editor mit einer ausgefüllten Kopie des Objektes auf, speichert aber noch nicht automatisch.
  copy_gen_child_no_save Ruft den Editor mit einer ausgefüllten Kopie des Objektes auf, allerdings mit dem Vater gesetzt auf die vorherige Objekt-ID. Speichert nicht automatisch.
value   DOM value des INPUT type=submit.

Seit Version 4.0.159: Lassen Sie den value leer, um Standard-Bezeichnungen zu benutzen. Überschreiben Sie die Standard-Bezeichnungen im String-Tool mit dem Key l10n.edit.button.<which>. Überschreiben Sie den Standard-Tooltip mit l10n.edit.button.tooltip.<which>.
unset_gcells   Komma separierte Liste von GCELL-IDs die bei copy_no_save, copy_gen_child_no_save und save_multi vor dem Erzeugen der neuen Objekte geleert werden können.
no_confirm   Beim Verlassen des Editors wird vor ungespeicherten Änderungen gewarnt. Es wird nicht gewarnt, wenn diese Checkbox aktiviert ist.
save_multi   Nur bei wenn which=*save_multi* ist, die Anzahl der in einem Schritt durchzuführenden Speicherungen.

workfolder_link_custom_value

Gibt ein Eingabe-Feld aus, welches eine Variable setzt, die genutzt werden kann, um beim Speichern die Objekte in eine Benutzer-definierte Arbeitsmappe zu verlinken. Dazu wird der Platzhalter %custom% genutzt.

class_ DOM class für den INPUT.
style_ DOM style für den INPUT.