public function processDatamap_preProcessFieldArray($incomingFields, $table, $uid, DataHandler $tceMain)
    {
        if (!is_int($uid)) {
            // a newly created record, skip
            return;
        }

        if (Util::isDraftRecord($table, $uid)) {
            // skip workspaces: collect garbage only for LIVE workspace
            return;
        }

        $hasConfiguredEnableColumnForFeGroup = $this->tcaService->isEnableColumn($table, 'fe_group');
        if (!$hasConfiguredEnableColumnForFeGroup) {
            return;
        }

        $visibilityAffectingFields = $this->tcaService->getVisibilityAffectingFieldsByTable($table);
        $record = (array)BackendUtility::getRecord($table, $uid, $visibilityAffectingFields, '', false);
        // If no record could be found skip further processing
        if (empty($record)) {
            return;
        }

        $record = $this->tcaService->normalizeFrontendGroupField($table, $record);

        // keep previous state of important fields for later comparison
        $this->trackedRecords[$table][$uid] = $record;
    }
public function processDatamap_preProcessFieldArray($incomingFields, $table, $uid, DataHandler $tceMain)
    {
        if (!is_int($uid)) {
            // a newly created record, skip
            return;
        }

        if (Util::isDraftRecord($table, $uid)) {
            // skip workspaces: collect garbage only for LIVE workspace
            return;
        }

        $hasConfiguredEnableColumnForFeGroup = $this->tcaService->isEnableColumn($table, 'fe_group');
        if (!$hasConfiguredEnableColumnForFeGroup) {
            return;
        }

        $visibilityAffectingFields = $this->tcaService->getVisibilityAffectingFieldsByTable($table);
        $record = (array)BackendUtility::getRecord($table, $uid, $visibilityAffectingFields, '', false);
        // If no record could be found skip further processing
        if (empty($record)) {
            return;
        }

        $record = $this->tcaService->normalizeFrontendGroupField($table, $record);

        // keep previous state of important fields for later comparison
        $this->trackedRecords[$table][$uid] = $record;
    }
public function processDatamap_preProcessFieldArray ( $ incomingFields , $ table , $ uid , DataHandler $ tceMain ) { if ( ! is_int ( $ uid ) ) { // a newly created record, skip return ; } if ( Util :: isDraftRecord ( $ table , $ uid ) ) { // skip workspaces: collect garbage only for LIVE workspace return ; } $ hasConfiguredEnableColumnForFeGroup = $ this -> tcaService -> isEnableColumn ( $ table , 'fe_group' ) ; if ( ! $ hasConfiguredEnableColumnForFeGroup ) { return ; } $ visibilityAffectingFields = $ this -> tcaService -> getVisibilityAffectingFieldsByTable ( $ table ) ; $ record = ( array ) BackendUtility :: getRecord ( $ table , $ uid , $ visibilityAffectingFields , '' , false ) ; // If no record could be found skip further processing if ( empty ( $ record ) ) { return ; } $ record = $ this -> tcaService -> normalizeFrontendGroupField ( $ table , $ record ) ; // keep previous state of important fields for later comparison $ this -> trackedRecords [ $ table ] [ $ uid ] = $ record ; }
Hooks into TCE main and tracks changed records. In this case the current
record's values are stored to do a change comparison later on for fields
like fe_group.

@param array $incomingFields An array of incoming fields, new or changed, not used
@param string $table The table the record belongs to
@param mixed $uid The record's uid, [integer] or [string] (like 'NEW...')
@param DataHandler $tceMain TYPO3 Core Engine parent object, not used
Hooks into TCE main and tracks changed records . In this case the current record s values are stored to do a change comparison later on for fields like fe_group .