dbxapp 4.1.3
CMS, Shop, Workflows und modulare Geschäftsanwendungen
Loading...
Searching...
No Matches
Inheritance diagram for dbxForm:
dbxObj dbxActionTokenAutomationForm dbxReport dbxReport myForm dbx\dbxAdmin\dbxReport_AdminUser dbx\dbxAdmin\dbxReport_Modules dbx\dbxAdmin\dbxReport_Server dbx\dbxAdmin\dbxReport_Tables dbx\dbxContent_admin\dbxReport_Content dbx\dbxContent_admin\dbxReport_ContentSections dbx\dbxContent_admin\dbxReport_Folder dbx\dbxUser_admin\dbxReport_User dbx\myLKW\dbxReport_Dispo dbxActionTokenAutomationReport myReport dbx\dbxAdmin\dbxReport_AdminUser dbx\dbxAdmin\dbxReport_Modules dbx\dbxAdmin\dbxReport_Server dbx\dbxAdmin\dbxReport_Tables dbx\dbxContent_admin\dbxReport_Content dbx\dbxContent_admin\dbxReport_ContentSections dbx\dbxContent_admin\dbxReport_Folder dbx\dbxUser_admin\dbxReport_User dbx\myLKW\dbxReport_Dispo dbxActionTokenAutomationReport myReport

Public Member Functions

 __construct ($id='', $tpl='')
 Initialisiert Validator, TPL und DB-Service.
 __destruct ()
 Destruktor.
 clear_sys ()
 Leert nur den Sysdata-Bereich.
 clear ()
 Öffentlicher Reset-Einstieg.
 _forward_clear ()
 Setzt den internen Formularzustand zurück.
 set_editor_class_file (string $file)
 Merkt sich die geladene Modul-/Include-Class fuer den Frontend-Editor.
 set_form_callback_owner ($owner)
 set_init_callback (string $callback)
 set_submit_callback (string $callback)
 set_run_callback (string $callback)
 forward_init ($fid, $tpl='')
 Initialisiert den Form-Kontext.
 add_module_bar ( $title, $icon='bi-grid', $subtitle='', $replace=false)
 Setzt die einheitliche Modul-/Formularleiste.
 set_form_help_enabled (bool $enabled=true)
 Schaltet die automatische Formular-Hilfeleiste gezielt ein oder aus.
 add_module_bar_form_actions (array $options=array())
 prepare_form_shell (array $options=array())
 get_security_data ()
 Liefert Feldname und aktuellen Wert des dbxForm-Security-Tokens.
 url_to_array ($data)
 Wandelt Query-/URL-Daten in ein Array um.
 set_msg_info ($msg)
 Setzt die Formular-Info-Meldung.
 set_msg_ok ($msg)
 Setzt die Formular-Erfolgsmeldung.
 set_msg_error ($msg)
 Setzt die Formular-Fehlermeldung.
 set_error ($msg)
 Setzt eine aktive allgemeine Formular-Fehlermeldung.
 set_msg_warning ($msg)
 Setzt die Formular-Warnmeldung.
 get_fd_message (string $key, string $default='')
 Liefert eine Meldung aus der aktuell geladenen FD.
 format_fd_message (string $key, array $values=array(), string $default='')
 Liefert eine FD-Meldung und ersetzt benannte Platzhalter.
 load_fd_messages (string $fd='')
 Lädt ausschließlich den Meldungsvertrag einer sprachabhängigen FD.
 get_fld_id ($fld)
 Extrahiert den Feldnamen aus HTML.
 add_norep ($content)
 Ersetzt norep-Platzhalter.
 fast_response ($response, $interpreter=0)
 Sendet eine direkte Fast-Response.
 get_tpl ($tpl, $data='', $type='htm', $i=0)
 Wrapper auf dbxTPL->get_tpl().
 obv_value ($content, $id, $value)
 Historische obv-Hilfe.
 merge_tpl_data ($tpl, $i=0)
 Führt grundlegende Form-Replaces in Templates aus.
 merge_obj ($content, $i=0)
 Ersetzt {obj:*}-Platzhalter.
 store_sysdata ()
 Speichert Sysdata des Formulars.
 load_sysdata ()
 Lädt Sysdata des Formulars.
 get_activ_id ($key='')
 Liefert die aktive Remember-ID des aktuellen DD-Kontexts.
 set_activ_id ($value, $key='')
 Setzt die aktive Remember-ID des aktuellen DD-Kontexts.
 add_rep ($key, $val)
 Fügt einen allgemeinen Replace-Wert hinzu.
 replaces ($content, $replaces=null)
 Wendet dbxForm-Replacements auf einen beliebigen Inhalt an.
 add_js_code ($javascript)
 Fügt JS-Code hinzu.
 add_js_call ($target, $function, $args='')
 Fügt einen einfachen JS-Aufruf hinzu.
 update_error_fld ($name, $msg)
 Markiert ein Feld mit Fehlerstatus.
 add_fld_error ($name, $msg='')
 Fügt einen Feldfehler hinzu.
 get_validation_result (string $name='')
 Liefert das strukturierte Validator-Ergebnis eines Feldes.
 add_fld_warning ($name, $msg='')
 Fügt eine Feldwarnung hinzu.
 get_fld_val ($name, $default='', $rules='', $submit=-1)
 get_fld_value ($name, $default='', $rules='', $submit=-1)
 get_post_data ($name, $default='', $rules='parameter')
 Liest POST/GET-Daten mit Default-Rules parameter.
 get_post ($name, $default='', $rules='alphanum')
 Liest POST/GET-Daten mit Default-Rules alphanum.
 add_obj ($obj, $tpl, $data='', $data2='')
 Fügt ein {obj:*}-Objekt hinzu.
 add_action ($obj, $tpl, $action='', $data='')
 Fügt ein Objekt hinzu, dessen Action aus _action abgeleitet wird.
 get_dd (string $dd, string $fld, string $var)
 Liest einen Feldwert oder das ganze Feld aus einer DD-/FD-Quelle.
 add_flds ($dd='fd::')
 Fügt alle Felder der aktiven DD-/FD-Felddefinitionsquelle hinzu.
 add_fld ($name, $tpl='fd::', $label='fd::', $rules='fd::', $class='fd::', $data='fd::', $options='fd::', $tooltip='fd::', $placeholder='fd::', $errormsg='fd::', $dd='fd::', $remap='fd::')
 Fügt ein Feld zur Formular-Definition hinzu.
 check_fld_data ($submit, $fld)
 Prüft ein einzelnes Feld und baut seinen Laufzustand auf.
 check_flds_data ($submit)
 Prüft alle Felder des Formulars genau einmal pro Request-Zyklus.
 get_form_msg ($mode, $msg='')
 Gibt die Formular-Infobox zurück.
 get_fld_msg ($mode, $msg='')
 Gibt eine Feldmeldung zurück.
 get_quartal ($datum)
 Platzhalter-Helfer.
 php_date_usr ($value)
 Wandelt Datumswerte in deutsches Format um.
 php_datetime_usr ($value)
 Wandelt Datums-/Zeitwerte in deutsches Format um.
 php_date ($value)
 Wandelt Datumswerte in DB-Format um.
 add_css ($css='')
 Fügt CSS hinzu.
 forward_submit ()
 Gibt zurück, ob das Formular abgesendet wurde.
 submit ()
 Öffentliche Submit-Abfrage.
 errors ()
 Gibt die Anzahl der Fehler zurück.
 warnings ()
 Gibt die Anzahl der Warnungen zurück.
 changed ($changed=0)
 Gibt die Anzahl geänderter Felder zurück.
 get_rid ()
 Liest die aktuelle RID, optional view-synchronisiert.
 view_sync ($rid)
 Synchronisiert eine RID in den View-State.
 wait ()
 Historischer Wait-Check.
 set_post ($key, $val)
 Setzt einen _post-Wert manuell.
 save_post ($dd, $rid, $pv='', $reread=1)
 Speichert _post über dbxDB.
 next_i ($add=1)
 Liefert oder erzeugt die laufende Formularinstanz-ID.
 set_fld_val ($fld_name, $fld_val)
 Setzt einen Feldwert direkt im Feldzustand.
 create_fld ($fld, $i=0)
 Erzeugt HTML für ein Feld.
 merge_fld_data ($content, $i=0)
 Fügt Felder in den Template-Inhalt ein.
 check_try_count ($submit, $errors, $allways=1)
 Prüft Fehlversuche und baut ggf.
 forward_run ()
 Führt die Ausgabephase aus.
 init ($fid, $tpl='')
 Öffentliche Init-Methode.
 run ()
 Öffentliche Run-Methode.
 set_workflow_scope (string $scope)
 Setzt einen Workflow-Scope.
 get_workflow_scope ()
 Gibt den Workflow-Scope zurück.
 get_workflow_state_key ()
 Baut den Remember-Schlüssel für den Form-Workflow-State.
 load_workflow_state ()
 Lädt den Remember-basierten Workflow-State.
 store_workflow_state ()
 Speichert den Workflow-State.
 clear_workflow_state ()
 Löscht den Workflow-State.
 set_state_value (string $key, $value)
 Setzt einen Wert im Workflow-State.
 get_state_value (string $key, $default=null)
 Liest einen Wert aus dem Workflow-State.
 get_draft_id (bool $createIfMissing=false)
 Gibt die Draft-ID zurück, optional mit automatischer Erzeugung.
 set_draft_id (string $draftId)
 Setzt die Draft-ID explizit.
 set_form_valid (bool $state)
 Setzt den Validitätsstatus des Formulars.
 is_form_valid ()
 Gibt zurück, ob das Formular als gültig markiert ist.
 set_form_complete (bool $state)
 Setzt den Vollständigkeitsstatus des Formulars.
 is_form_complete ()
 Gibt zurück, ob das Formular als vollständig markiert ist.
 set_form_locked (bool $state)
 Setzt den Lock-Status des Formulars.
 is_form_locked ()
 Gibt zurück, ob das Formular gesperrt ist.
 set_form_saved (bool $state)
 Setzt den Save-Status des Formulars.
 is_form_saved ()
 Gibt zurück, ob das Formular bereits gespeichert wurde.
 get_form_version ()
 Gibt die aktuelle Formularversion zurück.
 bump_form_version ()
 Erhöht die Formularversion um 1.
 set_dependencies (array $formIds)
 Setzt die Abhängigkeiten dieses Formulars.
 remember_current_dependencies (?array $formIds=null)
 Speichert die aktuell gültigen Versionsstände abhängiger Formulare.
 dependencies_are_current ()
 Prüft, ob die gespeicherten Dependency-Versionen noch aktuell sind.
 get_external_form_state (string $fid)
 Liest den Workflow-State eines anderen Formulars im selben Scope.
 refresh_dependency_lock ()
 Markiert das Formular aufgrund veralteter Abhängigkeiten als gesperrt.
Public Member Functions inherited from dbxObj
 set_callback_owner ($owner)
 Setzt ein explizites Owner-Objekt fuer Callback-Aufrufe.
 set_callback_id (string $id)
 Setzt den Namenspraefix fuer konventionelle Callback-Methoden.
 set_callback (string $event, string $callback)
 Ordnet einem Event einen konkreten Methodennamen zu.
 set_property ($name, $value, $section='', $modul='modul')
 Speichert eine Objekt- oder Session-Property.
 get_property ($name, $default='', $section='', $modul='modul')
 Liest eine Objekt- oder Session-Property.
 del_property ($name, $section='', $modul='modul')
 Loescht eine Objekt- oder Session-Property.
 dbx_next_process ($content, $process='', $mode='append')
 Fuegt den naechsten dbxProcess-Schritt in eine Ausgabe ein.

Public Attributes

 $oValidator
 Zentraler Validator.
 $oTPL
 Zentrale Template-Engine.
 $oDB
 Zentraler DB-/DD-Service.
 $_dbx_view = ''
 Optionaler View-Schlüssel.
 $_view_sync = ''
 Optionaler View-Sync-Status.
 $_view_mode = ''
 Optionaler View-Modus.
 $_mode = 'mix'
 tpl|php|mix
 $_ajax = true
 AJAX-fähiges Formular.
 $_store_mode = 'session'
 Aktueller Sysdata-Speichermodus.
 $_dbx_modul_id = 0
 Aktive Modul-ID.
 $_dbx_modul = 'modul'
 Aktives Modul.
 $_dbx_lng = ''
 Aktive Sprache.
 $_dbx_design = ''
 Aktives Design.
 $_dbx_action = ''
 Aktive DBX-Aktion.
 $_dbx_work = ''
 Optionaler Work-Kontext.
 $_dbx_page = ''
 Aktive Seite.
 $_rid = 0
 Aktuelle Record-ID.
 $_action = ''
 Formular-Action.
 $_tpl = ''
 Template-Name.
 $_fid = ''
 Formular-ID.
 $_next_i = 0
 Laufende Formularinstanz-ID.
 $_dd = ''
 Zugeordnetes DD.
 $_fd = ''
 Optionale FD-Felddefinitionsquelle.
 $_editor_files = array()
 Dateien, die fuer den Frontend-Editor markiert werden.
 $_editor_class_file = ''
 Modul-/Include-Class-Datei fuer den Frontend-Editor.
 $_data = array()
 Aktuelle Formulardaten / Record-Daten.
 $_post = array()
 Validierte/geänderte POST-Werte.
 $_sys = array()
 Form-interne Zustände / Sysdata.
 $_obj = array()
 Platzhalter-Objekte.
 $_js = array()
 JS-Code-Blöcke.
 $_css = array()
 CSS-Dateien oder Marker.
 $_flds = array()
 Felddefinitionen.
 $_messages = array()
 Meldungen der aktuell geladenen FD.
 $_infos = array()
 Info-Meldungen.
 $_errors = array()
 Feld-/Formfehler.
 $_warnings = array()
 Warnungen.
 $_replaces = array()
 Allgemeine Replace-Werte.
 $_general_error = ''
 Allgemeiner Fehlertext.
 $_msg_info = '#form_msg_info#'
 Standard-Infotext.
 $_msg_success = '#form_msg_success#'
 Standard-Erfolgstext.
 $_msg_error = '#form_msg_error#'
 Standard-Fehlertext.
 $_msg_warning = '#form_msg_warning#'
 Standard-Warntext.
 $_tpl_form_info = 'form-alert-info'
 Template für Info-Meldungen.
 $_tpl_form_success = 'form-alert-success'
 Template für Erfolgsmeldungen.
 $_tpl_form_error = 'form-alert-danger'
 Template für Fehlermeldungen.
 $_tpl_form_warning = 'form-alert-warning'
 Template für Warnmeldungen.
 $_tpl_fld_info = 'fld-alert-info'
 Template für Feld-Info.
 $_tpl_fld_success = 'fld-alert-success'
 Template für Feld-Erfolg.
 $_tpl_fld_error = 'fld-alert-danger'
 Template für Feld-Fehler.
 $_tpl_fld_warning = 'fld-alert-warning'
 Template für Feld-Warnung.
 $_tpl_max_try = 'form-alert-maxtry'
 Template für Max-Try-Sperre.
 $_try_reset = 120
 Sekunden bis Try-Reset.
 $_try_count_reset = 600
 Sekunden ohne Fehlversuch, nach denen Try-Zaehler und Sperrstufe neu beginnen.
 $_try_max = 20
 Maximale Fehlversuche.
 $_try_msg = 'Max {try_count} try. Suspend for {sec} seconds'
 Sperr-Text.
 $_create_flds = 1
 1 = Felder sollen erzeugt werden
 $_reload_record = 1
 1 = Datensatz nach Save neu lesen
 $_reload_run = 0
 1 = Reload wurde ausgeführt
 $_reload_transform = 0
 Historischer Reload-Transform-Flag.
 $_form_help_enabled = 1
 1 = automatische Formularhilfe rendern; 0 = Hilfe kommt aus der umgebenden Bereichsleiste.
 $_reload_suffix = '_rlo'
 Historischer Reload-Suffix.
 $_fld_change_state = 'fld'
 Feldmodus fuer die Changed-Logik: fld oder *.
 $_fld_changes = -1
 Gecachter Changed-Wert.
 $_form_submit = -1
 -1 = unbekannt, 0 = nein, 1 = ja
 $_form_validate = -1
 -1 = noch nicht ausgewertet, 1 = ausgewertet
 $_editor_fld = ''
 Optionales Editor-Feld.
 $_page_reset = 1
 Historischer Page-Reset-Flag.
 $_confirm_delete = ''
 Optionaler Lösch-Bestätigungstext.
 $_confirm_copy = ''
 Optionaler Copy-Bestätigungstext.
 $_activ_id = 0
 Optional aktive ID.
 $_fld_id = 'id'
 Primärschlüsselfeld.
 $_workflow_scope = ''
 Workflow-Scope für Remember-State.
 $_workflow_state = array()
 Remember-basierter Form-Status.
Public Attributes inherited from dbxObj
Public $_properties =array()
Public $_section =''
Public $_process =''

Protected Member Functions

 add_editor_file (string $kind, string $file)
 Registriert eine genutzte FD-/DD-/Class-Datei fuer Editor-Marker.
 add_editor_markers (string $content)
 Fuegt passende Editor-Marker um den gerenderten Formularinhalt.
 resolve_init_callback_owner ()
 Ermittelt den aufrufenden Modul-/Service-Owner fuer Callback-Defaults.
 defaultModuleBarReplaces ()
 prepareFormFrameReplaces (int $i)
 applyModuleBarReplaces (array $values=array())
 buildModuleBarFormActionsHtml ()
 buildModuleBarObj ()
 ensureFormHelpBar (string $content)
 Ergaenzt bei aelteren Formular-Templates ohne eigene Leiste eine kompakte Standardleiste.
 attachAdminHelpButton ($topic='')
 remember_validation_result (string $name, array $result)
 Merkt sich ein Validator-Ergebnis im aktuellen Formularlauf.
 add_default_search_rep (array $overrides=array())
 Standard-Suchfeld fuer Grid-Toolbars ({dbx_search}).
 resolve_fd_dd_editor_file (string $source)
 Liefert den absoluten Pfad einer FD-/DD-Quelle fuer Editor-Marker.
 get_field_editor_markers ()
 Erzeugt FD-/DD-Editor-Marker direkt am Feld-Slot.
Protected Member Functions inherited from dbxObj
 normalize_callback_id (string $id)
 Normalisiert Callback-IDs auf gueltige PHP-Methodenbestandteile.
 get_callback_name (string $event)
 Liefert den Methodennamen fuer ein Event.
 get_callback_owner ()
 Liefert das aktuelle Owner-Objekt fuer Callback-Aufrufe.
 callback (string $event, mixed $value)
 Fuehrt einen Callback aus und gibt dessen Rueckgabewert zurueck.

Protected Attributes

 $_validation_results = array()
 Strukturierte Validator-Ergebnisse, indiziert nach Feldname.
 $_module_bar_form_actions = array()
 Optionen fuer Standard-Aktionen in der Modul-Bar.
 $_form_help_button = ''
 Help-Button des aktuellen Formulars fuer Templates ohne eigenen Help-Slot.
Protected Attributes inherited from dbxObj
 $_callback_owner = null
 $_callback_id = ''
 $_callbacks = array()

Detailed Description


DBX FORM SYSTEM (dbxForm)

Zweck

Die Klasse dbxForm ist die zentrale serverseitige Formular-Basis für DBX-Module.

Sie ist bewusst als offenes, zustandsbehaftetes Workflow-Objekt gedacht und NICHT als starres Blackbox-Form-Framework.

Typische Aufgaben

  • Formular-Kontext initialisieren
  • DD-/FD-basierte Felddefinitionen ergänzen
  • Request/Submit erkennen
  • Feldwerte lesen und validieren
  • geänderte Werte in _post sammeln
  • Formularstatus/Meldungen verwalten
  • optional über dbxDB speichern
  • HTML-Ausgabe über dbxTPL erzeugen

Architektur

Die Klasse orientiert sich an 5 klaren Phasen:

  1. Setup
  2. Request auswerten
  3. Modul-Fachlogik
    • Modul kann nach Standardprüfung _post ergänzen/ändern
    • Speziallogik wie Hashing, Mapping, Folgeaktionen
  4. Persistenz
  5. Ausgabe
    • run()
    • Template, Felder, Meldungen, Objekte, JS

Wichtige Grundsätze

  • DD-Infrastruktur liegt zentral in dbxDB
  • dbxForm nutzt dbxDB als DD-/Persistenzservice
  • FD ist eine optionale, bevorzugte Felddefinitionsquelle
  • Wenn _fd gesetzt ist, nutzt dbxForm _fd für Feld-Metadaten
  • Wenn _fd leer ist und _dd gesetzt ist, nutzt dbxForm _dd wie bisher
  • Wenn weder _fd noch _dd gesetzt ist, entstehen Felder nur aus manuellen add_fld()-Parametern
  • Automatisch erzeugte Felder und manuelle add_fld()-Felder sind frei mischbar
  • dbxForm bleibt offen für Modulcode
  • Rendern darf den Kernzustand nicht zerstören
  • Workflow-/Form-Zustände werden über DBX-State (dbx_set_Remember / dbx_get_Remember) gehalten

FD-/DD-Felddefinitionen

DD und FD liefern in dbxForm dieselbe Art Feld-Metadaten:

  • tpl
  • label
  • rules
  • class
  • data
  • options
  • tooltip
  • placeholder
  • errormsg
  • remap

_dd bleibt der Daten-/DB-Kontext und ist weiterhin der Fallback für Felddefinitionen. _fd ist eine zusätzliche, generische und bevorzugte Felddefinitionsquelle für beliebige Formular-/UI-Feldgruppen, z. B. Login, Filter, Report-Selektionen, Umfragen oder Wizard-Schritte.

Sprachabhängige FD und Meldungen

FD-Dateien werden zentral über dbx_lng_resolve_file() aufgelöst: name_de.fd.php, name_en.fd.php, name_es.fd.php, danach die neutrale name.fd.php als Fallback. Neben $fields darf jede FD ein $messages-Array liefern. save_post() verwendet save_success nach erfolgreichem Speichern und save_error bei einem dbxDB-Fehler. save_succeass bleibt ausschließlich als kompatibler Alias erhalten. dbxReport erbt Auflösung, Cache und Meldungsnutzung direkt von dbxForm.

Sicherheitsvertrag: dbxForm und Action-Token

Ein normaler POST-Submit wird ausschliesslich durch das automatisch erzeugte, formularspezifische Security-Feld von dbxForm geschuetzt. submit() prueft dieses Feld mit hash_equals() und rotiert es nach einem erfolgreichen Submit. Modulcode fuegt deshalb keinen zusaetzlichen dbx_token an normale Formular-Actions an.

dbx_token schuetzt dagegen automatisch erkannte zustandsaendernde Link-Aktionen, die auch als GET funktionieren muessen. delete/save plus rid werden zentral von dbxWebApp erkannt und von dbxApi::action_url(), dbxForm beziehungsweise dbxReport tokenisiert. Normale Form-Routen bleiben unveraendert; Modulcode fuegt keinen Token hinzu. Ein Report-Footer-Link kann als Ajax-POST beide Schutzschichten enthalten: Der Action-Token beweist die konkrete Link-Aktion, der dbxForm-Token den gueltigen Submit des Reportformulars.

Workflow-/Draft-Gedanke

dbxForm unterstützt neben rid auch einen Draft-/Form-Kontext. Das ist wichtig für Fälle wie:

  • neuer Datensatz ohne echte DB-ID, aber mit Uploads
  • mehrere abhängige Formulare innerhalb eines Workflows

Dafür gibt es einen Remember-basierten Formularstatus mit Feldern wie:

  • draft_id
  • rid
  • is_valid
  • is_complete
  • is_locked
  • is_saved
  • version
  • depends_on
  • depends_version

Beispiel: einfache Nutzung mit DD

$oForm = dbx()->get_system_obj('dbxForm');
$oDB = dbx()->get_system_obj('dbxDB');
$rid = dbx()->get_modul_var('rid', 0, 'int');
$data = $oDB->select1('dbx_user', $rid);
$oForm->init('form-user');
$oForm->_dd = 'dbx_user';
$oForm->_data = $data;
$oForm->_action = '?dbx_modul=dbxUser&dbx_run1=edit&rid=' . $rid;
$oForm->_msg_info = 'Bitte prüfen Sie die Daten.';
$oForm->add_fld('name', 'text-label');
$oForm->add_fld('email', 'text-label');
if ($oForm->submit()) {
if (!$oForm->errors() && !$oForm->warnings()) {
if ($oForm->changed()) {
$oForm->save_post('dbx_user', $rid);
$oForm->_msg_success = 'Daten gespeichert';
} else {
$oForm->_msg_success = 'Keine Änderung';
}
} else {
$oForm->_msg_error = 'Bitte Eingaben prüfen';
}
}
echo $oForm->run();
$oDB
Zentraler DB-/DD-Service.
DBX schema administration.

Beispiel: automatische Felder aus FD

$oForm->init('form-login');
$oForm->_fd = 'dbx|login';
$oForm->add_flds();
$oForm->add_fld('remember_me', 'checkbox-label', label: 'Angemeldet bleiben', rules: 'int');
echo $oForm->run();

Beispiel: neuer Datensatz mit Draft-Kontext

$oForm->init('form-profile');
$draftId = $oForm->get_draft_id(true); // erzeugt Draft-ID, falls noch keine da ist
// Uploads können jetzt auf $draftId referenzieren,
// auch wenn noch keine echte RID existiert.

Beispiel: abhängige Formulare

$oForm1->set_workflow_scope('order-setup');
$oForm2->set_workflow_scope('order-setup');
// Form 2 hängt von Form 1 ab
$oForm2->set_dependencies(['form-step-1']);
// Nach gültigem Abschluss von Form 1:
$oForm1->set_form_valid(true);
$oForm1->set_form_complete(true);
$oForm1->bump_form_version();
// Form 2 kann prüfen, ob seine Grundlage noch aktuell ist:
if (!$oForm2->dependencies_are_current()) {
$oForm2->set_form_locked(true);
}

Definition at line 206 of file dbxForm.class.php.

Constructor & Destructor Documentation

◆ __construct()

dbxForm::__construct ( $id = '',
$tpl = '' )

Initialisiert Validator, TPL und DB-Service.

Verwendung

Normalerweise wird dbxForm über dbx()->get_system_obj('dbxForm') bezogen. Optional kann direkt eine Formular-ID übergeben werden.

Auswirkung

Die zentralen Services werden referenziert. Wird $id übergeben, wird sofort init($id, $tpl) ausgeführt.

Parameters
string$idOptional Formular-ID für Sofort-Init
string$tplOptional Template-Name
Returns
void

Definition at line 459 of file dbxForm.class.php.

References $tpl, init(), and oDB.

◆ __destruct()

dbxForm::__destruct ( )

Destruktor.

Verwendung

Aktuell gibt es keine explizite Aufräumlogik.

Auswirkung

Keine.

Returns
void

Definition at line 486 of file dbxForm.class.php.

Member Function Documentation

◆ _forward_clear()

dbxForm::_forward_clear ( )

Setzt den internen Formularzustand zurück.

Sinn/Zweck

Dieser Reset betrifft den Formlauf selbst. Remember-basierte Workflow- Zustände werden NICHT automatisch gelöscht, da sie fachlich über den aktuellen Request hinaus gültig sein können.

Auswirkung

Leert Objekte, JS, CSS, Felder, Meldungen, Fehler, Warnungen, _post, _sys, _data und _replaces.

Wichtig

_dd und _fd werden ebenfalls geleert, weil dbxForm als zentrales Systemobjekt wiederverwendet werden kann. Dadurch können keine alten DD-/FD-Quellen in einen neuen Formularlauf durchrutschen.

Zusätzlich werden laufbezogene Einzelwerte wie _rid, _action, _next_i und _fld_id zurückgesetzt, damit keine alte Formularinstanz, kein alter Datensatz und kein alter Primärschlüssel in den nächsten Formularlauf übernommen werden.

Konsequenz

Module setzen _dd und/oder _fd nach init() neu.

Returns
void

Definition at line 566 of file dbxForm.class.php.

References _fd, _messages, _rid, and _sys.

Referenced by clear(), and dbxReport\clear().

◆ add_action()

dbxForm::add_action ( $obj,
$tpl,
$action = '',
$data = '' )

Fügt ein Objekt hinzu, dessen Action aus _action abgeleitet wird.

Verwendung

Praktisch für Buttons/Links, die an die aktuelle Formular-Action andocken sollen.

Parameters
string$objPlatzhalter-ID
string$tplTemplate
string$actionAction oder &...-Suffix
mixed$dataZusätzliche Daten
Returns
void

Reimplemented in dbxReport.

Definition at line 2192 of file dbxForm.class.php.

References $tpl, and get_tpl().

◆ add_css()

dbxForm::add_css ( $css = '')

Fügt CSS hinzu.

Parameters
string$cssCSS-Referenz
Returns
void

Definition at line 3477 of file dbxForm.class.php.

References $css.

◆ add_default_search_rep()

dbxForm::add_default_search_rep ( array $overrides = array())
protected

Standard-Suchfeld fuer Grid-Toolbars ({dbx_search}).

Parameters
array$overridesTemplate-Daten fuer dbx|search
Returns
void

Definition at line 3804 of file dbxForm.class.php.

References $template, add_rep(), and get_tpl().

Referenced by forward_init().

◆ add_editor_file()

dbxForm::add_editor_file ( string $kind,
string $file )
protected

Registriert eine genutzte FD-/DD-/Class-Datei fuer Editor-Marker.

Parameters
string$kindMarker-Typ: fd, dd oder class
string$fileAbsoluter oder relativer Dateipfad
Returns
void

Definition at line 627 of file dbxForm.class.php.

References $file.

Referenced by dbxReport\run(), and set_editor_class_file().

◆ add_editor_markers()

dbxForm::add_editor_markers ( string $content)
protected

Fuegt passende Editor-Marker um den gerenderten Formularinhalt.

Parameters
string$contentFormularinhalt
Returns
string Inhalt mit Editor-Marker-Kommentaren

Definition at line 647 of file dbxForm.class.php.

References $content.

Referenced by forward_run(), and dbxReport\run().

◆ add_fld()

dbxForm::add_fld ( $name,
$tpl = 'fd::',
$label = 'fd::',
$rules = 'fd::',
$class = 'fd::',
$data = 'fd::',
$options = 'fd::',
$tooltip = 'fd::',
$placeholder = 'fd::',
$errormsg = 'fd::',
$dd = 'fd::',
$remap = 'fd::' )

Fügt ein Feld zur Formular-Definition hinzu.

Zweck

Diese Methode ist der zentrale Feld-Builder von dbxForm. Sie kombiniert:

  • direkte Feldparameter
  • FD-/DD-basierte Defaults
  • aufbereitete Daten/Optionen

Marker-Regel

  • fd:: bedeutet: aktive Feldquelle verwenden, also _fd wenn gesetzt, sonst _dd
  • dd:: bedeutet: gezielt _dd verwenden
  • jeder andere Wert ist ein expliziter Wert

Beispiel

$oForm->_dd = 'dbx_user';
$oForm->_fd = 'dbx_user_login';
// alles aus FD, sofern vorhanden
$oForm->add_fld('email');
// Feld überwiegend aus FD, aber Label bewusst aus DD
$oForm->add_fld('email', label: 'dd::');
// Template manuell, Label aus DD, Rest aus FD
$oForm->add_fld('email', tpl: 'text-label', label: 'dd::');

Auswirkung

Es wird genau ein Eintrag in _flds[$name] erzeugt oder überschrieben. Die spätere Request-Auswertung, Validierung und Ausgabe laufen unverändert über die bestehende dbxForm-Pipeline.

Parameters
string$nameFeldname
string$tplTemplate, fd:: oder dd::
mixed$labelLabel, fd:: oder dd::
mixed$rulesRegeln, fd:: oder dd::
mixed$classCSS-Klasse, fd:: oder dd::
mixed$dataDaten, fd:: oder dd::
mixed$optionsOptionen, fd:: oder dd::
mixed$tooltipTooltip, fd:: oder dd::
mixed$placeholderPlaceholder, fd:: oder dd::
mixed$errormsgFeldfehlertext, fd:: oder dd::
mixed$ddDD-/FD-Quelle, fd:: oder dd::
mixed$remapOptionaler Feld-Remap, fd:: oder dd::
Returns
void

Definition at line 2952 of file dbxForm.class.php.

References $class, $dd, $options, $rules, $tpl, and get_dd().

Referenced by add_flds(), forward_init(), and dbxReport\run().

◆ add_fld_error()

dbxForm::add_fld_error ( $name,
$msg = '' )

Fügt einen Feldfehler hinzu.

Auswirkung

Der Fehler wird in _errors gespeichert und der Feldzustand wird über update_error_fld() angepasst.

Parameters
string$nameFeldname
string$msgMeldung
Returns
void

Definition at line 1882 of file dbxForm.class.php.

References update_error_fld().

Referenced by check_fld_data(), get_fld_val(), get_post(), and get_post_data().

◆ add_fld_warning()

dbxForm::add_fld_warning ( $name,
$msg = '' )

Fügt eine Feldwarnung hinzu.

Parameters
string$nameFeldname
string$msgMeldung
Returns
void

Definition at line 1924 of file dbxForm.class.php.

◆ add_flds()

dbxForm::add_flds ( $dd = 'fd::')

Fügt alle Felder der aktiven DD-/FD-Felddefinitionsquelle hinzu.

Verwendung

Diese Methode ist nur ein Auto-Wrapper über add_fld(). Sie erzeugt keine eigene Feld-Engine, validiert nicht selbst und rendert nicht selbst.

Hybrid-Regel

  • explizite Quelle gewinnt
  • fd:: nutzt _fd, falls gesetzt, sonst _dd
  • dd:: nutzt gezielt _dd
  • wenn keine Quelle vorhanden ist, passiert nichts

Beispiel

$oForm->_fd = 'dbx|login';
$oForm->add_flds();
$oForm->add_fld('remember_me', 'checkbox-label', label: 'Angemeldet bleiben', rules: 'int');

Auswirkung

Für jeden Eintrag mit name in der Feldquelle wird add_fld($name, dd: $source) aufgerufen. Manuell nachträglich hinzugefügte Felder bleiben möglich und können bestehende Namen bewusst überschreiben.

Parameters
mixed$ddExplizite DD-/FD-Quelle, fd:: oder dd::
Returns
int Anzahl angelegter Felder

Definition at line 2865 of file dbxForm.class.php.

References $count, $dd, $fields, $source, and add_fld().

Referenced by dbxReport\create_selection_fields().

◆ add_js_call()

dbxForm::add_js_call ( $target,
$function,
$args = '' )

Fügt einen einfachen JS-Aufruf hinzu.

Zweck

Einfache Übergangshilfe für modulare JS-Aufrufe. Komplexe UI-/Observe- Logik sollte heute eher in core.js / Libs liegen.

Beispiel

$oForm->add_js_call('roles', 'multiselect2');
Parameters
string$targetZielkennung
string$functionFunktionsname
string$argsOptionaler JS-Argumentstring
Returns
void

Definition at line 1826 of file dbxForm.class.php.

References $target.

◆ add_js_code()

dbxForm::add_js_code ( $javascript)

Fügt JS-Code hinzu.

Verwendung

Modulcode kann damit kleine JS-Blöcke an den Formularlauf anhängen.

Auswirkung

Der Code wird später in forward_run() über [dbx:js] und norep in den Output eingebunden.

Parameters
string$javascriptJS-Code
Returns
void

Definition at line 1800 of file dbxForm.class.php.

References $javascript.

◆ add_module_bar()

dbxForm::add_module_bar ( $title,
$icon = 'bi-grid',
$subtitle = '',
$replace = false )

Setzt die einheitliche Modul-/Formularleiste.

Standardmäßig werden bereits vorbereitete Metadaten beibehalten. Mit $replace = true kann ein konkretes Formular den allgemeineren Admin-Hilfetitel gezielt durch sprachabhängige FD-Texte ersetzen.

Parameters
string$titleTitel der Leiste
string$iconBootstrap-Iconklasse
string$subtitleUntertitel der Leiste
bool$replaceVorhandene Metadaten bewusst ersetzen
Returns
void

Definition at line 840 of file dbxForm.class.php.

References add_rep().

Referenced by attachAdminHelpButton().

◆ add_module_bar_form_actions()

dbxForm::add_module_bar_form_actions ( array $options = array())

Definition at line 870 of file dbxForm.class.php.

References $options.

◆ add_norep()

dbxForm::add_norep ( $content)

Ersetzt norep-Platzhalter.

Zweck

Bestehende norep-Mechanik bleibt als Integrationsfunktion erhalten, ist aber nicht mehr der Kern des Form-Designs.

Auswirkung

Sucht [id]-Platzhalter im übergebenen Inhalt und ersetzt sie mit den in $_SESSION['dbx']['norep'] gespeicherten Inhalten.

Parameters
string$contentInhalt mit [id]-Platzhaltern
Returns
string

Definition at line 1481 of file dbxForm.class.php.

References $_SESSION, $content, and $oTPL.

Referenced by fast_response().

◆ add_obj()

dbxForm::add_obj ( $obj,
$tpl,
$data = '',
$data2 = '' )

Fügt ein {obj:*}-Objekt hinzu.

Verwendung

Für Inhalte, die nicht über die Feldpipeline laufen, aber als {obj:name} im Template erscheinen sollen.

Auswirkung

Rendert bei Template-Angaben sofort das Objekt und speichert es in _obj.

Parameters
string$objPlatzhalter-ID
string$tplTemplate oder obj-value/obv-value
mixed$dataDaten
mixed$data2Zusätzliche Replaces
Returns
void

Definition at line 2156 of file dbxForm.class.php.

References $tpl, and get_tpl().

Referenced by attachAdminHelpButton(), and dbxReport\buildReportFooterObj().

◆ add_rep()

dbxForm::add_rep ( $key,
$val )

Fügt einen allgemeinen Replace-Wert hinzu.

Verwendung

Replaces werden beim Laden/Rendern von Templates und Objekten eingesetzt.

Parameters
string$keySchlüssel
mixed$valWert
Returns
void

Definition at line 1758 of file dbxForm.class.php.

Referenced by add_default_search_rep(), dbxReport\add_grid_stats(), add_module_bar(), applyModuleBarReplaces(), dbxReport\enable_delete_tab(), next_i(), and prepare_form_shell().

◆ applyModuleBarReplaces()

dbxForm::applyModuleBarReplaces ( array $values = array())
protected

Definition at line 947 of file dbxForm.class.php.

References $value, add_rep(), and defaultModuleBarReplaces().

Referenced by buildModuleBarObj().

◆ attachAdminHelpButton()

dbxForm::attachAdminHelpButton ( $topic = '')
protected

Definition at line 1134 of file dbxForm.class.php.

References $help, add_module_bar(), and add_obj().

Referenced by forward_init().

◆ buildModuleBarFormActionsHtml()

dbxForm::buildModuleBarFormActionsHtml ( )
protected

Definition at line 955 of file dbxForm.class.php.

References $html, get_tpl(), and next_i().

Referenced by buildModuleBarObj().

◆ buildModuleBarObj()

dbxForm::buildModuleBarObj ( )
protected

◆ bump_form_version()

dbxForm::bump_form_version ( )

Erhöht die Formularversion um 1.

Zweck

Nützlich für abhängige Formulare: Änderungen an Form A können dadurch Form B/C als veraltet erkennen lassen.

Returns
int Neue Version

Definition at line 4713 of file dbxForm.class.php.

References $version, get_form_version(), and set_state_value().

Referenced by save_post().

◆ changed()

dbxForm::changed ( $changed = 0)

Gibt die Anzahl geänderter Felder zurück.

Parameters
int$changedInitialwert
Returns
int

Definition at line 3545 of file dbxForm.class.php.

◆ check_fld_data()

dbxForm::check_fld_data ( $submit,
$fld )

Prüft ein einzelnes Feld und baut seinen Laufzustand auf.

Auswirkungen

  • setzt value, origin, error, changed, verify
  • schreibt geänderte und valide Werte nach _post
Parameters
int$submit0|1
array$fldFelddefinition
Returns
array

Definition at line 3146 of file dbxForm.class.php.

References $ok, $resolved, $validation, $value, and add_fld_error().

Referenced by check_flds_data(), and create_fld().

◆ check_flds_data()

dbxForm::check_flds_data ( $submit)

Prüft alle Felder des Formulars genau einmal pro Request-Zyklus.

Auswirkung

Setzt _post, _errors, _warnings neu und aktualisiert alle Feld- Zustände in _flds.

Parameters
int$submit0|1
Returns
void

Definition at line 3239 of file dbxForm.class.php.

References check_fld_data().

◆ check_try_count()

dbxForm::check_try_count ( $submit,
$errors,
$allways = 1 )

Prüft Fehlversuche und baut ggf.

Sperrinhalt.

Parameters
bool$submitSubmit-Status
bool$errorsFehlerstatus
bool$allwaysImmer prüfen
Returns
string

Definition at line 4065 of file dbxForm.class.php.

References $_SERVER, $content, $errors, $now, $sys, _sys, _try_count_reset, and get_tpl().

Referenced by forward_run().

◆ clear()

dbxForm::clear ( )

Öffentlicher Reset-Einstieg.

Verwendung

Wird von forward_init() genutzt und kann auch manuell aufgerufen werden, wenn ein Formularlauf neu aufgebaut werden soll.

Auswirkung

Ruft _forward_clear() auf und löscht den laufenden Formzustand inklusive _dd und _fd, damit bei wiederverwendeten Systemobjekten keine alte DD-/FD-Feldquelle in den nächsten Formularlauf durchrutscht.

Workflow-Hinweis

Der Workflow-Scope wird hier bewusst nicht zurückgesetzt, weil er sich innerhalb zusammenhängender Formularabläufe fachlich weitervererben darf.

Returns
void

Reimplemented in dbxReport, and dbxReport.

Definition at line 529 of file dbxForm.class.php.

References _forward_clear().

Referenced by forward_init().

◆ clear_sys()

dbxForm::clear_sys ( )

Leert nur den Sysdata-Bereich.

Zweck

Nützlich, wenn bewusst nur temporäre Form-Zustände zurückgesetzt werden sollen, ohne das ganze Formularobjekt neu aufzubauen.

Auswirkung

_sys wird geleert. _data, _flds, Workflow-State und andere Laufzustände bleiben unverändert.

Returns
void

Definition at line 504 of file dbxForm.class.php.

References _sys.

◆ clear_workflow_state()

dbxForm::clear_workflow_state ( )

Löscht den Workflow-State.

Returns
void

Definition at line 4536 of file dbxForm.class.php.

References store_workflow_state().

◆ create_fld()

dbxForm::create_fld ( $fld,
$i = 0 )

Erzeugt HTML für ein Feld.

Wichtig

Diese Methode ist primär Render-Logik. Sie arbeitet idealerweise mit bereits vorbereitetem Feldzustand. Falls ein Feld noch nicht geprüft wurde, wird es defensiv lokal vorbereitet, ohne den globalen Feldbestand zu zerstören.

Parameters
array$fldFelddefinition
int$iLaufindex
Returns
string

Definition at line 3886 of file dbxForm.class.php.

References $options, $required, $tpl, check_fld_data(), get_field_editor_markers(), get_tpl(), and submit().

Referenced by merge_fld_data().

◆ defaultModuleBarReplaces()

dbxForm::defaultModuleBarReplaces ( )
protected

Definition at line 895 of file dbxForm.class.php.

Referenced by applyModuleBarReplaces().

◆ dependencies_are_current()

dbxForm::dependencies_are_current ( )

Prüft, ob die gespeicherten Dependency-Versionen noch aktuell sind.

Wirkung

Wenn ein abhängiges Vorformular inzwischen eine andere Version hat, wird false geliefert. Das ist der saubere Ersatz für starre Prozessstep-Logik.

Returns
bool

Definition at line 4779 of file dbxForm.class.php.

References get_state_value().

Referenced by refresh_dependency_lock().

◆ ensureFormHelpBar()

dbxForm::ensureFormHelpBar ( string $content)
protected

Ergaenzt bei aelteren Formular-Templates ohne eigene Leiste eine kompakte Standardleiste.

Dadurch bleibt der Help-Button nicht nur als Replace vorbereitet, sondern ist in jedem tatsaechlich gerenderten dbxForm-Formular erreichbar.

Definition at line 1107 of file dbxForm.class.php.

References $content, and if.

Referenced by forward_run(), and dbxReport\run().

◆ errors()

dbxForm::errors ( )

Gibt die Anzahl der Fehler zurück.

Returns
int

Definition at line 3518 of file dbxForm.class.php.

Referenced by dbxReport\buildReportFormMsgHtml(), forward_run(), and dbxReport\run().

◆ fast_response()

dbxForm::fast_response ( $response,
$interpreter = 0 )

Sendet eine direkte Fast-Response.

Zweck

Für Spezialfälle, in denen eine direkte Antwort ohne normalen Render- Endlauf ausgegeben werden soll.

Auswirkung

Speichert die Session, gibt den Response aus und beendet den Request. Optional wird vorher der dbxInterpreter angewendet.

Parameters
string$responseAntwortinhalt
int$interpreter1 = dbxInterpreter vorher anwenden
Returns
void

Definition at line 1519 of file dbxForm.class.php.

References $response, add_norep(), and exit.

Referenced by dbxReport\init().

◆ format_fd_message()

dbxForm::format_fd_message ( string $key,
array $values = array(),
string $default = '' )

Liefert eine FD-Meldung und ersetzt benannte Platzhalter.

Dadurch bleiben auch dynamische Formular- und Reporttexte vollständig in der sprachabhängigen FD. Ein Modul übergibt nur noch die Werte: format_fd_message('delete_question', array('id' => $rid)) ersetzt beispielsweise {id}. dbxReport erbt diese Funktion von dbxForm.

Parameters
string$keyMeldungsschlüssel aus $messages
array$valuesPlatzhalterwerte ohne Klammern
string$defaultRückgabe bei unbekanntem Meldungsschlüssel
Returns
string Lokalisierte und formatierte Meldung

Definition at line 1362 of file dbxForm.class.php.

References get_fd_message().

Referenced by dbxReport\apply_multi_delete_result().

◆ forward_init()

dbxForm::forward_init ( $fid,
$tpl = '' )

Initialisiert den Form-Kontext.

Ablauf

  • internen Formzustand resetten
  • direkten Aufrufer als Callback-Owner uebernehmen
  • DBX-Kontext übernehmen
  • Sysdata laden
  • Remember-Workflow-State laden
  • Security-Feld für Submit-Schutz anlegen

Verwendung

Nach init() kann der Modulcode _dd, _fd, _data, _action, Meldungen und Felder setzen und das Formular weiter aufbauen.

Auswirkung

Der Formularlauf ist vorbereitet. Das Security-Feld wird als echtes dbxForm-Feld erzeugt und später durch die normale Feldpipeline gerendert. Das Security-Feld nutzt bewusst keine DD-/FD-Quelle, damit es nie durch externe Felddefinitionen beeinflusst wird. Callbackmethoden folgen ohne weitere Registrierung {fid}_{event}; Bindestriche der Formular-ID werden dabei zu Unterstrichen.

Parameters
string$fidFormular-ID
string$tplOptionales Template
Returns
void

Definition at line 769 of file dbxForm.class.php.

References $owner, $tpl, _dbx_lng, _dbx_modul, _sys, add_default_search_rep(), add_fld(), attachAdminHelpButton(), dbxObj\callback(), clear(), load_sysdata(), load_workflow_state(), next_i(), resolve_init_callback_owner(), dbxObj\set_callback_id(), and dbxObj\set_callback_owner().

Referenced by init(), and dbxReport\init().

◆ forward_run()

dbxForm::forward_run ( )

Führt die Ausgabephase aus.

Ablauf

  • Request-Zustand sicherstellen
  • Try-Sperre prüfen
  • Template laden
  • TPL-Replaces ausführen
  • Felder einfügen
  • Objekte einfügen
  • Form-Meldung setzen
  • JS-Platzhalter füllen
  • Sysdata und Workflow-State speichern
Returns
string

Definition at line 4177 of file dbxForm.class.php.

References $content, $errors, $javascript, _dbx_modul, add_editor_markers(), buildModuleBarObj(), dbxObj\callback(), check_try_count(), ensureFormHelpBar(), errors(), get_form_msg(), get_tpl(), merge_fld_data(), merge_obj(), merge_tpl_data(), next_i(), prepareFormFrameReplaces(), store_sysdata(), store_workflow_state(), submit(), and warnings().

Referenced by run().

◆ forward_submit()

dbxForm::forward_submit ( )

Gibt zurück, ob das Formular abgesendet wurde.

Wirkung

Diese Methode triggert die zentrale Request-Auswertung, ist aber nach außen weiterhin bequem als Statusabfrage nutzbar.

Returns
int 0|1

Definition at line 3493 of file dbxForm.class.php.

References $result, and dbxObj\callback().

Referenced by submit(), and dbxReport\submit().

◆ get_activ_id()

dbxForm::get_activ_id ( $key = '')

Liefert die aktive Remember-ID des aktuellen DD-Kontexts.

Verwendung

Wird für aktive Zeilen-/Datensatz-Markierungen verwendet.

Auswirkung

Liest die aktive ID aus Remember. Ohne expliziten Schlüssel wird _dd als Kontext verwendet.

Parameters
string$keyOptionaler Kontextschlüssel
Returns
mixed

Definition at line 1720 of file dbxForm.class.php.

Referenced by dbxReport\get_class_tr().

◆ get_dd()

dbxForm::get_dd ( string $dd,
string $fld,
string $var )

Liest einen Feldwert oder das ganze Feld aus einer DD-/FD-Quelle.

Wirkung

  • Standard-DDs laufen über dbxDB
  • direkte DD-/FD-Dateiquellen bleiben möglich
  • leeres Ergebnis liefert ''
  • * liefert den kompletten Feldsatz

Performance

Die komplette Feldquelle wird über get_dd_fields_source() geladen. Zusätzlich wird der einzelne Feld-Record pro Quelle/Feldname im aktuellen PHP-Request gecacht. Dadurch muss add_fld() nicht für jedes Attribut erneut linear durch alle Felddefinitionen laufen.

Parameters
string$ddDD-/FD-Angabe
string$fldFeldname
string$varVariablenname oder *
Returns
mixed

Definition at line 2614 of file dbxForm.class.php.

References $dd, $field, and $fields.

Referenced by add_fld(), dbxReport\create_selection_fields(), and dbxReport\get_auto_report_format().

◆ get_draft_id()

dbxForm::get_draft_id ( bool $createIfMissing = false)

Gibt die Draft-ID zurück, optional mit automatischer Erzeugung.

Beispiel

$draftId = $oForm->get_draft_id(true);
Parameters
bool$createIfMissing1 = erzeugen falls leer
Returns
string

Definition at line 4583 of file dbxForm.class.php.

References get_state_value(), and set_state_value().

◆ get_external_form_state()

dbxForm::get_external_form_state ( string $fid)

Liest den Workflow-State eines anderen Formulars im selben Scope.

Parameters
string$fidFormular-ID
Returns
array

Definition at line 4811 of file dbxForm.class.php.

References $scope, $state, and _dbx_modul.

Referenced by remember_current_dependencies().

◆ get_fd_message()

dbxForm::get_fd_message ( string $key,
string $default = '' )

Liefert eine Meldung aus der aktuell geladenen FD.

Der korrekte Schlüssel für erfolgreiches Speichern ist save_success. Der ältere Tippfehler save_succeass wird beim Laden bidirektional als Alias ergänzt und bleibt damit kompatibel.

Parameters
string$keyMeldungsschlüssel
string$defaultRückgabewert, wenn der Schlüssel nicht existiert
Returns
string

Definition at line 1338 of file dbxForm.class.php.

References _messages, and if.

Referenced by dbxReport\apply_multi_delete_result(), buildModuleBarObj(), dbxReport\buildReportFooterObj(), format_fd_message(), dbxReport\get_delete_tab_button(), dbxReport\get_report_action_label(), dbx\dbxAdmin\dbxReport_Server\run_body(), dbx\dbxAdmin\dbxReport_Tables\run_body(), dbx\dbxContent_admin\dbxReport_ContentSections\run_body(), and save_post().

◆ get_field_editor_markers()

dbxForm::get_field_editor_markers ( )
protected

Erzeugt FD-/DD-Editor-Marker direkt am Feld-Slot.

Returns
string

Definition at line 4363 of file dbxForm.class.php.

References $file, $source, _fd, and resolve_fd_dd_editor_file().

Referenced by create_fld().

◆ get_fld_id()

dbxForm::get_fld_id ( $fld)

Extrahiert den Feldnamen aus HTML.

Verwendung

Legacy-Hilfe für Fälle, in denen ein bereits gerendertes HTML-Feld untersucht werden muss.

Parameters
string$fldHTML-Feld
Returns
string

Definition at line 1460 of file dbxForm.class.php.

◆ get_fld_msg()

dbxForm::get_fld_msg ( $mode,
$msg = '' )

Gibt eine Feldmeldung zurück.

Parameters
string$modeinfo|success|error|warning
string$msgMeldung
Returns
string

Definition at line 3357 of file dbxForm.class.php.

References $file, $mode, $tpl, and get_tpl().

◆ get_fld_val()

dbxForm::get_fld_val ( $name,
$default = '',
$rules = '',
$submit = -1 )

Definition at line 2002 of file dbxForm.class.php.

References $resolved, $rules, $value, _sys, and add_fld_error().

Referenced by get_fld_value().

◆ get_fld_value()

dbxForm::get_fld_value ( $name,
$default = '',
$rules = '',
$submit = -1 )

Definition at line 2021 of file dbxForm.class.php.

References $rules, and get_fld_val().

◆ get_form_msg()

dbxForm::get_form_msg ( $mode,
$msg = '' )

Gibt die Formular-Infobox zurück.

Parameters
string$modeinfo|success|error|warning
string$msgMeldung
Returns
string

Definition at line 3317 of file dbxForm.class.php.

References $file, $mode, $tpl, and get_tpl().

Referenced by dbxReport\buildReportFormMsgHtml(), forward_run(), and dbxReport\run().

◆ get_form_version()

dbxForm::get_form_version ( )

Gibt die aktuelle Formularversion zurück.

Returns
int

Definition at line 4699 of file dbxForm.class.php.

References get_state_value().

Referenced by bump_form_version().

◆ get_post()

dbxForm::get_post ( $name,
$default = '',
$rules = 'alphanum' )

Liest POST/GET-Daten mit Default-Rules alphanum.

Parameters
string$nameFeldname
mixed$defaultDefault
string$rulesRegeln
Returns
mixed

Definition at line 2062 of file dbxForm.class.php.

References $ok, $rules, $validation, add_fld_error(), and remember_validation_result().

Referenced by dbxReport\get_sel(), and dbxReport\init().

◆ get_post_data()

dbxForm::get_post_data ( $name,
$default = '',
$rules = 'parameter' )

Liest POST/GET-Daten mit Default-Rules parameter.

Parameters
string$nameFeldname
mixed$defaultDefault
string$rulesRegeln
Returns
mixed

Definition at line 2034 of file dbxForm.class.php.

References $ok, $rules, $validation, add_fld_error(), and remember_validation_result().

◆ get_quartal()

dbxForm::get_quartal ( $datum)

Platzhalter-Helfer.

Parameters
mixed$datumEingabe
Returns
string

Definition at line 3392 of file dbxForm.class.php.

◆ get_rid()

dbxForm::get_rid ( )

Liest die aktuelle RID, optional view-synchronisiert.

Returns
int

Definition at line 3571 of file dbxForm.class.php.

References _rid, and set_state_value().

◆ get_security_data()

dbxForm::get_security_data ( )

Liefert Feldname und aktuellen Wert des dbxForm-Security-Tokens.

JavaScript-gesteuerte Formulare erhalten nach einem JSON-Submit keinen neu gerenderten Formularblock. Sie koennen mit diesen Daten den von evaluate_request() rotierten Token gezielt im bestehenden DOM ersetzen, ohne die private Token-Verwaltung nachzubauen.

Returns
array{name:string,value:string}

Definition at line 1218 of file dbxForm.class.php.

References $token, and store_sysdata().

◆ get_state_value()

dbxForm::get_state_value ( string $key,
$default = null )

Liest einen Wert aus dem Workflow-State.

Parameters
string$keySchlüssel
mixed$defaultDefault
Returns
mixed

Definition at line 4562 of file dbxForm.class.php.

References load_workflow_state().

Referenced by dependencies_are_current(), get_draft_id(), get_form_version(), is_form_complete(), is_form_locked(), is_form_saved(), is_form_valid(), and remember_current_dependencies().

◆ get_tpl()

◆ get_validation_result()

dbxForm::get_validation_result ( string $name = '')

Liefert das strukturierte Validator-Ergebnis eines Feldes.

Ohne Feldname werden alle Ergebnisse des aktuellen Formularlaufs zurückgegeben. Die Rückgabe enthält insbesondere valid, code, message, normalized und details.

Parameters
string$nameOptionaler Feldname
Returns
array

Definition at line 1898 of file dbxForm.class.php.

References if.

◆ get_workflow_scope()

dbxForm::get_workflow_scope ( )

Gibt den Workflow-Scope zurück.

Returns
string

Definition at line 4436 of file dbxForm.class.php.

◆ get_workflow_state_key()

dbxForm::get_workflow_state_key ( )

Baut den Remember-Schlüssel für den Form-Workflow-State.

Schlüsselaufbau

  • Modul
  • optionaler Workflow-Scope
  • Formular-ID

Auswirkungen

Mehrere Formulare oder Workflows bleiben sauber getrennt.

Returns
string

Definition at line 4472 of file dbxForm.class.php.

References $scope, and _dbx_modul.

Referenced by load_workflow_state(), and store_workflow_state().

◆ init()

dbxForm::init ( $fid,
$tpl = '' )

Öffentliche Init-Methode.

Parameters
string$fidFormular-ID
string$tplOptionales Template
Returns
void

Definition at line 4391 of file dbxForm.class.php.

References $tpl, and forward_init().

Referenced by __construct(), and dbxActionTokenAutomationForm\configure().

◆ is_form_complete()

dbxForm::is_form_complete ( )

Gibt zurück, ob das Formular als vollständig markiert ist.

Returns
bool

Definition at line 4650 of file dbxForm.class.php.

References get_state_value().

◆ is_form_locked()

dbxForm::is_form_locked ( )

Gibt zurück, ob das Formular gesperrt ist.

Returns
bool

Definition at line 4670 of file dbxForm.class.php.

References get_state_value().

◆ is_form_saved()

dbxForm::is_form_saved ( )

Gibt zurück, ob das Formular bereits gespeichert wurde.

Returns
bool

Definition at line 4690 of file dbxForm.class.php.

References get_state_value().

◆ is_form_valid()

dbxForm::is_form_valid ( )

Gibt zurück, ob das Formular als gültig markiert ist.

Returns
bool

Definition at line 4630 of file dbxForm.class.php.

References get_state_value().

◆ load_fd_messages()

dbxForm::load_fd_messages ( string $fd = '')

Lädt ausschließlich den Meldungsvertrag einer sprachabhängigen FD.

Verwendung

Formulare laden ihre FD normalerweise beim ersten add_fld() oder über add_flds(). Für Modul-, Listen- und Bestätigungstexte werden Meldungen jedoch teilweise bereits davor benötigt. Diese Methode nutzt denselben sprachabhängigen Resolver und denselben Cache, ohne Felder zu rendern.

dbxReport erbt die Methode. Damit können auch Tabellenköpfe, Footer und Reportmeldungen aus der Selection-FD stammen, ohne die Filterfelder ein zweites Mal anzulegen.

Parameters
string$fdFD in der Form modul|name; leer verwendet _fd
Returns
array Geladene und normalisierte Meldungen

Definition at line 1402 of file dbxForm.class.php.

References $fd, $source, and _fd.

Referenced by dbx\dbxAdmin\dbxReport_Modules\__construct().

◆ load_sysdata()

dbxForm::load_sysdata ( )

Lädt Sysdata des Formulars.

Verwendung

Wird während forward_init() genutzt, damit Formularzustände zwischen Requests erhalten bleiben können.

Auswirkung

Gibt gespeicherte Sysdata als Array zurück. Ungültige Werte werden zu einem leeren Array normalisiert.

Returns
array

Definition at line 1690 of file dbxForm.class.php.

Referenced by forward_init().

◆ load_workflow_state()

dbxForm::load_workflow_state ( )

Lädt den Remember-basierten Workflow-State.

Returns
array

Definition at line 4504 of file dbxForm.class.php.

References $state, and get_workflow_state_key().

Referenced by forward_init(), get_state_value(), and set_workflow_scope().

◆ merge_fld_data()

dbxForm::merge_fld_data ( $content,
$i = 0 )

Fügt Felder in den Template-Inhalt ein.

Wichtige Regel

Diese Methode arbeitet mit einer lokalen Sicht auf _flds. Der globale Feldbestand wird beim Rendern NICHT zerstört.

Auswirkung

Felder mit explizitem {obj:feld}-Slot werden dort eingesetzt. Felder ohne expliziten Slot werden gesammelt und in [dbx:form] oder vor </form> eingefügt.

Parameters
string$contentTemplate-Inhalt
int$iLaufindex
Returns
string

Definition at line 4022 of file dbxForm.class.php.

References $content, $form, and create_fld().

Referenced by forward_run(), dbxReport\run(), and dbxReport\run().

◆ merge_obj()

dbxForm::merge_obj ( $content,
$i = 0 )

Ersetzt {obj:*}-Platzhalter.

Verwendung

Wird nach merge_fld_data() aufgerufen, um frei hinzugefügte Objekte wie Buttons, Action-Blöcke oder Modul-Ausgaben einzusetzen.

Auswirkung

Alle Einträge in _obj werden in passende {obj:name}-Slots eingesetzt.

Parameters
string$contentInhalt
int$iLaufindex
Returns
string

Definition at line 1636 of file dbxForm.class.php.

References $content.

Referenced by forward_run(), dbxReport\run(), and dbxReport\run().

◆ merge_tpl_data()

dbxForm::merge_tpl_data ( $tpl,
$i = 0 )

Führt grundlegende Form-Replaces in Templates aus.

Verwendung

Wird in der Ausgabephase vor dem Einsetzen von Feldern und Objekten aufgerufen.

Auswirkung

Ersetzt Basiswerte wie {dbx_modul}, {dbx_run1}, {action}, {fid}, {rid}, {self} und {i}.

Parameters
string$tplTemplate-Inhalt
int$iLaufindex
Returns
string

Definition at line 1594 of file dbxForm.class.php.

References $tpl.

Referenced by forward_run(), dbxActionTokenAutomationForm\mergedAction(), dbxReport\run(), and dbxReport\run().

◆ next_i()

dbxForm::next_i ( $add = 1)

Liefert oder erzeugt die laufende Formularinstanz-ID.

Parameters
int$addWeitergabe an dbx()->next_id()
Returns
int

Definition at line 3766 of file dbxForm.class.php.

References add_rep().

Referenced by buildModuleBarFormActionsHtml(), forward_init(), and forward_run().

◆ obv_value()

dbxForm::obv_value ( $content,
$id,
$value )

Historische obv-Hilfe.

Hinweis

Diese Methode bleibt nur als Übergangshilfe erhalten. Observe-/Client-Reaktionslogik gehört heute nicht mehr in den Kern von dbxForm.

Parameters
string$contentInhalt
string$idPlatzhalter-ID
mixed$valueWert
Returns
string

Definition at line 1564 of file dbxForm.class.php.

References $content, and $value.

◆ php_date()

dbxForm::php_date ( $value)

Wandelt Datumswerte in DB-Format um.

Parameters
mixed$valueEingabe
Returns
string

Definition at line 3456 of file dbxForm.class.php.

References $value.

◆ php_date_usr()

dbxForm::php_date_usr ( $value)

Wandelt Datumswerte in deutsches Format um.

Parameters
mixed$valueEingabewert
Returns
string

Definition at line 3403 of file dbxForm.class.php.

References $value.

Referenced by dbxReport\rpt_format().

◆ php_datetime_usr()

dbxForm::php_datetime_usr ( $value)

Wandelt Datums-/Zeitwerte in deutsches Format um.

Parameters
mixed$valueEingabewert
Returns
string

Definition at line 3423 of file dbxForm.class.php.

References $value.

Referenced by dbxReport\rpt_format().

◆ prepare_form_shell()

dbxForm::prepare_form_shell ( array $options = array())

Definition at line 883 of file dbxForm.class.php.

References $options, and add_rep().

◆ prepareFormFrameReplaces()

dbxForm::prepareFormFrameReplaces ( int $i)
protected

Definition at line 911 of file dbxForm.class.php.

References $formAction, and $formClass.

Referenced by forward_run().

◆ refresh_dependency_lock()

dbxForm::refresh_dependency_lock ( )

Markiert das Formular aufgrund veralteter Abhängigkeiten als gesperrt.

Returns
bool true = gesperrt, false = frei

Definition at line 4827 of file dbxForm.class.php.

References dependencies_are_current(), and set_form_locked().

◆ remember_current_dependencies()

dbxForm::remember_current_dependencies ( ?array $formIds = null)

Speichert die aktuell gültigen Versionsstände abhängiger Formulare.

Zweck

Nach erfolgreicher Prüfung/Speicherung eines abhängigen Formulars kann damit festgehalten werden, auf welcher Version seiner Vorgänger es basiert.

Parameters
array | null$formIdsOptional explizite Form-IDs
Returns
void

Definition at line 4754 of file dbxForm.class.php.

References $state, get_external_form_state(), get_state_value(), and set_state_value().

◆ remember_validation_result()

dbxForm::remember_validation_result ( string $name,
array $result )
protected

Merkt sich ein Validator-Ergebnis im aktuellen Formularlauf.

Definition at line 1910 of file dbxForm.class.php.

References $result, and if.

Referenced by get_post(), and get_post_data().

◆ replaces()

dbxForm::replaces ( $content,
$replaces = null )

Wendet dbxForm-Replacements auf einen beliebigen Inhalt an.

Ohne explizites Array werden die zuvor mit add_rep() gesetzten Werte verwendet. Weil dbxReport von dbxForm erbt, stehen dieselbe Methode und dieselben spaet gesetzten Replacements auch in Report-Callbacks bereit.

Parameters
string$contentInhalt mit {name}-Platzhaltern.
array | null$replacesExplizite Werte oder null fuer _replaces.
Returns
string Inhalt mit ersetzten Platzhaltern.

Definition at line 1773 of file dbxForm.class.php.

References $content, and if.

Referenced by dbxReport\rpt_merge_obj().

◆ resolve_fd_dd_editor_file()

dbxForm::resolve_fd_dd_editor_file ( string $source)
protected

Liefert den absoluten Pfad einer FD-/DD-Quelle fuer Editor-Marker.

Parameters
string$kindfd oder dd
string$sourceAktive Formular-Quelle
Returns
string

Definition at line 4271 of file dbxForm.class.php.

References $source.

Referenced by get_field_editor_markers().

◆ resolve_init_callback_owner()

dbxForm::resolve_init_callback_owner ( )
protected

Ermittelt den aufrufenden Modul-/Service-Owner fuer Callback-Defaults.

Der direkte Aufrufer von init() ist stabiler als ein spaeter global gesetzter Owner: DD-, TPL- oder Hilfe-Code kann den globalen Kontext waehrend des Form-/Reportaufbaus wechseln. Ein explizit gesetzter Callback-Owner hat weiterhin Vorrang.

Returns
object|null

Definition at line 719 of file dbxForm.class.php.

References $owner.

Referenced by forward_init().

◆ run()

dbxForm::run ( )

Öffentliche Run-Methode.

Returns
string

Reimplemented in dbxReport.

Definition at line 4400 of file dbxForm.class.php.

References forward_run().

◆ save_post()

dbxForm::save_post ( $dd,
$rid,
$pv = '',
$reread = 1 )

Speichert _post über dbxDB.

Sinn/Zweck

Diese Methode ist die bequeme Persistenz-Brücke von dbxForm. Sie ersetzt NICHT die freie Modul-Fachlogik, sondern bildet den Standard-Speicherpfad für Formulare.

Verhalten

  • optional zusätzliche Werte aus $pv übernehmen
  • dbxDB->save() aufrufen
  • bei Erfolg Insert-ID übernehmen
  • optional Datensatz erneut laden
  • _data und Feldwerte aktualisieren
  • Workflow-State aktualisieren
Parameters
string$ddDD/Zielstruktur
mixed$ridRID oder new
mixed$pvZusätzliche Werte
int$reread1 = Datensatz nach Save neu lesen
Returns
mixed Ergebnis von dbxDB->save()

Definition at line 3676 of file dbxForm.class.php.

References $dd, $ok, $value, _rid, bump_form_version(), get_fd_message(), oDB, set_form_complete(), set_form_saved(), set_form_valid(), set_state_value(), and store_workflow_state().

◆ set_activ_id()

dbxForm::set_activ_id ( $value,
$key = '' )

Setzt die aktive Remember-ID des aktuellen DD-Kontexts.

Parameters
mixed$valueWert
string$keyOptionaler Kontextschlüssel
Returns
void

Definition at line 1737 of file dbxForm.class.php.

References $value.

◆ set_dependencies()

dbxForm::set_dependencies ( array $formIds)

Setzt die Abhängigkeiten dieses Formulars.

Beispiel

$oForm->set_dependencies(['form-step-1', 'form-step-2']);
Parameters
array$formIdsAbhängige Form-IDs
Returns
void

Definition at line 4732 of file dbxForm.class.php.

References set_state_value().

◆ set_draft_id()

dbxForm::set_draft_id ( string $draftId)

Setzt die Draft-ID explizit.

Parameters
string$draftIdDraft-ID
Returns
void

Definition at line 4601 of file dbxForm.class.php.

References set_state_value().

◆ set_editor_class_file()

dbxForm::set_editor_class_file ( string $file)

Merkt sich die geladene Modul-/Include-Class fuer den Frontend-Editor.

Parameters
string$fileAbsoluter oder relativer Dateipfad
Returns
void

Definition at line 615 of file dbxForm.class.php.

References $file, and add_editor_file().

◆ set_error()

dbxForm::set_error ( $msg)

Setzt eine aktive allgemeine Formular-Fehlermeldung.

Im Gegensatz zu set_msg_error(), das den Standardtext für einen später erkannten Fehler festlegt, markiert diese Methode das Formular sofort als fehlerhaft. Controller müssen dafür keine internen Statusfelder von dbxForm kennen oder verändern.

Parameters
string$msgAnzuzeigende Fehlermeldung.
Returns
void

Definition at line 1310 of file dbxForm.class.php.

◆ set_fld_val()

dbxForm::set_fld_val ( $fld_name,
$fld_val )

Setzt einen Feldwert direkt im Feldzustand.

Parameters
string$fld_nameFeldname
mixed$fld_valWert
Returns
void

Definition at line 3787 of file dbxForm.class.php.

References _sys.

◆ set_form_callback_owner()

dbxForm::set_form_callback_owner ( $owner)

Definition at line 693 of file dbxForm.class.php.

References $owner, and dbxObj\set_callback_owner().

◆ set_form_complete()

dbxForm::set_form_complete ( bool $state)

Setzt den Vollständigkeitsstatus des Formulars.

Parameters
bool$statetrue/false
Returns
void

Definition at line 4641 of file dbxForm.class.php.

References $state, and set_state_value().

Referenced by save_post().

◆ set_form_help_enabled()

dbxForm::set_form_help_enabled ( bool $enabled = true)

Schaltet die automatische Formular-Hilfeleiste gezielt ein oder aus.

Eingebettete Steuerformulare verwenden die Hilfe ihres Elternbereichs.

Definition at line 861 of file dbxForm.class.php.

Referenced by dbx\dbxAdmin\dbxReport_Modules\__construct().

◆ set_form_locked()

dbxForm::set_form_locked ( bool $state)

Setzt den Lock-Status des Formulars.

Parameters
bool$statetrue = gesperrt
Returns
void

Definition at line 4661 of file dbxForm.class.php.

References $state, and set_state_value().

Referenced by refresh_dependency_lock().

◆ set_form_saved()

dbxForm::set_form_saved ( bool $state)

Setzt den Save-Status des Formulars.

Parameters
bool$statetrue/false
Returns
void

Definition at line 4681 of file dbxForm.class.php.

References $state, and set_state_value().

Referenced by save_post().

◆ set_form_valid()

dbxForm::set_form_valid ( bool $state)

Setzt den Validitätsstatus des Formulars.

Parameters
bool$statetrue/false
Returns
void

Definition at line 4621 of file dbxForm.class.php.

References $state, and set_state_value().

Referenced by save_post().

◆ set_init_callback()

dbxForm::set_init_callback ( string $callback)

Definition at line 697 of file dbxForm.class.php.

References dbxObj\set_callback().

◆ set_msg_error()

dbxForm::set_msg_error ( $msg)

Setzt die Formular-Fehlermeldung.

Parameters
string$msgMeldung
Returns
void

Definition at line 1294 of file dbxForm.class.php.

◆ set_msg_info()

dbxForm::set_msg_info ( $msg)

Setzt die Formular-Info-Meldung.

Parameters
string$msgMeldung
Returns
void

Definition at line 1272 of file dbxForm.class.php.

◆ set_msg_ok()

dbxForm::set_msg_ok ( $msg)

Setzt die Formular-Erfolgsmeldung.

Parameters
string$msgMeldung
Returns
void

Definition at line 1283 of file dbxForm.class.php.

◆ set_msg_warning()

dbxForm::set_msg_warning ( $msg)

Setzt die Formular-Warnmeldung.

Parameters
string$msgMeldung
Returns
void

Definition at line 1322 of file dbxForm.class.php.

◆ set_post()

dbxForm::set_post ( $key,
$val )

Setzt einen _post-Wert manuell.

Zweck

Ermöglicht Modul-Fachlogik nach Standardvalidierung, ohne die Offenheit von dbxForm einzuschränken.

Parameters
string$keyFeldname
mixed$valWert
Returns
void

Definition at line 3643 of file dbxForm.class.php.

◆ set_run_callback()

dbxForm::set_run_callback ( string $callback)

Definition at line 705 of file dbxForm.class.php.

References dbxObj\set_callback().

◆ set_state_value()

dbxForm::set_state_value ( string $key,
$value )

Setzt einen Wert im Workflow-State.

Parameters
string$keySchlüssel
mixed$valueWert
Returns
void

Definition at line 4549 of file dbxForm.class.php.

References $value, and store_workflow_state().

Referenced by bump_form_version(), get_draft_id(), get_rid(), remember_current_dependencies(), save_post(), set_dependencies(), set_draft_id(), set_form_complete(), set_form_locked(), set_form_saved(), and set_form_valid().

◆ set_submit_callback()

dbxForm::set_submit_callback ( string $callback)

Definition at line 701 of file dbxForm.class.php.

References dbxObj\set_callback().

◆ set_workflow_scope()

dbxForm::set_workflow_scope ( string $scope)

Setzt einen Workflow-Scope.

Zweck

Ein Scope gruppiert mehrere Formulare logisch innerhalb desselben Workflows.

Beispiel

$oForm->set_workflow_scope('order-setup');
Parameters
string$scopeScope
Returns
void

Definition at line 4426 of file dbxForm.class.php.

References $scope, and load_workflow_state().

◆ store_sysdata()

dbxForm::store_sysdata ( )

Speichert Sysdata des Formulars.

Zweck

Sysdata ist der laufende Formzustand innerhalb des Session-Kontexts, nicht der übergeordnete Workflow-State. Workflow-/Draft-/Version-Status wird separat über Remember gehalten.

Auswirkung

Speichert _sys unter Formular-ID und Modul in der Session.

Returns
void

Definition at line 1663 of file dbxForm.class.php.

References $mode, and $value.

Referenced by forward_run(), get_security_data(), dbxReport\run(), and dbxReport\run().

◆ store_workflow_state()

dbxForm::store_workflow_state ( )

Speichert den Workflow-State.

Returns
void

Definition at line 4526 of file dbxForm.class.php.

References get_workflow_state_key().

Referenced by clear_workflow_state(), forward_run(), save_post(), and set_state_value().

◆ submit()

dbxForm::submit ( )

Öffentliche Submit-Abfrage.

Returns
int 0|1

Reimplemented in dbxReport.

Definition at line 3509 of file dbxForm.class.php.

References forward_submit().

Referenced by create_fld(), and forward_run().

◆ update_error_fld()

dbxForm::update_error_fld ( $name,
$msg )

Markiert ein Feld mit Fehlerstatus.

Verwendung

Wird von add_fld_error() genutzt, damit Fehler nicht nur in _errors, sondern auch direkt am Feldzustand sichtbar werden.

Auswirkung

Setzt error, verify, ergänzt CSS-Klasse fld-error und setzt die Fehlermeldung in data.errormsg.

Parameters
string$nameFeldname
string$msgFehlermeldung
Returns
void

Definition at line 1856 of file dbxForm.class.php.

Referenced by add_fld_error().

◆ url_to_array()

dbxForm::url_to_array ( $data)

Wandelt Query-/URL-Daten in ein Array um.

Verwendung

Wird intern zur Normalisierung von data und options genutzt.

Auswirkung

Strings wie a=1&b=2 werden zu Arrays. Arrays bleiben unverändert.

Parameters
mixed$dataString oder bereits Array
Returns
array|string

Definition at line 1250 of file dbxForm.class.php.

References $first.

◆ view_sync()

dbxForm::view_sync ( $rid)

Synchronisiert eine RID in den View-State.

Parameters
int$ridRID
Returns
void

Definition at line 3598 of file dbxForm.class.php.

◆ wait()

dbxForm::wait ( )

Historischer Wait-Check.

Hinweis

Kein zentraler Architekturanker mehr.

Returns
int

Definition at line 3619 of file dbxForm.class.php.

References $tpl.

◆ warnings()

dbxForm::warnings ( )

Gibt die Anzahl der Warnungen zurück.

Returns
int

Definition at line 3533 of file dbxForm.class.php.

Referenced by forward_run().

Member Data Documentation

◆ $_action

dbxForm::$_action = ''

Formular-Action.

Definition at line 260 of file dbxForm.class.php.

Referenced by dbxReport\get_report_action_url(), and dbx\dbxAdmin\dbxReport_Server\run_body().

◆ $_activ_id

dbxForm::$_activ_id = 0

Optional aktive ID.

Definition at line 430 of file dbxForm.class.php.

Referenced by dbx\myLKW\dbxReport_Dispo\run_body().

◆ $_ajax

dbxForm::$_ajax = true

AJAX-fähiges Formular.

Definition at line 230 of file dbxForm.class.php.

◆ $_confirm_copy

dbxForm::$_confirm_copy = ''

Optionaler Copy-Bestätigungstext.

Definition at line 427 of file dbxForm.class.php.

◆ $_confirm_delete

dbxForm::$_confirm_delete = ''

Optionaler Lösch-Bestätigungstext.

Definition at line 424 of file dbxForm.class.php.

◆ $_create_flds

dbxForm::$_create_flds = 1

1 = Felder sollen erzeugt werden

Definition at line 382 of file dbxForm.class.php.

◆ $_css

dbxForm::$_css = array()

CSS-Dateien oder Marker.

Definition at line 299 of file dbxForm.class.php.

◆ $_data

dbxForm::$_data = array()

Aktuelle Formulardaten / Record-Daten.

Definition at line 284 of file dbxForm.class.php.

◆ $_dbx_action

dbxForm::$_dbx_action = ''

Aktive DBX-Aktion.

Definition at line 248 of file dbxForm.class.php.

Referenced by dbxReport\get_report_action_url().

◆ $_dbx_design

dbxForm::$_dbx_design = ''

Aktives Design.

Definition at line 245 of file dbxForm.class.php.

◆ $_dbx_lng

dbxForm::$_dbx_lng = ''

Aktive Sprache.

Definition at line 242 of file dbxForm.class.php.

◆ $_dbx_modul

dbxForm::$_dbx_modul = 'modul'

Aktives Modul.

Definition at line 239 of file dbxForm.class.php.

Referenced by dbxReport\get_report_action_url().

◆ $_dbx_modul_id

dbxForm::$_dbx_modul_id = 0

Aktive Modul-ID.

Definition at line 236 of file dbxForm.class.php.

◆ $_dbx_page

dbxForm::$_dbx_page = ''

Aktive Seite.

Definition at line 254 of file dbxForm.class.php.

◆ $_dbx_view

dbxForm::$_dbx_view = ''

Optionaler View-Schlüssel.

Definition at line 218 of file dbxForm.class.php.

◆ $_dbx_work

dbxForm::$_dbx_work = ''

Optionaler Work-Kontext.

Definition at line 251 of file dbxForm.class.php.

Referenced by dbxReport\get_report_action_url().

◆ $_dd

dbxForm::$_dd = ''

Zugeordnetes DD.

Bleibt Daten-/DB-Kontext und Fallback-Feldquelle.

Definition at line 272 of file dbxForm.class.php.

◆ $_editor_class_file

dbxForm::$_editor_class_file = ''

Modul-/Include-Class-Datei fuer den Frontend-Editor.

Definition at line 281 of file dbxForm.class.php.

◆ $_editor_files

dbxForm::$_editor_files = array()

Dateien, die fuer den Frontend-Editor markiert werden.

Definition at line 278 of file dbxForm.class.php.

◆ $_editor_fld

dbxForm::$_editor_fld = ''

Optionales Editor-Feld.

Definition at line 418 of file dbxForm.class.php.

◆ $_errors

dbxForm::$_errors = array()

Feld-/Formfehler.

Definition at line 316 of file dbxForm.class.php.

◆ $_fd

dbxForm::$_fd = ''

Optionale FD-Felddefinitionsquelle.

Wenn gesetzt, bevorzugt add_fld()/add_flds() diese Quelle vor _dd.

Definition at line 275 of file dbxForm.class.php.

◆ $_fid

dbxForm::$_fid = ''

Formular-ID.

Definition at line 266 of file dbxForm.class.php.

◆ $_fld_change_state

dbxForm::$_fld_change_state = 'fld'

Feldmodus fuer die Changed-Logik: fld oder *.

Definition at line 406 of file dbxForm.class.php.

◆ $_fld_changes

dbxForm::$_fld_changes = -1

Gecachter Changed-Wert.

Definition at line 409 of file dbxForm.class.php.

◆ $_fld_id

dbxForm::$_fld_id = 'id'

Primärschlüsselfeld.

Definition at line 433 of file dbxForm.class.php.

Referenced by dbxReport\get_record_rid().

◆ $_flds

dbxForm::$_flds = array()

Felddefinitionen.

Definition at line 302 of file dbxForm.class.php.

◆ $_form_help_button

dbxForm::$_form_help_button = ''
protected

Help-Button des aktuellen Formulars fuer Templates ohne eigenen Help-Slot.

Definition at line 397 of file dbxForm.class.php.

◆ $_form_help_enabled

dbxForm::$_form_help_enabled = 1

1 = automatische Formularhilfe rendern; 0 = Hilfe kommt aus der umgebenden Bereichsleiste.

Definition at line 400 of file dbxForm.class.php.

◆ $_form_submit

dbxForm::$_form_submit = -1

-1 = unbekannt, 0 = nein, 1 = ja

Definition at line 412 of file dbxForm.class.php.

◆ $_form_validate

dbxForm::$_form_validate = -1

-1 = noch nicht ausgewertet, 1 = ausgewertet

Definition at line 415 of file dbxForm.class.php.

◆ $_general_error

dbxForm::$_general_error = ''

Allgemeiner Fehlertext.

Definition at line 328 of file dbxForm.class.php.

◆ $_infos

dbxForm::$_infos = array()

Info-Meldungen.

Definition at line 313 of file dbxForm.class.php.

◆ $_js

dbxForm::$_js = array()

JS-Code-Blöcke.

Definition at line 296 of file dbxForm.class.php.

◆ $_messages

dbxForm::$_messages = array()

Meldungen der aktuell geladenen FD.

Sprachvarianten werden zusammen mit der FD aufgelöst. dbxReport erbt diesen Zustand und denselben Speicherpfad direkt von dbxForm.

Definition at line 310 of file dbxForm.class.php.

◆ $_mode

dbxForm::$_mode = 'mix'

tpl|php|mix

Definition at line 227 of file dbxForm.class.php.

◆ $_module_bar_form_actions

dbxForm::$_module_bar_form_actions = array()
protected

Optionen fuer Standard-Aktionen in der Modul-Bar.

Definition at line 394 of file dbxForm.class.php.

◆ $_msg_error

dbxForm::$_msg_error = '#form_msg_error#'

Standard-Fehlertext.

Definition at line 337 of file dbxForm.class.php.

◆ $_msg_info

dbxForm::$_msg_info = '#form_msg_info#'

Standard-Infotext.

Definition at line 331 of file dbxForm.class.php.

◆ $_msg_success

dbxForm::$_msg_success = '#form_msg_success#'

Standard-Erfolgstext.

Definition at line 334 of file dbxForm.class.php.

◆ $_msg_warning

dbxForm::$_msg_warning = '#form_msg_warning#'

Standard-Warntext.

Definition at line 340 of file dbxForm.class.php.

◆ $_next_i

dbxForm::$_next_i = 0

Laufende Formularinstanz-ID.

Definition at line 269 of file dbxForm.class.php.

◆ $_obj

dbxForm::$_obj = array()

Platzhalter-Objekte.

Definition at line 293 of file dbxForm.class.php.

◆ $_page_reset

dbxForm::$_page_reset = 1

Historischer Page-Reset-Flag.

Definition at line 421 of file dbxForm.class.php.

◆ $_post

dbxForm::$_post = array()

Validierte/geänderte POST-Werte.

Definition at line 287 of file dbxForm.class.php.

◆ $_reload_record

dbxForm::$_reload_record = 1

1 = Datensatz nach Save neu lesen

Definition at line 385 of file dbxForm.class.php.

◆ $_reload_run

dbxForm::$_reload_run = 0

1 = Reload wurde ausgeführt

Definition at line 388 of file dbxForm.class.php.

◆ $_reload_suffix

dbxForm::$_reload_suffix = '_rlo'

Historischer Reload-Suffix.

Definition at line 403 of file dbxForm.class.php.

◆ $_reload_transform

dbxForm::$_reload_transform = 0

Historischer Reload-Transform-Flag.

Definition at line 391 of file dbxForm.class.php.

◆ $_replaces

dbxForm::$_replaces = array()

Allgemeine Replace-Werte.

Definition at line 325 of file dbxForm.class.php.

◆ $_rid

dbxForm::$_rid = 0

Aktuelle Record-ID.

Definition at line 257 of file dbxForm.class.php.

◆ $_store_mode

dbxForm::$_store_mode = 'session'

Aktueller Sysdata-Speichermodus.

Definition at line 233 of file dbxForm.class.php.

◆ $_sys

dbxForm::$_sys = array()

Form-interne Zustände / Sysdata.

Definition at line 290 of file dbxForm.class.php.

◆ $_tpl

dbxForm::$_tpl = ''

Template-Name.

Definition at line 263 of file dbxForm.class.php.

◆ $_tpl_fld_error

dbxForm::$_tpl_fld_error = 'fld-alert-danger'

Template für Feld-Fehler.

Definition at line 361 of file dbxForm.class.php.

◆ $_tpl_fld_info

dbxForm::$_tpl_fld_info = 'fld-alert-info'

Template für Feld-Info.

Definition at line 355 of file dbxForm.class.php.

◆ $_tpl_fld_success

dbxForm::$_tpl_fld_success = 'fld-alert-success'

Template für Feld-Erfolg.

Definition at line 358 of file dbxForm.class.php.

◆ $_tpl_fld_warning

dbxForm::$_tpl_fld_warning = 'fld-alert-warning'

Template für Feld-Warnung.

Definition at line 364 of file dbxForm.class.php.

◆ $_tpl_form_error

dbxForm::$_tpl_form_error = 'form-alert-danger'

Template für Fehlermeldungen.

Definition at line 349 of file dbxForm.class.php.

◆ $_tpl_form_info

dbxForm::$_tpl_form_info = 'form-alert-info'

Template für Info-Meldungen.

Definition at line 343 of file dbxForm.class.php.

◆ $_tpl_form_success

dbxForm::$_tpl_form_success = 'form-alert-success'

Template für Erfolgsmeldungen.

Definition at line 346 of file dbxForm.class.php.

◆ $_tpl_form_warning

dbxForm::$_tpl_form_warning = 'form-alert-warning'

Template für Warnmeldungen.

Definition at line 352 of file dbxForm.class.php.

◆ $_tpl_max_try

dbxForm::$_tpl_max_try = 'form-alert-maxtry'

Template für Max-Try-Sperre.

Definition at line 367 of file dbxForm.class.php.

◆ $_try_count_reset

dbxForm::$_try_count_reset = 600

Sekunden ohne Fehlversuch, nach denen Try-Zaehler und Sperrstufe neu beginnen.

Definition at line 373 of file dbxForm.class.php.

◆ $_try_max

dbxForm::$_try_max = 20

Maximale Fehlversuche.

Definition at line 376 of file dbxForm.class.php.

◆ $_try_msg

dbxForm::$_try_msg = 'Max {try_count} try. Suspend for {sec} seconds'

Sperr-Text.

Definition at line 379 of file dbxForm.class.php.

◆ $_try_reset

dbxForm::$_try_reset = 120

Sekunden bis Try-Reset.

Definition at line 370 of file dbxForm.class.php.

◆ $_validation_results

dbxForm::$_validation_results = array()
protected

Strukturierte Validator-Ergebnisse, indiziert nach Feldname.

Definition at line 319 of file dbxForm.class.php.

◆ $_view_mode

dbxForm::$_view_mode = ''

Optionaler View-Modus.

Definition at line 224 of file dbxForm.class.php.

◆ $_view_sync

dbxForm::$_view_sync = ''

Optionaler View-Sync-Status.

Definition at line 221 of file dbxForm.class.php.

◆ $_warnings

dbxForm::$_warnings = array()

Warnungen.

Definition at line 322 of file dbxForm.class.php.

◆ $_workflow_scope

dbxForm::$_workflow_scope = ''

Workflow-Scope für Remember-State.

Definition at line 436 of file dbxForm.class.php.

◆ $_workflow_state

dbxForm::$_workflow_state = array()

Remember-basierter Form-Status.

Definition at line 439 of file dbxForm.class.php.

◆ $oDB

dbxForm::$oDB

Zentraler DB-/DD-Service.

Definition at line 215 of file dbxForm.class.php.

Referenced by dbxReport\run(), and dbx\dbxAdmin\dbxReport_Server\run_body().

◆ $oTPL

dbxForm::$oTPL

Zentrale Template-Engine.

Definition at line 212 of file dbxForm.class.php.

Referenced by add_norep(), and dbx\dbxAdmin\dbxReport_Server\run_body().

◆ $oValidator

dbxForm::$oValidator

Zentraler Validator.

Definition at line 209 of file dbxForm.class.php.


The documentation for this class was generated from the following file: