TYPO3 CMS  TYPO3_7-6
TYPO3\CMS\Core\DataHandling\DataHandler Class Reference

Public Member Functions

 __construct ()
 
 setControl (array $control)
 
 start ($data, $cmd, $altUserObject=null)
 
 setMirror ($mirror)
 
 setDefaultsFromUserTS ($userTS)
 
 process_uploads ($postFiles)
 
 process_uploads_traverseArray (&$outputArr, $inputArr, $keyToSet)
 
 hook_processDatamap_afterDatabaseOperations (&$hookObjectsArr, &$status, &$table, &$id, &$fieldArray)
 
 placeholderShadowing ($table, $id)
 
 getPlaceholderTitleForTableLabel ($table, $placeholderContent=null)
 
 fillInFieldArray ($table, $id, $fieldArray, $incomingFieldArray, $realPid, $status, $tscPID)
 
 checkValue ($table, $field, $value, $id, $status, $realPid, $tscPID)
 
 checkValue_SW ($res, $value, $tcaFieldConf, $table, $id, $curValue, $status, $realPid, $recFID, $field, $uploadedFiles, $tscPID, array $additionalData=null)
 
 checkValue_text ($res, $value, $tcaFieldConf, $PP, $field='')
 
 checkValue_input ($res, $value, $tcaFieldConf, $PP, $field='')
 
 checkValue_check ($res, $value, $tcaFieldConf, $PP, $field='')
 
 checkValue_radio ($res, $value, $tcaFieldConf, $PP)
 
 checkValue_group_select ($res, $value, $tcaFieldConf, $PP, $uploadedFiles, $field)
 
 checkValue_flex ($res, $value, $tcaFieldConf, $PP, $uploadedFiles, $field)
 
 checkValue_inline ($res, $value, $tcaFieldConf, $PP, $field, array $additionalData=null)
 
 checkValueForInline ($res, $value, $tcaFieldConf, $table, $id, $status, $field, array $additionalData=null)
 
 checkValue_checkMax ($tcaFieldConf, $valueArray)
 
 getUnique ($table, $field, $value, $id, $newPid=0)
 
 getRecordsWithSameValue ($tableName, $uid, $fieldName, $value, $pageId=0)
 
 checkValue_text_Eval ($value, $evalArray, $is_in)
 
 checkValue_input_Eval ($value, $evalArray, $is_in)
 
 checkValue_group_select_explodeSelectGroupValue ($value)
 
 checkValue_flex_procInData ($dataPart, $dataPart_current, $uploadedFiles, $dataStructArray, $pParams, $callBackFunc='', array $workspaceOptions=[])
 
 checkValue_flex_procInData_travDS (&$dataValues, $dataValues_current, $uploadedFiles, $DSelements, $pParams, $callBackFunc, $structurePath, array $workspaceOptions=[])
 
 copyPages ($uid, $destPid)
 
 copySpecificPage ($uid, $destPid, $copyTablesArray, $first=false)
 
 copyRecord_raw ($table, $uid, $pid, $overrideArray=[], array $workspaceOptions=[])
 
 insertNewCopyVersion ($table, $fieldArray, $realPid)
 
 copyRecord_procBasedOnFieldType ($table, $uid, $field, $value, $row, $conf, $realDestPid, $language=0, array $workspaceOptions=[])
 
 copyRecord_flexFormCallBack ($pParams, $dsConf, $dataValue, $_1, $_2, $_3, $workspaceOptions)
 
 copyL10nOverlayRecords ($table, $uid, $destPid, $first=false, $overrideValues=[], $excludeFields='')
 
 moveRecord ($table, $uid, $destPid)
 
 moveRecord_raw ($table, $uid, $destPid)
 
 moveRecord_procFields ($table, $uid, $destPid)
 
 moveRecord_procBasedOnFieldType ($table, $uid, $destPid, $field, $value, $conf)
 
 moveL10nOverlayRecords ($table, $uid, $destPid, $originalRecordDestinationPid)
 
 deleteAction ($table, $id)
 
 deleteEl ($table, $uid, $noRecordCheck=false, $forceHardDelete=false)
 
 deleteVersionsForRecord ($table, $uid, $forceHardDelete)
 
 undeleteRecord ($table, $uid)
 
 deleteRecord ($table, $uid, $noRecordCheck=false, $forceHardDelete=false, $undeleteRecord=false)
 
 deleteSpecificPage ($uid, $forceHardDelete=false)
 
 canDeletePage ($uid)
 
 cannotDeleteRecord ($table, $id)
 
 isRecordUndeletable ($table, $uid)
 
 deleteRecord_procFields ($table, $uid, $undeleteRecord=false)
 
 deleteL10nOverlayRecords ($table, $uid)
 
 versionizeRecord ($table, $id, $label, $delete=false)
 
 version_remapMMForVersionSwap_execSwap ($table, $id, $swapWith)
 
 remapListedDBRecords ()
 
 remapListedDBRecords_flexFormCallBack ($pParams, $dsConf, $dataValue, $dataValue_ext1, $dataValue_ext2)
 
 remapListedDBRecords_procDBRefs ($conf, $value, $MM_localUid, $table)
 
 processRemapStack ()
 
 addRemapAction ($table, $id, array $callback, array $arguments)
 
 addRemapStackRefIndex ($table, $id)
 
 getVersionizedIncomingFieldArray ($table, $id, &$incomingFieldArray, &$registerDBList)
 
 isRecordInWebMount ($table, $id)
 
 isInWebMount ($pid)
 
 checkRecordUpdateAccess ($table, $id, $data=false, $hookObjectsArr=null)
 
 checkRecordInsertAccess ($insertTable, $pid, $action=1)
 
 isTableAllowedForThisPage ($page_uid, $checkTable)
 
 doesRecordExist ($table, $id, $perms)
 
 doesRecordExist_pageLookUp ($id, $perms)
 
 doesBranchExist ($inList, $pid, $perms, $recurse)
 
 tableReadOnly ($table)
 
 tableAdminOnly ($table)
 
 destNotInsideSelf ($destinationId, $id)
 
 getExcludeListArray ()
 
 doesPageHaveUnallowedTables ($page_uid, $doktype)
 
 pageInfo ($id, $field)
 
 recordInfo ($table, $id, $fieldList)
 
 getRecordProperties ($table, $id, $noWSOL=false)
 
 getRecordPropertiesFromRow ($table, $row)
 
 eventPid ($table, $uid, $pid)
 
 updateDB ($table, $id, $fieldArray)
 
 insertDB ($table, $id, $fieldArray, $newVersion=false, $suggestedUid=0, $dontSetNewIdIndex=false)
 
 checkStoredRecord ($table, $id, $fieldArray, $action)
 
 setHistory ($table, $id, $logId)
 
 getSortNumber ($table, $uid, $pid)
 
 resorting ($table, $pid, $sortRow, $return_SortNumber_After_This_Uid)
 
 setTSconfigPermissions ($fieldArray, $TSConfig_p)
 
 newFieldArray ($table)
 
 addDefaultPermittedLanguageIfNotSet ($table, &$incomingFieldArray)
 
 overrideFieldArray ($table, $data)
 
 compareFieldArrayWithCurrentAndUnset ($table, $id, $fieldArray)
 
 assemblePermissions ($string)
 
 rmComma ($input)
 
 convNumEntityToByteValue ($input)
 
 destPathFromUploadFolder ($folder)
 
 disableDeleteClause ()
 
 deleteClause ($table)
 
 getTCEMAIN_TSconfig ($tscPID)
 
 getTableEntries ($table, $TSconfig)
 
 getPID ($table, $uid)
 
 dbAnalysisStoreExec ()
 
 removeRegisteredFiles ()
 
 int_pageTreeInfo ($CPtable, $pid, $counter, $rootID)
 
 compileAdminTables ()
 
 fixUniqueInPid ($table, $uid)
 
 fixCopyAfterDuplFields ($table, $uid, $prevUid, $update, $newData=[])
 
 extFileFields ($table)
 
 isReferenceField ($conf)
 
 getInlineFieldType ($conf)
 
 getCopyHeader ($table, $pid, $field, $value, $count, $prevTitle='')
 
 prependLabel ($table)
 
 resolvePid ($table, $pid)
 
 clearPrefixFromValue ($table, $value)
 
 extFileFunctions ($table, $field, $filelist, $func)
 
 noRecordsFromUnallowedTables ($inList)
 
 isRecordCopied ($table, $uid)
 
 registerRecordIdForPageCacheClearing ($table, $uid, $pid=null)
 
 clear_cacheCmd ($cacheCmd)
 
 log ($table, $recuid, $action, $recpid, $error, $details, $details_nr=-1, $data=[], $event_pid=-1, $NEWid='')
 
 newlog ($message, $error=0)
 
 newlog2 ($message, $table, $uid, $pid=null, $error=0)
 
 insertUpdateDB_preprocessBasedOnFieldType ($table, $fieldArray)
 
 hasDeletedRecord ($tableName, $uid)
 
 getAutoVersionId ($table, $id)
 
 isOuterMostInstance ()
 

Public Attributes

 $storeLogMessages = true
 
 $enableLogging = true
 
 $reverseOrder = false
 
 $checkSimilar = true
 
 $stripslashes_values = true
 
 $checkStoredRecords = true
 
 $checkStoredRecords_loose = true
 
 $deleteTree = false
 
 $neverHideAtCopy = false
 
 $isImporting = false
 
 $dontProcessTransformations = false
 
 $clear_flexFormData_vDEFbase = false
 
 $updateModeL10NdiffData = true
 
 $updateModeL10NdiffDataClear = false
 
 $bypassWorkspaceRestrictions = false
 
 $bypassFileHandling = false
 
 $bypassAccessCheckForRecords = false
 
 $copyWhichTables = '*'
 
 $copyTree = 0
 
 $defaultValues = []
 
 $overrideValues = []
 
 $alternativeFileName = []
 
 $alternativeFilePath = []
 
 $data_disableFields = []
 
 $suggestedInsertUids = []
 
 $callBackObj
 
 $autoVersionIdMap = []
 
 $substNEWwithIDs = []
 
 $substNEWwithIDs_table = []
 
 $newRelatedIDs = []
 
 $copyMappingArray_merged = []
 
 $copiedFileMap = []
 
 $RTEmagic_copyIndex = []
 
 $errorLog = []
 
 $pagetreeRefreshFieldsFromPages = ['pid', 'sorting', 'deleted', 'hidden', 'title', 'doktype', 'is_siteroot', 'fe_group', 'nav_hide', 'nav_title', 'module', 'starttime', 'endtime', 'content_from_pid']
 
 $pagetreeNeedsRefresh = false
 
 $BE_USER
 
 $userid
 
 $username
 
 $admin
 
 $defaultPermissions
 
 $include_filefunctions
 
 $datamap = []
 
 $cmdmap = []
 
 $pMap
 
 $sortIntervals = 256
 
 $recUpdateAccessCache = []
 
 $recInsertAccessCache = []
 
 $isRecordInWebMount_Cache = []
 
 $isInWebMount_Cache = []
 
 $cachedTSconfig = []
 
 $pageCache = []
 
 $checkWorkspaceCache = []
 
 $dbAnalysisStore = []
 
 $removeFilesStore = []
 
 $uploadedFileArray = []
 
 $registerDBList = []
 
 $registerDBPids = []
 
 $copyMappingArray = []
 
 $remapStack = []
 
 $remapStackRecords = []
 
 $updateRefIndexStack = []
 
 $callFromImpExp = false
 
 $newIndexMap = []
 
 $fileFunc
 
 $checkValue_currentRecord = []
 
 $autoVersioningUpdate = false
 

Protected Member Functions

 getCheckModifyAccessListHookObjects ()
 
 transformRichtextContentToDatabase ($value, $table, $field, $defaultExtras, $thisConfig, $pid)
 
 checkValueForText ($value, $tcaFieldConf)
 
 checkValueForInput ($value, $tcaFieldConf, $table, $id, $realPid, $field)
 
 checkValueForRadio ($res, $value, $tcaFieldConf, $table, $id, $pid, $field)
 
 checkValueForGroupSelect ($res, $value, $tcaFieldConf, $table, $id, $curValue, $status, $recFID, $uploadedFiles, $field)
 
 applyFiltersToValues (array $tcaFieldConfiguration, array $values)
 
 checkValueForFlex ($res, $value, $tcaFieldConf, $table, $id, $curValue, $status, $realPid, $recFID, $tscPID, $uploadedFiles, $field)
 
 _ACTION_FLEX_FORMdata (&$valueArray, $actionCMDs)
 
 getLocalTCE ($stripslashesValues=false, $dontProcessTransformations=true)
 
 updateFlexFormData ($flexFormId, array $modifications)
 
 triggerRemapAction ($table, $id, array $callback, array $arguments, $forceRemapStackActions=false)
 
 getPreviousLocalizedRecordUid ($table, $uid, $pid, $language)
 
 isSubmittedValueEqualToStoredValue ($submittedValue, $storedValue, $storedType, $allowNull=false)
 
 getOriginalParentOfRecord ($table, $uid)
 
 castReferenceValue ($value, array $configuration)
 
 prepareCacheFlush ($table, $uid, $pid)
 
 overlayAutoVersionId ($table, $id)
 
 addNewValuesToRemapStackChildIds (array $idValues)
 
 getOuterMostInstance ()
 
 getRuntimeCache ()
 
 isNestedElementCallRegistered ($table, $id, $identifier)
 
 registerNestedElementCall ($table, $id, $identifier)
 
 resetNestedElementCalls ()
 
 isElementToBeDeleted ($table, $id)
 
 registerElementsToBeDeleted ()
 
 resetElementsToBeDeleted ()
 
 unsetElementsToBeDeleted (array $elements)
 
 getCommandMapElements ($needle)
 
 controlActiveElements ()
 
 setNullValues (array $active, array &$haystack)
 
 getFieldEvalCacheIdentifier ($additionalIdentifier)
 
 createRelationHandlerInstance ()
 
 getCacheManager ()
 
 getResourceFactory ()
 

Protected Attributes

 $useTransOrigPointerField = true
 
 $deletedRecords = []
 
 $excludedTablesAndFields = []
 
 $control = []
 
 $mmHistoryRecords = []
 
 $historyRecords = []
 
 $remapStackChildIds = []
 
 $remapStackActions = []
 
 $remapStackRefIndex = []
 
 $disableDeleteClause = false
 
 $checkModifyAccessListHookObjects
 
 $version_remapMMForVersionSwap_reg
 
 $outerMostInstance = null
 
 $databaseConnection
 
 $runtimeCache = null
 
 $cachePrefixNestedElementCalls = 'core-datahandler-nestedElementCalls-'
 

Static Protected Attributes

static $recordsToClearCacheFor = []
 
static $recordPidsForDeletedRecords = []
 

Detailed Description

The main data handler class which takes care of correctly updating and inserting records. This class was formerly known as TCEmain.

This is the TYPO3 Core Engine class for manipulation of the database This class is used by eg. the tce_db.php script which provides an the interface for POST forms to this class.

Dependencies:

  • $GLOBALS['TCA'] must exist
  • $GLOBALS['LANG'] must exist

tce_db.php for further comments and SYNTAX! Also see document 'TYPO3 Core API' for details.

Definition at line 51 of file DataHandler.php.

Constructor & Destructor Documentation

◆ __construct()

TYPO3\CMS\Core\DataHandling\DataHandler::__construct ( )

Member Function Documentation

◆ _ACTION_FLEX_FORMdata()

TYPO3\CMS\Core\DataHandling\DataHandler::_ACTION_FLEX_FORMdata ( $valueArray,
  $actionCMDs 
)
protected

Actions for flex form element (move, delete) allows to remove and move flexform sections

Parameters
array$valueArrayby reference
array$actionCMDs

Definition at line 2596 of file DataHandler.php.

Referenced by TYPO3\CMS\Core\DataHandling\DataHandler\checkValueForFlex().

◆ addDefaultPermittedLanguageIfNotSet()

TYPO3\CMS\Core\DataHandling\DataHandler::addDefaultPermittedLanguageIfNotSet (   $table,
$incomingFieldArray 
)

If a "languageField" is specified for $table this function will add a possible value to the incoming array if none is found in there already.

Parameters
string$tableTable name
array$incomingFieldArrayIncoming array (passed by reference)
Returns
void

Definition at line 7198 of file DataHandler.php.

References $GLOBALS, and TYPO3\CMS\Backend\Utility\BackendUtility\deleteClause().

Referenced by TYPO3\CMS\Core\DataHandling\DataHandler\getCheckModifyAccessListHookObjects().

◆ addNewValuesToRemapStackChildIds()

TYPO3\CMS\Core\DataHandling\DataHandler::addNewValuesToRemapStackChildIds ( array  $idValues)
protected

Adds new values to the remapStackChildIds array.

Parameters
array$idValuesuid values
Returns
void

Definition at line 8335 of file DataHandler.php.

References TYPO3\CMS\Backend\Utility\BackendUtility\getRecord(), and TYPO3\CMS\Core\Utility\GeneralUtility\makeInstance().

Referenced by TYPO3\CMS\Core\DataHandling\DataHandler\checkValueForGroupSelect(), and TYPO3\CMS\Core\DataHandling\DataHandler\checkValueForInline().

◆ addRemapAction()

TYPO3\CMS\Core\DataHandling\DataHandler::addRemapAction (   $table,
  $id,
array  $callback,
array  $arguments 
)

Adds an instruction to the remap action stack (used with IRRE).

Parameters
string$tableThe affected table
int$idThe affected ID
array$callbackThe callback information (object and method)
array$argumentsThe arguments to be used with the callback
Returns
void

Definition at line 6179 of file DataHandler.php.

Referenced by TYPO3\CMS\Core\DataHandling\DataHandler\triggerRemapAction(), and TYPO3\CMS\Version\Hook\DataHandlerHook\version_swap_processFields().

◆ addRemapStackRefIndex()

TYPO3\CMS\Core\DataHandling\DataHandler::addRemapStackRefIndex (   $table,
  $id 
)

Adds a table-id-pair to the reference index remapping stack.

Parameters
string$table
int$id
Returns
void

Definition at line 6198 of file DataHandler.php.

Referenced by TYPO3\CMS\Version\Hook\DataHandlerHook\versionizePages().

◆ applyFiltersToValues()

TYPO3\CMS\Core\DataHandling\DataHandler::applyFiltersToValues ( array  $tcaFieldConfiguration,
array  $values 
)
protected

Applies the filter methods from a column's TCA configuration to a value array.

Parameters
array$tcaFieldConfiguration
array$values
Returns
array|mixed
Exceptions

Definition at line 2175 of file DataHandler.php.

References $GLOBALS, TYPO3\CMS\Core\DataHandling\DataHandler\$uploadedFileArray, TYPO3\CMS\Core\Utility\GeneralUtility\callUserFunction(), TYPO3\CMS\Core\Utility\MathUtility\canBeInterpretedAsInteger(), TYPO3\CMS\Core\DataHandling\DataHandler\createRelationHandlerInstance(), TYPO3\CMS\Core\DataHandling\DataHandler\destPathFromUploadFolder(), TYPO3\CMS\Core\Utility\GeneralUtility\fixWindowsFilePath(), TYPO3\CMS\Core\Utility\GeneralUtility\formatSize(), TYPO3\CMS\Core\Resource\ResourceFactory\getInstance(), TYPO3\CMS\Core\DataHandling\DataHandler\getRecordProperties(), TYPO3\CMS\Core\Utility\GeneralUtility\getUserObj(), TYPO3\CMS\Core\Utility\GeneralUtility\isFirstPartOfStr(), TYPO3\CMS\Core\DataHandling\DataHandler\log(), TYPO3\CMS\Core\Utility\GeneralUtility\makeInstance(), TYPO3\CMS\Core\Utility\GeneralUtility\mkdir_deep(), TYPO3\CMS\Core\Utility\ArrayUtility\removeArrayEntryByValue(), TYPO3\CMS\Core\Utility\GeneralUtility\split_fileref(), TYPO3\CMS\Core\Utility\PathUtility\stripPathSitePrefix(), TYPO3\CMS\Core\Utility\GeneralUtility\trimExplode(), and TYPO3\CMS\Core\Utility\GeneralUtility\upload_copy_move().

Referenced by TYPO3\CMS\Core\DataHandling\DataHandler\checkValue_flex_procInData_travDS(), and TYPO3\CMS\Core\DataHandling\DataHandler\checkValueForGroupSelect().

◆ assemblePermissions()

TYPO3\CMS\Core\DataHandling\DataHandler::assemblePermissions (   $string)

Calculates the bitvalue of the permissions given in a string, comma-separated

Parameters
string$stringList of pMap strings
Returns
int Integer mask
See also
setTSconfigPermissions(), newFieldArray()

Definition at line 7325 of file DataHandler.php.

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

Referenced by TYPO3\CMS\Core\DataHandling\DataHandler\newFieldArray(), and TYPO3\CMS\Core\DataHandling\DataHandler\setTSconfigPermissions().

◆ canDeletePage()

TYPO3\CMS\Core\DataHandling\DataHandler::canDeletePage (   $uid)

Used to evaluate if a page can be deleted

Parameters
int$uidPage id
Returns
array|string If array: List of page uids to traverse and delete (means OK), if string: error message.

Definition at line 5292 of file DataHandler.php.

References $uid, TYPO3\CMS\Core\DataHandling\DataHandler\doesBranchExist(), TYPO3\CMS\Core\DataHandling\DataHandler\doesRecordExist(), TYPO3\CMS\Core\DataHandling\DataHandler\noRecordsFromUnallowedTables(), and TYPO3\CMS\Core\Utility\GeneralUtility\trimExplode().

Referenced by TYPO3\CMS\Core\DataHandling\DataHandler\cannotDeleteRecord(), and TYPO3\CMS\Core\DataHandling\DataHandler\deleteRecord().

◆ cannotDeleteRecord()

TYPO3\CMS\Core\DataHandling\DataHandler::cannotDeleteRecord (   $table,
  $id 
)

Returns TRUE if record CANNOT be deleted, otherwise FALSE. Used to check before the versioning API allows a record to be marked for deletion.

Parameters
string$tableRecord Table
int$idRecord UID
Returns
string Returns a string IF there is an error (error string explaining). FALSE means record can be deleted

Definition at line 5345 of file DataHandler.php.

References TYPO3\CMS\Core\DataHandling\DataHandler\canDeletePage(), and TYPO3\CMS\Core\DataHandling\DataHandler\doesRecordExist().

Referenced by TYPO3\CMS\Core\DataHandling\DataHandler\versionizeRecord().

◆ castReferenceValue()

TYPO3\CMS\Core\DataHandling\DataHandler::castReferenceValue (   $value,
array  $configuration 
)
protected

Casts a reference value. In case MM relations or foreign_field references are used. All other configurations, as well as foreign_table(!) could be stored as comma-separated-values as well. Since the system is not able to determine the default value automatically then, the TCA default value is used if it has been defined.

Parameters
int | string$valueThe value to be casted (e.g. '', '0', '1,2,3')
array$configurationThe TCA configuration of the accordant field
Returns
int|string

Definition at line 7660 of file DataHandler.php.

Referenced by TYPO3\CMS\Core\DataHandling\DataHandler\checkValue_flex_procInData_travDS(), TYPO3\CMS\Core\DataHandling\DataHandler\checkValueForGroupSelect(), and TYPO3\CMS\Core\DataHandling\DataHandler\processRemapStack().

◆ checkRecordInsertAccess()

TYPO3\CMS\Core\DataHandling\DataHandler::checkRecordInsertAccess (   $insertTable,
  $pid,
  $action = 1 
)

Checks if user may insert a record from $insertTable on $pid Does not check for workspace, use BE_USER->workspaceAllowLiveRecordsInPID for this in addition to this function call.

Parameters
string$insertTableTablename to check
int$pidInteger PID
int$actionFor logging: Action number.
Returns
bool Returns TRUE if the user may insert a record from table $insertTable on page $pid

Definition at line 6337 of file DataHandler.php.

References TYPO3\CMS\Core\DataHandling\DataHandler\doesRecordExist(), TYPO3\CMS\Core\DataHandling\DataHandler\getRecordProperties(), TYPO3\CMS\Backend\Utility\BackendUtility\isRootLevelRestrictionIgnored(), TYPO3\CMS\Core\DataHandling\DataHandler\isTableAllowedForThisPage(), and TYPO3\CMS\Core\DataHandling\DataHandler\log().

Referenced by TYPO3\CMS\Core\DataHandling\DataHandler\getCheckModifyAccessListHookObjects(), and TYPO3\CMS\Core\DataHandling\DataHandler\moveRecord().

◆ checkRecordUpdateAccess()

TYPO3\CMS\Core\DataHandling\DataHandler::checkRecordUpdateAccess (   $table,
  $id,
  $data = false,
  $hookObjectsArr = null 
)

Checks if user may update a record with uid=$id from $table

Parameters
string$tableRecord table
int$idRecord UID
array | bool$dataRecord data
array$hookObjectsArrHook objects
Returns
bool Returns TRUE if the user may update the record given by $table and $id

Definition at line 6300 of file DataHandler.php.

References $GLOBALS, and TYPO3\CMS\Core\DataHandling\DataHandler\doesRecordExist().

Referenced by TYPO3\CMS\Core\DataHandling\DataHandler\getCheckModifyAccessListHookObjects(), TYPO3\CMS\Core\DataHandling\DataHandler\moveRecord(), TYPO3\CMS\Version\Hook\DataHandlerHook\version_clearWSID(), TYPO3\CMS\Version\Hook\DataHandlerHook\version_setStage(), and TYPO3\CMS\Version\Hook\DataHandlerHook\versionizePages().

◆ checkStoredRecord()

TYPO3\CMS\Core\DataHandling\DataHandler::checkStoredRecord (   $table,
  $id,
  $fieldArray,
  $action 
)

Checking stored record to see if the written values are properly updated.

Parameters
string$tableRecord table name
int$idRecord uid
array$fieldArrayArray of field=>value pairs to insert/update
string$actionAction, for logging only.
Returns
array|NULL Selected row
See also
insertDB(), updateDB()

Definition at line 6883 of file DataHandler.php.

References $GLOBALS, and TYPO3\CMS\Core\DataHandling\DataHandler\log().

Referenced by TYPO3\CMS\Core\DataHandling\DataHandler\insertDB(), and TYPO3\CMS\Core\DataHandling\DataHandler\updateDB().

◆ checkValue()

TYPO3\CMS\Core\DataHandling\DataHandler::checkValue (   $table,
  $field,
  $value,
  $id,
  $status,
  $realPid,
  $tscPID 
)

Evaluates a value according to $table/$field settings. This function is for real database fields - NOT FlexForm "pseudo" fields. NOTICE: Calling this function expects this: 1) That the data is saved! (files are copied and so on) 2) That files registered for deletion IS deleted at the end (with ->removeRegisteredFiles() )

Parameters
string$tableTable name
string$fieldField name
string$valueValue to be evaluated. Notice, this is the INPUT value from the form. The original value (from any existing record) must be manually looked up inside the function if needed - or taken from $currentRecord array.
string$idThe record-uid, mainly - but not exclusively - used for logging
string$status'update' or 'new' flag
int$realPidThe real PID value of the record. For updates, this is just the pid of the record. For new records this is the PID of the page where it is inserted. If $realPid is -1 it means that a new version of the record is being inserted.
int$tscPIDTSconfig PID
Returns
array Returns the evaluated $value as key "value" in this array. Can be checked with isset($res['value']) ...

Definition at line 1648 of file DataHandler.php.

References $GLOBALS, TYPO3\CMS\Core\DataHandling\DataHandler\checkValue_SW(), TYPO3\CMS\Core\DataHandling\DataHandler\doesPageHaveUnallowedTables(), TYPO3\CMS\Core\DataHandling\DataHandler\getRecordProperties(), TYPO3\CMS\Core\Utility\GeneralUtility\inList(), TYPO3\CMS\Core\DataHandling\DataHandler\log(), and TYPO3\CMS\Core\DataHandling\DataHandler\recordInfo().

Referenced by TYPO3\CMS\Core\DataHandling\DataHandler\fillInFieldArray(), and TYPO3\CMS\Core\DataHandling\DataHandler\insertNewCopyVersion().

◆ checkValue_check()

TYPO3\CMS\Core\DataHandling\DataHandler::checkValue_check (   $res,
  $value,
  $tcaFieldConf,
  $PP,
  $field = '' 
)

Evaluates 'check' type values.

Parameters
array$resThe result array. The processed value (if any!) is set in the 'value' key.
string$valueThe value to set.
array$tcaFieldConfField configuration from TCA
array$PPAdditional parameters in a numeric array: $table,$id,$curValue,$status,$realPid,$recFID
string$fieldField name
Returns
array Modified $res array
Deprecated:
since TYPO3 CMS 7, will be removed in TYPO3 CMS 8

Definition at line 1920 of file DataHandler.php.

References $GLOBALS, TYPO3\CMS\Backend\Utility\BackendUtility\getItemLabel(), TYPO3\CMS\Core\DataHandling\DataHandler\getRecordsWithSameValue(), TYPO3\CMS\Core\DataHandling\DataHandler\log(), TYPO3\CMS\Core\Utility\GeneralUtility\logDeprecatedFunction(), TYPO3\CMS\Core\Utility\GeneralUtility\makeInstance(), and TYPO3\CMS\Core\Utility\GeneralUtility\trimExplode().

◆ checkValue_checkMax()

TYPO3\CMS\Core\DataHandling\DataHandler::checkValue_checkMax (   $tcaFieldConf,
  $valueArray 
)

Checks if a fields has more items than defined via TCA in maxitems. If there are more items than allowd, the item list is truncated to the defined number.

Parameters
array$tcaFieldConfField configuration from TCA
array$valueArrayCurrent value array of items
Returns
array The truncated value array of items

Definition at line 2698 of file DataHandler.php.

Referenced by TYPO3\CMS\Core\DataHandling\DataHandler\checkValue_flex_procInData_travDS(), TYPO3\CMS\Core\DataHandling\DataHandler\checkValueForGroupSelect(), and TYPO3\CMS\Core\DataHandling\DataHandler\processRemapStack().

◆ checkValue_flex()

TYPO3\CMS\Core\DataHandling\DataHandler::checkValue_flex (   $res,
  $value,
  $tcaFieldConf,
  $PP,
  $uploadedFiles,
  $field 
)

Evaluates 'flex' type values.

Parameters
array$resThe result array. The processed value (if any!) is set in the 'value' key.
string | array$valueThe value to set.
array$tcaFieldConfField configuration from TCA
array$PPAdditional parameters in a numeric array: $table,$id,$curValue,$status,$realPid,$recFID
array$uploadedFilesUploaded files for the field
string$fieldField name
Returns
array Modified $res array
Deprecated:
since TYPO3 CMS 7, will be removed in TYPO3 CMS 8

Definition at line 2492 of file DataHandler.php.

References TYPO3\CMS\Core\DataHandling\DataHandler\checkValueForFlex(), and TYPO3\CMS\Core\Utility\GeneralUtility\logDeprecatedFunction().

◆ checkValue_flex_procInData()

TYPO3\CMS\Core\DataHandling\DataHandler::checkValue_flex_procInData (   $dataPart,
  $dataPart_current,
  $uploadedFiles,
  $dataStructArray,
  $pParams,
  $callBackFunc = '',
array  $workspaceOptions = [] 
)

Starts the processing the input data for flexforms. This will traverse all sheets / languages and for each it will traverse the sub-structure. See checkValue_flex_procInData_travDS() for more details. WARNING: Currently, it traverses based on the actual data array and NOT the structure. This means that values for non-valid fields, lKey/vKey/sKeys will be accepted! For traversal of data with a call back function you should rather use

Parameters
array$dataPartThe 'data' part of the INPUT flexform data
array$dataPart_currentThe 'data' part of the CURRENT flexform data
array$uploadedFilesThe uploaded files for the 'data' part of the INPUT flexform data
array$dataStructArrayData structure for the form (might be sheets or not). Only values in the data array which has a configuration in the data structure will be processed.
array$pParamsA set of parameters to pass through for the calling of the evaluation functions
string$callBackFuncOptional call back function, see checkValue_flex_procInData_travDS() DEPRECATED, use instead for traversal!
array$workspaceOptions
Returns
array The modified 'data' part.
See also
checkValue_flex_procInData_travDS()

Definition at line 3063 of file DataHandler.php.

References TYPO3\CMS\Core\DataHandling\DataHandler\checkValue_flex_procInData_travDS(), and TYPO3\CMS\Core\Utility\GeneralUtility\resolveSheetDefInDS().

Referenced by TYPO3\CMS\Core\DataHandling\DataHandler\checkValueForFlex(), TYPO3\CMS\Core\DataHandling\DataHandler\copyRecord_procBasedOnFieldType(), TYPO3\CMS\Core\DataHandling\DataHandler\remapListedDBRecords(), and TYPO3\CMS\Core\DataHandling\DataHandler\versionizeRecord().

◆ checkValue_flex_procInData_travDS()

TYPO3\CMS\Core\DataHandling\DataHandler::checkValue_flex_procInData_travDS ( $dataValues,
  $dataValues_current,
  $uploadedFiles,
  $DSelements,
  $pParams,
  $callBackFunc,
  $structurePath,
array  $workspaceOptions = [] 
)

Processing of the sheet/language data array When it finds a field with a value the processing is done by ->checkValue_SW() by default but if a call back function name is given that method in this class will be called for the processing instead.

Parameters
array$dataValuesNew values (those being processed): Multidimensional Data array for sheet/language, passed by reference!
array$dataValues_currentCurrent values: Multidimensional Data array. May be empty array() if not needed (for callBackFunctions)
array$uploadedFilesUploaded files array for sheet/language. May be empty array() if not needed (for callBackFunctions)
array$DSelementsData structure which fits the data array
array$pParamsA set of parameters to pass through for the calling of the evaluation functions / call back function
string$callBackFuncCall back function, default is checkValue_SW(). If $this->callBackObj is set to an object, the callback function in that object is called instead.
string$structurePath
array$workspaceOptions
Returns
void
See also
checkValue_flex_procInData()

Definition at line 3093 of file DataHandler.php.

References $GLOBALS, TYPO3\CMS\Core\DataHandling\DataHandler\$overrideValues, $uid, TYPO3\CMS\Core\DataHandling\DataHandler\applyFiltersToValues(), TYPO3\CMS\Core\DataHandling\DataHandler\castReferenceValue(), TYPO3\CMS\Core\DataHandling\DataHandler\checkValue_checkMax(), TYPO3\CMS\Core\DataHandling\DataHandler\checkValue_SW(), TYPO3\CMS\Core\DataHandling\DataHandler\clearPrefixFromValue(), TYPO3\CMS\Core\DataHandling\DataHandler\copyL10nOverlayRecords(), TYPO3\CMS\Core\DataHandling\DataHandler\copyPages(), TYPO3\CMS\Core\DataHandling\DataHandler\copyRecord_procBasedOnFieldType(), TYPO3\CMS\Core\DataHandling\DataHandler\createRelationHandlerInstance(), TYPO3\CMS\Core\DataHandling\DataHandler\deleteAction(), TYPO3\CMS\Core\DataHandling\DataHandler\doesRecordExist(), TYPO3\CMS\Core\DataHandling\DataHandler\fixCopyAfterDuplFields(), TYPO3\CMS\Core\DataHandling\DataHandler\getCopyHeader(), TYPO3\CMS\Core\DataHandling\DataHandler\getInlineFieldType(), TYPO3\CMS\Backend\Utility\BackendUtility\getInlineLocalizationMode(), TYPO3\CMS\Core\DataHandling\DataHandler\getLocalTCE(), TYPO3\CMS\Backend\Utility\BackendUtility\getPagesTSconfig(), TYPO3\CMS\Backend\Utility\BackendUtility\getRecordWSOL(), TYPO3\CMS\Backend\Utility\BackendUtility\getSpecConfParts(), TYPO3\CMS\Core\DataHandling\DataHandler\getTableEntries(), TYPO3\CMS\Backend\Utility\BackendUtility\getTCAtypeValue(), TYPO3\CMS\Core\DataHandling\DataHandler\getTCEMAIN_TSconfig(), TYPO3\CMS\Backend\Utility\BackendUtility\getTSconfig_pidValue(), TYPO3\CMS\Core\Utility\StringUtility\getUniqueId(), TYPO3\CMS\Core\Utility\GeneralUtility\getUserObj(), TYPO3\CMS\Core\DataHandling\DataHandler\isOuterMostInstance(), TYPO3\CMS\Core\DataHandling\DataHandler\isRecordCopied(), TYPO3\CMS\Core\DataHandling\DataHandler\isTableAllowedForThisPage(), TYPO3\CMS\Core\DataHandling\DataHandler\log(), TYPO3\CMS\Core\Utility\ArrayUtility\mergeRecursiveWithOverrule(), TYPO3\CMS\Core\DataHandling\DataHandler\moveRecord(), TYPO3\CMS\Core\DataHandling\DataHandler\newFieldArray(), TYPO3\CMS\Core\DataHandling\DataHandler\newlog(), TYPO3\CMS\Core\DataHandling\DataHandler\processRemapStack(), TYPO3\CMS\Core\DataHandling\DataHandler\remapListedDBRecords(), TYPO3\CMS\Core\DataHandling\DataHandler\resetNestedElementCalls(), TYPO3\CMS\Core\DataHandling\DataHandler\resolvePid(), TYPO3\CMS\Backend\Utility\BackendUtility\RTEsetup(), TYPO3\CMS\Core\DataHandling\DataHandler\tableReadOnly(), TYPO3\CMS\Core\DataHandling\DataHandler\transformRichtextContentToDatabase(), TYPO3\CMS\Core\Utility\GeneralUtility\trimExplode(), TYPO3\CMS\Core\DataHandling\DataHandler\undeleteRecord(), TYPO3\CMS\Core\DataHandling\DataHandler\updateDB(), and TYPO3\CMS\Backend\Utility\BackendUtility\wsMapId().

Referenced by TYPO3\CMS\Core\DataHandling\DataHandler\checkValue_flex_procInData().

◆ checkValue_group_select()

TYPO3\CMS\Core\DataHandling\DataHandler::checkValue_group_select (   $res,
  $value,
  $tcaFieldConf,
  $PP,
  $uploadedFiles,
  $field 
)

Evaluates 'group' or 'select' type values.

Parameters
array$resThe result array. The processed value (if any!) is set in the 'value' key.
string$valueThe value to set.
array$tcaFieldConfField configuration from TCA
array$PPAdditional parameters in a numeric array: $table,$id,$curValue,$status,$realPid,$recFID
array$uploadedFiles
string$fieldField name
Returns
array Modified $res array
Deprecated:
since TYPO3 CMS 7, will be removed in TYPO3 CMS 8

Definition at line 2065 of file DataHandler.php.

References TYPO3\CMS\Core\DataHandling\DataHandler\checkValueForGroupSelect(), and TYPO3\CMS\Core\Utility\GeneralUtility\logDeprecatedFunction().

◆ checkValue_group_select_explodeSelectGroupValue()

TYPO3\CMS\Core\DataHandling\DataHandler::checkValue_group_select_explodeSelectGroupValue (   $value)

Explodes the $value, which is a list of files/uids (group select)

Parameters
string$valueInput string, comma separated values. For each part it will also be detected if a '|' is found and the first part will then be used if that is the case. Further the value will be rawurldecoded.
Returns
array The value array.

Definition at line 3037 of file DataHandler.php.

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

Referenced by TYPO3\CMS\Core\DataHandling\DataHandler\checkValueForGroupSelect().

◆ checkValue_inline()

TYPO3\CMS\Core\DataHandling\DataHandler::checkValue_inline (   $res,
  $value,
  $tcaFieldConf,
  $PP,
  $field,
array  $additionalData = null 
)

Evaluates 'inline' type values. (partly copied from the select_group function on this issue)

Parameters
array$resThe result array. The processed value (if any!) is set in the 'value' key.
string$valueThe value to set.
array$tcaFieldConfField configuration from TCA
array$PPAdditional parameters in a numeric array: $table,$id,$curValue,$status,$realPid,$recFID
string$fieldField name
array$additionalDataAdditional data to be forwarded to sub-processors
Returns
array Modified $res array

Definition at line 2640 of file DataHandler.php.

References TYPO3\CMS\Core\DataHandling\DataHandler\checkValueForInline().

◆ checkValue_input()

TYPO3\CMS\Core\DataHandling\DataHandler::checkValue_input (   $res,
  $value,
  $tcaFieldConf,
  $PP,
  $field = '' 
)

Evaluate "input" type values.

Parameters
array$resThe result array. The processed value (if any!) is set in the "value" key.
string$valueThe value to set.
array$tcaFieldConfField configuration from TCA
array$PPAdditional parameters in a numeric array: $table,$id,$curValue,$status,$realPid,$recFID
string$fieldField name
Returns
array Modified $res array
Deprecated:
since TYPO3 CMS 7, will be removed in TYPO3 CMS 8

Definition at line 1821 of file DataHandler.php.

References TYPO3\CMS\Core\DataHandling\DataHandler\checkValueForInput(), and TYPO3\CMS\Core\Utility\GeneralUtility\logDeprecatedFunction().

◆ checkValue_input_Eval()

TYPO3\CMS\Core\DataHandling\DataHandler::checkValue_input_Eval (   $value,
  $evalArray,
  $is_in 
)

Evaluation of 'input'-type values based on 'eval' list

Parameters
string$valueValue to evaluate
array$evalArrayArray of evaluations to traverse.
string$is_inIs-in string for 'is_in' evaluation
Returns
array Modified $value in key 'value' or empty array

Definition at line 2836 of file DataHandler.php.

References $a, $GLOBALS, TYPO3\CMS\Core\DataHandling\DataHandler\createRelationHandlerInstance(), TYPO3\CMS\Core\Messaging\AbstractMessage\ERROR, TYPO3\CMS\Core\Utility\GeneralUtility\idnaEncode(), TYPO3\CMS\Core\Utility\GeneralUtility\makeInstance(), and TYPO3\CMS\Core\Utility\GeneralUtility\validEmail().

Referenced by TYPO3\CMS\Core\DataHandling\DataHandler\checkValueForInput(), and TYPO3\CMS\Core\DataHandling\DataHandler\getPlaceholderTitleForTableLabel().

◆ checkValue_radio()

TYPO3\CMS\Core\DataHandling\DataHandler::checkValue_radio (   $res,
  $value,
  $tcaFieldConf,
  $PP 
)

Evaluates 'radio' type values.

Parameters
array$resThe result array. The processed value (if any!) is set in the 'value' key.
string$valueThe value to set.
array$tcaFieldConfField configuration from TCA
array$PPAdditional parameters in a numeric array: $table,$id,$curValue,$status,$realPid,$recFID
Returns
array Modified $res array
Deprecated:
since TYPO3 CMS 7, will be removed in TYPO3 CMS 8

Definition at line 2006 of file DataHandler.php.

References TYPO3\CMS\Core\DataHandling\DataHandler\checkValueForRadio(), and TYPO3\CMS\Core\Utility\GeneralUtility\logDeprecatedFunction().

◆ checkValue_SW()

TYPO3\CMS\Core\DataHandling\DataHandler::checkValue_SW (   $res,
  $value,
  $tcaFieldConf,
  $table,
  $id,
  $curValue,
  $status,
  $realPid,
  $recFID,
  $field,
  $uploadedFiles,
  $tscPID,
array  $additionalData = null 
)

Branches out evaluation of a field value based on its type as configured in $GLOBALS['TCA'] Can be called for FlexForm pseudo fields as well, BUT must not have $field set if so.

Parameters
array$resThe result array. The processed value (if any!) is set in the "value" key.
string$valueThe value to set.
array$tcaFieldConfField configuration from $GLOBALS['TCA']
string$tableTable name
int$idUID of record
mixed$curValueCurrent value of the field
string$status'update' or 'new' flag
int$realPidThe real PID value of the record. For updates, this is just the pid of the record. For new records this is the PID of the page where it is inserted. If $realPid is -1 it means that a new version of the record is being inserted.
string$recFIDField identifier [table:uid:field] for flexforms
string$fieldField name. Must NOT be set if the call is for a flexform field (since flexforms are not allowed within flexforms).
array$uploadedFiles
int$tscPIDTSconfig PID
array$additionalDataAdditional data to be forwarded to sub-processors
Returns
array Returns the evaluated $value as key "value" in this array.

Definition at line 1726 of file DataHandler.php.

References TYPO3\CMS\Core\DataHandling\DataHandler\checkValueForFlex(), TYPO3\CMS\Core\DataHandling\DataHandler\checkValueForGroupSelect(), TYPO3\CMS\Core\DataHandling\DataHandler\checkValueForInline(), TYPO3\CMS\Core\DataHandling\DataHandler\checkValueForInput(), TYPO3\CMS\Core\DataHandling\DataHandler\checkValueForRadio(), TYPO3\CMS\Core\DataHandling\DataHandler\checkValueForText(), and TYPO3\CMS\Core\Utility\GeneralUtility\inList().

Referenced by TYPO3\CMS\Core\DataHandling\DataHandler\checkValue(), and TYPO3\CMS\Core\DataHandling\DataHandler\checkValue_flex_procInData_travDS().

◆ checkValue_text()

TYPO3\CMS\Core\DataHandling\DataHandler::checkValue_text (   $res,
  $value,
  $tcaFieldConf,
  $PP,
  $field = '' 
)

Evaluate "text" type values.

Parameters
array$resThe result array. The processed value (if any!) is set in the "value" key.
string$valueThe value to set.
array$tcaFieldConfField configuration from TCA
array$PPAdditional parameters in a numeric array: $table,$id,$curValue,$status,$realPid,$recFID
string$fieldField name
Returns
array Modified $res array
Deprecated:
since TYPO3 CMS 7, will be removed in TYPO3 CMS 8

Definition at line 1782 of file DataHandler.php.

References TYPO3\CMS\Core\DataHandling\DataHandler\checkValueForText(), and TYPO3\CMS\Core\Utility\GeneralUtility\logDeprecatedFunction().

◆ checkValue_text_Eval()

TYPO3\CMS\Core\DataHandling\DataHandler::checkValue_text_Eval (   $value,
  $evalArray,
  $is_in 
)
Parameters
string$valueThe field value to be evaluated
array$evalArrayArray of evaluations to traverse.
string$is_inThe "is_in" value of the field configuration from TCA
Returns
array

Definition at line 2797 of file DataHandler.php.

References $GLOBALS, and TYPO3\CMS\Core\Utility\GeneralUtility\makeInstance().

Referenced by TYPO3\CMS\Core\DataHandling\DataHandler\checkValueForText().

◆ checkValueForFlex()

TYPO3\CMS\Core\DataHandling\DataHandler::checkValueForFlex (   $res,
  $value,
  $tcaFieldConf,
  $table,
  $id,
  $curValue,
  $status,
  $realPid,
  $recFID,
  $tscPID,
  $uploadedFiles,
  $field 
)
protected

Evaluates 'flex' type values.

Parameters
array$resThe result array. The processed value (if any!) is set in the 'value' key.
string | array$valueThe value to set.
array$tcaFieldConfField configuration from TCA
string$tableTable name
int$idUID of record
mixed$curValueCurrent value of the field
string$status'update' or 'new' flag
int$realPidThe real PID value of the record. For updates, this is just the pid of the record. For new records this is the PID of the page where it is inserted. If $realPid is -1 it means that a new version of the record is being inserted.
string$recFIDField identifier [table:uid:field] for flexforms
int$tscPIDTSconfig PID
array$uploadedFilesUploaded files for the field
string$fieldField name
Returns
array Modified $res array

Definition at line 2516 of file DataHandler.php.

References $GLOBALS, TYPO3\CMS\Core\DataHandling\DataHandler\_ACTION_FLEX_FORMdata(), TYPO3\CMS\Core\Utility\GeneralUtility\_GP(), TYPO3\CMS\Core\DataHandling\DataHandler\checkValue_flex_procInData(), TYPO3\CMS\Backend\Utility\BackendUtility\getFlexFormDS(), TYPO3\CMS\Core\Utility\GeneralUtility\getUserObj(), TYPO3\CMS\Core\Utility\GeneralUtility\makeInstance(), TYPO3\CMS\Core\Utility\ArrayUtility\mergeRecursiveWithOverrule(), and TYPO3\CMS\Core\Utility\GeneralUtility\xml2array().

Referenced by TYPO3\CMS\Core\DataHandling\DataHandler\checkValue_flex(), and TYPO3\CMS\Core\DataHandling\DataHandler\checkValue_SW().

◆ checkValueForGroupSelect()

TYPO3\CMS\Core\DataHandling\DataHandler::checkValueForGroupSelect (   $res,
  $value,
  $tcaFieldConf,
  $table,
  $id,
  $curValue,
  $status,
  $recFID,
  $uploadedFiles,
  $field 
)
protected

Evaluates 'group' or 'select' type values.

Parameters
array$resThe result array. The processed value (if any!) is set in the 'value' key.
string$valueThe value to set.
array$tcaFieldConfField configuration from TCA
string$tableTable name
int$idUID of record
mixed$curValueCurrent value of the field
string$status'update' or 'new' flag
string$recFIDField identifier [table:uid:field] for flexforms
array$uploadedFiles
string$fieldField name
Returns
array Modified $res array

Definition at line 2087 of file DataHandler.php.

References TYPO3\CMS\Core\DataHandling\DataHandler\addNewValuesToRemapStackChildIds(), TYPO3\CMS\Core\DataHandling\DataHandler\applyFiltersToValues(), TYPO3\CMS\Core\DataHandling\DataHandler\castReferenceValue(), TYPO3\CMS\Core\DataHandling\DataHandler\checkValue_checkMax(), TYPO3\CMS\Core\DataHandling\DataHandler\checkValue_group_select_explodeSelectGroupValue(), TYPO3\CMS\Core\DataHandling\DataHandler\convNumEntityToByteValue(), and TYPO3\CMS\Core\Utility\GeneralUtility\trimExplode().

Referenced by TYPO3\CMS\Core\DataHandling\DataHandler\checkValue_group_select(), and TYPO3\CMS\Core\DataHandling\DataHandler\checkValue_SW().

◆ checkValueForInline()

TYPO3\CMS\Core\DataHandling\DataHandler::checkValueForInline (   $res,
  $value,
  $tcaFieldConf,
  $table,
  $id,
  $status,
  $field,
array  $additionalData = null 
)

Evaluates 'inline' type values. (partly copied from the select_group function on this issue)

Parameters
array$resThe result array. The processed value (if any!) is set in the 'value' key.
string$valueThe value to set.
array$tcaFieldConfField configuration from TCA
string$tableTable name
int$idUID of record
string$status'update' or 'new' flag
string$fieldField name
array$additionalDataAdditional data to be forwarded to sub-processors
Returns
array Modified $res array

Definition at line 2660 of file DataHandler.php.

References TYPO3\CMS\Core\DataHandling\DataHandler\addNewValuesToRemapStackChildIds(), TYPO3\CMS\Core\Utility\MathUtility\canBeInterpretedAsInteger(), and TYPO3\CMS\Core\Utility\GeneralUtility\trimExplode().

Referenced by TYPO3\CMS\Core\DataHandling\DataHandler\checkValue_inline(), and TYPO3\CMS\Core\DataHandling\DataHandler\checkValue_SW().

◆ checkValueForInput()

TYPO3\CMS\Core\DataHandling\DataHandler::checkValueForInput (   $value,
  $tcaFieldConf,
  $table,
  $id,
  $realPid,
  $field 
)
protected

Evaluate "input" type values.

Parameters
string$valueThe value to set.
array$tcaFieldConfField configuration from TCA
string$tableTable name
int$idUID of record
int$realPidThe real PID value of the record. For updates, this is just the pid of the record. For new records this is the PID of the page where it is inserted. If $realPid is -1 it means that a new version of the record is being inserted.
string$fieldField name
Returns
array $res The result array. The processed value (if any!) is set in the "value" key.

Definition at line 1839 of file DataHandler.php.

References $GLOBALS, TYPO3\CMS\Core\DataHandling\DataHandler\checkValue_input_Eval(), TYPO3\CMS\Core\DataHandling\DataHandler\getFieldEvalCacheIdentifier(), TYPO3\CMS\Core\DataHandling\DataHandler\getUnique(), and TYPO3\CMS\Core\Utility\GeneralUtility\trimExplode().

Referenced by TYPO3\CMS\Core\DataHandling\DataHandler\checkValue_input(), and TYPO3\CMS\Core\DataHandling\DataHandler\checkValue_SW().

◆ checkValueForRadio()

TYPO3\CMS\Core\DataHandling\DataHandler::checkValueForRadio (   $res,
  $value,
  $tcaFieldConf,
  $table,
  $id,
  $pid,
  $field 
)
protected

Evaluates 'radio' type values.

Parameters
array$resThe result array. The processed value (if any!) is set in the 'value' key.
string$valueThe value to set.
array$tcaFieldConfField configuration from TCA
array$tableThe table of the record
int$idThe id of the record
int$pidThe pid of the record
string$fieldThe field to check
Returns
array Modified $res array

Definition at line 2025 of file DataHandler.php.

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

Referenced by TYPO3\CMS\Core\DataHandling\DataHandler\checkValue_radio(), and TYPO3\CMS\Core\DataHandling\DataHandler\checkValue_SW().

◆ checkValueForText()

TYPO3\CMS\Core\DataHandling\DataHandler::checkValueForText (   $value,
  $tcaFieldConf 
)
protected

Evaluate "text" type values.

Parameters
string$valueThe value to set.
array$tcaFieldConfField configuration from TCA
Returns
array $res The result array. The processed value (if any!) is set in the "value" key.

Definition at line 1795 of file DataHandler.php.

References TYPO3\CMS\Core\DataHandling\DataHandler\checkValue_text_Eval(), TYPO3\CMS\Core\DataHandling\DataHandler\getFieldEvalCacheIdentifier(), and TYPO3\CMS\Core\Utility\GeneralUtility\trimExplode().

Referenced by TYPO3\CMS\Core\DataHandling\DataHandler\checkValue_SW(), and TYPO3\CMS\Core\DataHandling\DataHandler\checkValue_text().

◆ clear_cacheCmd()

TYPO3\CMS\Core\DataHandling\DataHandler::clear_cacheCmd (   $cacheCmd)

Clears the cache based on the command $cacheCmd.

$cacheCmd='pages' Clears cache for all pages and page-based caches inside the cache manager. Requires admin-flag to be set for BE_USER.

$cacheCmd='all' Clears all cache_tables. This is necessary if templates are updated. Requires admin-flag to be set for BE_USER.

The following cache_* are intentionally not cleared by 'all'

  • cache_md5params: RDCT redirects.
  • cache_imagesizes: Clearing this table would cause a lot of unneeded Imagemagick calls because the size informations have to be fetched again after clearing.
  • all caches inside the cache manager that are inside the group "system"
  • they are only needed to build up the core system and templates, use "temp_cached" or "system" to do that

$cacheCmd=[integer] Clears cache for the page pointed to by $cacheCmd (an integer).

$cacheCmd='cacheTag:[string]' Flush page and pagesection cache by given tag

$cacheCmd='cacheId:[string]' Removes cache identifier from page and page section cache

Can call a list of post processing functions as defined in $GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['t3lib/class.t3lib_tcemain.php']['clearCachePostProc'] (numeric array with values being the function references, called by GeneralUtility::callUserFunction()).

Parameters
string$cacheCmdThe cache command, see above description
Returns
void

Definition at line 8081 of file DataHandler.php.

References $GLOBALS, TYPO3\CMS\Core\Utility\GeneralUtility\callUserFunction(), TYPO3\CMS\Core\Utility\MathUtility\canBeInterpretedAsInteger(), TYPO3\CMS\Core\DataHandling\DataHandler\getCacheManager(), and TYPO3\CMS\Core\Utility\GeneralUtility\isFirstPartOfStr().

Referenced by TYPO3\CMS\Core\DataHandling\DataHandler\registerRecordIdForPageCacheClearing().

◆ clearPrefixFromValue()

TYPO3\CMS\Core\DataHandling\DataHandler::clearPrefixFromValue (   $table,
  $value 
)

Removes the prependAtCopy prefix on values

Parameters
string$tableTable name
string$valueThe value to fix
Returns
string Clean name

Definition at line 7792 of file DataHandler.php.

References TYPO3\CMS\Core\DataHandling\DataHandler\prependLabel().

Referenced by TYPO3\CMS\Core\DataHandling\DataHandler\checkValue_flex_procInData_travDS().

◆ compareFieldArrayWithCurrentAndUnset()

TYPO3\CMS\Core\DataHandling\DataHandler::compareFieldArrayWithCurrentAndUnset (   $table,
  $id,
  $fieldArray 
)

Compares the incoming field array with the current record and unsets all fields which are the same. Used for existing records being updated

Parameters
string$tableRecord table name
int$idRecord uid
array$fieldArrayArray of field=>value pairs intended to be inserted into the database. All keys with values matching exactly the current value will be unset!
Returns
array Returns $fieldArray. If the returned array is empty, then the record should not be updated!

Definition at line 7239 of file DataHandler.php.

References $GLOBALS, TYPO3\CMS\Core\Utility\GeneralUtility\inList(), and TYPO3\CMS\Core\DataHandling\DataHandler\isSubmittedValueEqualToStoredValue().

Referenced by TYPO3\CMS\Version\Hook\DataHandlerHook\versionizePages().

◆ compileAdminTables()

TYPO3\CMS\Core\DataHandling\DataHandler::compileAdminTables ( )

List of all tables (those administrators has access to = array_keys of $GLOBALS['TCA'])

Returns
array Array of all TCA table names

Definition at line 7564 of file DataHandler.php.

References $GLOBALS.

Referenced by TYPO3\CMS\Core\DataHandling\DataHandler\copyPages().

◆ controlActiveElements()

TYPO3\CMS\Core\DataHandling\DataHandler::controlActiveElements ( )
protected

Controls active elements and sets NULL values if not active. Datamap is modified accordant to submitted control values.

Returns
void

Definition at line 8546 of file DataHandler.php.

References TYPO3\CMS\Core\DataHandling\DataHandler\setNullValues().

Referenced by TYPO3\CMS\Core\DataHandling\DataHandler\getCheckModifyAccessListHookObjects().

◆ convNumEntityToByteValue()

TYPO3\CMS\Core\DataHandling\DataHandler::convNumEntityToByteValue (   $input)

Converts a HTML entity (like {) to the character '123'

Parameters
string$inputInput string
Returns
string Output string

Definition at line 7354 of file DataHandler.php.

Referenced by TYPO3\CMS\Core\DataHandling\DataHandler\checkValueForGroupSelect().

◆ copyL10nOverlayRecords()

TYPO3\CMS\Core\DataHandling\DataHandler::copyL10nOverlayRecords (   $table,
  $uid,
  $destPid,
  $first = false,
  $overrideValues = [],
  $excludeFields = '' 
)

Find l10n-overlay records and perform the requested copy action for these records.

Parameters
string$tableRecord Table
string$uidRecord UID
string$destPidPosition to copy to
bool$first
array$overrideValues
string$excludeFields
Returns
void

Definition at line 4194 of file DataHandler.php.

References $GLOBALS, TYPO3\CMS\Core\DataHandling\DataHandler\$overrideValues, $uid, TYPO3\CMS\Backend\Utility\BackendUtility\getRecordsByField(), TYPO3\CMS\Backend\Utility\BackendUtility\getTSconfig_pidValue(), and TYPO3\CMS\Backend\Utility\BackendUtility\isTableLocalizable().

Referenced by TYPO3\CMS\Core\DataHandling\DataHandler\checkValue_flex_procInData_travDS().

◆ copyPages()

TYPO3\CMS\Core\DataHandling\DataHandler::copyPages (   $uid,
  $destPid 
)

Copying pages Main function for copying pages.

Parameters
int$uidPage UID to copy
int$destPidDestination PID: >=0 then it points to a page-id on which to insert the record (as the first element). <0 then it points to a uid from its own table after which to insert it (works if
Returns
void

Definition at line 3587 of file DataHandler.php.

References $uid, TYPO3\CMS\Core\DataHandling\DataHandler\compileAdminTables(), TYPO3\CMS\Core\DataHandling\DataHandler\copySpecificPage(), TYPO3\CMS\Core\DataHandling\DataHandler\int_pageTreeInfo(), TYPO3\CMS\Core\DataHandling\DataHandler\log(), and TYPO3\CMS\Core\Utility\GeneralUtility\trimExplode().

Referenced by TYPO3\CMS\Core\DataHandling\DataHandler\checkValue_flex_procInData_travDS().

◆ copyRecord_flexFormCallBack()

TYPO3\CMS\Core\DataHandling\DataHandler::copyRecord_flexFormCallBack (   $pParams,
  $dsConf,
  $dataValue,
  $_1,
  $_2,
  $_3,
  $workspaceOptions 
)

Callback function for traversing the FlexForm structure in relation to creating copied files of file relations inside of flex form structures.

Parameters
array$pParamsArray of parameters in num-indexes: table, uid, field
array$dsConfTCA field configuration (from Data Structure XML)
string$dataValueThe value of the flexForm field
string$_1Not used.
string$_2Not used.
string$_3Not used.
array$workspaceOptions
Returns
array Result array with key "value" containing the value of the processing.
See also
copyRecord(), checkValue_flex_procInData_travDS()

Definition at line 4034 of file DataHandler.php.

References $uid, TYPO3\CMS\Core\DataHandling\DataHandler\copyRecord_procBasedOnFieldType(), TYPO3\CMS\Core\DataHandling\DataHandler\createRelationHandlerInstance(), TYPO3\CMS\Core\DataHandling\DataHandler\destPathFromUploadFolder(), TYPO3\CMS\Core\Utility\GeneralUtility\getFileAbsFileName(), TYPO3\CMS\Core\DataHandling\DataHandler\getInlineFieldType(), TYPO3\CMS\Core\Utility\GeneralUtility\isFirstPartOfStr(), TYPO3\CMS\Core\DataHandling\DataHandler\isReferenceField(), TYPO3\CMS\Core\Utility\GeneralUtility\makeInstance(), TYPO3\CMS\Core\DataHandling\DataHandler\newlog(), TYPO3\CMS\Core\Utility\PathUtility\stripPathSitePrefix(), TYPO3\CMS\Core\Utility\GeneralUtility\trimExplode(), and TYPO3\CMS\Core\Utility\GeneralUtility\upload_copy_move().

◆ copyRecord_procBasedOnFieldType()

TYPO3\CMS\Core\DataHandling\DataHandler::copyRecord_procBasedOnFieldType (   $table,
  $uid,
  $field,
  $value,
  $row,
  $conf,
  $realDestPid,
  $language = 0,
array  $workspaceOptions = [] 
)

Processing/Preparing content for copyRecord() function

Parameters
string$tableTable name
int$uidRecord uid
string$fieldField name being processed
string$valueInput value to be processed.
array$rowRecord array
array$confTCA field configuration
int$realDestPidReal page id (pid) the record is copied to
int$languageLanguage ID (from sys_language table) used in the duplicated record
array$workspaceOptionsOptions to be forwarded if actions happen on a workspace currently
Returns
array|string private
See also
copyRecord()

Definition at line 3848 of file DataHandler.php.

References $GLOBALS, $uid, TYPO3\CMS\Core\Utility\MathUtility\canBeInterpretedAsInteger(), TYPO3\CMS\Core\DataHandling\DataHandler\checkValue_flex_procInData(), TYPO3\CMS\Core\DataHandling\DataHandler\copyRecord_raw(), TYPO3\CMS\Core\DataHandling\DataHandler\createRelationHandlerInstance(), TYPO3\CMS\Backend\Utility\BackendUtility\getFlexFormDS(), TYPO3\CMS\Core\DataHandling\DataHandler\getInlineFieldType(), TYPO3\CMS\Backend\Utility\BackendUtility\getInlineLocalizationMode(), TYPO3\CMS\Backend\Utility\BackendUtility\getRecordLocalization(), TYPO3\CMS\Core\DataHandling\DataHandler\isNestedElementCallRegistered(), TYPO3\CMS\Core\DataHandling\DataHandler\isReferenceField(), TYPO3\CMS\Backend\Utility\BackendUtility\isTableLocalizable(), TYPO3\CMS\Backend\Utility\BackendUtility\isTableWorkspaceEnabled(), TYPO3\CMS\Core\DataHandling\DataHandler\versionizeRecord(), and TYPO3\CMS\Core\Utility\GeneralUtility\xml2array().

Referenced by TYPO3\CMS\Core\DataHandling\DataHandler\checkValue_flex_procInData_travDS(), TYPO3\CMS\Core\DataHandling\DataHandler\copyRecord_flexFormCallBack(), and TYPO3\CMS\Core\DataHandling\DataHandler\copyRecord_raw().

◆ copyRecord_raw()

TYPO3\CMS\Core\DataHandling\DataHandler::copyRecord_raw (   $table,
  $uid,
  $pid,
  $overrideArray = [],
array  $workspaceOptions = [] 
)

Copying records, but makes a "raw" copy of a record. Basically the only thing observed is field processing like the copying of files and correction of ids. All other fields are 1-1 copied. Technically the copy is made with THIS instance of the tcemain class contrary to copyRecord() which creates a new instance and uses the processData() function. The copy is created by insertNewCopyVersion() which bypasses most of the regular input checking associated with processData() - maybe copyRecord() should even do this as well!? This function is used to create new versions of a record. NOTICE: DOES NOT CHECK PERMISSIONS to create! And since page permissions are just passed through and not changed to the user who executes the copy we cannot enforce permissions without getting an incomplete copy - unless we change permissions of course.

Parameters
string$tableElement table
int$uidElement UID
int$pidElement PID (real PID, not checked)
array$overrideArrayOverride array - must NOT contain any fields not in the table!
array$workspaceOptionsOptions to be forwarded if actions happen on a workspace currently
Returns
int Returns the new ID of the record (if applicable)

Definition at line 3724 of file DataHandler.php.

References $GLOBALS, $uid, TYPO3\CMS\Core\DataHandling\DataHandler\copyRecord_procBasedOnFieldType(), TYPO3\CMS\Core\DataHandling\DataHandler\dbAnalysisStoreExec(), TYPO3\CMS\Core\DataHandling\DataHandler\doesRecordExist(), TYPO3\CMS\Core\DataHandling\DataHandler\insertNewCopyVersion(), TYPO3\CMS\Core\DataHandling\DataHandler\isElementToBeDeleted(), TYPO3\CMS\Core\DataHandling\DataHandler\isRecordCopied(), TYPO3\CMS\Core\DataHandling\DataHandler\log(), TYPO3\CMS\Core\DataHandling\DataHandler\recordInfo(), and TYPO3\CMS\Backend\Utility\BackendUtility\wsMapId().

Referenced by TYPO3\CMS\Core\DataHandling\DataHandler\copyRecord_procBasedOnFieldType(), TYPO3\CMS\Version\Hook\DataHandlerHook\rawCopyPageContent(), TYPO3\CMS\Version\Hook\DataHandlerHook\versionizePages(), and TYPO3\CMS\Core\DataHandling\DataHandler\versionizeRecord().

◆ copySpecificPage()

TYPO3\CMS\Core\DataHandling\DataHandler::copySpecificPage (   $uid,
  $destPid,
  $copyTablesArray,
  $first = false 
)

Copying a single page ($uid) to $destPid and all tables in the array copyTablesArray.

Parameters
int$uidPage uid
int$destPidDestination PID: >=0 then it points to a page-id on which to insert the record (as the first element). <0 then it points to a uid from its own table after which to insert it (works if
array$copyTablesArrayTable on pages to copy along with the page.
bool$firstIs a flag set, if the record copied is NOT a 'slave' to another record copied. That is, if this record was asked to be copied in the cmd-array
Returns
int|NULL The id of the new page, if applicable.

Definition at line 3641 of file DataHandler.php.

References $GLOBALS, $uid, TYPO3\CMS\Core\DataHandling\DataHandler\deleteClause(), TYPO3\CMS\Backend\Utility\BackendUtility\isTableLocalizable(), TYPO3\CMS\Backend\Utility\BackendUtility\isTableWorkspaceEnabled(), TYPO3\CMS\Core\DataHandling\DataHandler\log(), and TYPO3\CMS\Core\DataHandling\DataHandler\processRemapStack().

Referenced by TYPO3\CMS\Core\DataHandling\DataHandler\copyPages().

◆ createRelationHandlerInstance()

◆ dbAnalysisStoreExec()

TYPO3\CMS\Core\DataHandling\DataHandler::dbAnalysisStoreExec ( )

Executing dbAnalysisStore This will save MM relations for new records but is executed after records are created because we need to know the ID of them

Returns
void

Definition at line 7478 of file DataHandler.php.

References TYPO3\CMS\Core\Utility\MathUtility\canBeInterpretedAsInteger(), and TYPO3\CMS\Backend\Utility\BackendUtility\wsMapId().

Referenced by TYPO3\CMS\Core\DataHandling\DataHandler\copyRecord_raw(), and TYPO3\CMS\Core\DataHandling\DataHandler\getCheckModifyAccessListHookObjects().

◆ deleteAction()

◆ deleteClause()

◆ deleteEl()

TYPO3\CMS\Core\DataHandling\DataHandler::deleteEl (   $table,
  $uid,
  $noRecordCheck = false,
  $forceHardDelete = false 
)

Delete element from any table

Parameters
string$tableTable name
int$uidRecord UID
bool$noRecordCheckFlag: If $noRecordCheck is set, then the function does not check permission to delete record
bool$forceHardDeleteIf TRUE, the "deleted" flag is ignored if applicable for record and the record is deleted COMPLETELY!
Returns
void

Definition at line 4946 of file DataHandler.php.

References $uid, TYPO3\CMS\Core\DataHandling\DataHandler\deleteRecord(), and TYPO3\CMS\Core\DataHandling\DataHandler\deleteVersionsForRecord().

Referenced by TYPO3\CMS\Core\DataHandling\DataHandler\deleteAction(), TYPO3\CMS\Core\DataHandling\DataHandler\deleteVersionsForRecord(), TYPO3\CMS\Version\Hook\DataHandlerHook\processCmdmap_deleteAction(), TYPO3\CMS\Version\Hook\DataHandlerHook\version_clearWSID(), and TYPO3\CMS\Version\Hook\DataHandlerHook\versionizePages().

◆ deleteL10nOverlayRecords()

◆ deleteRecord()

TYPO3\CMS\Core\DataHandling\DataHandler::deleteRecord (   $table,
  $uid,
  $noRecordCheck = false,
  $forceHardDelete = false,
  $undeleteRecord = false 
)

Deleting/Undeleting a record This function may not be used to delete pages-records unless the underlying records are already deleted Deletes a record regardless of versioning state (live or offline, doesn't matter, the uid decides) If both $noRecordCheck and $forceHardDelete are set it could even delete a "deleted"-flagged record!

Parameters
string$tableTable name
int$uidRecord UID
bool$noRecordCheckFlag: If $noRecordCheck is set, then the function does not check permission to delete record
bool$forceHardDeleteIf TRUE, the "deleted" flag is ignored if applicable for record and the record is deleted COMPLETELY!
bool$undeleteRecordIf TRUE, the "deleted" flag is set to 0 again and thus, the item is undeleted.
Returns
void

Definition at line 5016 of file DataHandler.php.

References $GLOBALS, $uid, TYPO3\CMS\Core\DataHandling\DataHandler\canDeletePage(), TYPO3\CMS\Core\DataHandling\DataHandler\deleteL10nOverlayRecords(), TYPO3\CMS\Core\DataHandling\DataHandler\deleteRecord_procFields(), TYPO3\CMS\Core\DataHandling\DataHandler\deleteSpecificPage(), TYPO3\CMS\Core\DataHandling\DataHandler\doesBranchExist(), TYPO3\CMS\Core\DataHandling\DataHandler\doesRecordExist(), TYPO3\CMS\Core\Messaging\AbstractMessage\ERROR, TYPO3\CMS\Core\DataHandling\DataHandler\extFileFields(), TYPO3\CMS\Core\DataHandling\DataHandler\extFileFunctions(), TYPO3\CMS\Core\DataHandling\DataHandler\getRecordProperties(), TYPO3\CMS\Backend\Utility\BackendUtility\getRecordRaw(), TYPO3\CMS\Core\DataHandling\DataHandler\getResourceFactory(), TYPO3\CMS\Backend\Utility\BackendUtility\getTSCpid(), TYPO3\CMS\Core\DataHandling\DataHandler\log(), TYPO3\CMS\Core\Utility\GeneralUtility\makeInstance(), TYPO3\CMS\Core\DataHandling\DataHandler\newlog(), TYPO3\CMS\Core\DataHandling\DataHandler\newlog2(), TYPO3\CMS\Core\DataHandling\DataHandler\registerRecordIdForPageCacheClearing(), and TYPO3\CMS\Core\Utility\GeneralUtility\trimExplode().

Referenced by TYPO3\CMS\Core\DataHandling\DataHandler\deleteEl(), TYPO3\CMS\Core\DataHandling\DataHandler\deleteSpecificPage(), TYPO3\CMS\Core\DataHandling\DataHandler\deleteVersionsForRecord(), and TYPO3\CMS\Core\DataHandling\DataHandler\undeleteRecord().

◆ deleteRecord_procFields()

TYPO3\CMS\Core\DataHandling\DataHandler::deleteRecord_procFields (   $table,
  $uid,
  $undeleteRecord = false 
)

Before a record is deleted, check if it has references such as inline type or MM references. If so, set these child records also to be deleted.

Parameters
string$tableRecord Table
string$uidRecord UID
bool$undeleteRecordIf a record should be undeleted (e.g. from history/undo)
Returns
void
See also
deleteRecord()

Definition at line 5391 of file DataHandler.php.

References $GLOBALS, $uid, TYPO3\CMS\Core\DataHandling\DataHandler\createRelationHandlerInstance(), TYPO3\CMS\Core\DataHandling\DataHandler\deleteAction(), TYPO3\CMS\Core\DataHandling\DataHandler\getInlineFieldType(), TYPO3\CMS\Backend\Utility\BackendUtility\getRecord(), TYPO3\CMS\Core\DataHandling\DataHandler\isReferenceField(), and TYPO3\CMS\Core\DataHandling\DataHandler\undeleteRecord().

Referenced by TYPO3\CMS\Core\DataHandling\DataHandler\deleteRecord().

◆ deleteSpecificPage()

TYPO3\CMS\Core\DataHandling\DataHandler::deleteSpecificPage (   $uid,
  $forceHardDelete = false 
)

◆ deleteVersionsForRecord()

TYPO3\CMS\Core\DataHandling\DataHandler::deleteVersionsForRecord (   $table,
  $uid,
  $forceHardDelete 
)

Delete versions for element from any table

Parameters
string$tableTable name
int$uidRecord UID
bool$forceHardDeleteIf TRUE, the "deleted" flag is ignored if applicable for record and the record is deleted COMPLETELY!
Returns
void

Definition at line 4964 of file DataHandler.php.

References $uid, TYPO3\CMS\Core\Type\Enumeration\cast(), TYPO3\CMS\Core\DataHandling\DataHandler\deleteEl(), TYPO3\CMS\Core\DataHandling\DataHandler\deleteRecord(), TYPO3\CMS\Backend\Utility\BackendUtility\getMovePlaceholder(), TYPO3\CMS\Core\Versioning\VersionState\MOVE_POINTER, and TYPO3\CMS\Backend\Utility\BackendUtility\selectVersionsOfRecord().

Referenced by TYPO3\CMS\Core\DataHandling\DataHandler\deleteEl(), and TYPO3\CMS\Core\DataHandling\DataHandler\deleteSpecificPage().

◆ destNotInsideSelf()

TYPO3\CMS\Core\DataHandling\DataHandler::destNotInsideSelf (   $destinationId,
  $id 
)

Checks if page $id is a uid in the rootline of page id $destinationId Used when moving a page

Parameters
int$destinationIdDestination Page ID to test
int$idPage ID to test for presence inside Destination
Returns
bool Returns FALSE if ID is inside destination (including equal to)

Definition at line 6568 of file DataHandler.php.

References TYPO3\CMS\Core\DataHandling\DataHandler\deleteClause(), and TYPO3\CMS\Backend\Utility\BackendUtility\fixVersioningPid().

Referenced by TYPO3\CMS\Core\DataHandling\DataHandler\moveRecord_raw().

◆ destPathFromUploadFolder()

TYPO3\CMS\Core\DataHandling\DataHandler::destPathFromUploadFolder (   $folder)

Returns absolute destination path for the upload folder, $folder

Parameters
string$folderUpload folder name, relative to PATH_site
Returns
string Input string prefixed with PATH_site

Definition at line 7376 of file DataHandler.php.

Referenced by TYPO3\CMS\Core\DataHandling\DataHandler\applyFiltersToValues(), TYPO3\CMS\Core\DataHandling\DataHandler\copyRecord_flexFormCallBack(), and TYPO3\CMS\Core\DataHandling\DataHandler\extFileFunctions().

◆ disableDeleteClause()

TYPO3\CMS\Core\DataHandling\DataHandler::disableDeleteClause ( )

Disables the delete clause for fetching records. In general only undeleted records will be used. If the delete clause is disabled, also deleted records are taken into account.

Returns
void

Definition at line 7388 of file DataHandler.php.

Referenced by TYPO3\CMS\Core\DataHandling\DataHandler\deleteClause().

◆ doesBranchExist()

TYPO3\CMS\Core\DataHandling\DataHandler::doesBranchExist (   $inList,
  $pid,
  $perms,
  $recurse 
)

Checks if a whole branch of pages exists

Tests the branch under $pid (like doesRecordExist). It doesn't test the page with $pid as uid. Use doesRecordExist() for this purpose Returns an ID-list or "" if OK. Else -1 which means that somewhere there was no permission (eg. to delete). if $recurse is set, then the function will follow subpages. This MUST be set, if we need the idlist for deleting pages or else we get an incomplete list

Parameters
string$inListList of page uids, this is added to and outputted in the end
int$pidPage ID to select subpages from.
int$permsPerms integer to check each page record for.
bool$recurseRecursion flag: If set, it will go out through the branch.
Returns
string List of integers in branch

Definition at line 6509 of file DataHandler.php.

References TYPO3\CMS\Core\DataHandling\DataHandler\deleteClause().

Referenced by TYPO3\CMS\Core\DataHandling\DataHandler\canDeletePage(), TYPO3\CMS\Core\DataHandling\DataHandler\deleteRecord(), and TYPO3\CMS\Version\Hook\DataHandlerHook\versionizePages().

◆ doesPageHaveUnallowedTables()

TYPO3\CMS\Core\DataHandling\DataHandler::doesPageHaveUnallowedTables (   $page_uid,
  $doktype 
)

Checks if there are records on a page from tables that are not allowed

Parameters
int$page_uidPage ID
int$doktypePage doktype
Returns
array Returns a list of the tables that are 'present' on the page but not allowed with the page_uid/doktype

Definition at line 6623 of file DataHandler.php.

References $GLOBALS, and TYPO3\CMS\Core\Utility\GeneralUtility\trimExplode().

Referenced by TYPO3\CMS\Core\DataHandling\DataHandler\checkValue().

◆ doesRecordExist()

TYPO3\CMS\Core\DataHandling\DataHandler::doesRecordExist (   $table,
  $id,
  $perms 
)

Checks if record can be selected based on given permission criteria

Parameters
string$tableRecord table name
int$idRecord UID
int | string$permsPermission restrictions to observe: Either an integer that will be bitwise AND'ed or a string, which points to a key in the ->pMap array
Returns
bool Returns TRUE if the record given by $table, $id and $perms can be selected
Exceptions

Definition at line 6422 of file DataHandler.php.

References $GLOBALS, TYPO3\CMS\Core\Utility\MathUtility\canBeInterpretedAsInteger(), TYPO3\CMS\Core\DataHandling\DataHandler\deleteClause(), TYPO3\CMS\Core\DataHandling\DataHandler\doesRecordExist_pageLookUp(), TYPO3\CMS\Backend\Utility\BackendUtility\fixVersioningPid(), TYPO3\CMS\Backend\Utility\BackendUtility\getRecordRaw(), TYPO3\CMS\Core\DataHandling\DataHandler\isRecordInWebMount(), TYPO3\CMS\Backend\Utility\BackendUtility\isRootLevelRestrictionIgnored(), and TYPO3\CMS\Backend\Utility\BackendUtility\isWebMountRestrictionIgnored().

Referenced by TYPO3\CMS\Core\DataHandling\DataHandler\canDeletePage(), TYPO3\CMS\Core\DataHandling\DataHandler\cannotDeleteRecord(), TYPO3\CMS\Core\DataHandling\DataHandler\checkRecordInsertAccess(), TYPO3\CMS\Core\DataHandling\DataHandler\checkRecordUpdateAccess(), TYPO3\CMS\Core\DataHandling\DataHandler\checkValue_flex_procInData_travDS(), TYPO3\CMS\Core\DataHandling\DataHandler\copyRecord_raw(), TYPO3\CMS\Core\DataHandling\DataHandler\deleteRecord(), TYPO3\CMS\Core\DataHandling\DataHandler\moveL10nOverlayRecords(), TYPO3\CMS\Core\DataHandling\DataHandler\moveRecord(), TYPO3\CMS\Version\Hook\DataHandlerHook\versionizePages(), and TYPO3\CMS\Core\DataHandling\DataHandler\versionizeRecord().

◆ doesRecordExist_pageLookUp()

TYPO3\CMS\Core\DataHandling\DataHandler::doesRecordExist_pageLookUp (   $id,
  $perms 
)

Looks up a page based on permissions.

Parameters
int$idPage id
int$permsPermission integer
Returns
bool||object MySQLi result object / DBAL object (from exec_SELECTquery()) private
See also
doesRecordExist()

Definition at line 6491 of file DataHandler.php.

References $GLOBALS, TYPO3\CMS\Core\Type\Bitmask\Permission\CONTENT_EDIT, TYPO3\CMS\Core\DataHandling\DataHandler\deleteClause(), TYPO3\CMS\Core\Type\Bitmask\Permission\PAGE_DELETE, and TYPO3\CMS\Core\Type\Bitmask\Permission\PAGE_EDIT.

Referenced by TYPO3\CMS\Core\DataHandling\DataHandler\doesRecordExist().

◆ eventPid()

TYPO3\CMS\Core\DataHandling\DataHandler::eventPid (   $table,
  $uid,
  $pid 
)
Parameters
string$table
int$uid
int$pid
Returns
int

Definition at line 6743 of file DataHandler.php.

References $uid.

Referenced by TYPO3\CMS\Core\DataHandling\DataHandler\getRecordPropertiesFromRow(), and TYPO3\CMS\Core\DataHandling\DataHandler\newlog2().

◆ extFileFields()

TYPO3\CMS\Core\DataHandling\DataHandler::extFileFields (   $table)

Returns all fieldnames from a table which are a list of files

Parameters
string$tableTable name
Returns
array Array of fieldnames that are either "group" or "file" types.

Definition at line 7635 of file DataHandler.php.

References $GLOBALS.

Referenced by TYPO3\CMS\Core\DataHandling\DataHandler\deleteRecord().

◆ extFileFunctions()

TYPO3\CMS\Core\DataHandling\DataHandler::extFileFunctions (   $table,
  $field,
  $filelist,
  $func 
)

File functions on external file references. eg. deleting files when deleting record

Parameters
string$tableTable name
string$fieldField name
string$filelistList of files to work on from field
string$funcFunction, eg. "deleteAll" which will delete all files listed.
Returns
void

Definition at line 7807 of file DataHandler.php.

References $GLOBALS, TYPO3\CMS\Core\DataHandling\DataHandler\destPathFromUploadFolder(), TYPO3\CMS\Core\DataHandling\DataHandler\getResourceFactory(), and TYPO3\CMS\Core\DataHandling\DataHandler\log().

Referenced by TYPO3\CMS\Core\DataHandling\DataHandler\deleteRecord().

◆ fillInFieldArray()

TYPO3\CMS\Core\DataHandling\DataHandler::fillInFieldArray (   $table,
  $id,
  $fieldArray,
  $incomingFieldArray,
  $realPid,
  $status,
  $tscPID 
)

Filling in the field array $this->excludedTablesAndFields is used to filter fields if needed.

Parameters
string$tableTable name
int$idRecord ID
array$fieldArrayDefault values, Preset $fieldArray with 'pid' maybe (pid and uid will be not be overridden anyway)
array$incomingFieldArrayIs which fields/values you want to set. There are processed and put into $fieldArray if OK
int$realPidThe real PID value of the record. For updates, this is just the pid of the record. For new records this is the PID of the page where it is inserted.
string$statusIs 'new' or 'update'
int$tscPIDTSconfig PID
Returns
array Field Array

Definition at line 1444 of file DataHandler.php.

References $GLOBALS, TYPO3\CMS\Core\DataHandling\DataHandler\checkValue(), TYPO3\CMS\Core\Utility\GeneralUtility\deprecationLog(), TYPO3\CMS\Backend\Utility\BackendUtility\fixVersioningPid(), TYPO3\CMS\Backend\Utility\BackendUtility\getPagesTSconfig(), TYPO3\CMS\Backend\Utility\BackendUtility\getTCAtypes(), TYPO3\CMS\Backend\Utility\BackendUtility\getTCAtypeValue(), TYPO3\CMS\Core\Utility\ArrayUtility\mergeRecursiveWithOverrule(), TYPO3\CMS\Core\DataHandling\DataHandler\pageInfo(), TYPO3\CMS\Core\DataHandling\DataHandler\recordInfo(), TYPO3\CMS\Backend\Utility\BackendUtility\RTEsetup(), TYPO3\CMS\Core\Utility\GeneralUtility\stripSlashesOnArray(), TYPO3\CMS\Core\DataHandling\DataHandler\transformRichtextContentToDatabase(), and TYPO3\CMS\Backend\Utility\BackendUtility\workspaceOL().

◆ fixCopyAfterDuplFields()

TYPO3\CMS\Core\DataHandling\DataHandler::fixCopyAfterDuplFields (   $table,
  $uid,
  $prevUid,
  $update,
  $newData = [] 
)

When er record is copied you can specify fields from the previous record which should be copied into the new one This function is also called with new elements. But then $update must be set to zero and $newData containing the data array. In that case data in the incoming array is NOT overridden. (250202)

Parameters
string$tableTable name
int$uidRecord UID
int$prevUidUID of previous record
bool$updateIf set, updates the record
array$newDataInput array. If fields are already specified AND $update is not set, values are not set in output array.
Returns
array Output array (For when the copying operation needs to get the information instead of updating the info)

Definition at line 7612 of file DataHandler.php.

References $GLOBALS, $uid, TYPO3\CMS\Core\DataHandling\DataHandler\recordInfo(), TYPO3\CMS\Core\Utility\GeneralUtility\trimExplode(), and TYPO3\CMS\Core\DataHandling\DataHandler\updateDB().

Referenced by TYPO3\CMS\Core\DataHandling\DataHandler\checkValue_flex_procInData_travDS(), and TYPO3\CMS\Core\DataHandling\DataHandler\moveRecord_raw().

◆ fixUniqueInPid()

TYPO3\CMS\Core\DataHandling\DataHandler::fixUniqueInPid (   $table,
  $uid 
)

Checks if any uniqueInPid eval input fields are in the record and if so, they are re-written to be correct.

Parameters
string$tableTable name
int$uidRecord UID
Returns
void

Definition at line 7576 of file DataHandler.php.

References $GLOBALS, $uid, TYPO3\CMS\Core\DataHandling\DataHandler\getUnique(), TYPO3\CMS\Core\DataHandling\DataHandler\recordInfo(), TYPO3\CMS\Core\Utility\GeneralUtility\trimExplode(), and TYPO3\CMS\Core\DataHandling\DataHandler\updateDB().

Referenced by TYPO3\CMS\Core\DataHandling\DataHandler\moveRecord_raw().

◆ getAutoVersionId()

TYPO3\CMS\Core\DataHandling\DataHandler::getAutoVersionId (   $table,
  $id 
)

Gets the automatically versionized id of a record.

Parameters
string$tableName of the table
int$idUid of the record
Returns
int

Definition at line 8304 of file DataHandler.php.

Referenced by TYPO3\CMS\Core\DataHandling\DataHandler\moveL10nOverlayRecords(), TYPO3\CMS\Core\DataHandling\DataHandler\overlayAutoVersionId(), and TYPO3\CMS\Core\DataHandling\DataHandler\remapListedDBRecords_procDBRefs().

◆ getCacheManager()

TYPO3\CMS\Core\DataHandling\DataHandler::getCacheManager ( )
protected

◆ getCheckModifyAccessListHookObjects()

TYPO3\CMS\Core\DataHandling\DataHandler::getCheckModifyAccessListHookObjects ( )
protected

Gets the 'checkModifyAccessList' hook objects. The first call initializes the accordant objects.

Returns
array The 'checkModifyAccessList' hook objects (if any)
Exceptions

Definition at line 940 of file DataHandler.php.

References TYPO3\CMS\Core\DataHandling\DataHandler\$checkModifyAccessListHookObjects, TYPO3\CMS\Core\DataHandling\DataHandler\$enableLogging, $GLOBALS, TYPO3\CMS\Core\DataHandling\DataHandler\$registerDBList, TYPO3\CMS\Core\DataHandling\DataHandler\addDefaultPermittedLanguageIfNotSet(), TYPO3\CMS\Core\Utility\MathUtility\canBeInterpretedAsInteger(), TYPO3\CMS\Core\DataHandling\DataHandler\checkRecordInsertAccess(), TYPO3\CMS\Core\DataHandling\DataHandler\checkRecordUpdateAccess(), TYPO3\CMS\Core\DataHandling\DataHandler\controlActiveElements(), TYPO3\CMS\Core\DataHandling\DataHandler\dbAnalysisStoreExec(), debug(), TYPO3\CMS\Core\DataHandling\DataHandler\getPlaceholderTitleForTableLabel(), TYPO3\CMS\Core\DataHandling\DataHandler\getRecordProperties(), TYPO3\CMS\Core\DataHandling\DataHandler\getSortNumber(), TYPO3\CMS\Core\Utility\GeneralUtility\getUserObj(), TYPO3\CMS\Core\DataHandling\DataHandler\getVersionizedIncomingFieldArray(), TYPO3\CMS\Backend\Utility\BackendUtility\getWorkspaceVersionOfRecord(), TYPO3\CMS\Core\DataHandling\DataHandler\hook_processDatamap_afterDatabaseOperations(), TYPO3\CMS\Core\DataHandling\DataHandler\insertDB(), TYPO3\CMS\Core\DataHandling\DataHandler\isOuterMostInstance(), TYPO3\CMS\Core\DataHandling\DataHandler\log(), TYPO3\CMS\Core\Utility\GeneralUtility\makeInstance(), TYPO3\CMS\Core\Utility\ArrayUtility\mergeRecursiveWithOverrule(), TYPO3\CMS\Core\Versioning\VersionState\NEW_PLACEHOLDER, TYPO3\CMS\Core\Versioning\VersionState\NEW_PLACEHOLDER_VERSION, TYPO3\CMS\Core\DataHandling\DataHandler\newFieldArray(), TYPO3\CMS\Core\DataHandling\DataHandler\newlog(), TYPO3\CMS\Core\DataHandling\DataHandler\placeholderShadowing(), TYPO3\CMS\Core\DataHandling\DataHandler\processRemapStack(), TYPO3\CMS\Core\DataHandling\DataHandler\recordInfo(), TYPO3\CMS\Core\DataHandling\DataHandler\registerElementsToBeDeleted(), TYPO3\CMS\Core\DataHandling\DataHandler\removeRegisteredFiles(), TYPO3\CMS\Core\DataHandling\DataHandler\resetElementsToBeDeleted(), TYPO3\CMS\Core\DataHandling\DataHandler\tableReadOnly(), TYPO3\CMS\Core\DataHandling\DataHandler\triggerRemapAction(), TYPO3\CMS\Core\DataHandling\DataHandler\unsetElementsToBeDeleted(), and TYPO3\CMS\Core\DataHandling\DataHandler\updateDB().

Referenced by TYPO3\CMS\Core\DataHandling\DataHandler\getVersionizedIncomingFieldArray().

◆ getCommandMapElements()

TYPO3\CMS\Core\DataHandling\DataHandler::getCommandMapElements (   $needle)
protected

Gets elements of the command map that match a particular command.

Parameters
string$needleThe command to be matched
Returns
array

Definition at line 8525 of file DataHandler.php.

Referenced by TYPO3\CMS\Core\DataHandling\DataHandler\registerElementsToBeDeleted(), and TYPO3\CMS\Core\DataHandling\DataHandler\unsetElementsToBeDeleted().

◆ getCopyHeader()

TYPO3\CMS\Core\DataHandling\DataHandler::getCopyHeader (   $table,
  $pid,
  $field,
  $value,
  $count,
  $prevTitle = '' 
)

Get modified header for a copied record

Parameters
string$tableTable name
int$pidPID value in which other records to test might be
string$fieldField name to get header value for.
string$valueCurrent field value
int$countCounter (number of recursions)
string$prevTitlePrevious title we checked for (in previous recursion)
Returns
string The field value, possibly appended with a "copy label

Definition at line 7723 of file DataHandler.php.

References TYPO3\CMS\Core\DataHandling\DataHandler\deleteClause(), and TYPO3\CMS\Core\DataHandling\DataHandler\prependLabel().

Referenced by TYPO3\CMS\Core\DataHandling\DataHandler\checkValue_flex_procInData_travDS().

◆ getExcludeListArray()

TYPO3\CMS\Core\DataHandling\DataHandler::getExcludeListArray ( )

Generate an array of fields to be excluded from editing for the user. Based on "exclude"-field in TCA and a look up in non_exclude_fields Will also generate this list for admin-users so they must be check for before calling the function

Returns
array Array of [table]-[field] pairs to exclude from editing.

Definition at line 6600 of file DataHandler.php.

References $GLOBALS, and TYPO3\CMS\Core\Utility\GeneralUtility\trimExplode().

Referenced by TYPO3\CMS\Core\DataHandling\DataHandler\start().

◆ getFieldEvalCacheIdentifier()

TYPO3\CMS\Core\DataHandling\DataHandler::getFieldEvalCacheIdentifier (   $additionalIdentifier)
protected

Return the cache entry identifier for field evals

Parameters
string$additionalIdentifier
Returns
string

Definition at line 8588 of file DataHandler.php.

Referenced by TYPO3\CMS\Core\DataHandling\DataHandler\checkValueForInput(), and TYPO3\CMS\Core\DataHandling\DataHandler\checkValueForText().

◆ getInlineFieldType()

◆ getLocalTCE()

TYPO3\CMS\Core\DataHandling\DataHandler::getLocalTCE (   $stripslashesValues = false,
  $dontProcessTransformations = true 
)
protected

Returns an instance of DataHandler for handling local datamaps/cmdmaps

Parameters
bool$stripslashesValuesIf TRUE, incoming values in the data-array have their slashes stripped.
bool$dontProcessTransformationsIf set, then transformations are NOT performed on the input.
Returns
DataHandler

Definition at line 5728 of file DataHandler.php.

References TYPO3\CMS\Core\DataHandling\DataHandler\$cachedTSconfig, TYPO3\CMS\Core\DataHandling\DataHandler\$copyTree, TYPO3\CMS\Core\DataHandling\DataHandler\$dontProcessTransformations, TYPO3\CMS\Core\DataHandling\DataHandler\$enableLogging, TYPO3\CMS\Core\DataHandling\DataHandler\$isImporting, and TYPO3\CMS\Core\Utility\GeneralUtility\makeInstance().

Referenced by TYPO3\CMS\Core\DataHandling\DataHandler\checkValue_flex_procInData_travDS(), and TYPO3\CMS\Core\DataHandling\DataHandler\moveL10nOverlayRecords().

◆ getOriginalParentOfRecord()

TYPO3\CMS\Core\DataHandling\DataHandler::getOriginalParentOfRecord (   $table,
  $uid 
)
protected

Gets UID of parent record. If record is deleted it will be looked up in an array built before the record was deleted

Parameters
string$tableTable where record lives/lived
int$uidRecord UID
Returns
int[] Parent UIDs

Definition at line 7417 of file DataHandler.php.

References $uid, and TYPO3\CMS\Backend\Utility\BackendUtility\getTSCpid().

Referenced by TYPO3\CMS\Core\DataHandling\DataHandler\registerRecordIdForPageCacheClearing().

◆ getOuterMostInstance()

TYPO3\CMS\Core\DataHandling\DataHandler::getOuterMostInstance ( )
protected

Gets the outer most instance of Since can create nested objects of itself, this method helps to determine the first (= outer most) one.

Returns
DataHandler

Definition at line 8385 of file DataHandler.php.

References TYPO3\CMS\Core\DataHandling\DataHandler\$outerMostInstance.

Referenced by TYPO3\CMS\Core\DataHandling\DataHandler\isOuterMostInstance().

◆ getPID()

TYPO3\CMS\Core\DataHandling\DataHandler::getPID (   $table,
  $uid 
)

Returns the pid of a record from $table with $uid

Parameters
string$tableTable name
int$uidRecord uid
Returns
int|FALSE PID value (unless the record did not exist in which case FALSE is returned)

Definition at line 7463 of file DataHandler.php.

References $uid.

Referenced by TYPO3\CMS\Core\DataHandling\DataHandler\prepareCacheFlush().

◆ getPlaceholderTitleForTableLabel()

TYPO3\CMS\Core\DataHandling\DataHandler::getPlaceholderTitleForTableLabel (   $table,
  $placeholderContent = null 
)

Create a placeholder title for the label field that does match the field requirements

Parameters
string$tableThe table name
string$placeholderContentPlaceholder content to be used
Returns
string placeholder value

Definition at line 1415 of file DataHandler.php.

References $GLOBALS, TYPO3\CMS\Core\DataHandling\DataHandler\checkValue_input_Eval(), and TYPO3\CMS\Core\Utility\GeneralUtility\trimExplode().

Referenced by TYPO3\CMS\Core\DataHandling\DataHandler\getCheckModifyAccessListHookObjects(), and TYPO3\CMS\Version\Hook\DataHandlerHook\moveRecord_wsPlaceholders().

◆ getPreviousLocalizedRecordUid()

TYPO3\CMS\Core\DataHandling\DataHandler::getPreviousLocalizedRecordUid (   $table,
  $uid,
  $pid,
  $language 
)
protected

Returning uid of previous localized record, if any, for tables with a "sortby" column Used when new localized records are created so that localized records are sorted in the same order as the default language records

Parameters
string$tableTable name
int$uidUid of default language record
int$pidPid of default language record
int$languageLanguage of localization
Returns
int uid of record after which the localized record should be inserted

Definition at line 7100 of file DataHandler.php.

References $GLOBALS, $uid, TYPO3\CMS\Core\DataHandling\DataHandler\deleteClause(), TYPO3\CMS\Backend\Utility\BackendUtility\getRecord(), and TYPO3\CMS\Backend\Utility\BackendUtility\getRecordLocalization().

Referenced by TYPO3\CMS\Core\DataHandling\DataHandler\moveL10nOverlayRecords().

◆ getRecordProperties()

◆ getRecordPropertiesFromRow()

TYPO3\CMS\Core\DataHandling\DataHandler::getRecordPropertiesFromRow (   $table,
  $row 
)

◆ getRecordsWithSameValue()

TYPO3\CMS\Core\DataHandling\DataHandler::getRecordsWithSameValue (   $tableName,
  $uid,
  $fieldName,
  $value,
  $pageId = 0 
)

gets all records that have the same value in a field excluding the given uid

Parameters
string$tableNameTable name
int$uidUID to filter out in the lookup (the record itself...)
string$fieldNameField name for which $value must be unique
string$valueValue string.
int$pageIdIf set, the value will be unique for this PID
Returns
array

Definition at line 2779 of file DataHandler.php.

References $GLOBALS, $uid, and TYPO3\CMS\Backend\Utility\BackendUtility\getRecordsByField().

Referenced by TYPO3\CMS\Core\DataHandling\DataHandler\checkValue_check().

◆ getResourceFactory()

TYPO3\CMS\Core\DataHandling\DataHandler::getResourceFactory ( )
protected

◆ getRuntimeCache()

TYPO3\CMS\Core\DataHandling\DataHandler::getRuntimeCache ( )
protected

Gets an instance of the runtime cache.

Returns
VariableFrontend

Definition at line 8416 of file DataHandler.php.

References TYPO3\CMS\Core\DataHandling\DataHandler\getCacheManager().

Referenced by TYPO3\CMS\Core\DataHandling\DataHandler\__construct().

◆ getSortNumber()

TYPO3\CMS\Core\DataHandling\DataHandler::getSortNumber (   $table,
  $uid,
  $pid 
)

Returning sorting number for tables with a "sortby" column Using when new records are created and existing records are moved around.

Parameters
string$tableTable name
int$uidUid of record to find sorting number for. May be zero in case of new.
int$pidPositioning PID, either >=0 (pointing to page in which case we find sorting number for first record in page) or <0 (pointing to record in which case to find next sorting number after this record)
Returns
int|array|bool|NULL Returns integer if PID is >=0, otherwise an array with PID and sorting number. Possibly FALSE in case of error.

Definition at line 6969 of file DataHandler.php.

References $GLOBALS, TYPO3\CMS\Core\DataHandling\DataHandler\$sortIntervals, $uid, TYPO3\CMS\Core\DataHandling\DataHandler\deleteClause(), TYPO3\CMS\Backend\Utility\BackendUtility\getLiveVersionOfRecord(), TYPO3\CMS\Backend\Utility\BackendUtility\getMovePlaceholder(), TYPO3\CMS\Core\DataHandling\DataHandler\getRecordProperties(), TYPO3\CMS\Core\DataHandling\DataHandler\log(), and TYPO3\CMS\Core\DataHandling\DataHandler\resorting().

Referenced by TYPO3\CMS\Core\DataHandling\DataHandler\getCheckModifyAccessListHookObjects(), and TYPO3\CMS\Core\DataHandling\DataHandler\moveRecord_raw().

◆ getTableEntries()

TYPO3\CMS\Core\DataHandling\DataHandler::getTableEntries (   $table,
  $TSconfig 
)

Extract entries from TSconfig for a specific table. This will merge specific and default configuration together.

Parameters
string$tableTable name
array$TSconfigTSconfig for page
Returns
array TSconfig merged
See also
getTCEMAIN_TSconfig()

Definition at line 7448 of file DataHandler.php.

References TYPO3\CMS\Core\Utility\ArrayUtility\mergeRecursiveWithOverrule().

Referenced by TYPO3\CMS\Core\DataHandling\DataHandler\checkValue_flex_procInData_travDS().

◆ getTCEMAIN_TSconfig()

TYPO3\CMS\Core\DataHandling\DataHandler::getTCEMAIN_TSconfig (   $tscPID)

◆ getUnique()

TYPO3\CMS\Core\DataHandling\DataHandler::getUnique (   $table,
  $field,
  $value,
  $id,
  $newPid = 0 
)

Gets a unique value for $table/$id/$field based on $value

Parameters
string$tableTable name
string$fieldField name for which $value must be unique
string$valueValue string.
int$idUID to filter out in the lookup (the record itself...)
int$newPidIf set, the value will be unique for this PID
Returns
string Modified value (if not-unique). Will be the value appended with a number (until 100, then the function just breaks).

Definition at line 2735 of file DataHandler.php.

References $GLOBALS, and TYPO3\CMS\Core\DataHandling\DataHandler\deleteClause().

Referenced by TYPO3\CMS\Core\DataHandling\DataHandler\checkValueForInput(), and TYPO3\CMS\Core\DataHandling\DataHandler\fixUniqueInPid().

◆ getVersionizedIncomingFieldArray()

TYPO3\CMS\Core\DataHandling\DataHandler::getVersionizedIncomingFieldArray (   $table,
  $id,
$incomingFieldArray,
$registerDBList 
)

If a parent record was versionized on a workspace in $this->process_datamap, it might be possible, that child records (e.g. on using IRRE) were affected. This function finds these relations and updates their uids in the $incomingFieldArray. The $incomingFieldArray is updated by reference!

Parameters
string$tableTable name of the parent record
int$idUid of the parent record
array$incomingFieldArrayReference to the incomingFieldArray of process_datamap
array$registerDBListReference to the $registerDBList array that was created/updated by versionizing calls to TCEmain in process_datamap.
Returns
void

Definition at line 6215 of file DataHandler.php.

References $GLOBALS, TYPO3\CMS\Core\DataHandling\DataHandler\$registerDBList, TYPO3\CMS\Core\DataHandling\DataHandler\getCheckModifyAccessListHookObjects(), TYPO3\CMS\Core\Utility\GeneralUtility\inList(), and TYPO3\CMS\Core\DataHandling\DataHandler\tableAdminOnly().

Referenced by TYPO3\CMS\Core\DataHandling\DataHandler\getCheckModifyAccessListHookObjects().

◆ hasDeletedRecord()

TYPO3\CMS\Core\DataHandling\DataHandler::hasDeletedRecord (   $tableName,
  $uid 
)

Determines whether a particular record has been deleted using DataHandler::deleteRecord() in this instance.

Parameters
string$tableName
string$uid
Returns
bool

Definition at line 8289 of file DataHandler.php.

References $uid.

Referenced by TYPO3\CMS\Version\Hook\DataHandlerHook\versionizePages().

◆ hook_processDatamap_afterDatabaseOperations()

TYPO3\CMS\Core\DataHandling\DataHandler::hook_processDatamap_afterDatabaseOperations ( $hookObjectsArr,
$status,
$table,
$id,
$fieldArray 
)

Hook: processDatamap_afterDatabaseOperations (calls $hookObj->processDatamap_afterDatabaseOperations($status, $table, $id, $fieldArray, $this);)

Note: When using the hook after INSERT operations, you will only get the temporary NEW... id passed to your hook as $id, but you can easily translate it to the real uid of the inserted record using the $this->substNEWwithIDs array.

Parameters
array$hookObjectsArr(reference) Array with hook objects
string$status(reference) Status of the current operation, 'new' or 'update
string$table(reference) The table currently processing data for
string$id(reference) The record uid currently processing data for, [integer] or [string] (like 'NEW...')
array$fieldArray(reference) The field array of a record
Returns
void

Definition at line 915 of file DataHandler.php.

Referenced by TYPO3\CMS\Core\DataHandling\DataHandler\getCheckModifyAccessListHookObjects().

◆ insertDB()

TYPO3\CMS\Core\DataHandling\DataHandler::insertDB (   $table,
  $id,
  $fieldArray,
  $newVersion = false,
  $suggestedUid = 0,
  $dontSetNewIdIndex = false 
)

Insert into database Does not check permissions but expects them to be verified on beforehand

Parameters
string$tableRecord table name
string$id"NEW...." uid string
array$fieldArrayArray of field=>value pairs to insert. FIELDS MUST MATCH the database FIELDS. No check is done. "pid" must point to the destination of the record!
bool$newVersionSet to TRUE if new version is created.
int$suggestedUidSuggested UID value for the inserted record. See the array $this->suggestedInsertUids; Admin-only feature
bool$dontSetNewIdIndexIf TRUE, the ->substNEWwithIDs array is not updated. Only useful in very rare circumstances!
Returns
int|NULL Returns ID on success.

Definition at line 6811 of file DataHandler.php.

References $GLOBALS, TYPO3\CMS\Core\DataHandling\DataHandler\checkStoredRecord(), TYPO3\CMS\Core\DataHandling\DataHandler\getRecordProperties(), TYPO3\CMS\Core\DataHandling\DataHandler\getRecordPropertiesFromRow(), TYPO3\CMS\Core\DataHandling\DataHandler\insertUpdateDB_preprocessBasedOnFieldType(), TYPO3\CMS\Core\DataHandling\DataHandler\log(), and TYPO3\CMS\Core\DataHandling\DataHandler\registerRecordIdForPageCacheClearing().

Referenced by TYPO3\CMS\Core\DataHandling\DataHandler\getCheckModifyAccessListHookObjects(), TYPO3\CMS\Core\DataHandling\DataHandler\insertNewCopyVersion(), and TYPO3\CMS\Version\Hook\DataHandlerHook\moveRecord_wsPlaceholders().

◆ insertNewCopyVersion()

TYPO3\CMS\Core\DataHandling\DataHandler::insertNewCopyVersion (   $table,
  $fieldArray,
  $realPid 
)

Inserts a record in the database, passing TCA configuration values through checkValue() but otherwise does NOTHING and checks nothing regarding permissions. Passes the "version" parameter to insertDB() so the copy will look like a new version in the log - should probably be changed or modified a bit for more broad usage...

Parameters
string$tableTable name
array$fieldArrayField array to insert as a record
int$realPidThe value of PID field. -1 is indication that we are creating a new version!
Returns
int Returns the new ID of the record (if applicable)

Definition at line 3795 of file DataHandler.php.

References TYPO3\CMS\Core\DataHandling\DataHandler\$dontProcessTransformations, $GLOBALS, TYPO3\CMS\Core\DataHandling\DataHandler\$userid, TYPO3\CMS\Core\DataHandling\DataHandler\checkValue(), TYPO3\CMS\Core\Utility\StringUtility\getUniqueId(), and TYPO3\CMS\Core\DataHandling\DataHandler\insertDB().

Referenced by TYPO3\CMS\Core\DataHandling\DataHandler\copyRecord_raw().

◆ insertUpdateDB_preprocessBasedOnFieldType()

TYPO3\CMS\Core\DataHandling\DataHandler::insertUpdateDB_preprocessBasedOnFieldType (   $table,
  $fieldArray 
)

Preprocesses field array based on field type. Some fields must be adjusted before going to database. This is done on the copy of the field array because original values are used in remap action later.

Parameters
string$tableTable name
array$fieldArrayField array to check
Returns
array Updated field array

Definition at line 8264 of file DataHandler.php.

References $GLOBALS, TYPO3\CMS\Core\Utility\MathUtility\canBeInterpretedAsInteger(), and TYPO3\CMS\Core\Utility\GeneralUtility\trimExplode().

Referenced by TYPO3\CMS\Core\DataHandling\DataHandler\insertDB(), and TYPO3\CMS\Core\DataHandling\DataHandler\updateDB().

◆ int_pageTreeInfo()

TYPO3\CMS\Core\DataHandling\DataHandler::int_pageTreeInfo (   $CPtable,
  $pid,
  $counter,
  $rootID 
)

Returns array, $CPtable, of pages under the $pid going down to $counter levels. Selecting ONLY pages which the user has read-access to!

Parameters
array$CPtableAccumulation of page uid=>pid pairs in branch of $pid
int$pidPage ID for which to find subpages
int$counterNumber of levels to go down.
int$rootIDID of root point for new copied branch: The idea seems to be that a copy is not made of the already new page!
Returns
array Return array.

Definition at line 7513 of file DataHandler.php.

References TYPO3\CMS\Core\DataHandling\DataHandler\deleteClause().

Referenced by TYPO3\CMS\Core\DataHandling\DataHandler\copyPages(), and TYPO3\CMS\Version\Hook\DataHandlerHook\versionizePages().

◆ isElementToBeDeleted()

TYPO3\CMS\Core\DataHandling\DataHandler::isElementToBeDeleted (   $table,
  $id 
)
protected

Determines whether an element was registered to be deleted in the registry.

Parameters
string$tableName of the table
int$idUid of the record
Returns
bool
See also
registerElementsToBeDeleted
resetElementsToBeDeleted
copyRecord_raw
versionizeRecord

Definition at line 8472 of file DataHandler.php.

Referenced by TYPO3\CMS\Core\DataHandling\DataHandler\copyRecord_raw(), and TYPO3\CMS\Core\DataHandling\DataHandler\versionizeRecord().

◆ isInWebMount()

TYPO3\CMS\Core\DataHandling\DataHandler::isInWebMount (   $pid)

Checks if the input page ID is in the BE_USER webmounts

Parameters
int$pidPage ID to check
Returns
bool TRUE if OK. Cached results.

Definition at line 6283 of file DataHandler.php.

Referenced by TYPO3\CMS\Core\DataHandling\DataHandler\isRecordInWebMount().

◆ isNestedElementCallRegistered()

TYPO3\CMS\Core\DataHandling\DataHandler::isNestedElementCallRegistered (   $table,
  $id,
  $identifier 
)
protected

Determines nested element calls.

Parameters
string$tableName of the table
int$idUid of the record
string$identifierName of the action to be checked
Returns
bool

Definition at line 8429 of file DataHandler.php.

Referenced by TYPO3\CMS\Core\DataHandling\DataHandler\copyRecord_procBasedOnFieldType(), and TYPO3\CMS\Core\DataHandling\DataHandler\moveL10nOverlayRecords().

◆ isOuterMostInstance()

TYPO3\CMS\Core\DataHandling\DataHandler::isOuterMostInstance ( )

Determines whether the this object is the outer most instance of itself Since DataHandler can create nested objects of itself, this method helps to determine the first (= outer most) one.

Returns
bool

Definition at line 8406 of file DataHandler.php.

References TYPO3\CMS\Core\DataHandling\DataHandler\getOuterMostInstance().

Referenced by TYPO3\CMS\Core\DataHandling\DataHandler\checkValue_flex_procInData_travDS(), and TYPO3\CMS\Core\DataHandling\DataHandler\getCheckModifyAccessListHookObjects().

◆ isRecordCopied()

TYPO3\CMS\Core\DataHandling\DataHandler::isRecordCopied (   $table,
  $uid 
)

Determine if a record was copied or if a record is the result of a copy action.

Parameters
string$tableThe tablename of the record
int$uidThe uid of the record
Returns
bool Returns TRUE if the record is copied or is the result of a copy action

Definition at line 7859 of file DataHandler.php.

References $uid.

Referenced by TYPO3\CMS\Core\DataHandling\DataHandler\checkValue_flex_procInData_travDS(), TYPO3\CMS\Core\DataHandling\DataHandler\copyRecord_raw(), and TYPO3\CMS\Version\Hook\DataHandlerHook\moveRecord().

◆ isRecordInWebMount()

TYPO3\CMS\Core\DataHandling\DataHandler::isRecordInWebMount (   $table,
  $id 
)

Checking if a record with uid $id from $table is in the BE_USERS webmounts which is required for editing etc.

Parameters
string$tableTable name
int$idUID of record
Returns
bool Returns TRUE if OK. Cached results.

Definition at line 6268 of file DataHandler.php.

References TYPO3\CMS\Core\DataHandling\DataHandler\getRecordProperties(), and TYPO3\CMS\Core\DataHandling\DataHandler\isInWebMount().

Referenced by TYPO3\CMS\Core\DataHandling\DataHandler\doesRecordExist().

◆ isRecordUndeletable()

TYPO3\CMS\Core\DataHandling\DataHandler::isRecordUndeletable (   $table,
  $uid 
)

Determines whether a record can be undeleted.

Parameters
string$tableTable name of the record
int$uiduid of the record
Returns
bool Whether the record can be undeleted

Definition at line 5362 of file DataHandler.php.

References $uid, TYPO3\CMS\Backend\Utility\BackendUtility\getRecord(), and TYPO3\CMS\Core\DataHandling\DataHandler\log().

Referenced by TYPO3\CMS\Core\DataHandling\DataHandler\undeleteRecord().

◆ isReferenceField()

TYPO3\CMS\Core\DataHandling\DataHandler::isReferenceField (   $conf)

Returns TRUE if the TCA/columns field type is a DB reference field

Parameters
array$confConfig array for TCA/columns field
Returns
bool TRUE if DB reference field (group/db or select with foreign-table)

Definition at line 7683 of file DataHandler.php.

Referenced by TYPO3\CMS\Core\DataHandling\DataHandler\copyRecord_flexFormCallBack(), TYPO3\CMS\Core\DataHandling\DataHandler\copyRecord_procBasedOnFieldType(), TYPO3\CMS\Core\DataHandling\DataHandler\deleteRecord_procFields(), TYPO3\CMS\Core\DataHandling\DataHandler\remapListedDBRecords_flexFormCallBack(), and TYPO3\CMS\Core\DataHandling\DataHandler\versionizeRecord().

◆ isSubmittedValueEqualToStoredValue()

TYPO3\CMS\Core\DataHandling\DataHandler::isSubmittedValueEqualToStoredValue (   $submittedValue,
  $storedValue,
  $storedType,
  $allowNull = false 
)
protected

Determines whether submitted values and stored values are equal. This prevents from adding superfluous field changes which would be shown in the record history as well. For NULL fields (see accordant TCA definition 'eval' = 'null'), a special handling is required since (!strcmp(NULL, '')) would be a false-positive.

Parameters
mixed$submittedValueValue that has submitted (e.g. from a backend form)
mixed$storedValueValue that is currently stored in the database
string$storedTypeSQL type of the stored value column (see mysql_field_type(), e.g 'int', 'string', ...)
bool$allowNullWhether NULL values are allowed by accordant TCA definition ('eval' = 'null')
Returns
bool Whether both values are considered to be equal

Definition at line 7296 of file DataHandler.php.

Referenced by TYPO3\CMS\Core\DataHandling\DataHandler\compareFieldArrayWithCurrentAndUnset().

◆ isTableAllowedForThisPage()

TYPO3\CMS\Core\DataHandling\DataHandler::isTableAllowedForThisPage (   $page_uid,
  $checkTable 
)

Checks if a table is allowed on a certain page id according to allowed tables set for the page "doktype" and its [ctrl][rootLevel]-settings if any.

Parameters
int$page_uidPage id for which to check, including 0 (zero) if checking for page tree root.
string$checkTableTable name to check
Returns
bool TRUE if OK

Definition at line 6383 of file DataHandler.php.

References $GLOBALS, TYPO3\CMS\Backend\Utility\BackendUtility\isRootLevelRestrictionIgnored(), TYPO3\CMS\Core\DataHandling\DataHandler\pageInfo(), and TYPO3\CMS\Core\Utility\GeneralUtility\trimExplode().

Referenced by TYPO3\CMS\Core\DataHandling\DataHandler\checkRecordInsertAccess(), and TYPO3\CMS\Core\DataHandling\DataHandler\checkValue_flex_procInData_travDS().

◆ log()

TYPO3\CMS\Core\DataHandling\DataHandler::log (   $table,
  $recuid,
  $action,
  $recpid,
  $error,
  $details,
  $details_nr = -1,
  $data = [],
  $event_pid = -1,
  $NEWid = '' 
)

Logging actions from TCEmain

Parameters
string$tableTable name the log entry is concerned with. Blank if NA
int$recuidRecord UID. Zero if NA
int$actionAction number: 0=No category, 1=new record, 2=update record, 3= delete record, 4= move record, 5= Check/evaluate
int$recpidNormally 0 (zero). If set, it indicates that this log-entry is used to notify the backend of a record which is moved to another location
int$errorThe severity: 0 = message, 1 = error, 2 = System Error, 3 = security notice (admin)
string$detailsDefault error message in english
int$details_nrThis number is unique for every combination of $type and $action. This is the error-message number, which can later be used to translate error messages. 0 if not categorized, -1 if temporary
array$dataArray with special information that may go into $details by 's' marks / sprintf() when the log is shown
int$event_pidThe page_uid (pid) where the event occurred. Used to select log-content for specific pages.
string$NEWidNEW id for new records
Returns
int Log entry UID (0 if no log entry was written or logging is disabled)

Definition at line 8170 of file DataHandler.php.

Referenced by TYPO3\CMS\Core\DataHandling\DataHandler\applyFiltersToValues(), TYPO3\CMS\Core\DataHandling\DataHandler\checkRecordInsertAccess(), TYPO3\CMS\Core\DataHandling\DataHandler\checkStoredRecord(), TYPO3\CMS\Core\DataHandling\DataHandler\checkValue(), TYPO3\CMS\Core\DataHandling\DataHandler\checkValue_check(), TYPO3\CMS\Core\DataHandling\DataHandler\checkValue_flex_procInData_travDS(), TYPO3\CMS\Core\DataHandling\DataHandler\copyPages(), TYPO3\CMS\Core\DataHandling\DataHandler\copyRecord_raw(), TYPO3\CMS\Core\DataHandling\DataHandler\copySpecificPage(), TYPO3\CMS\Core\DataHandling\DataHandler\deleteRecord(), TYPO3\CMS\Core\DataHandling\DataHandler\extFileFunctions(), TYPO3\CMS\Core\DataHandling\DataHandler\getCheckModifyAccessListHookObjects(), TYPO3\CMS\Core\DataHandling\DataHandler\getSortNumber(), TYPO3\CMS\Core\DataHandling\DataHandler\insertDB(), TYPO3\CMS\Core\DataHandling\DataHandler\isRecordUndeletable(), TYPO3\CMS\Core\DataHandling\DataHandler\moveRecord(), TYPO3\CMS\Core\DataHandling\DataHandler\moveRecord_raw(), TYPO3\CMS\Core\DataHandling\DataHandler\newlog(), TYPO3\CMS\Core\DataHandling\DataHandler\newlog2(), TYPO3\CMS\Core\DataHandling\DataHandler\updateDB(), TYPO3\CMS\Version\Hook\DataHandlerHook\version_setStage(), and TYPO3\CMS\Version\Hook\DataHandlerHook\versionizePages().

◆ moveL10nOverlayRecords()

TYPO3\CMS\Core\DataHandling\DataHandler::moveL10nOverlayRecords (   $table,
  $uid,
  $destPid,
  $originalRecordDestinationPid 
)

Find l10n-overlay records and perform the requested move action for these records.

Parameters
string$tableRecord Table
string$uidRecord UID
string$destPidPosition to move to
string$originalRecordDestinationPidPosition to move the original record to
Returns
void

Definition at line 4541 of file DataHandler.php.

References TYPO3\CMS\Core\DataHandling\DataHandler\$enableLogging, $GLOBALS, TYPO3\CMS\Core\DataHandling\DataHandler\$overrideValues, $uid, TYPO3\CMS\Core\Utility\MathUtility\canBeInterpretedAsInteger(), TYPO3\CMS\Core\DataHandling\DataHandler\createRelationHandlerInstance(), TYPO3\CMS\Core\DataHandling\DataHandler\doesRecordExist(), TYPO3\CMS\Core\DataHandling\DataHandler\getAutoVersionId(), TYPO3\CMS\Core\DataHandling\DataHandler\getInlineFieldType(), TYPO3\CMS\Backend\Utility\BackendUtility\getInlineLocalizationMode(), TYPO3\CMS\Core\DataHandling\DataHandler\getLocalTCE(), TYPO3\CMS\Backend\Utility\BackendUtility\getOriginalTranslationTable(), TYPO3\CMS\Core\DataHandling\DataHandler\getPreviousLocalizedRecordUid(), TYPO3\CMS\Backend\Utility\BackendUtility\getRecord(), TYPO3\CMS\Backend\Utility\BackendUtility\getRecordLocalization(), TYPO3\CMS\Backend\Utility\BackendUtility\getRecordsByField(), TYPO3\CMS\Backend\Utility\BackendUtility\getRecordWSOL(), TYPO3\CMS\Core\DataHandling\DataHandler\getTCEMAIN_TSconfig(), TYPO3\CMS\Backend\Utility\BackendUtility\getTSCpid(), TYPO3\CMS\Core\DataHandling\DataHandler\isNestedElementCallRegistered(), TYPO3\CMS\Backend\Utility\BackendUtility\isTableLocalizable(), TYPO3\CMS\Core\Utility\GeneralUtility\makeInstance(), TYPO3\CMS\Core\DataHandling\DataHandler\moveRecord(), TYPO3\CMS\Core\DataHandling\DataHandler\newlog(), TYPO3\CMS\Core\DataHandling\DataHandler\newlog2(), TYPO3\CMS\Core\DataHandling\DataHandler\overlayAutoVersionId(), TYPO3\CMS\Core\DataHandling\DataHandler\registerNestedElementCall(), TYPO3\CMS\Core\DataHandling\DataHandler\triggerRemapAction(), TYPO3\CMS\Core\Utility\GeneralUtility\trimExplode(), TYPO3\CMS\Core\DataHandling\DataHandler\updateDB(), and TYPO3\CMS\Backend\Utility\BackendUtility\workspaceOL().

Referenced by TYPO3\CMS\Core\DataHandling\DataHandler\moveRecord_raw(), and TYPO3\CMS\Version\Hook\DataHandlerHook\moveRecord_wsPlaceholders().

◆ moveRecord()

◆ moveRecord_procBasedOnFieldType()

TYPO3\CMS\Core\DataHandling\DataHandler::moveRecord_procBasedOnFieldType (   $table,
  $uid,
  $destPid,
  $field,
  $value,
  $conf 
)

Move child records depending on the field type of the parent record.

Parameters
string$tableRecord Table
string$uidRecord UID
string$destPidPosition to move to
string$fieldRecord field
string$valueRecord field value
array$confTCA configuration of current field
Returns
void

Definition at line 4504 of file DataHandler.php.

References $uid, TYPO3\CMS\Core\DataHandling\DataHandler\createRelationHandlerInstance(), TYPO3\CMS\Core\DataHandling\DataHandler\getInlineFieldType(), and TYPO3\CMS\Core\DataHandling\DataHandler\moveRecord().

Referenced by TYPO3\CMS\Core\DataHandling\DataHandler\moveRecord_procFields().

◆ moveRecord_procFields()

TYPO3\CMS\Core\DataHandling\DataHandler::moveRecord_procFields (   $table,
  $uid,
  $destPid 
)

Walk through all fields of the moved record and look for children of e.g. the inline type. If child records are found, they are also move to the new $destPid.

Parameters
string$tableRecord Table
string$uidRecord UID
string$destPidPosition to move to
Returns
void

Definition at line 4482 of file DataHandler.php.

References $GLOBALS, $uid, TYPO3\CMS\Backend\Utility\BackendUtility\getRecordWSOL(), and TYPO3\CMS\Core\DataHandling\DataHandler\moveRecord_procBasedOnFieldType().

Referenced by TYPO3\CMS\Core\DataHandling\DataHandler\moveRecord_raw().

◆ moveRecord_raw()

◆ newFieldArray()

TYPO3\CMS\Core\DataHandling\DataHandler::newFieldArray (   $table)

Returns a fieldArray with default values. Values will be picked up from the TCA array looking at the config key "default" for each column. If values are set in ->defaultValues they will overrule though. Used for new records and during copy operations for defaults

Parameters
string$tableTable name for which to set default values.
Returns
array Array with default values.

Definition at line 7168 of file DataHandler.php.

References $GLOBALS, TYPO3\CMS\Core\DataHandling\DataHandler\$userid, and TYPO3\CMS\Core\DataHandling\DataHandler\assemblePermissions().

Referenced by TYPO3\CMS\Core\DataHandling\DataHandler\checkValue_flex_procInData_travDS(), and TYPO3\CMS\Core\DataHandling\DataHandler\getCheckModifyAccessListHookObjects().

◆ newlog()

◆ newlog2()

TYPO3\CMS\Core\DataHandling\DataHandler::newlog2 (   $message,
  $table,
  $uid,
  $pid = null,
  $error = 0 
)

Simple logging function meant to bridge the gap between newlog() and log() with a little more info, in particular the record table/uid and event_pid so we can filter messages per page.

Parameters
string$messageMessage string
string$tableTable name
int$uidRecord uid
int$pidRecord PID (from page tree). Will be turned into an event_pid internally in function: Meaning that the PID for a page will be its own UID, not its page tree PID.
int$errorError code, see log()
Returns
int Log entry UID
See also
log()

Definition at line 8214 of file DataHandler.php.

References $GLOBALS, $uid, TYPO3\CMS\Core\Utility\GeneralUtility\deprecationLog(), TYPO3\CMS\Core\Messaging\AbstractMessage\ERROR, TYPO3\CMS\Core\DataHandling\DataHandler\eventPid(), TYPO3\CMS\Core\DataHandling\DataHandler\getRecordProperties(), TYPO3\CMS\Core\DataHandling\DataHandler\log(), and TYPO3\CMS\Core\Utility\GeneralUtility\makeInstance().

Referenced by TYPO3\CMS\Core\DataHandling\DataHandler\deleteRecord(), TYPO3\CMS\Core\DataHandling\DataHandler\moveL10nOverlayRecords(), TYPO3\CMS\Version\Hook\DataHandlerHook\moveRecord_processFieldValue(), TYPO3\CMS\Core\DataHandling\DataHandler\placeholderShadowing(), TYPO3\CMS\Version\Hook\DataHandlerHook\version_setStage(), and TYPO3\CMS\Version\Hook\DataHandlerHook\versionizePages().

◆ noRecordsFromUnallowedTables()

TYPO3\CMS\Core\DataHandling\DataHandler::noRecordsFromUnallowedTables (   $inList)

Used by the deleteFunctions to check if there are records from disallowed tables under the pages to be deleted.

Parameters
string$inListList of page integers
Returns
bool Return TRUE, if permission granted

Definition at line 7838 of file DataHandler.php.

References $GLOBALS, TYPO3\CMS\Backend\Utility\BackendUtility\deleteClause(), TYPO3\CMS\Core\DataHandling\DataHandler\rmComma(), and TYPO3\CMS\Core\DataHandling\DataHandler\tableReadOnly().

Referenced by TYPO3\CMS\Core\DataHandling\DataHandler\canDeletePage().

◆ overlayAutoVersionId()

TYPO3\CMS\Core\DataHandling\DataHandler::overlayAutoVersionId (   $table,
  $id 
)
protected

Overlays the automatically versionized id of a record.

Parameters
string$tableName of the table
int$idUid of the record
Returns
int

Definition at line 8320 of file DataHandler.php.

References TYPO3\CMS\Core\DataHandling\DataHandler\getAutoVersionId().

Referenced by TYPO3\CMS\Core\DataHandling\DataHandler\moveL10nOverlayRecords().

◆ overrideFieldArray()

TYPO3\CMS\Core\DataHandling\DataHandler::overrideFieldArray (   $table,
  $data 
)

Returns the $data array from $table overridden in the fields defined in ->overrideValues.

Parameters
string$tableTable name
array$dataData array with fields from table. These will be overlaid with values in $this->overrideValues[$table]
Returns
array Data array, processed.

Definition at line 7222 of file DataHandler.php.

◆ pageInfo()

TYPO3\CMS\Core\DataHandling\DataHandler::pageInfo (   $id,
  $field 
)

Returns the value of the $field from page $id NOTICE; the function caches the result for faster delivery next time. You can use this function repeatedly without performance loss since it doesn't look up the same record twice!

Parameters
int$idPage uid
string$fieldField name for which to return value
Returns
string Value of the field. Result is cached in $this->pageCache[$id][$field] and returned from there next time!

Definition at line 6663 of file DataHandler.php.

Referenced by TYPO3\CMS\Core\DataHandling\DataHandler\fillInFieldArray(), and TYPO3\CMS\Core\DataHandling\DataHandler\isTableAllowedForThisPage().

◆ placeholderShadowing()

TYPO3\CMS\Core\DataHandling\DataHandler::placeholderShadowing (   $table,
  $id 
)

◆ prepareCacheFlush()

TYPO3\CMS\Core\DataHandling\DataHandler::prepareCacheFlush (   $table,
  $uid,
  $pid 
)
protected

Prepare the cache clearing

Parameters
string$tableTable name of record that needs to be cleared
int$uidUID of record for which the cache needs to be cleared
int$pidOriginal pid of the page of the record which the cache needs to be cleared
Returns
array Array with tagsToClear and clearCacheCommands

Definition at line 7955 of file DataHandler.php.

References $GLOBALS, $uid, TYPO3\CMS\Core\Utility\GeneralUtility\callUserFunction(), TYPO3\CMS\Core\DataHandling\DataHandler\getPID(), TYPO3\CMS\Core\DataHandling\DataHandler\getTCEMAIN_TSconfig(), and TYPO3\CMS\Core\Utility\GeneralUtility\trimExplode().

Referenced by TYPO3\CMS\Core\DataHandling\DataHandler\registerRecordIdForPageCacheClearing().

◆ prependLabel()

TYPO3\CMS\Core\DataHandling\DataHandler::prependLabel (   $table)

Return "copy" label for a table. Although the name is "prepend" it actually APPENDs the label (after ...)

Parameters
string$tableTable name
Returns
string Label to append, containing "%s" for the number
See also
getCopyHeader()

Definition at line 7749 of file DataHandler.php.

References $GLOBALS.

Referenced by TYPO3\CMS\Core\DataHandling\DataHandler\clearPrefixFromValue(), and TYPO3\CMS\Core\DataHandling\DataHandler\getCopyHeader().

◆ process_uploads()

TYPO3\CMS\Core\DataHandling\DataHandler::process_uploads (   $postFiles)

Processing of uploaded files. It turns out that some versions of PHP arranges submitted data for files different if sent in an array. This function will unify this so the internal array $this->uploadedFileArray will always contain files arranged in the same structure.

Parameters
array$postFiles$_FILES array
Returns
void

Definition at line 847 of file DataHandler.php.

References TYPO3\CMS\Core\DataHandling\DataHandler\newlog(), and TYPO3\CMS\Core\DataHandling\DataHandler\process_uploads_traverseArray().

◆ process_uploads_traverseArray()

TYPO3\CMS\Core\DataHandling\DataHandler::process_uploads_traverseArray ( $outputArr,
  $inputArr,
  $keyToSet 
)

Traverse the upload array if needed to rearrange values.

Parameters
array$outputArr$this->uploadedFileArray passed by reference
array$inputArrInput array ($_FILES parts)
string$keyToSetThe current $_FILES array key to set on the outermost level.
Returns
void private
See also
process_uploads()

Definition at line 885 of file DataHandler.php.

Referenced by TYPO3\CMS\Core\DataHandling\DataHandler\process_uploads().

◆ processRemapStack()

TYPO3\CMS\Core\DataHandling\DataHandler::processRemapStack ( )

◆ recordInfo()

TYPO3\CMS\Core\DataHandling\DataHandler::recordInfo (   $table,
  $id,
  $fieldList 
)

Returns the row of a record given by $table and $id and $fieldList (list of fields, may be '*') NOTICE: No check for deleted or access!

Parameters
string$tableTable name
int$idUID of the record from $table
string$fieldListField list for the SELECT query, eg. "*" or "uid,pid,...
Returns
NULL|array Returns the selected record on success, otherwise NULL.

Definition at line 6684 of file DataHandler.php.

References $GLOBALS.

Referenced by TYPO3\CMS\Core\DataHandling\DataHandler\checkValue(), TYPO3\CMS\Core\DataHandling\DataHandler\copyRecord_raw(), TYPO3\CMS\Core\DataHandling\DataHandler\fillInFieldArray(), TYPO3\CMS\Core\DataHandling\DataHandler\fixCopyAfterDuplFields(), TYPO3\CMS\Core\DataHandling\DataHandler\fixUniqueInPid(), TYPO3\CMS\Core\DataHandling\DataHandler\getCheckModifyAccessListHookObjects(), TYPO3\CMS\Core\DataHandling\DataHandler\getRecordProperties(), TYPO3\CMS\Core\DataHandling\DataHandler\remapListedDBRecords(), TYPO3\CMS\Core\DataHandling\DataHandler\updateFlexFormData(), and TYPO3\CMS\Core\DataHandling\DataHandler\versionizeRecord().

◆ registerElementsToBeDeleted()

TYPO3\CMS\Core\DataHandling\DataHandler::registerElementsToBeDeleted ( )
protected

Registers elements to be deleted in the registry.

Returns
void
See also
process_datamap

Definition at line 8484 of file DataHandler.php.

References TYPO3\CMS\Core\DataHandling\DataHandler\getCommandMapElements().

Referenced by TYPO3\CMS\Core\DataHandling\DataHandler\getCheckModifyAccessListHookObjects().

◆ registerNestedElementCall()

TYPO3\CMS\Core\DataHandling\DataHandler::registerNestedElementCall (   $table,
  $id,
  $identifier 
)
protected

Registers nested elements calls. This is used to track nested calls (e.g. for following m:n relations).

Parameters
string$tableName of the table
int$idUid of the record
string$identifierName of the action to be tracked
Returns
void

Definition at line 8444 of file DataHandler.php.

Referenced by TYPO3\CMS\Core\DataHandling\DataHandler\moveL10nOverlayRecords().

◆ registerRecordIdForPageCacheClearing()

TYPO3\CMS\Core\DataHandling\DataHandler::registerRecordIdForPageCacheClearing (   $table,
  $uid,
  $pid = null 
)

Clearing the cache based on a page being updated If the $table is 'pages' then cache is cleared for all pages on the same level (and subsequent?) Else just clear the cache for the parent page of the record.

Parameters
string$tableTable name of record that was just updated.
int$uidUID of updated / inserted record
int$pidREAL PID of page of a deleted/moved record to get TSconfig in ClearCache.
Returns
void

Definition at line 7887 of file DataHandler.php.

References $GLOBALS, $uid, TYPO3\CMS\Core\DataHandling\DataHandler\clear_cacheCmd(), TYPO3\CMS\Core\DataHandling\DataHandler\getCacheManager(), TYPO3\CMS\Core\DataHandling\DataHandler\getOriginalParentOfRecord(), and TYPO3\CMS\Core\DataHandling\DataHandler\prepareCacheFlush().

Referenced by TYPO3\CMS\Core\DataHandling\DataHandler\deleteRecord(), TYPO3\CMS\Core\DataHandling\DataHandler\insertDB(), TYPO3\CMS\Core\DataHandling\DataHandler\moveRecord_raw(), TYPO3\CMS\Core\DataHandling\DataHandler\updateDB(), and TYPO3\CMS\Version\Hook\DataHandlerHook\versionizePages().

◆ remapListedDBRecords()

◆ remapListedDBRecords_flexFormCallBack()

TYPO3\CMS\Core\DataHandling\DataHandler::remapListedDBRecords_flexFormCallBack (   $pParams,
  $dsConf,
  $dataValue,
  $dataValue_ext1,
  $dataValue_ext2 
)

Callback function for traversing the FlexForm structure in relation to creating copied files of file relations inside of flex form structures.

Parameters
array$pParamsSet of parameters in numeric array: table, uid, field
array$dsConfTCA config for field (from Data Structure of course)
string$dataValueField value (from FlexForm XML)
string$dataValue_ext1Not used
string$dataValue_ext2Not used
Returns
array Array where the "value" key carries the value.
See also
checkValue_flex_procInData_travDS(), remapListedDBRecords()

Definition at line 5813 of file DataHandler.php.

References $uid, TYPO3\CMS\Core\DataHandling\DataHandler\isReferenceField(), and TYPO3\CMS\Core\DataHandling\DataHandler\remapListedDBRecords_procDBRefs().

◆ remapListedDBRecords_procDBRefs()

TYPO3\CMS\Core\DataHandling\DataHandler::remapListedDBRecords_procDBRefs (   $conf,
  $value,
  $MM_localUid,
  $table 
)

Performs remapping of old UID values to NEW uid values for a DB reference field.

Parameters
array$confTCA field config
string$valueField value
int$MM_localUidUID of local record (for MM relations - might need to change if support for FlexForms should be done!)
string$tableTable name
Returns
array|NULL Returns array of items ready to implode for field content.
See also
remapListedDBRecords()

Definition at line 5838 of file DataHandler.php.

References $uid, TYPO3\CMS\Core\DataHandling\DataHandler\createRelationHandlerInstance(), TYPO3\CMS\Core\DataHandling\DataHandler\getAutoVersionId(), TYPO3\CMS\Core\DataHandling\DataHandler\getInlineFieldType(), TYPO3\CMS\Backend\Utility\BackendUtility\getLiveVersionIdOfRecord(), and TYPO3\CMS\Core\Utility\GeneralUtility\trimExplode().

Referenced by TYPO3\CMS\Core\DataHandling\DataHandler\remapListedDBRecords(), and TYPO3\CMS\Core\DataHandling\DataHandler\remapListedDBRecords_flexFormCallBack().

◆ removeRegisteredFiles()

TYPO3\CMS\Core\DataHandling\DataHandler::removeRegisteredFiles ( )

Removing files registered for removal before exit

Returns
void

Definition at line 7493 of file DataHandler.php.

References TYPO3\CMS\Core\DataHandling\DataHandler\getResourceFactory().

Referenced by TYPO3\CMS\Core\DataHandling\DataHandler\getCheckModifyAccessListHookObjects().

◆ resetElementsToBeDeleted()

TYPO3\CMS\Core\DataHandling\DataHandler::resetElementsToBeDeleted ( )
protected

Resets the elements to be deleted in the registry.

Returns
void
See also
process_datamap

Definition at line 8496 of file DataHandler.php.

Referenced by TYPO3\CMS\Core\DataHandling\DataHandler\getCheckModifyAccessListHookObjects().

◆ resetNestedElementCalls()

TYPO3\CMS\Core\DataHandling\DataHandler::resetNestedElementCalls ( )
protected

Resets the nested element calls.

Returns
void

Definition at line 8456 of file DataHandler.php.

Referenced by TYPO3\CMS\Core\DataHandling\DataHandler\checkValue_flex_procInData_travDS().

◆ resolvePid()

TYPO3\CMS\Core\DataHandling\DataHandler::resolvePid (   $table,
  $pid 
)

Get the final pid based on $table and $pid ($destPid type... pos/neg)

Parameters
string$tableTable name
int$pid"Destination pid" : If the value is >= 0 it's just returned directly (through (int)though) but if the value is <0 then the method looks up the record with the uid equal to abs($pid) (positive number) and returns the PID of that record! The idea is that negative numbers point to the record AFTER WHICH the position is supposed to be!
Returns
int

Definition at line 7766 of file DataHandler.php.

References TYPO3\CMS\Backend\Utility\BackendUtility\getLiveVersionOfRecord().

Referenced by TYPO3\CMS\Core\DataHandling\DataHandler\checkValue_flex_procInData_travDS(), TYPO3\CMS\Core\DataHandling\DataHandler\moveRecord(), and TYPO3\CMS\Core\DataHandling\DataHandler\moveRecord_raw().

◆ resorting()

TYPO3\CMS\Core\DataHandling\DataHandler::resorting (   $table,
  $pid,
  $sortRow,
  $return_SortNumber_After_This_Uid 
)

Resorts a table. Used internally by getSortNumber()

Parameters
string$tableTable name
int$pidPid in which to resort records.
string$sortRowSorting row
int$return_SortNumber_After_This_UidUid of record from $table in this $pid and for which the return value will be set to a free sorting number after that record. This is used to return a sortingValue if the list is resorted because of inserting records inside the list and not in the top
Returns
int|NULL If $return_SortNumber_After_This_Uid is set, will contain usable sorting number after that record if found (otherwise 0) private
See also
getSortNumber()

Definition at line 7063 of file DataHandler.php.

References $GLOBALS, TYPO3\CMS\Core\DataHandling\DataHandler\$sortIntervals, $uid, and TYPO3\CMS\Core\DataHandling\DataHandler\deleteClause().

Referenced by TYPO3\CMS\Core\DataHandling\DataHandler\getSortNumber().

◆ rmComma()

TYPO3\CMS\Core\DataHandling\DataHandler::rmComma (   $input)

Returns the $input string without a comma in the end

Parameters
string$inputInput string
Returns
string Output string with any comma in the end removed, if any.

Definition at line 7343 of file DataHandler.php.

Referenced by TYPO3\CMS\Core\DataHandling\DataHandler\noRecordsFromUnallowedTables().

◆ setControl()

TYPO3\CMS\Core\DataHandling\DataHandler::setControl ( array  $control)
Parameters
array$control

Definition at line 729 of file DataHandler.php.

References TYPO3\CMS\Core\DataHandling\DataHandler\$control.

◆ setDefaultsFromUserTS()

TYPO3\CMS\Core\DataHandling\DataHandler::setDefaultsFromUserTS (   $userTS)

Initializes default values coming from User TSconfig

Parameters
array$userTSUser TSconfig array
Returns
void

Definition at line 820 of file DataHandler.php.

References $GLOBALS.

◆ setHistory()

TYPO3\CMS\Core\DataHandling\DataHandler::setHistory (   $table,
  $id,
  $logId 
)

Setting sys_history record, based on content previously set in $this->historyRecords[$table . ':' . $id] (by compareFieldArrayWithCurrentAndUnset())

Parameters
string$tableTable name
int$idRecord ID
int$logIdLog entry ID, important for linking between log and history views
Returns
void

Definition at line 6923 of file DataHandler.php.

References $GLOBALS, TYPO3\CMS\Backend\Utility\BackendUtility\isTableWorkspaceEnabled(), and TYPO3\CMS\Core\Utility\GeneralUtility\makeInstance().

Referenced by TYPO3\CMS\Core\DataHandling\DataHandler\updateDB(), and TYPO3\CMS\Version\Hook\DataHandlerHook\versionizePages().

◆ setMirror()

TYPO3\CMS\Core\DataHandling\DataHandler::setMirror (   $mirror)

Function that can mirror input values in datamap-array to other uid numbers. Example: $mirror[table][11] = '22,33' will look for content in $this->datamap[table][11] and copy it to $this->datamap[table][22] and $this->datamap[table][33]

Parameters
array$mirrorThis array has the syntax $mirror[table_name][uid] = [list of uids to copy data-value TO!]
Returns
void

Definition at line 790 of file DataHandler.php.

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

◆ setNullValues()

TYPO3\CMS\Core\DataHandling\DataHandler::setNullValues ( array  $active,
array &  $haystack 
)
protected

Sets NULL values in haystack array. The general behaviour in the user interface is to enable/activate fields. Thus, this method uses NULL as value to be stored if a field is not active.

Parameters
array$activehierarchical array with active elements
array$haystackhierarchical array with haystack to be modified
Returns
void

Definition at line 8565 of file DataHandler.php.

Referenced by TYPO3\CMS\Core\DataHandling\DataHandler\controlActiveElements().

◆ setTSconfigPermissions()

TYPO3\CMS\Core\DataHandling\DataHandler::setTSconfigPermissions (   $fieldArray,
  $TSConfig_p 
)

Setting up perms_* fields in $fieldArray based on TSconfig input Used for new pages

Parameters
array$fieldArrayField Array, returned with modifications
array$TSConfig_pTSconfig properties
Returns
array Modified Field Array

Definition at line 7141 of file DataHandler.php.

References TYPO3\CMS\Core\DataHandling\DataHandler\assemblePermissions(), and TYPO3\CMS\Core\Utility\MathUtility\canBeInterpretedAsInteger().

◆ start()

TYPO3\CMS\Core\DataHandling\DataHandler::start (   $data,
  $cmd,
  $altUserObject = null 
)

Initializing. For details, see 'TYPO3 Core API' document. This function does not start the processing of data, but merely initializes the object

Parameters
array$dataData to be modified or inserted in the database
array$cmdCommands to copy, move, delete, localize, versionize records.
BackendUserAuthentication | NULL$altUserObjectAn alternative userobject you can set instead of the default, which is $GLOBALS['BE_USER']
Returns
void

Definition at line 744 of file DataHandler.php.

References TYPO3\CMS\Core\DataHandling\DataHandler\$defaultPermissions, $GLOBALS, and TYPO3\CMS\Core\DataHandling\DataHandler\getExcludeListArray().

◆ tableAdminOnly()

TYPO3\CMS\Core\DataHandling\DataHandler::tableAdminOnly (   $table)

Checks if the $table is only editable by admin-users

Parameters
string$tableTable name
Returns
bool TRUE, if readonly

Definition at line 6554 of file DataHandler.php.

References $GLOBALS.

Referenced by TYPO3\CMS\Core\DataHandling\DataHandler\getVersionizedIncomingFieldArray().

◆ tableReadOnly()

TYPO3\CMS\Core\DataHandling\DataHandler::tableReadOnly (   $table)

◆ transformRichtextContentToDatabase()

TYPO3\CMS\Core\DataHandling\DataHandler::transformRichtextContentToDatabase (   $value,
  $table,
  $field,
  $defaultExtras,
  $thisConfig,
  $pid 
)
protected

Performs transformation of content from richtext element to database.

Parameters
string$valueValue to transform.
string$tableThe table name
string$fieldThe field name
array$defaultExtrasDefault extras configuration of this field - typically "richtext:rte_transform[mode=ts_css]"
array$thisConfigConfiguration for RTEs; A mix between TSconfig and others. Configuration for additional transformation information
int$pidPID value of record (true parent page id)
Returns
string Transformed content

Definition at line 1612 of file DataHandler.php.

References TYPO3\CMS\Backend\Utility\BackendUtility\getSpecConfParametersFromArray(), and TYPO3\CMS\Core\Utility\GeneralUtility\makeInstance().

Referenced by TYPO3\CMS\Core\DataHandling\DataHandler\checkValue_flex_procInData_travDS(), and TYPO3\CMS\Core\DataHandling\DataHandler\fillInFieldArray().

◆ triggerRemapAction()

TYPO3\CMS\Core\DataHandling\DataHandler::triggerRemapAction (   $table,
  $id,
array  $callback,
array  $arguments,
  $forceRemapStackActions = false 
)
protected

Triggers a remap action for a specific record.

Some records are post-processed by the processRemapStack() method (e.g. IRRE children). This method determines whether an action/modification is executed directly to a record or is postponed to happen after remapping data.

Parameters
string$tableName of the table
string$idId of the record (can also be a "NEW..." string)
array$callbackThe method to be called
array$argumentsThe arguments to be submitted to the callback method
bool$forceRemapStackActionsWhether to force to use the stack
Returns
void
See also
processRemapStack

Definition at line 6160 of file DataHandler.php.

References TYPO3\CMS\Core\DataHandling\DataHandler\addRemapAction().

Referenced by TYPO3\CMS\Core\DataHandling\DataHandler\getCheckModifyAccessListHookObjects(), and TYPO3\CMS\Core\DataHandling\DataHandler\moveL10nOverlayRecords().

◆ undeleteRecord()

TYPO3\CMS\Core\DataHandling\DataHandler::undeleteRecord (   $table,
  $uid 
)

◆ unsetElementsToBeDeleted()

TYPO3\CMS\Core\DataHandling\DataHandler::unsetElementsToBeDeleted ( array  $elements)
protected

Unsets elements (e.g. of the data map) that shall be deleted. This avoids to modify records that will be deleted later on.

Parameters
array$elementsElements to be modified
Returns
array

Definition at line 8508 of file DataHandler.php.

References TYPO3\CMS\Core\Utility\ArrayUtility\arrayDiffAssocRecursive(), and TYPO3\CMS\Core\DataHandling\DataHandler\getCommandMapElements().

Referenced by TYPO3\CMS\Core\DataHandling\DataHandler\getCheckModifyAccessListHookObjects().

◆ updateDB()

◆ updateFlexFormData()

TYPO3\CMS\Core\DataHandling\DataHandler::updateFlexFormData (   $flexFormId,
array  $modifications 
)
protected

◆ version_remapMMForVersionSwap_execSwap()

TYPO3\CMS\Core\DataHandling\DataHandler::version_remapMMForVersionSwap_execSwap (   $table,
  $id,
  $swapWith 
)

Performing the remapping operations found necessary in version_remapMMForVersionSwap() It must be done in three steps with an intermediate "fake" uid. The UID can be something else than -$id (fx. 9999999+$id if you dare... :-)- as long as it is unique.

Parameters
string$tableTable for the two input records
int$idCurrent record (about to go offline)
int$swapWithSwap record (about to go online)
Returns
void
See also
version_remapMMForVersionSwap()

Definition at line 5696 of file DataHandler.php.

Referenced by TYPO3\CMS\Core\DataHandling\DataHandler\versionizeRecord().

◆ versionizeRecord()

TYPO3\CMS\Core\DataHandling\DataHandler::versionizeRecord (   $table,
  $id,
  $label,
  $delete = false 
)

Creates a new version of a record (Requires support in the table)

Parameters
string$tableTable name
int$idRecord uid to versionize
string$labelVersion label
bool$deleteIf TRUE, the version is created to delete the record.
Returns
int|NULL Returns the id of the new version (if any)
See also
copyRecord()

Definition at line 5505 of file DataHandler.php.

References $GLOBALS, $uid, TYPO3\CMS\Core\DataHandling\DataHandler\cannotDeleteRecord(), TYPO3\CMS\Core\Type\Enumeration\cast(), TYPO3\CMS\Core\DataHandling\DataHandler\checkValue_flex_procInData(), TYPO3\CMS\Core\DataHandling\DataHandler\copyRecord_raw(), TYPO3\CMS\Core\DataHandling\DataHandler\createRelationHandlerInstance(), TYPO3\CMS\Core\Versioning\VersionState\DEFAULT_STATE, TYPO3\CMS\Core\Versioning\VersionState\DELETE_PLACEHOLDER, TYPO3\CMS\Core\DataHandling\DataHandler\deleteClause(), TYPO3\CMS\Core\DataHandling\DataHandler\doesRecordExist(), TYPO3\CMS\Backend\Utility\BackendUtility\getFlexFormDS(), TYPO3\CMS\Backend\Utility\BackendUtility\getRecord(), TYPO3\CMS\Backend\Utility\BackendUtility\getWorkspaceVersionOfRecord(), TYPO3\CMS\Core\DataHandling\DataHandler\isElementToBeDeleted(), TYPO3\CMS\Core\DataHandling\DataHandler\isReferenceField(), TYPO3\CMS\Core\Versioning\VersionState\MOVE_PLACEHOLDER, TYPO3\CMS\Core\DataHandling\DataHandler\newlog(), TYPO3\CMS\Core\DataHandling\DataHandler\recordInfo(), TYPO3\CMS\Core\DataHandling\DataHandler\version_remapMMForVersionSwap_execSwap(), and TYPO3\CMS\Core\Utility\GeneralUtility\xml2array().

Referenced by TYPO3\CMS\Core\DataHandling\DataHandler\copyRecord_procBasedOnFieldType(), TYPO3\CMS\Version\Hook\DataHandlerHook\moveRecord(), TYPO3\CMS\Version\Hook\DataHandlerHook\processCmdmap(), TYPO3\CMS\Version\Hook\DataHandlerHook\processCmdmap_deleteAction(), and TYPO3\CMS\Version\Hook\DataHandlerHook\versionizePages().

Member Data Documentation

◆ $admin

TYPO3\CMS\Core\DataHandling\DataHandler::$admin

Definition at line 390 of file DataHandler.php.

◆ $alternativeFileName

TYPO3\CMS\Core\DataHandling\DataHandler::$alternativeFileName = []

Definition at line 241 of file DataHandler.php.

◆ $alternativeFilePath

TYPO3\CMS\Core\DataHandling\DataHandler::$alternativeFilePath = []

Definition at line 248 of file DataHandler.php.

◆ $autoVersionIdMap

TYPO3\CMS\Core\DataHandling\DataHandler::$autoVersionIdMap = []

Definition at line 286 of file DataHandler.php.

◆ $autoVersioningUpdate

TYPO3\CMS\Core\DataHandling\DataHandler::$autoVersioningUpdate = false

Definition at line 654 of file DataHandler.php.

◆ $BE_USER

TYPO3\CMS\Core\DataHandling\DataHandler::$BE_USER

Definition at line 369 of file DataHandler.php.

◆ $bypassAccessCheckForRecords

TYPO3\CMS\Core\DataHandling\DataHandler::$bypassAccessCheckForRecords = false

Definition at line 196 of file DataHandler.php.

◆ $bypassFileHandling

TYPO3\CMS\Core\DataHandling\DataHandler::$bypassFileHandling = false

Definition at line 188 of file DataHandler.php.

◆ $bypassWorkspaceRestrictions

TYPO3\CMS\Core\DataHandling\DataHandler::$bypassWorkspaceRestrictions = false

Definition at line 180 of file DataHandler.php.

◆ $cachedTSconfig

TYPO3\CMS\Core\DataHandling\DataHandler::$cachedTSconfig = []

◆ $cachePrefixNestedElementCalls

TYPO3\CMS\Core\DataHandling\DataHandler::$cachePrefixNestedElementCalls = 'core-datahandler-nestedElementCalls-'
protected

Definition at line 715 of file DataHandler.php.

◆ $callBackObj

TYPO3\CMS\Core\DataHandling\DataHandler::$callBackObj

Definition at line 276 of file DataHandler.php.

◆ $callFromImpExp

TYPO3\CMS\Core\DataHandling\DataHandler::$callFromImpExp = false

Definition at line 624 of file DataHandler.php.

◆ $checkModifyAccessListHookObjects

TYPO3\CMS\Core\DataHandling\DataHandler::$checkModifyAccessListHookObjects
protected

◆ $checkSimilar

TYPO3\CMS\Core\DataHandling\DataHandler::$checkSimilar = true

Definition at line 85 of file DataHandler.php.

◆ $checkStoredRecords

TYPO3\CMS\Core\DataHandling\DataHandler::$checkStoredRecords = true

Definition at line 102 of file DataHandler.php.

◆ $checkStoredRecords_loose

TYPO3\CMS\Core\DataHandling\DataHandler::$checkStoredRecords_loose = true

Definition at line 109 of file DataHandler.php.

◆ $checkValue_currentRecord

TYPO3\CMS\Core\DataHandling\DataHandler::$checkValue_currentRecord = []

Definition at line 647 of file DataHandler.php.

◆ $checkWorkspaceCache

TYPO3\CMS\Core\DataHandling\DataHandler::$checkWorkspaceCache = []

Definition at line 525 of file DataHandler.php.

◆ $clear_flexFormData_vDEFbase

TYPO3\CMS\Core\DataHandling\DataHandler::$clear_flexFormData_vDEFbase = false

Definition at line 146 of file DataHandler.php.

◆ $cmdmap

TYPO3\CMS\Core\DataHandling\DataHandler::$cmdmap = []

Definition at line 436 of file DataHandler.php.

◆ $control

TYPO3\CMS\Core\DataHandling\DataHandler::$control = []
protected

Definition at line 422 of file DataHandler.php.

Referenced by TYPO3\CMS\Core\DataHandling\DataHandler\setControl().

◆ $copiedFileMap

TYPO3\CMS\Core\DataHandling\DataHandler::$copiedFileMap = []

Definition at line 328 of file DataHandler.php.

◆ $copyMappingArray

TYPO3\CMS\Core\DataHandling\DataHandler::$copyMappingArray = []

Definition at line 573 of file DataHandler.php.

◆ $copyMappingArray_merged

TYPO3\CMS\Core\DataHandling\DataHandler::$copyMappingArray_merged = []

Definition at line 314 of file DataHandler.php.

◆ $copyTree

TYPO3\CMS\Core\DataHandling\DataHandler::$copyTree = 0

◆ $copyWhichTables

TYPO3\CMS\Core\DataHandling\DataHandler::$copyWhichTables = '*'

Definition at line 204 of file DataHandler.php.

◆ $data_disableFields

TYPO3\CMS\Core\DataHandling\DataHandler::$data_disableFields = []

Definition at line 257 of file DataHandler.php.

◆ $databaseConnection

TYPO3\CMS\Core\DataHandling\DataHandler::$databaseConnection
protected

Definition at line 701 of file DataHandler.php.

◆ $datamap

TYPO3\CMS\Core\DataHandling\DataHandler::$datamap = []

Definition at line 429 of file DataHandler.php.

◆ $dbAnalysisStore

TYPO3\CMS\Core\DataHandling\DataHandler::$dbAnalysisStore = []

Definition at line 533 of file DataHandler.php.

◆ $defaultPermissions

TYPO3\CMS\Core\DataHandling\DataHandler::$defaultPermissions
Initial value:
= [
'user' => 'show,edit,delete,new,editcontent'

Definition at line 397 of file DataHandler.php.

Referenced by TYPO3\CMS\Core\DataHandling\DataHandler\start().

◆ $defaultValues

TYPO3\CMS\Core\DataHandling\DataHandler::$defaultValues = []

Definition at line 223 of file DataHandler.php.

◆ $deletedRecords

TYPO3\CMS\Core\DataHandling\DataHandler::$deletedRecords = []
protected

Definition at line 321 of file DataHandler.php.

◆ $deleteTree

TYPO3\CMS\Core\DataHandling\DataHandler::$deleteTree = false

Definition at line 117 of file DataHandler.php.

◆ $disableDeleteClause

TYPO3\CMS\Core\DataHandling\DataHandler::$disableDeleteClause = false
protected

Definition at line 661 of file DataHandler.php.

◆ $dontProcessTransformations

TYPO3\CMS\Core\DataHandling\DataHandler::$dontProcessTransformations = false

◆ $enableLogging

◆ $errorLog

TYPO3\CMS\Core\DataHandling\DataHandler::$errorLog = []

Definition at line 342 of file DataHandler.php.

◆ $excludedTablesAndFields

TYPO3\CMS\Core\DataHandling\DataHandler::$excludedTablesAndFields = []
protected

Definition at line 408 of file DataHandler.php.

◆ $fileFunc

TYPO3\CMS\Core\DataHandling\DataHandler::$fileFunc

Definition at line 640 of file DataHandler.php.

◆ $historyRecords

TYPO3\CMS\Core\DataHandling\DataHandler::$historyRecords = []
protected

Definition at line 450 of file DataHandler.php.

◆ $include_filefunctions

TYPO3\CMS\Core\DataHandling\DataHandler::$include_filefunctions

Definition at line 414 of file DataHandler.php.

◆ $isImporting

TYPO3\CMS\Core\DataHandling\DataHandler::$isImporting = false

◆ $isInWebMount_Cache

TYPO3\CMS\Core\DataHandling\DataHandler::$isInWebMount_Cache = []

Definition at line 504 of file DataHandler.php.

◆ $isRecordInWebMount_Cache

TYPO3\CMS\Core\DataHandling\DataHandler::$isRecordInWebMount_Cache = []

Definition at line 497 of file DataHandler.php.

◆ $mmHistoryRecords

TYPO3\CMS\Core\DataHandling\DataHandler::$mmHistoryRecords = []
protected

Definition at line 443 of file DataHandler.php.

◆ $neverHideAtCopy

TYPO3\CMS\Core\DataHandling\DataHandler::$neverHideAtCopy = false

Definition at line 124 of file DataHandler.php.

◆ $newIndexMap

TYPO3\CMS\Core\DataHandling\DataHandler::$newIndexMap = []

Definition at line 631 of file DataHandler.php.

◆ $newRelatedIDs

TYPO3\CMS\Core\DataHandling\DataHandler::$newRelatedIDs = []

Definition at line 307 of file DataHandler.php.

◆ $outerMostInstance

TYPO3\CMS\Core\DataHandling\DataHandler::$outerMostInstance = null
protected

◆ $overrideValues

◆ $pageCache

TYPO3\CMS\Core\DataHandling\DataHandler::$pageCache = []

Definition at line 518 of file DataHandler.php.

◆ $pagetreeNeedsRefresh

TYPO3\CMS\Core\DataHandling\DataHandler::$pagetreeNeedsRefresh = false

Definition at line 356 of file DataHandler.php.

◆ $pagetreeRefreshFieldsFromPages

TYPO3\CMS\Core\DataHandling\DataHandler::$pagetreeRefreshFieldsFromPages = ['pid', 'sorting', 'deleted', 'hidden', 'title', 'doktype', 'is_siteroot', 'fe_group', 'nav_hide', 'nav_title', 'module', 'starttime', 'endtime', 'content_from_pid']

Definition at line 349 of file DataHandler.php.

◆ $pMap

TYPO3\CMS\Core\DataHandling\DataHandler::$pMap
Initial value:
= [
'show' => 1

Definition at line 458 of file DataHandler.php.

◆ $recInsertAccessCache

TYPO3\CMS\Core\DataHandling\DataHandler::$recInsertAccessCache = []

Definition at line 490 of file DataHandler.php.

◆ $recordPidsForDeletedRecords

TYPO3\CMS\Core\DataHandling\DataHandler::$recordPidsForDeletedRecords = []
staticprotected

Definition at line 694 of file DataHandler.php.

◆ $recordsToClearCacheFor

TYPO3\CMS\Core\DataHandling\DataHandler::$recordsToClearCacheFor = []
staticprotected

Definition at line 686 of file DataHandler.php.

◆ $recUpdateAccessCache

TYPO3\CMS\Core\DataHandling\DataHandler::$recUpdateAccessCache = []

Definition at line 483 of file DataHandler.php.

◆ $registerDBList

TYPO3\CMS\Core\DataHandling\DataHandler::$registerDBList = []

◆ $registerDBPids

TYPO3\CMS\Core\DataHandling\DataHandler::$registerDBPids = []

Definition at line 561 of file DataHandler.php.

◆ $remapStack

TYPO3\CMS\Core\DataHandling\DataHandler::$remapStack = []

Definition at line 580 of file DataHandler.php.

◆ $remapStackActions

TYPO3\CMS\Core\DataHandling\DataHandler::$remapStackActions = []
protected

Definition at line 602 of file DataHandler.php.

◆ $remapStackChildIds

TYPO3\CMS\Core\DataHandling\DataHandler::$remapStackChildIds = []
protected

Definition at line 595 of file DataHandler.php.

◆ $remapStackRecords

TYPO3\CMS\Core\DataHandling\DataHandler::$remapStackRecords = []

Definition at line 588 of file DataHandler.php.

◆ $remapStackRefIndex

TYPO3\CMS\Core\DataHandling\DataHandler::$remapStackRefIndex = []
protected

Definition at line 609 of file DataHandler.php.

◆ $removeFilesStore

TYPO3\CMS\Core\DataHandling\DataHandler::$removeFilesStore = []

Definition at line 540 of file DataHandler.php.

◆ $reverseOrder

TYPO3\CMS\Core\DataHandling\DataHandler::$reverseOrder = false

Definition at line 77 of file DataHandler.php.

◆ $RTEmagic_copyIndex

TYPO3\CMS\Core\DataHandling\DataHandler::$RTEmagic_copyIndex = []

Definition at line 335 of file DataHandler.php.

◆ $runtimeCache

TYPO3\CMS\Core\DataHandling\DataHandler::$runtimeCache = null
protected

Definition at line 708 of file DataHandler.php.

◆ $sortIntervals

TYPO3\CMS\Core\DataHandling\DataHandler::$sortIntervals = 256

◆ $storeLogMessages

TYPO3\CMS\Core\DataHandling\DataHandler::$storeLogMessages = true

Definition at line 62 of file DataHandler.php.

◆ $stripslashes_values

TYPO3\CMS\Core\DataHandling\DataHandler::$stripslashes_values = true

Definition at line 94 of file DataHandler.php.

◆ $substNEWwithIDs

TYPO3\CMS\Core\DataHandling\DataHandler::$substNEWwithIDs = []

Definition at line 293 of file DataHandler.php.

◆ $substNEWwithIDs_table

TYPO3\CMS\Core\DataHandling\DataHandler::$substNEWwithIDs_table = []

Definition at line 300 of file DataHandler.php.

◆ $suggestedInsertUids

TYPO3\CMS\Core\DataHandling\DataHandler::$suggestedInsertUids = []

Definition at line 268 of file DataHandler.php.

◆ $updateModeL10NdiffData

TYPO3\CMS\Core\DataHandling\DataHandler::$updateModeL10NdiffData = true

Definition at line 164 of file DataHandler.php.

◆ $updateModeL10NdiffDataClear

TYPO3\CMS\Core\DataHandling\DataHandler::$updateModeL10NdiffDataClear = false

Definition at line 172 of file DataHandler.php.

◆ $updateRefIndexStack

TYPO3\CMS\Core\DataHandling\DataHandler::$updateRefIndexStack = []

Definition at line 616 of file DataHandler.php.

◆ $uploadedFileArray

TYPO3\CMS\Core\DataHandling\DataHandler::$uploadedFileArray = []

◆ $userid

TYPO3\CMS\Core\DataHandling\DataHandler::$userid

◆ $username

TYPO3\CMS\Core\DataHandling\DataHandler::$username

Definition at line 383 of file DataHandler.php.

◆ $useTransOrigPointerField

TYPO3\CMS\Core\DataHandling\DataHandler::$useTransOrigPointerField = true
protected

Definition at line 155 of file DataHandler.php.

◆ $version_remapMMForVersionSwap_reg

TYPO3\CMS\Core\DataHandling\DataHandler::$version_remapMMForVersionSwap_reg
protected

Definition at line 671 of file DataHandler.php.