EditDocumentController
Main backend controller almost always used if some database record is edited in the backend.
Main job of this controller is to evaluate and sanitize $request parameters, call the DataHandler if records should be created or updated and execute FormEngine for record rendering.
Table of Contents
Constants
- DOCUMENT_CLOSE_MODE_CLEAR_ALL = 3
 - DOCUMENT_CLOSE_MODE_DEFAULT = 0
 - DOCUMENT_CLOSE_MODE_NO_REDIRECT = 4
 - DOCUMENT_CLOSE_MODE_REDIRECT = 1
 
Properties
- $closeDoc : int
 - Close document command. One of the DOCUMENT_CLOSE_MODE_* constants above
 - $cmd : array<string|int, mixed>
 - Main DataHandler cmdmap array
 - $columnsOnly : string|null
 - Comma list of field names to edit. If specified, only those fields will be rendered.
 - $data : array<string|int, mixed>
 - Main DataHandler datamap array
 - $defVals : array<string|int, mixed>|null
 - Default values for fields
 - $docDat : array<string|int, mixed>
 - Backend user session data of this module
 - $docHandler : array<string|int, mixed>
 - An array of the "open documents" - keys are md5 hashes (see $storeUrlMd5) identifying the various documents on the GET parameter list needed to open it. The values are arrays with 0,1,2 keys with information about the document (see compileStoreData()).
 - $dontStoreDocumentRef : int
 - Used internally to disable the storage of the document reference (eg. new records)
 - $doSave : bool
 - If true, the processing of incoming data will be performed as if a save-button is pressed.
 - $editconf : array<string, array<string|int, mixed>>
 - An array looking approx like [tablename][list-of-ids]=command, eg. "&edit[pages][123]=edit".
 - $elementsData : array<string|int, mixed>
 - Array of the elements to create edit forms for.
 - $errorC : int
 - Counter, used to count the number of errors (when users do not have edit permissions)
 - $eventDispatcher : EventDispatcherInterface
 - $firstEl : array<string|int, mixed>
 - Pointer to the first element in $elementsData
 - $formResultCompiler : FormResultCompiler
 - $iconFactory : IconFactory
 - $isPageInFreeTranslationMode : bool
 - Check if a page in free translation mode
 - $isSavedRecord : bool
 - Check if a record has been saved
 - $mirror : array<string|int, mixed>
 - DataHandler 'mirror' input
 - $moduleTemplate : ModuleTemplate
 - ModuleTemplate object
 - $moduleTemplateFactory : ModuleTemplateFactory
 - $noView : bool
 - If set, then no save & view button is printed
 - $overrideVals : array<string|int, mixed>|null
 - Array of values to force being set as hidden fields in FormEngine
 - $pageinfo : array<string|int, mixed>
 - $pageRenderer : PageRenderer
 - $perms_clause : string
 - $popViewId : int
 - ID for displaying the page in the frontend, "save and view"
 - $previewCode : string|null
 - $previewData : array<string|int, mixed>
 - Stores information needed to preview the currently saved record
 - $R_URI : string
 - Set to the URL of this script including variables which is needed to re-display the form.
 - $R_URL_getvars : array<string|int, mixed>
 - Contains $request query parameters. This array is the foundation for creating the R_URI internal var which becomes the url to which forms are submitted
 - $R_URL_parts : array<string|int, mixed>
 - parse_url() of current requested URI, contains ['path'] and ['query'] parts.
 - $recTitle : string
 - Alternative title for the document handler.
 - $retUrl : string
 - Prepared return URL. Contains the URL that we should return to from FormEngine if close button is clicked. Usually passed along as 'returnUrl', but falls back to "dummy" controller.
 - $returnEditConf : bool
 - If true, $this->editconf array is added a redirect response, used by Wizard/AddController
 - $returnNewPageId : bool
 - Boolean: If set, then the GET var "&id=" will be added to the retUrl string so that the NEW id of something is returned to the script calling the form.
 - $returnUrl : string|null
 - If set, this value will be set in $this->retUrl as "returnUrl", if not, $this->retUrl will link to dummy controller
 - $storeArray : array<string|int, mixed>
 - Contains an array with key/value pairs of GET parameters needed to reach the current document displayed - used in the 'open documents' toolbar.
 - $storeTitle : string
 - Is loaded with the "title" of the currently "open document" used for the open document toolbar
 - $storeUrl : string
 - $this->storeArray imploded to url
 - $storeUrlMd5 : string
 - md5 hash of storeURL, used to identify a single open document in backend user uc
 - $uriBuilder : UriBuilder
 - $viewId : int
 - Is set to the pid value of the last shown record - thus indicating which page to show when clicking the SAVE/VIEW button
 - $viewUrl : string
 - Alternative URL for viewing the frontend pages.
 
Methods
- __construct() : mixed
 - mainAction() : ResponseInterface
 - Main dispatcher entry method registered as "record_edit" end point
 - addSlugFieldsToColumnsOnly() : void
 - Always add required fields of slug field
 - canViewDoktype() : bool
 - Check whether the current page has a "no view doktype" assigned
 - closeDocument() : ResponseInterface|null
 - Handling the closing of a document The argument $mode can be one of this values: - 0/1 will redirect to $this->retUrl [self::DOCUMENT_CLOSE_MODE_DEFAULT || self::DOCUMENT_CLOSE_MODE_REDIRECT] - 3 will clear the docHandler (thus closing all documents) [self::DOCUMENT_CLOSE_MODE_CLEAR_ALL] - 4 will do no redirect [self::DOCUMENT_CLOSE_MODE_NO_REDIRECT] - other values will call setDocument with ->retUrl
 - compileForm() : string
 - Put together the various elements (buttons, selectors, form) into a table
 - compileStoreData() : void
 - Populates the variables $this->storeArray, $this->storeUrl, $this->storeUrlMd5 to prepare 'open documents' urls
 - fixWSversioningInEditConf() : void
 - Fix $this->editconf if versioning applies to any of the records
 - generatePreviewCode() : string
 - Generates markup for immediate action dispatching.
 - getBackendUser() : BackendUserAuthentication
 - getButtons() : void
 - Create the panel of buttons for submitting the form or otherwise perform operations.
 - getCloseUrl() : string
 - Returns the URL (usually for the "returnUrl") which closes the current window.
 - getConnectedContentElementTranslationsCount() : int
 - Get the count of connected translated content elements
 - getDisableDelete() : bool
 - Returns if delete for the current table is disabled by configuration.
 - getFreeTranslationMode() : bool
 - Check if the page is in free translation mode
 - getInfobox() : string
 - Helper function for rendering an Infobox
 - getLanguages() : array<string|int, mixed>
 - Returns languages available for record translations on given page.
 - getLanguageService() : LanguageService
 - getPreviewPageId() : int
 - Returns the preview page id
 - getPreviewUrlAnchorSection() : string
 - Returns the anchor section for the preview url
 - getPreviewUrlParameters() : string
 - Returns the parameters for the preview URL
 - getQueryBuilderForTranslationMode() : QueryBuilder
 - Get the query builder for the translation mode
 - getRecordForEdit() : array<string|int, mixed>|false
 - Get record for editing.
 - getShortcutTitle() : string
 - Returns the shortcut title for the current element
 - getStandAloneContentElementTranslationsCount() : int
 - Get the count of standalone translated content elements
 - getTsConfigOption() : string
 - Get a TSConfig 'option.' array, possibly for a specific table.
 - getUrlQueryParamsForCurrentRequest() : array<string|int, mixed>
 - init() : void
 - Initialize the view part of the controller logic.
 - isInconsistentLanguageHandlingAllowed() : bool
 - Returns if inconsistent language handling is allowed
 - isRecordCurrentBackendUser() : bool
 - Return true in case the current record is the current backend user
 - isSingleRecordView() : bool
 - Whether a single record view is requested. This means, only one element exists in $elementsData.
 - languageSwitch() : mixed
 - Make selector box for creating new translation for a record or switching to edit the record in an existing language. Displays only languages which are available for the current page.
 - localizationRedirect() : ResponseInterface|null
 - Redirects to FormEngine with new parameters to edit a just created localized record
 - main() : void
 - Main module operation
 - makeEditForm() : string
 - Creates the editing form with FormEngine, based on the input from GPvars.
 - parseAdditionalGetParameters() : mixed
 - Migrates a set of (possibly nested) GET parameters in TypoScript syntax to a plain array
 - preInit() : ResponseInterface
 - First initialization, always called, even before processData() executes DataHandler processing.
 - processData() : ResponseInterface|null
 - Do processing of data, submitting it to DataHandler. May return a RedirectResponse
 - registerCloseButtonToButtonBar() : mixed
 - Register the close button to the button bar
 - registerColumnsOnlyButtonToButtonBar() : mixed
 - Register the columns only button to the button bar
 - registerCshButtonToButtonBar() : mixed
 - Register the CSH button to the button bar
 - registerDeleteButtonToButtonBar() : mixed
 - Register the delete button to the button bar
 - registerDuplicationButtonToButtonBar() : mixed
 - Register the duplication button to the button bar
 - registerHistoryButtonToButtonBar() : mixed
 - Register the history button to the button bar
 - registerNewButtonToButtonBar() : mixed
 - Register the new button to the button bar
 - registerOpenInNewWindowButtonToButtonBar() : mixed
 - Register the open in new window button to the button bar
 - registerSaveButtonToButtonBar() : mixed
 - Register the save button to the button bar
 - registerShortcutButtonToButtonBar() : mixed
 - Register the shortcut button to the button bar
 - registerViewButtonToButtonBar() : mixed
 - Register the view button to the button bar
 - resolveMetaInformation() : void
 - resolvePreviewRecordId() : int
 - setIsPageInFreeTranslationMode() : mixed
 - Set the boolean to check if the page is in free translation mode
 - setIsSavedRecord() : mixed
 - Set the boolean to check if the record is saved
 - updateInlineView() : mixed
 - Update expanded/collapsed states on new inline records if any within backendUser->uc.
 
Constants
DOCUMENT_CLOSE_MODE_CLEAR_ALL
    protected
        mixed
    DOCUMENT_CLOSE_MODE_CLEAR_ALL
    = 3
    
    
    
    
DOCUMENT_CLOSE_MODE_DEFAULT
    protected
        mixed
    DOCUMENT_CLOSE_MODE_DEFAULT
    = 0
    
    
    
    
DOCUMENT_CLOSE_MODE_NO_REDIRECT
    protected
        mixed
    DOCUMENT_CLOSE_MODE_NO_REDIRECT
    = 4
    
    
    
    
DOCUMENT_CLOSE_MODE_REDIRECT
    protected
        mixed
    DOCUMENT_CLOSE_MODE_REDIRECT
    = 1
    
    
    
    
Properties
$closeDoc
Close document command. One of the DOCUMENT_CLOSE_MODE_* constants above
        protected
            int
    $closeDoc
    
    
    
    
    
    
$cmd
Main DataHandler cmdmap array
        protected
            array<string|int, mixed>
    $cmd
    
    
    
    
    
    
$columnsOnly
Comma list of field names to edit. If specified, only those fields will be rendered.
        protected
            string|null
    $columnsOnly
    
        Otherwise all (available) fields in the record are shown according to the TCA type.
$data
Main DataHandler datamap array
        protected
            array<string|int, mixed>
    $data
    
    
    
    
    
    
$defVals
Default values for fields
        protected
            array<string|int, mixed>|null
    $defVals
    
    
        [table][field]
$docDat
Backend user session data of this module
        protected
            array<string|int, mixed>
    $docDat
    
    
    
    
    
    
$docHandler
An array of the "open documents" - keys are md5 hashes (see $storeUrlMd5) identifying the various documents on the GET parameter list needed to open it. The values are arrays with 0,1,2 keys with information about the document (see compileStoreData()).
        protected
            array<string|int, mixed>
    $docHandler
    
        The docHandler variable is stored in the $docDat session data, key "0".
$dontStoreDocumentRef
Used internally to disable the storage of the document reference (eg. new records)
        protected
            int
    $dontStoreDocumentRef
     = 0
    
    
    
    
    
$doSave
If true, the processing of incoming data will be performed as if a save-button is pressed.
        protected
            bool
    $doSave
    
        Used in the forms as a hidden field which can be set through JavaScript if the form is somehow submitted by JavaScript.
$editconf
An array looking approx like [tablename][list-of-ids]=command, eg. "&edit[pages][123]=edit".
        protected
            array<string, array<string|int, mixed>>
    $editconf
     = []
    
    
    
    
    
$elementsData
Array of the elements to create edit forms for.
        protected
            array<string|int, mixed>
    $elementsData
    
    
    
    
    
    
$errorC
Counter, used to count the number of errors (when users do not have edit permissions)
        protected
            int
    $errorC
    
    
    
    
    
    
$eventDispatcher
        protected
            EventDispatcherInterface
    $eventDispatcher
    
    
    
    
    
    
$firstEl
Pointer to the first element in $elementsData
        protected
            array<string|int, mixed>
    $firstEl
    
    
    
    
    
    
$formResultCompiler
        protected
            FormResultCompiler
    $formResultCompiler
    
    
    
    
    
    
$iconFactory
        protected
            IconFactory
    $iconFactory
    
    
    
    
    
    
$isPageInFreeTranslationMode
Check if a page in free translation mode
        protected
            bool
    $isPageInFreeTranslationMode
     = false
    
    
    
    
    
$isSavedRecord
Check if a record has been saved
        protected
            bool
    $isSavedRecord
    
    
    
    
    
    
$mirror
DataHandler 'mirror' input
        protected
            array<string|int, mixed>
    $mirror
    
    
    
    
    
    
$moduleTemplate
ModuleTemplate object
        protected
            ModuleTemplate
    $moduleTemplate
    
    
    
    
    
    
$moduleTemplateFactory
        protected
            ModuleTemplateFactory
    $moduleTemplateFactory
    
    
    
    
    
    
$noView
If set, then no save & view button is printed
        protected
            bool
    $noView
    
    
    
    
    
    
$overrideVals
Array of values to force being set as hidden fields in FormEngine
        protected
            array<string|int, mixed>|null
    $overrideVals
    
    
        [table][field]
$pageinfo
        protected
            array<string|int, mixed>
    $pageinfo
    
    
    
    
    
    
$pageRenderer
        protected
            PageRenderer
    $pageRenderer
    
    
    
    
    
    
$perms_clause
        protected
            string
    $perms_clause
    
    
    
    
    
    
$popViewId
ID for displaying the page in the frontend, "save and view"
        protected
            int
    $popViewId
    
    
    
    
    
    
$previewCode
        protected
            string|null
    $previewCode
    
    
    
    
    
    
$previewData
Stores information needed to preview the currently saved record
        protected
            array<string|int, mixed>
    $previewData
     = []
    
    
    
    
    
$R_URI
Set to the URL of this script including variables which is needed to re-display the form.
        protected
            string
    $R_URI
    
    
    
    
    
    
$R_URL_getvars
Contains $request query parameters. This array is the foundation for creating the R_URI internal var which becomes the url to which forms are submitted
        protected
            array<string|int, mixed>
    $R_URL_getvars
    
    
    
    
    
    
$R_URL_parts
parse_url() of current requested URI, contains ['path'] and ['query'] parts.
        protected
            array<string|int, mixed>
    $R_URL_parts
    
    
    
    
    
    
$recTitle
Alternative title for the document handler.
        protected
            string
    $recTitle
    
    
    
    
    
    
$retUrl
Prepared return URL. Contains the URL that we should return to from FormEngine if close button is clicked. Usually passed along as 'returnUrl', but falls back to "dummy" controller.
        protected
            string
    $retUrl
    
    
    
    
    
    
$returnEditConf
If true, $this->editconf array is added a redirect response, used by Wizard/AddController
        protected
            bool
    $returnEditConf
    
    
    
    
    
    
$returnNewPageId
Boolean: If set, then the GET var "&id=" will be added to the retUrl string so that the NEW id of something is returned to the script calling the form.
        protected
            bool
    $returnNewPageId
     = false
    
    
    
    
    
$returnUrl
If set, this value will be set in $this->retUrl as "returnUrl", if not, $this->retUrl will link to dummy controller
        protected
            string|null
    $returnUrl
    
    
    
    
    
    
$storeArray
Contains an array with key/value pairs of GET parameters needed to reach the current document displayed - used in the 'open documents' toolbar.
        protected
            array<string|int, mixed>
    $storeArray
    
    
    
    
    
    
$storeTitle
Is loaded with the "title" of the currently "open document" used for the open document toolbar
        protected
            string
    $storeTitle
     = ''
    
    
    
    
    
$storeUrl
$this->storeArray imploded to url
        protected
            string
    $storeUrl
    
    
    
    
    
    
$storeUrlMd5
md5 hash of storeURL, used to identify a single open document in backend user uc
        protected
            string
    $storeUrlMd5
    
    
    
    
    
    
$uriBuilder
        protected
            UriBuilder
    $uriBuilder
    
    
    
    
    
    
$viewId
Is set to the pid value of the last shown record - thus indicating which page to show when clicking the SAVE/VIEW button
        protected
            int
    $viewId
    
    
    
    
    
    
$viewUrl
Alternative URL for viewing the frontend pages.
        protected
            string
    $viewUrl
    
    
    
    
    
    
Methods
__construct()
    public
                    __construct(EventDispatcherInterface $eventDispatcher, IconFactory $iconFactory, PageRenderer $pageRenderer, UriBuilder $uriBuilder, ModuleTemplateFactory $moduleTemplateFactory) : mixed
    Parameters
- $eventDispatcher : EventDispatcherInterface
 - $iconFactory : IconFactory
 - $pageRenderer : PageRenderer
 - $uriBuilder : UriBuilder
 - $moduleTemplateFactory : ModuleTemplateFactory
 
mainAction()
Main dispatcher entry method registered as "record_edit" end point
    public
                    mainAction(ServerRequestInterface $request) : ResponseInterface
    Parameters
- $request : ServerRequestInterface
 - 
                    
the current request
 
Return values
ResponseInterface —the response with the content
addSlugFieldsToColumnsOnly()
Always add required fields of slug field
    protected
                    addSlugFieldsToColumnsOnly(array<string|int, mixed> $queryParams) : void
    Parameters
- $queryParams : array<string|int, mixed>
 
canViewDoktype()
Check whether the current page has a "no view doktype" assigned
    protected
                    canViewDoktype(array<string|int, mixed> $currentPage) : bool
    Parameters
- $currentPage : array<string|int, mixed>
 
Return values
boolcloseDocument()
Handling the closing of a document The argument $mode can be one of this values: - 0/1 will redirect to $this->retUrl [self::DOCUMENT_CLOSE_MODE_DEFAULT || self::DOCUMENT_CLOSE_MODE_REDIRECT] - 3 will clear the docHandler (thus closing all documents) [self::DOCUMENT_CLOSE_MODE_CLEAR_ALL] - 4 will do no redirect [self::DOCUMENT_CLOSE_MODE_NO_REDIRECT] - other values will call setDocument with ->retUrl
    protected
                    closeDocument(int $mode, ServerRequestInterface $request) : ResponseInterface|null
    Parameters
- $mode : int
 - 
                    
the close mode: one of self::DOCUMENT_CLOSE_MODE_*
 - $request : ServerRequestInterface
 - 
                    
Incoming request
 
Return values
ResponseInterface|null —Redirect response if needed
compileForm()
Put together the various elements (buttons, selectors, form) into a table
    protected
                    compileForm(string $editForm) : string
    Parameters
- $editForm : string
 - 
                    
HTML form.
 
Return values
string —Composite HTML
compileStoreData()
Populates the variables $this->storeArray, $this->storeUrl, $this->storeUrlMd5 to prepare 'open documents' urls
    protected
                    compileStoreData(ServerRequestInterface $request) : void
    Parameters
- $request : ServerRequestInterface
 
fixWSversioningInEditConf()
Fix $this->editconf if versioning applies to any of the records
    protected
                    fixWSversioningInEditConf([array<string|int, mixed>|bool $mapArray = false ]) : void
    Parameters
- $mapArray : array<string|int, mixed>|bool = false
 - 
                    
Mapping between old and new ids if auto-versioning has been performed.
 
generatePreviewCode()
Generates markup for immediate action dispatching.
    protected
                    generatePreviewCode() : string
    Return values
stringgetBackendUser()
    protected
                    getBackendUser() : BackendUserAuthentication
    Return values
BackendUserAuthenticationgetButtons()
Create the panel of buttons for submitting the form or otherwise perform operations.
    protected
                    getButtons(ServerRequestInterface $request) : void
    Parameters
- $request : ServerRequestInterface
 
getCloseUrl()
Returns the URL (usually for the "returnUrl") which closes the current window.
    protected
                    getCloseUrl() : string
    Used when editing a record in a popup.
Return values
stringgetConnectedContentElementTranslationsCount()
Get the count of connected translated content elements
    protected
                    getConnectedContentElementTranslationsCount(int $page, int $column, int $language) : int
    Parameters
- $page : int
 - $column : int
 - $language : int
 
Return values
intgetDisableDelete()
Returns if delete for the current table is disabled by configuration.
    protected
                    getDisableDelete() : bool
    For sys_file_metadata in default language delete is always disabled.
Return values
boolgetFreeTranslationMode()
Check if the page is in free translation mode
    protected
                    getFreeTranslationMode(int $page, int $column, int $language) : bool
    Parameters
- $page : int
 - $column : int
 - $language : int
 
Return values
boolgetInfobox()
Helper function for rendering an Infobox
    protected
                    getInfobox(string $message[, string|null $title = null ]) : string
    Parameters
- $message : string
 - $title : string|null = null
 
Return values
stringgetLanguages()
Returns languages available for record translations on given page.
    protected
                    getLanguages(int $id, string $table) : array<string|int, mixed>
    Parameters
- $id : int
 - 
                    
Page id: If zero, the query will select all sys_language records from root level which are NOT hidden. If set to another value, the query will select all sys_language records that has a translation record on that page (and is not hidden, unless you are admin user)
 - $table : string
 - 
                    
For pages we want all languages, for other records the languages of the page translations
 
Return values
array<string|int, mixed> —Array with languages (uid, title, ISOcode, flagIcon)
getLanguageService()
    protected
                    getLanguageService() : LanguageService
    Return values
LanguageServicegetPreviewPageId()
Returns the preview page id
    protected
                    getPreviewPageId() : int
    Return values
intgetPreviewUrlAnchorSection()
Returns the anchor section for the preview url
    protected
                    getPreviewUrlAnchorSection() : string
    Return values
stringgetPreviewUrlParameters()
Returns the parameters for the preview URL
    protected
                    getPreviewUrlParameters(int $previewPageId) : string
    Parameters
- $previewPageId : int
 
Return values
stringgetQueryBuilderForTranslationMode()
Get the query builder for the translation mode
    protected
                    getQueryBuilderForTranslationMode(int $page, int $column, int $language) : QueryBuilder
    Parameters
- $page : int
 - $column : int
 - $language : int
 
Return values
QueryBuildergetRecordForEdit()
Get record for editing.
    protected
                    getRecordForEdit(string $table, int $theUid) : array<string|int, mixed>|false
    Parameters
- $table : string
 - 
                    
Table name
 - $theUid : int
 - 
                    
Record UID
 
Return values
array<string|int, mixed>|false —Returns record to edit, false if none
getShortcutTitle()
Returns the shortcut title for the current element
    protected
                    getShortcutTitle(ServerRequestInterface $request) : string
    Parameters
- $request : ServerRequestInterface
 
Return values
stringgetStandAloneContentElementTranslationsCount()
Get the count of standalone translated content elements
    protected
                    getStandAloneContentElementTranslationsCount(int $page, int $column, int $language) : int
    Parameters
- $page : int
 - $column : int
 - $language : int
 
Return values
intgetTsConfigOption()
Get a TSConfig 'option.' array, possibly for a specific table.
    protected
                    getTsConfigOption(string $table, string $key) : string
    Parameters
- $table : string
 - 
                    
Table name
 - $key : string
 - 
                    
Options key
 
Return values
stringgetUrlQueryParamsForCurrentRequest()
    protected
                    getUrlQueryParamsForCurrentRequest(ServerRequestInterface $request) : array<string|int, mixed>
    Parameters
- $request : ServerRequestInterface
 
Return values
array<string|int, mixed>init()
Initialize the view part of the controller logic.
    protected
                    init(ServerRequestInterface $request) : void
    Parameters
- $request : ServerRequestInterface
 
isInconsistentLanguageHandlingAllowed()
Returns if inconsistent language handling is allowed
    protected
                    isInconsistentLanguageHandlingAllowed() : bool
    Return values
boolisRecordCurrentBackendUser()
Return true in case the current record is the current backend user
    protected
                    isRecordCurrentBackendUser() : bool
    Return values
boolisSingleRecordView()
Whether a single record view is requested. This means, only one element exists in $elementsData.
    protected
                    isSingleRecordView() : bool
    Return values
boollanguageSwitch()
Make selector box for creating new translation for a record or switching to edit the record in an existing language. Displays only languages which are available for the current page.
    protected
                    languageSwitch(string $table, int $uid[, int|null $pid = null ]) : mixed
    Parameters
- $table : string
 - 
                    
Table name
 - $uid : int
 - 
                    
Uid for which to create a new language
 - $pid : int|null = null
 - 
                    
Pid of the record
 
localizationRedirect()
Redirects to FormEngine with new parameters to edit a just created localized record
    protected
                    localizationRedirect(ServerRequestInterface $request) : ResponseInterface|null
    Parameters
- $request : ServerRequestInterface
 - 
                    
Incoming request object
 
Return values
ResponseInterface|null —Possible redirect response
main()
Main module operation
    protected
                    main(ServerRequestInterface $request) : void
    Parameters
- $request : ServerRequestInterface
 
makeEditForm()
Creates the editing form with FormEngine, based on the input from GPvars.
    protected
                    makeEditForm() : string
    Return values
string —HTML form elements wrapped in tables
parseAdditionalGetParameters()
Migrates a set of (possibly nested) GET parameters in TypoScript syntax to a plain array
    protected
                    parseAdditionalGetParameters(array<string|int, mixed> &$parameters, array<string|int, mixed> $typoScript) : mixed
    This basically removes the trailing dots of sub-array keys in TypoScript. The result can be used to create a query string with GeneralUtility::implodeArrayForUrl().
Parameters
- $parameters : array<string|int, mixed>
 - 
                    
Should be an empty array by default
 - $typoScript : array<string|int, mixed>
 - 
                    
The TypoScript configuration
 
preInit()
First initialization, always called, even before processData() executes DataHandler processing.
    protected
                    preInit(ServerRequestInterface $request) : ResponseInterface
    Parameters
- $request : ServerRequestInterface
 
Return values
ResponseInterface —Possible redirect response
processData()
Do processing of data, submitting it to DataHandler. May return a RedirectResponse
    protected
                    processData(ServerRequestInterface $request) : ResponseInterface|null
    Parameters
- $request : ServerRequestInterface
 
Return values
ResponseInterface|nullregisterCloseButtonToButtonBar()
Register the close button to the button bar
    protected
                    registerCloseButtonToButtonBar(ButtonBar $buttonBar, string $position, int $group) : mixed
    Parameters
- $buttonBar : ButtonBar
 - $position : string
 - $group : int
 
registerColumnsOnlyButtonToButtonBar()
Register the columns only button to the button bar
    protected
                    registerColumnsOnlyButtonToButtonBar(ButtonBar $buttonBar, string $position, int $group) : mixed
    Parameters
- $buttonBar : ButtonBar
 - $position : string
 - $group : int
 
registerCshButtonToButtonBar()
Register the CSH button to the button bar
    protected
                    registerCshButtonToButtonBar(ButtonBar $buttonBar, string $position, int $group) : mixed
    Parameters
- $buttonBar : ButtonBar
 - $position : string
 - $group : int
 
registerDeleteButtonToButtonBar()
Register the delete button to the button bar
    protected
                    registerDeleteButtonToButtonBar(ButtonBar $buttonBar, string $position, int $group) : mixed
    Parameters
- $buttonBar : ButtonBar
 - $position : string
 - $group : int
 
registerDuplicationButtonToButtonBar()
Register the duplication button to the button bar
    protected
                    registerDuplicationButtonToButtonBar(ButtonBar $buttonBar, string $position, int $group, int $sysLanguageUid, int $l18nParent) : mixed
    Parameters
- $buttonBar : ButtonBar
 - $position : string
 - $group : int
 - $sysLanguageUid : int
 - $l18nParent : int
 
registerHistoryButtonToButtonBar()
Register the history button to the button bar
    protected
                    registerHistoryButtonToButtonBar(ButtonBar $buttonBar, string $position, int $group) : mixed
    Parameters
- $buttonBar : ButtonBar
 - $position : string
 - $group : int
 
registerNewButtonToButtonBar()
Register the new button to the button bar
    protected
                    registerNewButtonToButtonBar(ButtonBar $buttonBar, string $position, int $group, int $sysLanguageUid, int $l18nParent) : mixed
    Parameters
- $buttonBar : ButtonBar
 - $position : string
 - $group : int
 - $sysLanguageUid : int
 - $l18nParent : int
 
registerOpenInNewWindowButtonToButtonBar()
Register the open in new window button to the button bar
    protected
                    registerOpenInNewWindowButtonToButtonBar(ButtonBar $buttonBar, string $position, int $group, ServerRequestInterface $request) : mixed
    Parameters
- $buttonBar : ButtonBar
 - $position : string
 - $group : int
 - $request : ServerRequestInterface
 
registerSaveButtonToButtonBar()
Register the save button to the button bar
    protected
                    registerSaveButtonToButtonBar(ButtonBar $buttonBar, string $position, int $group) : mixed
    Parameters
- $buttonBar : ButtonBar
 - $position : string
 - $group : int
 
registerShortcutButtonToButtonBar()
Register the shortcut button to the button bar
    protected
                    registerShortcutButtonToButtonBar(ButtonBar $buttonBar, string $position, int $group, ServerRequestInterface $request) : mixed
    Parameters
- $buttonBar : ButtonBar
 - $position : string
 - $group : int
 - $request : ServerRequestInterface
 
registerViewButtonToButtonBar()
Register the view button to the button bar
    protected
                    registerViewButtonToButtonBar(ButtonBar $buttonBar, string $position, int $group) : mixed
    Parameters
- $buttonBar : ButtonBar
 - $position : string
 - $group : int
 
resolveMetaInformation()
    protected
                    resolveMetaInformation() : void
    resolvePreviewRecordId()
    protected
                    resolvePreviewRecordId(string $table, array<string|int, mixed> $recordArray, array<string|int, mixed> $previewConfiguration) : int
    Parameters
- $table : string
 - $recordArray : array<string|int, mixed>
 - $previewConfiguration : array<string|int, mixed>
 
Return values
intsetIsPageInFreeTranslationMode()
Set the boolean to check if the page is in free translation mode
    protected
                    setIsPageInFreeTranslationMode(array<string|int, mixed>|null $record, int $sysLanguageUid) : mixed
    Parameters
- $record : array<string|int, mixed>|null
 - $sysLanguageUid : int
 
setIsSavedRecord()
Set the boolean to check if the record is saved
    protected
                    setIsSavedRecord() : mixed
    updateInlineView()
Update expanded/collapsed states on new inline records if any within backendUser->uc.
    protected
                    updateInlineView(array<string|int, mixed>|null $uc, DataHandler $dataHandler) : mixed
    Parameters
- $uc : array<string|int, mixed>|null
 - 
                    
The uc array to be processed and saved - uc[inlineView][...]
 - $dataHandler : DataHandler
 - 
                    
Instance of DataHandler that saved data before