TYPO3 CMS  TYPO3_7-6
TYPO3\CMS\Backend\Form\FormDataProvider\EvaluateDisplayConditions Class Reference
Inheritance diagram for TYPO3\CMS\Backend\Form\FormDataProvider\EvaluateDisplayConditions:
TYPO3\CMS\Backend\Form\FormDataProviderInterface

Public Member Functions

 addData (array $result)
 

Protected Member Functions

 removeTcaColumns ($result)
 
 removeFlexformSheets ($result)
 
 removeFlexformFields ($result)
 
 removeFlexformFieldsRecursive ($structure, $flexFormRowData)
 
 flattenFlexformRowData ($flexFormRowData)
 
 evaluateDisplayCondition ($displayCondition, array $record=[], $flexformContext=false, $recursionLevel=0)
 
 evaluateSingleDisplayCondition ($displayCondition, array $record=[], $flexformContext=false)
 
 matchExtensionCondition ($condition)
 
 matchFieldCondition ($condition, $record, $flexformContext=false)
 
 matchHideForNonAdminsCondition ()
 
 matchHideL10nSiblingsCondition ()
 
 matchRecordCondition ($condition, $record)
 
 matchVersionCondition ($condition, $record)
 
 matchUserCondition ($condition, $record)
 
 getBackendUser ()
 

Detailed Description

Class EvaluateDisplayConditions implements the TCA 'displayCond' option. The display condition is a colon separated string which describes the condition to decide whether a form field should be displayed.

Definition at line 26 of file EvaluateDisplayConditions.php.

Member Function Documentation

◆ addData()

TYPO3\CMS\Backend\Form\FormDataProvider\EvaluateDisplayConditions::addData ( array  $result)

◆ evaluateDisplayCondition()

TYPO3\CMS\Backend\Form\FormDataProvider\EvaluateDisplayConditions::evaluateDisplayCondition (   $displayCondition,
array  $record = [],
  $flexformContext = false,
  $recursionLevel = 0 
)
protected

Evaluates the provided condition and returns TRUE if the form element should be displayed.

The condition string is separated by colons and the first part indicates what type of evaluation should be performed.

Parameters
string$displayCondition
array$record
bool$flexformContext
int$recursionLevelInternal level of recursion
Returns
bool TRUE if condition evaluates successfully

Definition at line 192 of file EvaluateDisplayConditions.php.

References TYPO3\CMS\Backend\Form\FormDataProvider\EvaluateDisplayConditions\evaluateSingleDisplayCondition().

Referenced by TYPO3\CMS\Backend\Form\FormDataProvider\EvaluateDisplayConditions\removeFlexformFieldsRecursive(), TYPO3\CMS\Backend\Form\FormDataProvider\EvaluateDisplayConditions\removeFlexformSheets(), and TYPO3\CMS\Backend\Form\FormDataProvider\EvaluateDisplayConditions\removeTcaColumns().

◆ evaluateSingleDisplayCondition()

TYPO3\CMS\Backend\Form\FormDataProvider\EvaluateDisplayConditions::evaluateSingleDisplayCondition (   $displayCondition,
array  $record = [],
  $flexformContext = false 
)
protected

◆ flattenFlexformRowData()

TYPO3\CMS\Backend\Form\FormDataProvider\EvaluateDisplayConditions::flattenFlexformRowData (   $flexFormRowData)
protected

Flatten the Flexform data row for sheet level display conditions that use SheetName.FieldName

Parameters
array$flexFormRowData
Returns
array

Definition at line 167 of file EvaluateDisplayConditions.php.

Referenced by TYPO3\CMS\Backend\Form\FormDataProvider\EvaluateDisplayConditions\removeFlexformSheets().

◆ getBackendUser()

TYPO3\CMS\Backend\Form\FormDataProvider\EvaluateDisplayConditions::getBackendUser ( )
protected

◆ matchExtensionCondition()

TYPO3\CMS\Backend\Form\FormDataProvider\EvaluateDisplayConditions::matchExtensionCondition (   $condition)
protected

Evaluates conditions concerning extensions

Example: "EXT:saltedpasswords:LOADED:TRUE" => TRUE, if extension saltedpasswords is loaded.

Parameters
string$condition
Returns
bool
Deprecated:
since TYPO3 CMS 7, will be removed in TYPO3 CMS 8 - Do not use EXT:LOADED display conditions any longer

Definition at line 304 of file EvaluateDisplayConditions.php.

References TYPO3\CMS\Core\Utility\ExtensionManagementUtility\isLoaded(), and TYPO3\CMS\Core\Utility\GeneralUtility\logDeprecatedFunction().

Referenced by TYPO3\CMS\Backend\Form\FormDataProvider\EvaluateDisplayConditions\evaluateSingleDisplayCondition().

◆ matchFieldCondition()

TYPO3\CMS\Backend\Form\FormDataProvider\EvaluateDisplayConditions::matchFieldCondition (   $condition,
  $record,
  $flexformContext = false 
)
protected

Evaluates conditions concerning a field of the current record. Requires a record set via ->setRecord()

Example: "FIELD:sys_language_uid:>:0" => TRUE, if the field 'sys_language_uid' is greater than 0

Parameters
string$condition
array$record
bool$flexformContext
Returns
bool

Definition at line 331 of file EvaluateDisplayConditions.php.

References TYPO3\CMS\Core\Utility\GeneralUtility\inList().

Referenced by TYPO3\CMS\Backend\Form\FormDataProvider\EvaluateDisplayConditions\evaluateSingleDisplayCondition().

◆ matchHideForNonAdminsCondition()

TYPO3\CMS\Backend\Form\FormDataProvider\EvaluateDisplayConditions::matchHideForNonAdminsCondition ( )
protected

◆ matchHideL10nSiblingsCondition()

TYPO3\CMS\Backend\Form\FormDataProvider\EvaluateDisplayConditions::matchHideL10nSiblingsCondition ( )
protected

Evaluates whether the field is a value for the default language. Works only for <langChildren>=1, otherwise it has no effect.

Returns
bool
Deprecated:
since TYPO3 CMS 7, will be removed in TYPO3 CMS 8

Definition at line 440 of file EvaluateDisplayConditions.php.

References TYPO3\CMS\Core\Utility\GeneralUtility\deprecationLog().

Referenced by TYPO3\CMS\Backend\Form\FormDataProvider\EvaluateDisplayConditions\evaluateSingleDisplayCondition().

◆ matchRecordCondition()

TYPO3\CMS\Backend\Form\FormDataProvider\EvaluateDisplayConditions::matchRecordCondition (   $condition,
  $record 
)
protected

Evaluates conditions concerning the status of the current record. Requires a record set via ->setRecord()

Example: "REC:NEW:FALSE" => TRUE, if the record is already persisted (has a uid > 0)

Parameters
string$condition
array$record
Returns
bool

Definition at line 457 of file EvaluateDisplayConditions.php.

Referenced by TYPO3\CMS\Backend\Form\FormDataProvider\EvaluateDisplayConditions\evaluateSingleDisplayCondition().

◆ matchUserCondition()

TYPO3\CMS\Backend\Form\FormDataProvider\EvaluateDisplayConditions::matchUserCondition (   $condition,
  $record 
)
protected

Evaluates via the referenced user-defined method

Parameters
string$condition
array$record
Returns
bool

Definition at line 513 of file EvaluateDisplayConditions.php.

References TYPO3\CMS\Core\Utility\GeneralUtility\callUserFunction().

Referenced by TYPO3\CMS\Backend\Form\FormDataProvider\EvaluateDisplayConditions\evaluateSingleDisplayCondition().

◆ matchVersionCondition()

TYPO3\CMS\Backend\Form\FormDataProvider\EvaluateDisplayConditions::matchVersionCondition (   $condition,
  $record 
)
protected

Evaluates whether the current record is versioned. Requires a record set via ->setRecord()

Parameters
string$condition
array$record
Returns
bool

Definition at line 479 of file EvaluateDisplayConditions.php.

References TYPO3\CMS\Backend\Form\FormDataProvider\EvaluateDisplayConditions\getBackendUser().

Referenced by TYPO3\CMS\Backend\Form\FormDataProvider\EvaluateDisplayConditions\evaluateSingleDisplayCondition().

◆ removeFlexformFields()

TYPO3\CMS\Backend\Form\FormDataProvider\EvaluateDisplayConditions::removeFlexformFields (   $result)
protected

Remove fields from flexform sheets if hidden by display conditions

Parameters
array$result
Returns
array

Definition at line 105 of file EvaluateDisplayConditions.php.

References TYPO3\CMS\Backend\Form\FormDataProvider\EvaluateDisplayConditions\removeFlexformFieldsRecursive().

Referenced by TYPO3\CMS\Backend\Form\FormDataProvider\EvaluateDisplayConditions\addData().

◆ removeFlexformFieldsRecursive()

TYPO3\CMS\Backend\Form\FormDataProvider\EvaluateDisplayConditions::removeFlexformFieldsRecursive (   $structure,
  $flexFormRowData 
)
protected

Remove fields from flexform data structure

Parameters
array$structureGiven hierarchy
array$flexFormRowData
Returns
array Modified hierarchy

Definition at line 139 of file EvaluateDisplayConditions.php.

References TYPO3\CMS\Backend\Form\FormDataProvider\EvaluateDisplayConditions\evaluateDisplayCondition().

Referenced by TYPO3\CMS\Backend\Form\FormDataProvider\EvaluateDisplayConditions\removeFlexformFields().

◆ removeFlexformSheets()

TYPO3\CMS\Backend\Form\FormDataProvider\EvaluateDisplayConditions::removeFlexformSheets (   $result)
protected

◆ removeTcaColumns()

TYPO3\CMS\Backend\Form\FormDataProvider\EvaluateDisplayConditions::removeTcaColumns (   $result)
protected

Evaluate the TCA column display conditions and remove columns that are not displayed

Parameters
array$result
Returns
array

Definition at line 49 of file EvaluateDisplayConditions.php.

References TYPO3\CMS\Backend\Form\FormDataProvider\EvaluateDisplayConditions\evaluateDisplayCondition().

Referenced by TYPO3\CMS\Backend\Form\FormDataProvider\EvaluateDisplayConditions\addData().