‪TYPO3CMS  10.4
TYPO3\CMS\Form\Domain\Finishers\AbstractFinisher Class Reference
Inheritance diagram for TYPO3\CMS\Form\Domain\Finishers\AbstractFinisher:
TYPO3\CMS\Form\Domain\Finishers\FinisherInterface TYPO3\CMS\Form\Domain\Finishers\ClosureFinisher TYPO3\CMS\Form\Domain\Finishers\ConfirmationFinisher TYPO3\CMS\Form\Domain\Finishers\DeleteUploadsFinisher TYPO3\CMS\Form\Domain\Finishers\EmailFinisher TYPO3\CMS\Form\Domain\Finishers\FlashMessageFinisher TYPO3\CMS\Form\Domain\Finishers\RedirectFinisher TYPO3\CMS\Form\Domain\Finishers\SaveToDatabaseFinisher

Public Member Functions

 injectObjectManager (ObjectManagerInterface $objectManager)
 
 __construct (string $finisherIdentifier='')
 
string getFinisherIdentifier ()
 
 setOptions (array $options)
 
 setOption (string $optionName, $optionValue)
 
string null execute (FinisherContext $finisherContext)
 
bool isEnabled ()
 

Protected Member Functions

string null executeInternal ()
 
string array null parseOption (string $optionName)
 
array string translateFinisherOption ( $subject, FormRuntime $formRuntime, string $optionName, $optionValue, array $translationOptions)
 
mixed substituteRuntimeReferences ($needle, FormRuntime $formRuntime)
 
int string array resolveRuntimeReference (string $property, FormRuntime $formRuntime)
 
TypoScriptFrontendController getTypoScriptFrontendController ()
 

Protected Attributes

TYPO3 CMS Extbase Object ObjectManagerInterface $objectManager
 
string $finisherIdentifier = ''
 
string $shortFinisherIdentifier = ''
 
array $options = array( )
 
array $defaultOptions = array( )
 
TYPO3 CMS Form Domain Finishers FinisherContext $finisherContext
 

Detailed Description

Finisher base class.

Scope: frontend This class is meant to be sub classed by developers

Definition at line 40 of file AbstractFinisher.php.

Constructor & Destructor Documentation

◆ __construct()

TYPO3\CMS\Form\Domain\Finishers\AbstractFinisher::__construct ( string  $finisherIdentifier = '')
Parameters
string$finisherIdentifier‪The identifier for this finisher

Definition at line 86 of file AbstractFinisher.php.

References TYPO3\CMS\Form\Domain\Finishers\AbstractFinisher\$finisherIdentifier.

Member Function Documentation

◆ execute()

string null TYPO3\CMS\Form\Domain\Finishers\AbstractFinisher::execute ( FinisherContext  $finisherContext)
final

Executes the finisher

Parameters
FinisherContext$finisherContext‪The Finisher context that contains the current Form Runtime and Response
Returns
‪string|null

Implements TYPO3\CMS\Form\Domain\Finishers\FinisherInterface.

Definition at line 130 of file AbstractFinisher.php.

References TYPO3\CMS\Form\Domain\Finishers\AbstractFinisher\$finisherContext, TYPO3\CMS\Form\Domain\Finishers\AbstractFinisher\executeInternal(), and TYPO3\CMS\Form\Domain\Finishers\AbstractFinisher\isEnabled().

◆ executeInternal()

string null TYPO3\CMS\Form\Domain\Finishers\AbstractFinisher::executeInternal ( )
abstractprotected

◆ getFinisherIdentifier()

string TYPO3\CMS\Form\Domain\Finishers\AbstractFinisher::getFinisherIdentifier ( )
Returns
‪string

Definition at line 100 of file AbstractFinisher.php.

References TYPO3\CMS\Form\Domain\Finishers\AbstractFinisher\$finisherIdentifier.

◆ getTypoScriptFrontendController()

TypoScriptFrontendController TYPO3\CMS\Form\Domain\Finishers\AbstractFinisher::getTypoScriptFrontendController ( )
protected
Returns
‪TypoScriptFrontendController

Definition at line 391 of file AbstractFinisher.php.

References $GLOBALS.

Referenced by TYPO3\CMS\Form\Domain\Finishers\RedirectFinisher\redirect().

◆ injectObjectManager()

TYPO3\CMS\Form\Domain\Finishers\AbstractFinisher::injectObjectManager ( ObjectManagerInterface  $objectManager)
Parameters
\TYPO3\CMS\Extbase\Object\ObjectManagerInterface$objectManager

Definition at line 78 of file AbstractFinisher.php.

References TYPO3\CMS\Form\Domain\Finishers\AbstractFinisher\$objectManager.

◆ isEnabled()

bool TYPO3\CMS\Form\Domain\Finishers\AbstractFinisher::isEnabled ( )

Returns whether this finisher is enabled

Returns
‪bool

Implements TYPO3\CMS\Form\Domain\Finishers\FinisherInterface.

Definition at line 383 of file AbstractFinisher.php.

References TYPO3\CMS\Form\Domain\Finishers\AbstractFinisher\parseOption().

Referenced by TYPO3\CMS\Form\Domain\Finishers\AbstractFinisher\execute().

◆ parseOption()

◆ resolveRuntimeReference()

int string array TYPO3\CMS\Form\Domain\Finishers\AbstractFinisher::resolveRuntimeReference ( string  $property,
FormRuntime  $formRuntime 
)
protected

Resolving property by name from submitted form data.

Parameters
string$property
FormRuntime$formRuntime
Returns
‪int|string|array

Definition at line 340 of file AbstractFinisher.php.

References TYPO3\CMS\Form\Domain\Model\FormDefinition\getElementByIdentifier(), TYPO3\CMS\Form\Domain\Runtime\FormRuntime\getFormDefinition(), and TYPO3\CMS\Extbase\Reflection\ObjectAccess\getPropertyPath().

Referenced by TYPO3\CMS\Form\Domain\Finishers\AbstractFinisher\substituteRuntimeReferences().

◆ setOption()

TYPO3\CMS\Form\Domain\Finishers\AbstractFinisher::setOption ( string  $optionName,
  $optionValue 
)

Sets a single finisher option (

See also
setOptions())
Parameters
string$optionName‪name of the option to be set
mixed$optionValue‪value of the option

Implements TYPO3\CMS\Form\Domain\Finishers\FinisherInterface.

Definition at line 119 of file AbstractFinisher.php.

◆ setOptions()

TYPO3\CMS\Form\Domain\Finishers\AbstractFinisher::setOptions ( array  $options)
Parameters
array$options‪configuration options in the format ['option1' => 'value1', 'option2' => 'value2', ...]

Implements TYPO3\CMS\Form\Domain\Finishers\FinisherInterface.

Definition at line 108 of file AbstractFinisher.php.

References TYPO3\CMS\Form\Domain\Finishers\AbstractFinisher\$options.

◆ substituteRuntimeReferences()

mixed TYPO3\CMS\Form\Domain\Finishers\AbstractFinisher::substituteRuntimeReferences (   $needle,
FormRuntime  $formRuntime 
)
protected

You can encapsulate an option value with {}. This enables you to access every gettable property from the TYPO3\CMS\Form\Domain\Runtime\FormRuntime.

For example: {formState.formValues.<elementIdentifier>} or {<elementIdentifier>}

Both examples are equal to "$formRuntime->getFormState()->getFormValues()[<elementIdentifier>]" There is a special option value '{__currentTimestamp}'. This will be replaced with the current timestamp.

Parameters
string | array$needle
FormRuntime$formRuntime
Returns
‪mixed

Definition at line 274 of file AbstractFinisher.php.

References TYPO3\CMS\Form\Domain\Finishers\AbstractFinisher\resolveRuntimeReference().

Referenced by TYPO3\CMS\Form\Domain\Finishers\AbstractFinisher\parseOption().

◆ translateFinisherOption()

array string TYPO3\CMS\Form\Domain\Finishers\AbstractFinisher::translateFinisherOption (   $subject,
FormRuntime  $formRuntime,
string  $optionName,
  $optionValue,
array  $translationOptions 
)
protected

Wraps TranslationService::translateFinisherOption to recursively invoke all array items of resolved form state values or nested finisher option configuration settings.

Parameters
string | array$subject
FormRuntime$formRuntime
string$optionName
string | array$optionValue
array$translationOptions
Returns
‪array|string

Definition at line 229 of file AbstractFinisher.php.

References TYPO3\CMS\Form\Service\TranslationService\getInstance(), and TYPO3\CMS\Form\Service\TranslationService\translateFinisherOption().

Referenced by TYPO3\CMS\Form\Domain\Finishers\AbstractFinisher\parseOption().

Member Data Documentation

◆ $defaultOptions

array TYPO3\CMS\Form\Domain\Finishers\AbstractFinisher::$defaultOptions = array( )
protected

These are the default options of the finisher. Override them in your concrete implementation. Default options should not be changed from "outside"

Definition at line 68 of file AbstractFinisher.php.

◆ $finisherContext

TYPO3 CMS Form Domain Finishers FinisherContext TYPO3\CMS\Form\Domain\Finishers\AbstractFinisher::$finisherContext
protected

◆ $finisherIdentifier

string TYPO3\CMS\Form\Domain\Finishers\AbstractFinisher::$finisherIdentifier = ''
protected

◆ $objectManager

TYPO3 CMS Extbase Object ObjectManagerInterface TYPO3\CMS\Form\Domain\Finishers\AbstractFinisher::$objectManager
protected

◆ $options

array TYPO3\CMS\Form\Domain\Finishers\AbstractFinisher::$options = array( )
protected

The options which have been set from the outside. Instead of directly accessing them, you should rather use parseOption().

Definition at line 60 of file AbstractFinisher.php.

Referenced by TYPO3\CMS\Form\Domain\Finishers\SaveToDatabaseFinisher\executeInternal(), and TYPO3\CMS\Form\Domain\Finishers\AbstractFinisher\setOptions().

◆ $shortFinisherIdentifier

string TYPO3\CMS\Form\Domain\Finishers\AbstractFinisher::$shortFinisherIdentifier = ''
protected

Definition at line 53 of file AbstractFinisher.php.