\rex_form

rex_form repraesentiert ein Formular in REDAXO.

Diese Klasse kann in Frontend u. Backend eingesetzt werden.

Nach erzeugen eines Formulars mit der factory()-Methode muss dieses mit verschiedenen Input-Feldern bestueckt werden. Dies geschieht Mittels der add*Field(...) Methoden.

Nachdem alle Felder eingefuegt wurden, muss das Fomular mit get() oder show() ausgegeben werden.

Summary

Methods
Properties
Constants
setFactoryClass()
getFactoryClass()
hasFactoryClass()
init()
setFormId()
getUrl()
addFieldset()
addField()
addContainerField()
addInputField()
addTextField()
addReadOnlyTextField()
addReadOnlyField()
addHiddenField()
addCheckboxField()
addRadioField()
addTextAreaField()
addSelectField()
addMediaField()
addMedialistField()
addLinkmapField()
addLinklistField()
addControlField()
addRawField()
addErrorMessage()
addParam()
getParams()
getParam()
createInput()
setApplyUrl()
getInputClassName()
getInputTagName()
getInputAttributes()
getName()
setWarning()
getWarning()
setMessage()
getMessage()
fieldsetPostValues()
elementPostValue()
get()
show()
factory()
addPrioField()
getWhereCondition()
setLanguageSupport()
setEditMode()
isEditMode()
getTableName()
getSql()
equals()
No public properties found
ERROR_VIOLATE_UNIQUE_KEY
callFactoryClass()
__construct()
loadBackendConfig()
addElement()
createElement()
getId()
getValue()
isHeaderElement()
isFooterElement()
isControlElement()
isRawElement()
getHeaderElements()
getFooterElements()
getFieldsetName()
getFieldsets()
getFieldsetElements()
getSaveElements()
getControlElement()
getElement()
preView()
validate()
processPostValues()
save()
delete()
redirect()
preSave()
$name
$method
$fieldset
$elements
$params
$debug
$applyUrl
$message
$errorMessages
$warning
$formId
$tableName
$whereCondition
$mode
$db
$sql
$languageSupport
N/A
No private methods found
No private properties found
N/A

Constants

ERROR_VIOLATE_UNIQUE_KEY

ERROR_VIOLATE_UNIQUE_KEY = 1062

Properties

$name

$name : string

Type

string

$method

$method : string

Type

string — "get" or "post"

$fieldset

$fieldset : string

Type

string

$elements

$elements : array

Type

array

$params

$params : array

Type

array

$debug

$debug : bool

Type

bool

$applyUrl

$applyUrl : null|string

Type

null|string

$errorMessages

$errorMessages : array

Type

array

$warning

$warning : string

Type

string

$tableName

$tableName : string

Type

string

$whereCondition

$whereCondition : string

Type

string

$mode

$mode : string

Type

string

$db

$db : int

Type

int

$sql

$sql : \rex_sql

Type

\rex_sql —

$languageSupport

$languageSupport : array

Type

array

Methods

setFactoryClass()

setFactoryClass(string  $subclass) : mixed

Sets the class for the factory.

Parameters

string $subclass

Classname

Throws

\InvalidArgumentException

Returns

mixed —

getFactoryClass()

getFactoryClass() : string

Returns the class for the factory.

Returns

string —

hasFactoryClass()

hasFactoryClass() : bool

Returns if the class has a custom factory class.

Returns

bool —

init()

init() : mixed

Initialisiert das Formular.

Returns

mixed —

setFormId()

setFormId(mixed  $id) : mixed

Parameters

mixed $id

Returns

mixed —

getUrl()

getUrl(array  $params = [], bool  $escape = true) : string

Gibt eine Formular-Url zurück.

Parameters

array $params
bool $escape

Returns

string —

addFieldset()

addFieldset(mixed  $fieldset) : mixed

Fuegt dem Formular ein Fieldset hinzu.

Dieses dient dazu ein Formular in mehrere Abschnitte zu gliedern.

Parameters

mixed $fieldset

Returns

mixed —

addField()

addField(string  $tag, string  $name, mixed  $value = null, array  $attributes = [], bool  $addElement = true) : \rex_form_element

Fuegt dem Formular ein Input-Feld hinzu.

Parameters

string $tag
string $name
mixed $value
array $attributes
bool $addElement

Returns

\rex_form_element —

addContainerField()

addContainerField(string  $name, mixed  $value = null, array  $attributes = []) : \rex_form_container_element

Fuegt dem Formular ein Container-Feld hinzu.

Ein Container-Feld wiederrum kann weitere Felder enthalten.

Parameters

string $name
mixed $value
array $attributes

Returns

\rex_form_container_element —

addInputField()

addInputField(string  $type, string  $name, mixed  $value = null, array  $attributes = [], bool  $addElement = true) : \rex_form_element

Fuegt dem Formular ein Input-Feld mit dem Type $type hinzu.

Parameters

string $type
string $name
mixed $value
array $attributes
bool $addElement

Returns

\rex_form_element —

addTextField()

addTextField(string  $name, mixed  $value = null, array  $attributes = []) : \rex_form_element

Fuegt dem Formular ein Text-Feld hinzu.

Parameters

string $name
mixed $value
array $attributes

Returns

\rex_form_element —

addReadOnlyTextField()

addReadOnlyTextField(string  $name, mixed  $value = null, array  $attributes = []) : \rex_form_element

Fuegt dem Formular ein Read-Only-Text-Feld hinzu.

Dazu wird ein input-Element verwendet.

Parameters

string $name
mixed $value
array $attributes

Returns

\rex_form_element —

addReadOnlyField()

addReadOnlyField(string  $name, mixed  $value = null, array  $attributes = []) : \rex_form_element

Fuegt dem Formular ein Read-Only-Feld hinzu.

Dazu wird ein span-Element verwendet.

Parameters

string $name
mixed $value
array $attributes

Returns

\rex_form_element —

addHiddenField()

addHiddenField(string  $name, mixed  $value = null, array  $attributes = []) : \rex_form_element

Fuegt dem Fomular ein Hidden-Feld hinzu.

Parameters

string $name
mixed $value
array $attributes

Returns

\rex_form_element —

addCheckboxField()

addCheckboxField(string  $name, mixed  $value = null, array  $attributes = []) : \rex_form_checkbox_element

Fuegt dem Fomular ein Checkbox-Feld hinzu.

Dies ermoeglicht die Mehrfach-Selektion aus einer vorgegeben Auswahl an Werten.

Parameters

string $name
mixed $value
array $attributes

Returns

\rex_form_checkbox_element —

addRadioField()

addRadioField(string  $name, mixed  $value = null, array  $attributes = []) : \rex_form_radio_element

Fuegt dem Formular ein Radio-Feld hinzu.

Dies ermoeglicht eine Einfache-Selektion aus einer vorgegeben Auswahl an Werten.

Parameters

string $name
mixed $value
array $attributes

Returns

\rex_form_radio_element —

addTextAreaField()

addTextAreaField(string  $name, mixed  $value = null, array  $attributes = []) : \rex_form_element

Fuegt dem Formular ein Textarea-Feld hinzu.

Parameters

string $name
mixed $value
array $attributes

Returns

\rex_form_element —

addSelectField()

addSelectField(string  $name, mixed  $value = null, array  $attributes = []) : \rex_form_select_element

Fuegt dem Formular ein Select/Auswahl-Feld hinzu.

Parameters

string $name
mixed $value
array $attributes

Returns

\rex_form_select_element —

addMediaField()

addMediaField(string  $name, mixed  $value = null, array  $attributes = []) : \rex_form_widget_media_element

Fuegt dem Formular ein Feld hinzu mit dem der Medienpool angebunden werden kann.

Es kann nur ein Element aus dem Medienpool eingefuegt werden.

Parameters

string $name
mixed $value
array $attributes

Throws

\rex_exception

Returns

\rex_form_widget_media_element —

addMedialistField()

addMedialistField(string  $name, mixed  $value = null, array  $attributes = []) : \rex_form_widget_medialist_element

Fuegt dem Formular ein Feld hinzu mit dem der Medienpool angebunden werden kann.

Damit koennen mehrere Elemente aus dem Medienpool eingefuegt werden.

Parameters

string $name
mixed $value
array $attributes

Throws

\rex_exception

Returns

\rex_form_widget_medialist_element —

addLinkmapField()

addLinkmapField(string  $name, mixed  $value = null, array  $attributes = []) : \rex_form_widget_linkmap_element

Fuegt dem Formular ein Feld hinzu mit dem die Struktur-Verwaltung angebunden werden kann.

Es kann nur ein Element aus der Struktur eingefuegt werden.

Parameters

string $name
mixed $value
array $attributes

Throws

\rex_exception

Returns

\rex_form_widget_linkmap_element —

addLinklistField()

addLinklistField(string  $name, mixed  $value = null, array  $attributes = []) : \rex_form_widget_linklist_element

Fuegt dem Formular ein Feld hinzu mit dem die Struktur-Verwaltung angebunden werden kann.

Damit koennen mehrere Elemente aus der Struktur eingefuegt werden.

Parameters

string $name
mixed $value
array $attributes

Throws

\rex_exception

Returns

\rex_form_widget_linklist_element —

addControlField()

addControlField(\rex_form_element  $saveElement = null, \rex_form_element  $applyElement = null, \rex_form_element  $deleteElement = null, \rex_form_element  $resetElement = null, \rex_form_element  $abortElement = null) : \rex_form_control_element

Fuegt dem Fomualar ein Control-Feld hinzu.

Damit koennen versch. Aktionen mit dem Fomular durchgefuert werden.

Parameters

\rex_form_element $saveElement
\rex_form_element $applyElement
\rex_form_element $deleteElement
\rex_form_element $resetElement
\rex_form_element $abortElement

Returns

\rex_form_control_element —

addRawField()

addRawField(string  $html) : \rex_form_raw_element

Fuegt dem Formular beliebiges HTML zu.

Parameters

string $html

HTML code

Returns

\rex_form_raw_element —

addErrorMessage()

addErrorMessage(mixed  $errorCode, mixed  $errorMessage) : mixed

Fuegt dem Formular eine Fehlermeldung hinzu.

Parameters

mixed $errorCode
mixed $errorMessage

Returns

mixed —

addParam()

addParam(string  $name, string|int|bool  $value) : mixed

Fuegt dem Formular einen Parameter hinzu.

Diese an den Stellen eingefuegt, an denen das Fomular neue Requests erzeugt.

Parameters

string $name
string|int|bool $value

Returns

mixed —

getParams()

getParams() : array

Gibt alle Parameter des Fomulars zurueck.

Returns

array —

getParam()

getParam(string  $name, mixed  $default = null) : mixed

Gibt den Wert des Parameters $name zurueck, oder $default kein Parameter mit dem Namen exisitiert.

Parameters

string $name
mixed $default

Returns

mixed —

createInput()

createInput(string  $inputType, string  $name, mixed  $value = null, array  $attributes = []) : \rex_form_element

Erstellt ein Input-Element anhand des Strings $inputType.

Parameters

string $inputType
string $name
mixed $value
array $attributes

Returns

\rex_form_element —

setApplyUrl()

setApplyUrl(mixed  $url) : mixed

Setzt die Url die bei der apply-action genutzt wird.

Parameters

mixed $url

Returns

mixed —

getInputClassName()

getInputClassName(string  $inputType) : string

Parameters

string $inputType

Throws

\rex_exception

Returns

string —

getInputTagName()

getInputTagName(string  $inputType) : string

Parameters

string $inputType

Returns

string —

getInputAttributes()

getInputAttributes(string  $inputType) : array

Parameters

string $inputType

Returns

array —

getName()

getName() : string

Returns

string —

setWarning()

setWarning(mixed  $warning) : mixed

Parameters

mixed $warning

Returns

mixed —

getWarning()

getWarning() : string

Returns

string —

setMessage()

setMessage(mixed  $message) : mixed

Parameters

mixed $message

Returns

mixed —

getMessage()

getMessage() : string

Returns

string —

fieldsetPostValues()

fieldsetPostValues(string  $fieldsetName) : array

Parameters

string $fieldsetName

Returns

array —

elementPostValue()

elementPostValue(string  $fieldsetName, string  $fieldName, string|null  $default = null) : string|null

Parameters

string $fieldsetName
string $fieldName
string|null $default

Returns

string|null —

get()

get() : string

Returns

string —

show()

show() : mixed

Returns

mixed —

factory()

factory(string  $tableName, string  $fieldset, string  $whereCondition, string  $method = 'post', bool  $debug = false, int  $db = 1) : static

Methode zum erstellen von rex_form Instanzen.

Parameters

string $tableName
string $fieldset
string $whereCondition
string $method
bool $debug
int $db

DB connection ID

Returns

static —

a rex_form instance

addPrioField()

addPrioField(string  $name, mixed  $value = null, array  $attributes = []) : \rex_form_prio_element

Fuegt dem Formular ein Feld hinzu mitdem die Prioritaet von Datensaetzen verwaltet werden kann.

Parameters

string $name
mixed $value
array $attributes

Returns

\rex_form_prio_element —

getWhereCondition()

getWhereCondition() : string

Gibt die Where-Bedingung des Formulars zurueck.

Returns

string —

setLanguageSupport()

setLanguageSupport(string  $idField, string  $clangField) : mixed

Mehrsprachigkeit unterstuetzen.

Parameters

string $idField
string $clangField

Returns

mixed —

setEditMode()

setEditMode(mixed  $isEditMode) : mixed

Wechselt den Modus des Formulars.

Parameters

mixed $isEditMode

Returns

mixed —

isEditMode()

isEditMode() : bool

Prueft ob sich das Formular im Edit-Modus befindet.

Returns

bool —

getTableName()

getTableName() : string

Returns

string —

getSql()

getSql() : \rex_sql

Returns

\rex_sql —

equals()

equals(object  $form) : bool

Parameters

object $form

Returns

bool —

callFactoryClass()

callFactoryClass(string  $method, array  $arguments) : mixed

Calls the factory class with the given method and arguments.

Parameters

string $method

Method name

array $arguments

Array of arguments

Returns

mixed —

Result of the callback

__construct()

__construct(string  $tableName, string  $fieldset, string  $whereCondition, string  $method = 'post', bool  $debug = false, int  $db = 1) : mixed

Diese Konstruktor sollte nicht verwendet werden. Instanzen muessen ueber die factory() Methode erstellt werden!

Parameters

string $tableName
string $fieldset
string $whereCondition
string $method
bool $debug
int $db

DB connection ID

Returns

mixed —

loadBackendConfig()

loadBackendConfig() : mixed

Laedt die Konfiguration die noetig ist um rex_form im REDAXO Backend zu verwenden.

Returns

mixed —

addElement()

addElement(\rex_form_element  $element) : \rex_form_element

Allgemeine Bootleneck-Methode um Elemente in das Formular einzufuegen.

Parameters

\rex_form_element $element

Returns

\rex_form_element —

createElement()

createElement(string  $tag, string  $name, mixed  $value, array  $attributes = []) : \rex_form_element

Erstellt ein Input-Element anhand von $tag.

Parameters

string $tag
string $name
mixed $value
array $attributes

Returns

\rex_form_element —

getId()

getId(mixed  $name) : string

Parameters

mixed $name

Returns

string —

getValue()

getValue(mixed  $name) : mixed

Parameters

mixed $name

Returns

mixed —

isHeaderElement()

isHeaderElement(\rex_form_element  $element) : bool

Parameters

\rex_form_element $element

Returns

bool —

isFooterElement()

isFooterElement(\rex_form_element  $element) : bool

Parameters

\rex_form_element $element

Returns

bool —

isControlElement()

isControlElement(\rex_form_element  $element) : bool

Parameters

\rex_form_element $element

Returns

bool —

isRawElement()

isRawElement(\rex_form_element  $element) : bool

Parameters

\rex_form_element $element

Returns

bool —

getHeaderElements()

getHeaderElements() : \rex_form_element[]

Returns

\rex_form_element[] —

getFooterElements()

getFooterElements() : \rex_form_element[]

Returns

\rex_form_element[] —

getFieldsetName()

getFieldsetName() : string

Returns

string —

getFieldsets()

getFieldsets() : string[]

Returns

string[] —

getFieldsetElements()

getFieldsetElements() : array

Returns

array —

getSaveElements()

getSaveElements() : array

Returns

array —

getControlElement()

getControlElement() : \rex_form_control_element|null

Returns

\rex_form_control_element|null —

getElement()

getElement(string  $fieldsetName, string  $elementName) : \rex_form_element|null

Parameters

string $fieldsetName
string $elementName

Returns

\rex_form_element|null —

preView()

preView(mixed  $fieldsetName, mixed  $fieldName, mixed  $fieldValue) : mixed

Callbackfunktion, damit in subklassen der Value noch beeinflusst werden kann wenn das Feld mit Datenbankwerten angezeigt wird.

Parameters

mixed $fieldsetName
mixed $fieldName
mixed $fieldValue

Returns

mixed —

validate()

validate() : bool|string

Validiert die Eingaben.

Gibt true zurück wenn alles ok war, false bei einem allgemeinen Fehler oder einen String mit einer Fehlermeldung.

Eingaben sind via $el = $this->getElement($fieldSetName, $fieldName); $val = $el->getValue(); erreichbar.

Returns

bool|string —

processPostValues()

processPostValues() : mixed

Übernimmt die POST-Werte in die FormElemente.

Returns

mixed —

save()

save() : bool|int

Speichert das Formular.

Übernimmt die Werte aus den FormElementen in die Datenbank.

Gibt true zurück wenn alles ok war, false bei einem allgemeinen Fehler, einen String mit einer Fehlermeldung oder den von der Datenbank gelieferten ErrorCode.

Returns

bool|int —

delete()

delete() : bool|int

Returns

bool|int —

redirect()

redirect(mixed  $listMessage = '', mixed  $listWarning = '', array  $params = []) : mixed

Parameters

mixed $listMessage
mixed $listWarning
array $params

Returns

mixed —

preSave()

preSave(string  $fieldsetName, string  $fieldName, string|int|null  $fieldValue, \rex_sql  $saveSql) : string|int|null

Callbackfunktion, damit in subklassen der Value noch beeinflusst werden kann kurz vorm speichern.

Parameters

string $fieldsetName
string $fieldName
string|int|null $fieldValue
\rex_sql $saveSql

Returns

string|int|null —