dbxapp 4.5.3
Technische API-Referenz der dbxapp-Plattform
Lade ...
Suche ...
Keine Treffer
dbxForm Klassenreferenz

Zentrale zustandsbehaftete Formular-, Validierungs- und Persistenzpipeline von dbxapp. Mehr ...

Klassendiagramm für dbxForm:

Öffentliche Methoden

 __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 für den Frontend-Editor.
 set_form_callback_owner ($owner)
 set_init_callback (string $callback)
 set_submit_callback (string $callback)
 set_run_callback (string $callback)
 set_data_source (string $dd, string $fd='')
 Setzt DD und optionale FD gemeinsam als lesbare Datenquelle.
 set_data_definition (string $dd)
 Setzt die DD-Datenquelle.
 set_field_definition (string $fd)
 Setzt die optionale FD-Felddefinition.
 get_data_definition ()
 Liefert die konfigurierte DD-Datenquelle.
 get_field_definition ()
 Liefert die konfigurierte FD-Felddefinition.
 set_fd_messages (array $messages)
 Ersetzt den sprachabhängigen FD-Meldungskatalog.
 get_fd_messages ()
 Liefert den sprachabhängigen FD-Meldungskatalog.
 set_action (string $action)
 Setzt die Ziel-URL des Formulars oder Reports.
 get_action ()
 Liefert die konfigurierte Ziel-URL.
 set_mode (string $mode)
 Setzt den Render-Modus.
 get_mode ()
 Liefert den Render-Modus.
 set_template (string $template)
 Setzt bewusst ein individuelles Haupttemplate.
 get_template ()
 Liefert das aktuell konfigurierte Haupttemplate.
 set_data (array $data)
 Ersetzt die aktuellen Form-/Reportdaten vollständig.
 merge_data (array $data)
 Ergänzt oder überschreibt einzelne Form-/Reportdaten.
 set_data_value (string $key, mixed $value)
 Setzt einen einzelnen Datenwert.
 unset_data_value (string $key)
 Entfernt einen einzelnen Datenwert.
 get_data (?string $key=null, mixed $default=null)
 Liefert alle Daten oder einen einzelnen Wert.
 set_rid (int $rid)
 Setzt die aktuelle Record-ID ohne Request- oder View-Auflösung.
 current_rid ()
 Liefert die aktuelle Record-ID ohne den Zustand aus dem Request zu verändern.
 set_post_value (string $key, mixed $value)
 Setzt einen bereits validierten/geänderten POST-Wert.
 unset_post_value (string $key)
 Entfernt einen bereits validierten/geänderten POST-Wert.
 has_post_value (string $key)
 Prüft, ob ein validierter/geänderter POST-Wert vorliegt.
 post_value (string $key, mixed $default=null)
 Liefert einen validierten/geänderten POST-Wert.
 validated_post ()
 Liefert alle validierten/geänderten POST-Werte.
 forward_init ($fid, $tpl='')
 Initialisiert den Form-Kontext.
 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.
 forward_submit ()
 Gibt zurück, ob das Formular abgesendet wurde.
 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.
 check_try_count ($submit, $errors, $allways=1)
 Prüft Fehlversuche und baut ggf.
Öffentliche Methoden geerbt von dbxObj
 set_callback_owner ($owner)
 Setzt ein explizites Owner-Objekt für Callback-Aufrufe.
 set_callback_id (string $id)
 Setzt den Namenspräfix für 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')
 Löscht eine Objekt- oder Session-Property.
 dbx_next_process ($content, $process='', $mode='append')
 Fügt den nächsten dbxProcess-Schritt in eine Ausgabe ein.

Öffentliche Attribute

 $o_validator
 Zentraler Validator.
 $o_tpl
 Zentrale Template-Engine.
 $o_db
 Zentraler DB-/DD-Service.
 $_dbx_view = ''
 Optionaler View-Schlüssel.
 $_view_sync = ''
 Optionaler View-Sync-Status.
 $_view_mode = ''
 Optionaler View-Modus.
 $_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.
 $_fid = ''
 Formular-ID.
 $_next_i = 0
 Laufende Formularinstanz-ID.
 $_editor_files = array()
 Dateien, die für den Frontend-Editor markiert werden.
 $_editor_class_file = ''
 Modul-/Include-Class-Datei für den Frontend-Editor.
 $_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.
 $_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 = 'alert-info'
 Template für Info-Meldungen.
 $_tpl_form_success = 'alert-success'
 Template für Erfolgsmeldungen.
 $_tpl_form_error = 'alert-danger'
 Template für Fehlermeldungen.
 $_tpl_form_warning = '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.
 $_tpl_form_bar = 'dbx|form-bar-default'
 Gemeinsame Formularleiste; das Modul bestimmt nur Inhalt und Aktionen.
 $_tpl_form_footer = 'dbx|form-footer-default'
 Gemeinsamer Formularabschluss unterhalb des individuellen Layouts.
 $_try_reset = 120
 Sekunden bis Try-Reset.
 $_try_count_reset = 600
 Sekunden ohne Fehlversuch, nach denen Try-Zähler 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.
 $_ui_state_persist = 0
 1 = Felder mit FD-Flag data=ui_persist=1 merken ihren Wert dauerhaft im Browser (dbx.uiGet/uiSet, siehe core.js) und stellen ihn beim nächsten Laden automatisch wieder her.
 $_reload_suffix = '_rlo'
 Historischer Reload-Suffix.
 $_fld_change_state = 'fld'
 Feldmodus für 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.
Öffentliche Attribute geerbt von dbxObj
Public $_properties =array()
Public $_section =''
Public $_process =''

Geschützte Methoden

 resolve_init_callback_owner ()
 Ermittelt den aufrufenden Modul-/Service-Owner für Callback-Defaults.
Geschützte Methoden geerbt von dbxObj
 normalize_callback_id (string $id)
 Normalisiert Callback-IDs auf gültige PHP-Methodenbestandteile.
 get_callback_name (string $event)
 Liefert den Methodennamen für ein Event.
 get_callback_owner ()
 Liefert das aktuelle Owner-Objekt für Callback-Aufrufe.
 callback (string $event, mixed $value)
 Führt einen Callback aus und gibt dessen Rückgabewert zurück.

Geschützte Attribute

 $_mode = 'mix'
 tpl|php|mix
 $_rid = 0
 Aktuelle Record-ID.
 $_action = ''
 Formular-Action.
 $_tpl = 'dbx|form-default'
 Standardtemplate; die Form-ID bleibt davon unabhängige State-Identität.
 $_dd = ''
 Zugeordnetes DD.
 $_fd = ''
 Optionale FD-Felddefinitionsquelle.
 $_data = array()
 Aktuelle Formulardaten / Record-Daten.
 $_post = array()
 Validierte/geänderte POST-Werte.
 $_messages = array()
 Meldungen der aktuell geladenen FD.
 $_validation_results = array()
 Strukturierte Validator-Ergebnisse, indiziert nach Feldname.
 $_module_bar_form_actions = array()
 Optionen für Standard-Aktionen in der Modul-Bar.
 $_form_help_button = ''
 Help-Button des aktuellen Formulars für Templates ohne eigenen Help-Slot.
 $_form_bar_actions = ''
 Bereits gerenderte Standardaktionen für die gemeinsame Formularleiste.
Geschützte Attribute geerbt von dbxObj
 $_callback_owner = null
 $_callback_id = ''
 $_callbacks = array()

Ausführliche Beschreibung

Zentrale zustandsbehaftete Formular-, Validierungs- und Persistenzpipeline von dbxapp.


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
    • init()
    • _dd / _fd / _data / _action / Meldungen setzen
    • add_fld(), add_flds(), add_obj(), JS vorbereiten
  2. Request auswerten
    • submit()
    • errors()
    • warnings()
    • changed()
  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. Fachmeldungen bleiben in der FD; die globalen Speicher-, Validierungs- und Löschmeldungen kommen aus sprachabhängigen Templates des Moduls dbx. dbxReport erbt Auflösung, Cache und Meldungsnutzung direkt von dbxForm.

Sicherheitsvertrag: dbxForm und Action-Token

Ein normaler POST-Submit wird ausschließlich durch das automatisch erzeugte, formularspezifische Security-Feld von dbxForm geschützt. submit() prüft dieses Feld mit hash_equals() und rotiert es nach einem erfolgreichen Submit. Modulcode fügt deshalb keinen zusätzlichen dbx_token an normale Formular-Actions an.

dbx_token schützt dagegen automatisch erkannte zustandsändernde Link-Aktionen, die auch als GET funktionieren müssen. delete/save plus rid werden zentral von dbxWebApp erkannt und von dbxApi::action_url(), dbxForm beziehungsweise dbxReport tokenisiert. Normale Form-Routen bleiben unverändert; Modulcode fügt 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 gültigen 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');
$o_db = dbx()->get_system_obj('dbxDB');
$rid = dbx()->get_modul_var('rid', 0, 'int');
$data = $o_db->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();
$o_db
Zentraler DB-/DD-Service.
Definition dbxForm.class.php:231
Verwaltet Datenbankschemata und Schemaabgleiche in der 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);
}

Beschreibung der Konstruktoren und Destruktoren

◆ __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.

Parameter
string$idOptional Formular-ID für Sofort-Init
string$tplOptional Template-Name

Benutzt $id.

◆ __destruct()

dbxForm::__destruct ( )

Destruktor.

Verwendung

Aktuell gibt es keine explizite Aufräumlogik.

Auswirkung

Keine.

Dokumentation der Elementfunktionen

◆ _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.

Rückgabe
void

Wird benutzt von clear() und dbxReport\clear().

◆ check_try_count()

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

Prüft Fehlversuche und baut ggf.

Sperrinhalt.

Parameter
bool$submitSubmit-Status
bool$errorsFehlerstatus
bool$allwaysImmer prüfen
Rückgabe
string

Benutzt $_SERVER.

◆ 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.

Rückgabe
void

Erneute Implementation in dbxReport.

Benutzt _forward_clear().

Wird benutzt von 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.

Rückgabe
void

◆ current_rid()

dbxForm::current_rid ( )

Liefert die aktuelle Record-ID ohne den Zustand aus dem Request zu verändern.

◆ forward_init()

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

Initialisiert den Form-Kontext.

Ablauf

  • internen Formzustand resetten
  • direkten Aufrufer als Callback-Owner übernehmen
  • 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.

Parameter
string$fidFormular-ID
string$tplOptionales Template
Rückgabe
void

Benutzt dbxObj\callback(), clear(), next_i(), resolve_init_callback_owner(), dbxObj\set_callback_id() und dbxObj\set_callback_owner().

Wird benutzt von dbxReport\init().

◆ 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.

Rückgabe
int 0|1

Benutzt $result und dbxObj\callback().

◆ get_action()

dbxForm::get_action ( )

Liefert die konfigurierte Ziel-URL.

Wird benutzt von dbx\dbxAdmin\dbxReport_Server\run_body().

◆ get_data()

dbxForm::get_data ( ?string $key = null,
mixed $default = null )

Liefert alle Daten oder einen einzelnen Wert.

Benutzt if.

◆ get_data_definition()

dbxForm::get_data_definition ( )

Liefert die konfigurierte DD-Datenquelle.

◆ get_fd_messages()

dbxForm::get_fd_messages ( )

Liefert den sprachabhängigen FD-Meldungskatalog.

◆ get_field_definition()

dbxForm::get_field_definition ( )

Liefert die konfigurierte FD-Felddefinition.

◆ get_mode()

dbxForm::get_mode ( )

Liefert den Render-Modus.

◆ get_quartal()

dbxForm::get_quartal ( $datum)

Platzhalter-Helfer.

Parameter
mixed$datumEingabe
Rückgabe
string

◆ get_rid()

dbxForm::get_rid ( )

Liest die aktuelle RID, optional view-synchronisiert.

Rückgabe
int

◆ get_template()

dbxForm::get_template ( )

Liefert das aktuell konfigurierte Haupttemplate.

◆ has_post_value()

dbxForm::has_post_value ( string $key)

Prüft, ob ein validierter/geänderter POST-Wert vorliegt.

◆ merge_data()

dbxForm::merge_data ( array $data)

Ergänzt oder überschreibt einzelne Form-/Reportdaten.

◆ next_i()

dbxForm::next_i ( $add = 1)

Liefert oder erzeugt die laufende Formularinstanz-ID.

Parameter
int$addWeitergabe an dbx()->next_id()
Rückgabe
int

Wird benutzt von forward_init().

◆ php_date()

dbxForm::php_date ( $value)

Wandelt Datumswerte in DB-Format um.

Parameter
mixed$valueEingabe
Rückgabe
string

◆ php_date_usr()

dbxForm::php_date_usr ( $value)

Wandelt Datumswerte in deutsches Format um.

Parameter
mixed$valueEingabewert
Rückgabe
string

◆ php_datetime_usr()

dbxForm::php_datetime_usr ( $value)

Wandelt Datums-/Zeitwerte in deutsches Format um.

Parameter
mixed$valueEingabewert
Rückgabe
string

◆ post_value()

dbxForm::post_value ( string $key,
mixed $default = null )

Liefert einen validierten/geänderten POST-Wert.

◆ resolve_init_callback_owner()

dbxForm::resolve_init_callback_owner ( )
protected

Ermittelt den aufrufenden Modul-/Service-Owner für Callback-Defaults.

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

Rückgabe
object|null

Wird benutzt von forward_init().

◆ 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
Parameter
string$ddDD/Zielstruktur
mixed$ridRID oder new
mixed$pvZusätzliche Werte
int$reread1 = Datensatz nach Save neu lesen
Rückgabe
mixed Ergebnis von dbxDB->save()

◆ set_action()

dbxForm::set_action ( string $action)

Setzt die Ziel-URL des Formulars oder Reports.

Wird benutzt von dbx\dbxAdmin\report_server().

◆ set_data()

dbxForm::set_data ( array $data)

Ersetzt die aktuellen Form-/Reportdaten vollständig.

◆ set_data_definition()

dbxForm::set_data_definition ( string $dd)

Setzt die DD-Datenquelle.

◆ set_data_source()

dbxForm::set_data_source ( string $dd,
string $fd = '' )

Setzt DD und optionale FD gemeinsam als lesbare Datenquelle.

◆ set_data_value()

dbxForm::set_data_value ( string $key,
mixed $value )

Setzt einen einzelnen Datenwert.

◆ set_editor_class_file()

dbxForm::set_editor_class_file ( string $file)

Merkt sich die geladene Modul-/Include-Class für den Frontend-Editor.

Parameter
string$fileAbsoluter oder relativer Dateipfad
Rückgabe
void

◆ set_fd_messages()

dbxForm::set_fd_messages ( array $messages)

Ersetzt den sprachabhängigen FD-Meldungskatalog.

Benutzt $messages.

◆ set_field_definition()

dbxForm::set_field_definition ( string $fd)

Setzt die optionale FD-Felddefinition.

Wird benutzt von dbx\dbxAdmin\dbxReport_Modules\__construct().

◆ set_fld_val()

dbxForm::set_fld_val ( $fld_name,
$fld_val )

Setzt einen Feldwert direkt im Feldzustand.

Parameter
string$fld_nameFeldname
mixed$fld_valWert
Rückgabe
void

◆ set_form_callback_owner()

dbxForm::set_form_callback_owner ( $owner)

◆ set_init_callback()

dbxForm::set_init_callback ( string $callback)

◆ set_mode()

dbxForm::set_mode ( string $mode)

Setzt den Render-Modus.

◆ 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.

Parameter
string$keyFeldname
mixed$valWert
Rückgabe
void

Wird benutzt von set_post_value().

◆ set_post_value()

dbxForm::set_post_value ( string $key,
mixed $value )

Setzt einen bereits validierten/geänderten POST-Wert.

Benutzt set_post().

◆ set_rid()

dbxForm::set_rid ( int $rid)

Setzt die aktuelle Record-ID ohne Request- oder View-Auflösung.

◆ set_run_callback()

dbxForm::set_run_callback ( string $callback)

◆ set_submit_callback()

dbxForm::set_submit_callback ( string $callback)

◆ set_template()

dbxForm::set_template ( string $template)

Setzt bewusst ein individuelles Haupttemplate.

◆ unset_data_value()

dbxForm::unset_data_value ( string $key)

Entfernt einen einzelnen Datenwert.

◆ unset_post_value()

dbxForm::unset_post_value ( string $key)

Entfernt einen bereits validierten/geänderten POST-Wert.

◆ validated_post()

dbxForm::validated_post ( )

Liefert alle validierten/geänderten POST-Werte.

◆ view_sync()

dbxForm::view_sync ( $rid)

Synchronisiert eine RID in den View-State.

Parameter
int$ridRID
Rückgabe
void

◆ wait()

dbxForm::wait ( )

Historischer Wait-Check.

Hinweis

Kein zentraler Architekturanker mehr.

Rückgabe
int

Dokumentation der Datenelemente

◆ $_action

dbxForm::$_action = ''
protected

Formular-Action.

◆ $_activ_id

dbxForm::$_activ_id = 0

Optional aktive ID.

◆ $_ajax

dbxForm::$_ajax = true

AJAX-fähiges Formular.

◆ $_confirm_copy

dbxForm::$_confirm_copy = ''

Optionaler Copy-Bestätigungstext.

◆ $_confirm_delete

dbxForm::$_confirm_delete = ''

Optionaler Lösch-Bestätigungstext.

◆ $_create_flds

dbxForm::$_create_flds = 1

1 = Felder sollen erzeugt werden

◆ $_css

dbxForm::$_css = array()

CSS-Dateien oder Marker.

◆ $_data

dbxForm::$_data = array()
protected

Aktuelle Formulardaten / Record-Daten.

◆ $_dbx_action

dbxForm::$_dbx_action = ''

Aktive DBX-Aktion.

◆ $_dbx_design

dbxForm::$_dbx_design = ''

Aktives Design.

◆ $_dbx_lng

dbxForm::$_dbx_lng = ''

Aktive Sprache.

◆ $_dbx_modul

dbxForm::$_dbx_modul = 'modul'

Aktives Modul.

◆ $_dbx_modul_id

dbxForm::$_dbx_modul_id = 0

Aktive Modul-ID.

◆ $_dbx_page

dbxForm::$_dbx_page = ''

Aktive Seite.

◆ $_dbx_view

dbxForm::$_dbx_view = ''

Optionaler View-Schlüssel.

◆ $_dbx_work

dbxForm::$_dbx_work = ''

Optionaler Work-Kontext.

◆ $_dd

dbxForm::$_dd = ''
protected

Zugeordnetes DD.

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

◆ $_editor_class_file

dbxForm::$_editor_class_file = ''

Modul-/Include-Class-Datei für den Frontend-Editor.

◆ $_editor_files

dbxForm::$_editor_files = array()

Dateien, die für den Frontend-Editor markiert werden.

◆ $_editor_fld

dbxForm::$_editor_fld = ''

Optionales Editor-Feld.

◆ $_errors

dbxForm::$_errors = array()

Feld-/Formfehler.

◆ $_fd

dbxForm::$_fd = ''
protected

Optionale FD-Felddefinitionsquelle.

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

◆ $_fid

dbxForm::$_fid = ''

Formular-ID.

◆ $_fld_change_state

dbxForm::$_fld_change_state = 'fld'

Feldmodus für die Changed-Logik: fld oder *.

◆ $_fld_changes

dbxForm::$_fld_changes = -1

Gecachter Changed-Wert.

◆ $_fld_id

dbxForm::$_fld_id = 'id'

Primärschlüsselfeld.

◆ $_flds

dbxForm::$_flds = array()

Felddefinitionen.

◆ $_form_bar_actions

dbxForm::$_form_bar_actions = ''
protected

Bereits gerenderte Standardaktionen für die gemeinsame Formularleiste.

◆ $_form_help_button

dbxForm::$_form_help_button = ''
protected

Help-Button des aktuellen Formulars für Templates ohne eigenen Help-Slot.

◆ $_form_help_enabled

dbxForm::$_form_help_enabled = 1

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

◆ $_form_submit

dbxForm::$_form_submit = -1

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

◆ $_form_validate

dbxForm::$_form_validate = -1

-1 = noch nicht ausgewertet, 1 = ausgewertet

◆ $_general_error

dbxForm::$_general_error = ''

Allgemeiner Fehlertext.

◆ $_infos

dbxForm::$_infos = array()

Info-Meldungen.

◆ $_js

dbxForm::$_js = array()

JS-Code-Blöcke.

◆ $_messages

dbxForm::$_messages = array()
protected

Meldungen der aktuell geladenen FD.

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

◆ $_mode

dbxForm::$_mode = 'mix'
protected

tpl|php|mix

◆ $_module_bar_form_actions

dbxForm::$_module_bar_form_actions = array()
protected

Optionen für Standard-Aktionen in der Modul-Bar.

◆ $_msg_error

dbxForm::$_msg_error = '#form_msg_error#'

Standard-Fehlertext.

◆ $_msg_info

dbxForm::$_msg_info = '#form_msg_info#'

Standard-Infotext.

◆ $_msg_success

dbxForm::$_msg_success = '#form_msg_success#'

Standard-Erfolgstext.

◆ $_msg_warning

dbxForm::$_msg_warning = '#form_msg_warning#'

Standard-Warntext.

◆ $_next_i

dbxForm::$_next_i = 0

Laufende Formularinstanz-ID.

◆ $_obj

dbxForm::$_obj = array()

Platzhalter-Objekte.

◆ $_page_reset

dbxForm::$_page_reset = 1

Historischer Page-Reset-Flag.

◆ $_post

dbxForm::$_post = array()
protected

Validierte/geänderte POST-Werte.

◆ $_reload_record

dbxForm::$_reload_record = 1

1 = Datensatz nach Save neu lesen

◆ $_reload_run

dbxForm::$_reload_run = 0

1 = Reload wurde ausgeführt

◆ $_reload_suffix

dbxForm::$_reload_suffix = '_rlo'

Historischer Reload-Suffix.

◆ $_reload_transform

dbxForm::$_reload_transform = 0

Historischer Reload-Transform-Flag.

◆ $_replaces

dbxForm::$_replaces = array()

Allgemeine Replace-Werte.

◆ $_rid

dbxForm::$_rid = 0
protected

Aktuelle Record-ID.

◆ $_store_mode

dbxForm::$_store_mode = 'session'

Aktueller Sysdata-Speichermodus.

◆ $_sys

dbxForm::$_sys = array()

Form-interne Zustände / Sysdata.

◆ $_tpl

dbxForm::$_tpl = 'dbx|form-default'
protected

Standardtemplate; die Form-ID bleibt davon unabhängige State-Identität.

◆ $_tpl_fld_error

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

Template für Feld-Fehler.

◆ $_tpl_fld_info

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

Template für Feld-Info.

◆ $_tpl_fld_success

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

Template für Feld-Erfolg.

◆ $_tpl_fld_warning

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

Template für Feld-Warnung.

◆ $_tpl_form_bar

dbxForm::$_tpl_form_bar = 'dbx|form-bar-default'

Gemeinsame Formularleiste; das Modul bestimmt nur Inhalt und Aktionen.

◆ $_tpl_form_error

dbxForm::$_tpl_form_error = 'alert-danger'

Template für Fehlermeldungen.

◆ $_tpl_form_footer

dbxForm::$_tpl_form_footer = 'dbx|form-footer-default'

Gemeinsamer Formularabschluss unterhalb des individuellen Layouts.

◆ $_tpl_form_info

dbxForm::$_tpl_form_info = 'alert-info'

Template für Info-Meldungen.

◆ $_tpl_form_success

dbxForm::$_tpl_form_success = 'alert-success'

Template für Erfolgsmeldungen.

◆ $_tpl_form_warning

dbxForm::$_tpl_form_warning = 'alert-warning'

Template für Warnmeldungen.

◆ $_tpl_max_try

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

Template für Max-Try-Sperre.

◆ $_try_count_reset

dbxForm::$_try_count_reset = 600

Sekunden ohne Fehlversuch, nach denen Try-Zähler und Sperrstufe neu beginnen.

◆ $_try_max

dbxForm::$_try_max = 20

Maximale Fehlversuche.

◆ $_try_msg

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

Sperr-Text.

◆ $_try_reset

dbxForm::$_try_reset = 120

Sekunden bis Try-Reset.

◆ $_ui_state_persist

dbxForm::$_ui_state_persist = 0

1 = Felder mit FD-Flag data=ui_persist=1 merken ihren Wert dauerhaft im Browser (dbx.uiGet/uiSet, siehe core.js) und stellen ihn beim nächsten Laden automatisch wieder her.

Default 0: bestehende Formulare ändern ihr Verhalten nicht, bis ein Formular dies bewusst einschaltet. Das Feld-Flag entscheidet zusätzlich pro Feld, ob es mitmacht (siehe create_fld()).

◆ $_validation_results

dbxForm::$_validation_results = array()
protected

Strukturierte Validator-Ergebnisse, indiziert nach Feldname.

◆ $_view_mode

dbxForm::$_view_mode = ''

Optionaler View-Modus.

◆ $_view_sync

dbxForm::$_view_sync = ''

Optionaler View-Sync-Status.

◆ $_warnings

dbxForm::$_warnings = array()

Warnungen.

◆ $_workflow_scope

dbxForm::$_workflow_scope = ''

Workflow-Scope für Remember-State.

◆ $_workflow_state

dbxForm::$_workflow_state = array()

Remember-basierter Form-Status.

◆ $o_db

dbxForm::$o_db

Zentraler DB-/DD-Service.

Wird benutzt von dbxReport\run() und dbx\dbxAdmin\dbxReport_Server\run_body().

◆ $o_tpl

dbxForm::$o_tpl

Zentrale Template-Engine.

Wird benutzt von dbx\dbxAdmin\dbxReport_Server\run_body().

◆ $o_validator

dbxForm::$o_validator

Zentraler Validator.


Die Dokumentation für diese Klasse wurde erzeugt aufgrund der Datei: