abstract class Field

Constants

TYPE

MAX_FILTERS

Methods

void
addFieldToFaceted(Faceted $faceted, string $fieldId, array $fieldFdl, ListProperties $list)

Adds a field to the faceted search by its specifications.

void
addFormEditorProperties(FormEditor $feditor, ListsController $mod, array $disabledFieldProperties)

Adds the properties of the current field to the form editor passed to this method.

bool
addTableFieldProperties(string $fieldId, array $fieldFdl, Table $table, array $columnFormat, array $sortableFields, array $groupFields)

Adds field specific properties to the table, like callbacks, replaces and/or column formats.

void
addUniqueProperty(FormEditor $formEditor, ListsController $mod)

Every field, that makes use of this method, will implement the field property 'is_unique', setting the field unique.

void
addWorkflowPlaceholders(ListsController $mod, array $fieldFdl, ListItem|null $listItem, array $placeholders, bool $descriptive)

Fills the placeholders needed for workflows.

void
formatValueForDisplay(array $fieldFdl, $fieldValue)

Formats the values before they will be inserted into the table at the ItemList component.

void
getFacetedField(string $fieldId, array $facetedFields, int $counter, bool $ignoreLimit, bool $returnStatus)

Gets a field from the faceted search.

string
getHTMLLabel(array $fdl, string $fieldId)

Returns the label needed for the HTML generated email.

string|null
getHTMLValue(array $fdl, string $key, $data)

Returns the value needed for the HTML generated mail.

bool
isSelectable()

Adds the check for this field whether it is selectable or not.

void
modifyFormFieldFdl(ListProperties $list, array $fieldFdl, string $showOnly, array $finishedFdl = [], bool $overwritable = false)

Modifies the form field fdl for custom fields in order to display them properly.

void
modifyListFieldFdl(ListItem $listItem, array $fieldFdl, bool $readonly, bool $setSavedValues)

Modifies the list field fdl for custom fields.

null|mixed
prepareFilterValue(array $fieldFdl)

Before the faceted filters are updated, prepare the values to be storage friendly and useful.

void
processSavingInformation(ListItem $listItem, array $formData, array $fieldFdl)

Processes the information on saving the list item.

mixed
replacePlaceholdersWithValues(array $placeholders, array $fieldFdl)

Replaces the placeholders with the values of their fields.

bool
requiredValueFits(array $fieldFdl, string $fieldValue)

When list items will be created or updated through the webservice API, this gets interesting as this determines whether a field has predefined values (like select-, and checkbox-fields, as these contain 'pop_data[]').

bool
validateResource(ListsController $mod, array $fieldFdl, bool $roomRequested, bool $ticketRequested, array $fieldErrors, bool $result)

Validates the resources and their bookings.

Details

at line 177
void addFieldToFaceted(Faceted $faceted, string $fieldId, array $fieldFdl, ListProperties $list)

Adds a field to the faceted search by its specifications.

Important: Deep down, where the faceted filtering logic lies, the filters are being checked for values OR conditions (XOR). If a field contains a condition, the value will be ignored.

Parameters

Faceted $faceted
string $fieldId
array $fieldFdl
ListProperties $list

Return Value

void

at line 29
void addFormEditorProperties(FormEditor $feditor, ListsController $mod, array $disabledFieldProperties)

Adds the properties of the current field to the form editor passed to this method.

Fills the array $disabledFieldProperties, passed as reference, with the values that are necessary for the field configuration. This array will be used later to disable the field properties by setting them 'hidden'.

Parameters

FormEditor $feditor
ListsController $mod
array $disabledFieldProperties

Return Value

void

at line 48
bool addTableFieldProperties(string $fieldId, array $fieldFdl, Table $table, array $columnFormat, array $sortableFields, array $groupFields)

Adds field specific properties to the table, like callbacks, replaces and/or column formats.

By using this method, be aware that 3 (three) parameters are used as reference in order to modify multiple values at once. Usually, a table callback would be enough to get this working. However, setting a column format is allowed too, as well as setting sortable fields and group fields (if grouping is enabled by the fields). Although this uses reference parameters, the return type is boolean, since the value is used to make sure that this field really is displayed. Whenever this method returns FALSE, the field will be skipped and doesn't appear in the table.

Parameters

string $fieldId
array $fieldFdl
Table $table
array $columnFormat
array $sortableFields
array $groupFields

Return Value

bool

at line 233
protected void addUniqueProperty(FormEditor $formEditor, ListsController $mod)

Every field, that makes use of this method, will implement the field property 'is_unique', setting the field unique.

Parameters

FormEditor $formEditor
ListsController $mod

Return Value

void

at line 100
void addWorkflowPlaceholders(ListsController $mod, array $fieldFdl, ListItem|null $listItem, array $placeholders, bool $descriptive)

Fills the placeholders needed for workflows.

Parameters

ListsController $mod
array $fieldFdl
ListItem|null $listItem
array $placeholders
bool $descriptive

Return Value

void

at line 274
void formatValueForDisplay(array $fieldFdl, $fieldValue)

Formats the values before they will be inserted into the table at the ItemList component.

This should be used if some special formats need to be applied, e.g. numeric values and their decimals.

Parameters

array $fieldFdl
$fieldValue

Return Value

void

at line 201
void getFacetedField(string $fieldId, array $facetedFields, int $counter, bool $ignoreLimit, bool $returnStatus)

Gets a field from the faceted search.

Parameters

string $fieldId
array $facetedFields
int $counter
bool $ignoreLimit
bool $returnStatus

Return Value

void

at line 135
string getHTMLLabel(array $fdl, string $fieldId)

Returns the label needed for the HTML generated email.

Parameters

array $fdl
string $fieldId

Return Value

string

at line 148
string|null getHTMLValue(array $fdl, string $key, $data)

Returns the value needed for the HTML generated mail.

Parameters

array $fdl
string $key
$data

Return Value

string|null

at line 163
bool isSelectable()

Adds the check for this field whether it is selectable or not.

This is important for fields available for calendar hooks. todo - check what is "selectable" why is a field not selectable?

Return Value

bool

at line 66
void modifyFormFieldFdl(ListProperties $list, array $fieldFdl, string $showOnly, array $finishedFdl = [], bool $overwritable = false)

Modifies the form field fdl for custom fields in order to display them properly.

It's important to know, that the field fdl AND the finished fdl are passed as reference parameters, which enables the method to modify both the current field fdl (is some information about the field may change) and the finished fdl (what will be added to the form after all - what might end in additional fields like those created by resource fields - _count - or by the timespan field - timespan_from, timespan_to, timespan_row.

Parameters

ListProperties $list
array $fieldFdl
string $showOnly
array $finishedFdl
bool $overwritable

Return Value

void

at line 77
void modifyListFieldFdl(ListItem $listItem, array $fieldFdl, bool $readonly, bool $setSavedValues)

Modifies the list field fdl for custom fields.

Parameters

ListItem $listItem
array $fieldFdl
bool $readonly
bool $setSavedValues

Return Value

void

at line 249
null|mixed prepareFilterValue(array $fieldFdl)

Before the faceted filters are updated, prepare the values to be storage friendly and useful.

Parameters

array $fieldFdl

Return Value

null|mixed

at line 88
void processSavingInformation(ListItem $listItem, array $formData, array $fieldFdl)

Processes the information on saving the list item.

Sets the list item properties, which will be saved later.

Parameters

ListItem $listItem
array $formData
array $fieldFdl

Return Value

void

at line 123
mixed replacePlaceholdersWithValues(array $placeholders, array $fieldFdl)

Replaces the placeholders with the values of their fields.

Parameters

array $placeholders
array $fieldFdl

Return Value

mixed

at line 263
bool requiredValueFits(array $fieldFdl, string $fieldValue)

When list items will be created or updated through the webservice API, this gets interesting as this determines whether a field has predefined values (like select-, and checkbox-fields, as these contain 'pop_data[]').

Upon calling this method on a certain field object, the data provided by a user is matched against the predefined values of that field. If they match, this method returns true, otherwise false.

Parameters

array $fieldFdl
string $fieldValue

Return Value

bool

at line 223
bool validateResource(ListsController $mod, array $fieldFdl, bool $roomRequested, bool $ticketRequested, array $fieldErrors, bool $result)

Validates the resources and their bookings.

Parameters

ListsController $mod
array $fieldFdl
bool $roomRequested
bool $ticketRequested
array $fieldErrors
bool $result

Return Value

bool