[TASK] Replace TCEmain with the new naming DataHandler 85/50485/5
authorWouter Wolters <typo3@wouterwolters.nl>
Wed, 2 Nov 2016 19:56:08 +0000 (20:56 +0100)
committerTymoteusz Motylewski <t.motylewski@gmail.com>
Sat, 5 Nov 2016 17:15:36 +0000 (18:15 +0100)
The old class name is still in use in the core, replace them
with the new name DataHandler.

Resolves: #78550
Releases: master
Change-Id: I324e7b3037f8bf8df70d5c8db37d62a01ed710a4
Reviewed-on: https://review.typo3.org/50485
Reviewed-by: Anja Leichsenring <aleichsenring@ab-softlab.de>
Tested-by: Anja Leichsenring <aleichsenring@ab-softlab.de>
Tested-by: TYPO3com <no-reply@typo3.com>
Reviewed-by: Tymoteusz Motylewski <t.motylewski@gmail.com>
Tested-by: Tymoteusz Motylewski <t.motylewski@gmail.com>
43 files changed:
typo3/sysext/backend/Classes/Controller/EditDocumentController.php
typo3/sysext/backend/Classes/Controller/SimpleDataHandlerController.php
typo3/sysext/backend/Classes/Controller/Wizard/AddController.php
typo3/sysext/backend/Classes/Form/Element/AbstractFormElement.php
typo3/sysext/backend/Classes/Tree/Pagetree/Commands.php
typo3/sysext/backend/Classes/Utility/BackendUtility.php
typo3/sysext/core/Classes/Category/Collection/CategoryCollection.php
typo3/sysext/core/Classes/Collection/AbstractRecordCollection.php
typo3/sysext/core/Classes/Collection/StaticRecordCollection.php
typo3/sysext/core/Classes/DataHandling/DataHandler.php
typo3/sysext/core/Classes/DataHandling/DataHandlerProcessUploadHookInterface.php
typo3/sysext/core/Classes/Database/RelationHandler.php
typo3/sysext/core/Classes/Html/RteHtmlParser.php
typo3/sysext/core/Classes/Integrity/DatabaseIntegrityCheck.php
typo3/sysext/core/Classes/Resource/Collection/AbstractFileCollection.php
typo3/sysext/core/Classes/Resource/Collection/FolderBasedFileCollection.php
typo3/sysext/core/Classes/Resource/Filter/FileExtensionFilter.php
typo3/sysext/core/Classes/Resource/Index/FileIndexRepository.php
typo3/sysext/core/Classes/Resource/Index/MetaDataRepository.php
typo3/sysext/core/Classes/Resource/ResourceStorage.php
typo3/sysext/core/Classes/Utility/File/BasicFileUtility.php
typo3/sysext/core/Tests/Unit/DataHandling/DataHandlerTest.php
typo3/sysext/core/Tests/Unit/Resource/Utility/FileExtensionFilterTest.php
typo3/sysext/frontend/Classes/Hooks/TreelistCacheUpdateHooks.php
typo3/sysext/impexp/Classes/Import.php
typo3/sysext/indexed_search/Classes/Hook/CrawlerHook.php
typo3/sysext/indexed_search/Documentation/IndexingConfigurations/PeriodicIndexingRecords/Index.rst
typo3/sysext/indexed_search/Resources/Private/Language/locallang_csh_indexcfg.xlf
typo3/sysext/indexed_search/ext_localconf.php
typo3/sysext/lowlevel/Classes/DoubleFilesCommand.php
typo3/sysext/lowlevel/Classes/MissingFilesCommand.php
typo3/sysext/lowlevel/Classes/VersionsCommand.php
typo3/sysext/recordlist/Classes/Browser/FileBrowser.php
typo3/sysext/recordlist/Classes/RecordList.php
typo3/sysext/rsaauth/Classes/Storage/SplitStorage.php
typo3/sysext/rtehtmlarea/Classes/ImageHandler/AddImageHandler.php
typo3/sysext/scheduler/Classes/Controller/SchedulerModuleController.php
typo3/sysext/scheduler/Documentation/Installation/SchedulerUser/Index.rst
typo3/sysext/sys_action/Classes/ActionTask.php
typo3/sysext/version/Classes/Hook/DataHandlerHook.php
typo3/sysext/version/ext_localconf.php
typo3/sysext/workspaces/Classes/Hook/DataHandlerHook.php
typo3/sysext/workspaces/Classes/Service/WorkspaceService.php

index de45099..bacb271 100644 (file)
@@ -508,7 +508,7 @@ class EditDocumentController extends AbstractModule
     }
 
     /**
-     * Do processing of data, submitting it to TCEmain.
+     * Do processing of data, submitting it to DataHandler.
      *
      * @return void
      */
@@ -548,7 +548,7 @@ class EditDocumentController extends AbstractModule
         if ($beUser->uc['neverHideAtCopy']) {
             $tce->neverHideAtCopy = 1;
         }
-        // Loading TCEmain with data:
+        // Loading DataHandler with data:
         $tce->start($this->data, $this->cmd);
         if (is_array($this->mirror)) {
             $tce->setMirror($this->mirror);
@@ -572,7 +572,7 @@ class EditDocumentController extends AbstractModule
             );
             debug('Error: Referer host did not match with server host.');
         } else {
-            // Perform the saving operation with TCEmain:
+            // Perform the saving operation with DataHandler:
             $tce->process_uploads($_FILES);
             $tce->process_datamap();
             $tce->process_cmdmap();
@@ -1822,7 +1822,7 @@ class EditDocumentController extends AbstractModule
                     // If the record is already a version of "something" pass it by.
                     if ($reqRecord['pid'] == -1) {
                         // (If it turns out not to be a version of the current workspace there will be trouble, but
-                        // that is handled inside TCEmain then and in the interface it would clearly be an error of
+                        // that is handled inside DataHandler then and in the interface it would clearly be an error of
                         // links if the user accesses such a scenario)
                         return $reqRecord;
                     } else {
index 44f8368..81f6a91 100644 (file)
@@ -29,7 +29,7 @@ use TYPO3\CMS\Core\Utility\MathUtility;
  * sending the posted data to the object.
  *
  * Used by many smaller forms/links in TYPO3, including the QuickEdit module.
- * Is not used by FormEngine though (main form rendering script) - that uses the same class (TCEmain) but makes its own initialization (to save the redirect request).
+ * Is not used by FormEngine though (main form rendering script) - that uses the same class (DataHandler) but makes its own initialization (to save the redirect request).
  * For all other cases than FormEngine it is recommended to use this script for submitting your editing forms - but the best solution in any case would probably be to link your application to FormEngine, that will give you easy form-rendering as well.
  */
 class SimpleDataHandlerController
@@ -140,7 +140,7 @@ class SimpleDataHandlerController
         $this->CB = GeneralUtility::_GP('CB');
         $this->vC = GeneralUtility::_GP('vC');
         $this->uPT = GeneralUtility::_GP('uPT');
-        // Creating TCEmain object
+        // Creating DataHandler object
         $this->tce = GeneralUtility::makeInstance(DataHandler::class);
         // Configuring based on user prefs.
         if ($beUser->uc['recursiveDelete']) {
@@ -196,7 +196,7 @@ class SimpleDataHandlerController
      */
     public function main()
     {
-        // LOAD TCEmain with data and cmd arrays:
+        // LOAD DataHandler with data and cmd arrays:
         $this->tce->start($this->data, $this->cmd);
         if (is_array($this->mirror)) {
             $this->tce->setMirror($this->mirror);
index 5c69696..7eb4ece 100644 (file)
@@ -40,7 +40,7 @@ class AddController extends AbstractWizardController
     public $content;
 
     /**
-     * If set, the TCEmain class is loaded and used to add the returning ID to the parent record.
+     * If set, the DataHandler class is loaded and used to add the returning ID to the parent record.
      *
      * @var int
      */
index 279d603..49c28e5 100644 (file)
@@ -795,7 +795,7 @@ abstract class AbstractFormElement extends AbstractNode
                     }
                 } else {
                     // If all is allowed, insert all: (This does NOT respect any disallowed extensions,
-                    // but those will be filtered away by the backend TCEmain)
+                    // but those will be filtered away by the backend DataHandler)
                     $output = $elFromTable;
                 }
                 break;
index 4477233..c31f576 100644 (file)
@@ -187,7 +187,7 @@ class Commands
     }
 
     /**
-     * Process TCEMAIN commands and data maps
+     * Process DataHandler commands and data maps
      *
      * Command Map:
      * Used for moving, recover, remove and some more operations.
index 183d77b..1402fac 100644 (file)
@@ -952,7 +952,7 @@ class BackendUtility
      * @param string $table The table name
      * @param string $fieldName Optional fieldname passed to hook object
      * @param bool $WSOL If set, workspace overlay is applied to records. This is correct behaviour for all presentation and export, but NOT if you want a TRUE reflection of how things are in the live workspace.
-     * @param int $newRecordPidValue SPECIAL CASES: Use this, if the DataStructure may come from a parent record and the INPUT row doesn't have a uid yet (hence, the pid cannot be looked up). Then it is necessary to supply a PID value to search recursively in for the DS (used from TCEmain)
+     * @param int $newRecordPidValue SPECIAL CASES: Use this, if the DataStructure may come from a parent record and the INPUT row doesn't have a uid yet (hence, the pid cannot be looked up). Then it is necessary to supply a PID value to search recursively in for the DS (used from DataHandler)
      * @return mixed If array, the data structure was found and returned as an array. Otherwise (string) it is an error message.
      * @todo: All those nasty details should be covered with tests, also it is very unfortunate the final $srcPointer is not exposed
      */
index 639b619..52f7ec0 100644 (file)
@@ -212,7 +212,7 @@ class CategoryCollection extends AbstractRecordCollection implements EditableCol
 
     /**
      * Returns an array of the persistable properties and contents
-     * which are processable by TCEmain.
+     * which are processable by DataHandler.
      * for internal usage in persist only.
      *
      * @return array
index a500c56..519213d 100644 (file)
@@ -382,7 +382,7 @@ abstract class AbstractRecordCollection implements RecordCollectionInterface, Pe
 
     /**
      * Returns an array of the persistable properties and contents
-     * which are processable by TCEmain.
+     * which are processable by DataHandler.
      *
      * For internal usage in persist only.
      *
@@ -391,9 +391,9 @@ abstract class AbstractRecordCollection implements RecordCollectionInterface, Pe
     abstract protected function getPersistableDataArray();
 
     /**
-     * Generates comma-separated list of entry uids for usage in TCEmain
+     * Generates comma-separated list of entry uids for usage in DataHandler
      *
-     * also allow to add table name, if it might be needed by TCEmain for
+     * also allow to add table name, if it might be needed by DataHandler for
      * storing the relation
      *
      * @param bool $includeTableName
index 7828956..8e51d9d 100644 (file)
@@ -83,7 +83,7 @@ class StaticRecordCollection extends AbstractRecordCollection implements Editabl
 
     /**
      * Returns an array of the persistable properties and contents
-     * which are processable by TCEmain.
+     * which are processable by DataHandler.
      *
      * for internal usage in persist only.
      *
index 8697f6a..302461f 100644 (file)
@@ -3398,7 +3398,7 @@ class DataHandler
         if ($GLOBALS['TCA'][$table]['ctrl']['origUid']) {
             $data[$table][$theNewID][$GLOBALS['TCA'][$table]['ctrl']['origUid']] = $uid;
         }
-        // Do the copy by simply submitting the array through TCEmain:
+        // Do the copy by simply submitting the array through DataHandler:
         /** @var $copyTCE DataHandler */
         $copyTCE = $this->getLocalTCE();
         $copyTCE->start($data, '', $this->BE_USER);
@@ -3584,7 +3584,7 @@ class DataHandler
     /**
      * 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.
+     * Technically the copy is made with THIS instance of the DataHandler 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.
@@ -3722,7 +3722,7 @@ class DataHandler
      */
     public function copyRecord_procBasedOnFieldType($table, $uid, $field, $value, $row, $conf, $realDestPid, $language = 0, array $workspaceOptions = [])
     {
-        // Process references and files, currently that means only the files, prepending absolute paths (so the TCEmain engine will detect the file as new and one that should be made into a copy)
+        // Process references and files, currently that means only the files, prepending absolute paths (so the DataHandler engine will detect the file as new and one that should be made into a copy)
         $value = $this->copyRecord_procFilesRefs($conf, $uid, $value);
         $inlineSubType = $this->getInlineFieldType($conf);
         // Get the localization mode for the current (parent) record (keep|select):
@@ -3965,7 +3965,7 @@ class DataHandler
                 }
             }
         }
-        // Implode the new filelist into the new value (all files have absolute paths now which means they will get copied when entering TCEmain as new values...)
+        // Implode the new filelist into the new value (all files have absolute paths now which means they will get copied when entering DataHandler as new values...)
         $value = implode(',', $newValue);
 
         // Return the new value:
@@ -6106,7 +6106,7 @@ class DataHandler
      * @param string $table Table name of the parent record
      * @param int $id Uid of the parent record
      * @param array $incomingFieldArray Reference to the incomingFieldArray of process_datamap
-     * @param array $registerDBList Reference to the $registerDBList array that was created/updated by versionizing calls to TCEmain in process_datamap.
+     * @param array $registerDBList Reference to the $registerDBList array that was created/updated by versionizing calls to DataHandler in process_datamap.
      * @return void
      */
     public function getVersionizedIncomingFieldArray($table, $id, &$incomingFieldArray, &$registerDBList)
@@ -8321,7 +8321,7 @@ class DataHandler
      *
      *****************************/
     /**
-     * Logging actions from TCEmain
+     * Logging actions from DataHandler
      *
      * @param string $table Table name the log entry is concerned with. Blank if NA
      * @param int $recuid Record UID. Zero if NA
index 35a29a8..c55d401 100644 (file)
@@ -15,7 +15,7 @@ namespace TYPO3\CMS\Core\DataHandling;
  */
 
 /**
- * Interface for classes which hook into TCEmain and do additional processing
+ * Interface for classes which hook into DataHandler and do additional processing
  * after the upload of a file.
  */
 interface DataHandlerProcessUploadHookInterface
index 6a955c4..60a4f6d 100644 (file)
@@ -835,9 +835,9 @@ class RelationHandler
                     $this->updateRefIndex($pair[0], $pair[1]);
                 }
             }
-            // Update ref index; In tcemain it is not certain that this will happen because
+            // Update ref index; In DataHandler it is not certain that this will happen because
             // if only the MM field is changed the record itself is not updated and so the ref-index is not either.
-            // This could also have been fixed in updateDB in tcemain, however I decided to do it here ...
+            // This could also have been fixed in updateDB in DataHandler, however I decided to do it here ...
             $this->updateRefIndex($this->currentTable, $uid);
         }
     }
@@ -1311,7 +1311,7 @@ class RelationHandler
     /**
      * Update Reference Index (sys_refindex) for a record
      * Should be called any almost any update to a record which could affect references inside the record.
-     * (copied from TCEmain)
+     * (copied from DataHandler)
      *
      * @param string $table Table name
      * @param int $id Record UID
index 18dc646..ceb53c6 100644 (file)
@@ -108,7 +108,7 @@ class RteHtmlParser extends HtmlParser
      **********************************************/
     /**
      * Transform value for RTE based on specConf in the direction specified by $direction (rte/db)
-     * This is the main function called from tcemain and transfer data classes
+     * This is the main function called from DataHandler and transfer data classes
      *
      * @param string $value Input value
      * @param array $specConf Special configuration for a field; This is coming from the types-configuration of the field in the TCA. In the types-configuration you can setup features for the field rendering and in particular the RTE takes al its major configuration options from there!
index c89c5e2..b8c8e85 100644 (file)
@@ -27,7 +27,7 @@ use TYPO3\CMS\Core\Utility\GeneralUtility;
  *
  * Depends on \TYPO3\CMS\Core\Database\RelationHandler
  *
- * @todo Need to really extend this class when the tcemain library has been updated and the whole API is better defined. There are some known bugs in this library. Further it would be nice with a facility to not only analyze but also clean up!
+ * @todo Need to really extend this class when the DataHandler library has been updated and the whole API is better defined. There are some known bugs in this library. Further it would be nice with a facility to not only analyze but also clean up!
  * @see \TYPO3\CMS\Lowlevel\View\DatabaseIntegrityView::func_relations(), \TYPO3\CMS\Lowlevel\View\DatabaseIntegrityView::func_records()
  */
 class DatabaseIntegrityCheck
index 933a05a..84206a7 100644 (file)
@@ -93,7 +93,7 @@ abstract class AbstractFileCollection extends \TYPO3\CMS\Core\Collection\Abstrac
     }
 
     /**
-     * Generates comma-separated list of entry uids for usage in TCEmain
+     * Generates comma-separated list of entry uids for usage in DataHandler
      *
      * @param bool $includeTableName
      * @return string
@@ -110,7 +110,7 @@ abstract class AbstractFileCollection extends \TYPO3\CMS\Core\Collection\Abstrac
 
     /**
      * Returns an array of the persistable properties and contents
-     * which are processable by TCEmain.
+     * which are processable by DataHandler.
      *
      * @return array
      */
index bcf586e..66ec49a 100644 (file)
@@ -85,7 +85,7 @@ class FolderBasedFileCollection extends AbstractFileCollection
 
     /**
      * Returns an array of the persistable properties and contents
-     * which are processable by TCEmain.
+     * which are processable by DataHandler.
      *
      * @return array
      */
index 517a001..8a589d1 100644 (file)
@@ -39,13 +39,13 @@ class FileExtensionFilter
     protected $disallowedFileExtensions = null;
 
     /**
-     * Entry method for use as TCEMain "inline" field filter
+     * Entry method for use as DataHandler "inline" field filter
      *
      * @param array $parameters
-     * @param DataHandler $tceMain
+     * @param DataHandler $dataHandler
      * @return array
      */
-    public function filterInlineChildren(array $parameters, DataHandler $tceMain)
+    public function filterInlineChildren(array $parameters, DataHandler $dataHandler)
     {
         $values = $parameters['values'];
         if ($parameters['allowedFileExtensions']) {
@@ -68,7 +68,7 @@ class FileExtensionFilter
                     $cleanValues[] = $value;
                 } else {
                     // Remove the erroneously created reference record again
-                    $tceMain->deleteAction('sys_file_reference', $fileReferenceUid);
+                    $dataHandler->deleteAction('sys_file_reference', $fileReferenceUid);
                 }
             }
         }
index f5cbe11..b2490b9 100644 (file)
@@ -30,7 +30,7 @@ use TYPO3\CMS\Extbase\SignalSlot\Dispatcher;
 /**
  * Repository Class as an abstraction layer to sys_file
  *
- * Every access to table sys_file_metadata which is not handled by TCEmain
+ * Every access to table sys_file_metadata which is not handled by DataHandler
  * has to use this Repository class.
  *
  * This is meant for FAL internal use only!.
index 6ae2c0b..3ac9176 100644 (file)
@@ -29,7 +29,7 @@ use TYPO3\CMS\Extbase\SignalSlot\Dispatcher;
 /**
  * Repository Class as an abstraction layer to sys_file_metadata
  *
- * Every access to table sys_file_metadata which is not handled by TCEmain
+ * Every access to table sys_file_metadata which is not handled by DataHandler
  * has to use this Repository class
  */
 class MetaDataRepository implements SingletonInterface
index e5a680e..9f027a3 100644 (file)
@@ -2729,7 +2729,7 @@ class ResourceStorage implements ResourceStorageInterface
     /**
      * Returns the destination path/fileName of a unique fileName/foldername in that path.
      * If $theFile exists in $theDest (directory) the file have numbers appended up to $this->maxNumber. Hereafter a unique string will be appended.
-     * This function is used by fx. TCEmain when files are attached to records and needs to be uniquely named in the uploads/* folders
+     * This function is used by fx. DataHandler when files are attached to records and needs to be uniquely named in the uploads/* folders
      *
      * @param Folder $folder
      * @param string $theFile The input fileName to check
index dba44bc..82473df 100644 (file)
@@ -151,7 +151,7 @@ class BasicFileUtility
     /**
      * Returns the destination path/filename of a unique filename/foldername in that path.
      * If $theFile exists in $theDest (directory) the file have numbers appended up to $this->maxNumber. Hereafter a unique string will be appended.
-     * This function is used by fx. TCEmain when files are attached to records and needs to be uniquely named in the uploads/* folders
+     * This function is used by fx. DataHandler when files are attached to records and needs to be uniquely named in the uploads/* folders
      *
      * @param string $theFile The input filename to check
      * @param string $theDest The directory for which to return a unique filename for $theFile. $theDest MUST be a valid directory. Should be absolute.
index 387d73b..94f225b 100644 (file)
@@ -371,8 +371,8 @@ class DataHandlerTest extends \TYPO3\CMS\Core\Tests\UnitTestCase
         $backEndUser->expects($this->once())->method('workspaceCannotEditRecord')->will($this->returnValue(true));
         $backEndUser->expects($this->once())->method('recordEditAccessInternals')->with('pages', 1)->will($this->returnValue(true));
         $subject->BE_USER = $backEndUser;
-        $createdTceMain = $this->createMock(DataHandler::class);
-        $createdTceMain->expects($this->once())->method('start')->with([], [
+        $createdDataHandler = $this->createMock(DataHandler::class);
+        $createdDataHandler->expects($this->once())->method('start')->with([], [
             'pages' => [
                 1 => [
                     'version' => [
@@ -382,9 +382,9 @@ class DataHandlerTest extends \TYPO3\CMS\Core\Tests\UnitTestCase
                 ]
             ]
         ]);
-        $createdTceMain->expects($this->never())->method('process_datamap');
-        $createdTceMain->expects($this->once())->method('process_cmdmap');
-        GeneralUtility::addInstance(DataHandler::class, $createdTceMain);
+        $createdDataHandler->expects($this->never())->method('process_datamap');
+        $createdDataHandler->expects($this->once())->method('process_cmdmap');
+        GeneralUtility::addInstance(DataHandler::class, $createdDataHandler);
         $subject->process_datamap();
     }
 
index f1fd323..02fc35e 100644 (file)
@@ -37,7 +37,7 @@ class FileExtensionFilterTest extends \TYPO3\CMS\Core\Tests\UnitTestCase
     /**
      * @var \TYPO3\CMS\Core\DataHandling\DataHandler|PHPUnit_Framework_MockObject_MockObject
      */
-    protected $tceMainMock;
+    protected $dataHandlerMock;
 
     /**
      * @var \TYPO3\CMS\Core\Resource\ResourceFactory|PHPUnit_Framework_MockObject_MockObject
@@ -51,7 +51,7 @@ class FileExtensionFilterTest extends \TYPO3\CMS\Core\Tests\UnitTestCase
     {
         $this->singletonInstances = \TYPO3\CMS\Core\Utility\GeneralUtility::getSingletonInstances();
         $this->filter = new \TYPO3\CMS\Core\Resource\Filter\FileExtensionFilter();
-        $this->tceMainMock = $this->getMockBuilder(\TYPO3\CMS\Core\DataHandling\DataHandler::class)
+        $this->dataHandlerMock = $this->getMockBuilder(\TYPO3\CMS\Core\DataHandling\DataHandler::class)
             ->setMethods(['deleteAction'])
             ->getMock();
         $this->fileFactoryMock = $this->getMockBuilder(\TYPO3\CMS\Core\Resource\ResourceFactory::class)
@@ -95,9 +95,9 @@ class FileExtensionFilterTest extends \TYPO3\CMS\Core\Tests\UnitTestCase
             'disallowedFileExtensions' => $disallowed,
             'values' => $values
         ];
-        $this->tceMainMock->expects($this->never())->method('deleteAction');
+        $this->dataHandlerMock->expects($this->never())->method('deleteAction');
         $this->fileFactoryMock->expects($this->never())->method('getFileReferenceObject');
-        $this->filter->filterInlineChildren($this->parameters, $this->tceMainMock);
+        $this->filter->filterInlineChildren($this->parameters, $this->dataHandlerMock);
     }
 
     /**
index e06e78b..4094cad 100644 (file)
@@ -21,7 +21,7 @@ use TYPO3\CMS\Core\DataHandling\DataHandler;
 use TYPO3\CMS\Core\Utility\GeneralUtility;
 
 /**
- * Class that hooks into TCEmain and listens for updates to pages to update the
+ * Class that hooks into DataHandler and listens for updates to pages to update the
  * treelist cache
  */
 class TreelistCacheUpdateHooks
@@ -59,17 +59,17 @@ class TreelistCacheUpdateHooks
     }
 
     /**
-     * waits for TCEmain commands and looks for changed pages, if found further
+     * waits for DataHandler commands and looks for changed pages, if found further
      * changes take place to determine whether the cache needs to be updated
      *
-     * @param string $status TCEmain operation status, either 'new' or 'update'
+     * @param string $status DataHandler operation status, either 'new' or 'update'
      * @param string $table The DB table the operation was carried out on
      * @param mixed $recordId The record's uid for update records, a string to look the record's uid up after it has been created
-     * @param array $updatedFields Array of changed fiels and their new values
-     * @param DataHandler $tceMain TCEmain parent object
+     * @param array $updatedFields Array of changed fields and their new values
+     * @param DataHandler $dataHandler DataHandler parent object
      * @return void
      */
-    public function processDatamap_afterDatabaseOperations($status, $table, $recordId, array $updatedFields, DataHandler $tceMain)
+    public function processDatamap_afterDatabaseOperations($status, $table, $recordId, array $updatedFields, DataHandler $dataHandler)
     {
         if ($table == 'pages' && $this->requiresUpdate($updatedFields)) {
             $affectedPagePid = 0;
@@ -77,7 +77,7 @@ class TreelistCacheUpdateHooks
             if ($status == 'new') {
                 // Detect new pages
                 // Resolve the uid
-                $affectedPageUid = $tceMain->substNEWwithIDs[$recordId];
+                $affectedPageUid = $dataHandler->substNEWwithIDs[$recordId];
                 $affectedPagePid = $updatedFields['pid'];
             } elseif ($status == 'update') {
                 // Detect updated pages
@@ -100,10 +100,10 @@ class TreelistCacheUpdateHooks
      * @param string $table The record's table
      * @param int $recordId The record's uid
      * @param array $commandValue The commands value, typically an array with more detailed command information
-     * @param DataHandler $tceMain The TCEmain parent object
+     * @param DataHandler $dataHandler The DataHandler parent object
      * @return void
      */
-    public function processCmdmap_postProcess($command, $table, $recordId, $commandValue, DataHandler $tceMain)
+    public function processCmdmap_postProcess($command, $table, $recordId, $commandValue, DataHandler $dataHandler)
     {
         $action = (is_array($commandValue) && isset($commandValue['action'])) ? (string)$commandValue['action'] : '';
         if ($table === 'pages' && ($command === 'delete' || ($command === 'version' && $action === 'swap'))) {
@@ -129,7 +129,7 @@ class TreelistCacheUpdateHooks
     }
 
     /**
-     * waits for TCEmain commands and looks for moved pages, if found further
+     * waits for DataHandler commands and looks for moved pages, if found further
      * changes take place to determine whether the cache needs to be updated
      *
      * @param string $table Table name of the moved record
@@ -137,10 +137,10 @@ class TreelistCacheUpdateHooks
      * @param int $destinationPid The record's destination page id
      * @param array $movedRecord The record that moved
      * @param array $updatedFields Array of changed fields
-     * @param DataHandler $tceMain TCEmain parent object
+     * @param DataHandler $dataHandler DataHandler parent object
      * @return void
      */
-    public function moveRecord_firstElementPostProcess($table, $recordId, $destinationPid, array $movedRecord, array $updatedFields, DataHandler $tceMain)
+    public function moveRecord_firstElementPostProcess($table, $recordId, $destinationPid, array $movedRecord, array $updatedFields, DataHandler $dataHandler)
     {
         if ($table == 'pages' && $this->requiresUpdate($updatedFields)) {
             $affectedPageUid = $recordId;
@@ -155,7 +155,7 @@ class TreelistCacheUpdateHooks
     }
 
     /**
-     * Waits for TCEmain commands and looks for moved pages, if found further
+     * Waits for DataHandler commands and looks for moved pages, if found further
      * changes take place to determine whether the cache needs to be updated
      *
      * @param string $table Table name of the moved record
@@ -164,10 +164,10 @@ class TreelistCacheUpdateHooks
      * @param int $originalDestinationPid (negative) page id th page has been moved after
      * @param array $movedRecord The record that moved
      * @param array $updatedFields Array of changed fields
-     * @param DataHandler $tceMain TCEmain parent object
+     * @param DataHandler $dataHandler DataHandler parent object
      * @return void
      */
-    public function moveRecord_afterAnotherElementPostProcess($table, $recordId, $destinationPid, $originalDestinationPid, array $movedRecord, array $updatedFields, DataHandler $tceMain)
+    public function moveRecord_afterAnotherElementPostProcess($table, $recordId, $destinationPid, $originalDestinationPid, array $movedRecord, array $updatedFields, DataHandler $dataHandler)
     {
         if ($table == 'pages' && $this->requiresUpdate($updatedFields)) {
             $affectedPageUid = $recordId;
@@ -330,7 +330,7 @@ class TreelistCacheUpdateHooks
      * Determines what happened to the page record, this is necessary to clear
      * as less cache entries as needed later
      *
-     * @param string $status TCEmain operation status, either 'new' or 'update'
+     * @param string $status DataHandler operation status, either 'new' or 'update'
      * @param array $updatedFields Array of updated fields
      * @return string List of actions that happened to the page record
      */
index 6f12128..7088dcc 100644 (file)
@@ -53,7 +53,7 @@ class Import extends ImportExport
     /**
      * Keys are [tablename]:[new NEWxxx ids (or when updating it is uids)]
      * while values are arrays with table/uid of the original record it is based on.
-     * With the array keys the new ids can be looked up inside tcemain
+     * With the array keys the new ids can be looked up inside DataHandler
      *
      * @var array
      */
@@ -628,7 +628,7 @@ class Import extends ImportExport
             $this->callHook('after_writeRecordsPages', [
                 'tce' => &$tce
             ]);
-            // post-processing: Registering new ids (end all tcemain sessions with this)
+            // post-processing: Registering new ids (end all DataHandler sessions with this)
             $this->addToMapId($tce->substNEWwithIDs);
             // In case of an update, order pages from the page tree correctly:
             if ($this->update && is_array($this->dat['header']['pagetree'])) {
@@ -753,7 +753,7 @@ class Import extends ImportExport
         $this->callHook('after_writeRecordsRecords', [
             'tce' => &$tce
         ]);
-        // post-processing: Removing files and registering new ids (end all tcemain sessions with this)
+        // post-processing: Removing files and registering new ids (end all DataHandler sessions with this)
         $this->addToMapId($tce->substNEWwithIDs);
         // In case of an update, order pages from the page tree correctly:
         if ($this->update) {
@@ -932,7 +932,7 @@ class Import extends ImportExport
     /**
      * Registers the substNEWids in memory.
      *
-     * @param array $substNEWwithIDs From tcemain to be merged into internal mapping variable in this object
+     * @param array $substNEWwithIDs From DataHandler to be merged into internal mapping variable in this object
      * @return void
      * @see writeRecords()
      */
@@ -1070,7 +1070,7 @@ class Import extends ImportExport
      *
      * @param array $itemArray Array of item sets (table/uid) from a dbAnalysis object
      * @param array $itemConfig Array of TCA config of the field the relation to be set on
-     * @return array Array with values [table]_[uid] or [uid] for field of type group / internal_type file_reference. These values have the regular tcemain-input group/select type which means they will automatically be processed into a uid-list or MM relations.
+     * @return array Array with values [table]_[uid] or [uid] for field of type group / internal_type file_reference. These values have the regular DataHandler-input group/select type which means they will automatically be processed into a uid-list or MM relations.
      */
     public function setRelations_db($itemArray, $itemConfig)
     {
@@ -1202,7 +1202,7 @@ class Import extends ImportExport
                                     [$table, $thisNewUid, $field, $config],
                                     'remapListedDBRecords_flexFormCallBack'
                                 );
-                                // The return value is set as an array which means it will be processed by tcemain for file and DB references!
+                                // The return value is set as an array which means it will be processed by DataHandler for file and DB references!
                                 if (is_array($currentValueArray['data'])) {
                                     $updateData[$table][$thisNewUid][$field] = $currentValueArray;
                                 }
@@ -1307,7 +1307,7 @@ class Import extends ImportExport
                                         $iteratorObj = GeneralUtility::makeInstance(DataHandler::class);
                                         $iteratorObj->callBackObj = $this;
                                         $currentValueArray['data'] = $iteratorObj->checkValue_flex_procInData($currentValueArray['data'], [], [], $dataStructArray, [$table, $uid, $field, $softRefCfgs], 'processSoftReferences_flexFormCallBack');
-                                        // The return value is set as an array which means it will be processed by tcemain for file and DB references!
+                                        // The return value is set as an array which means it will be processed by DataHandler for file and DB references!
                                         if (is_array($currentValueArray['data'])) {
                                             $inData[$table][$thisNewUid][$field] = $currentValueArray;
                                         }
index 97d9fef..fd493a1 100644 (file)
@@ -14,11 +14,11 @@ namespace TYPO3\CMS\IndexedSearch\Hook;
  * The TYPO3 project - inspiring people to share!
  */
 
-use TYPO3\CMS\Backend\Form\FormEngine;
 use TYPO3\CMS\Backend\Utility\BackendUtility;
 use TYPO3\CMS\Core\Database\Connection;
 use TYPO3\CMS\Core\Database\ConnectionPool;
 use TYPO3\CMS\Core\Database\Query\Restriction\DeletedRestriction;
+use TYPO3\CMS\Core\DataHandling\DataHandler;
 use TYPO3\CMS\Core\Utility\GeneralUtility;
 use TYPO3\CMS\Core\Utility\MathUtility;
 
@@ -829,17 +829,17 @@ class CrawlerHook
 
     /*************************
      *
-     * Hook functions for TCEmain (indexing of records)
+     * Hook functions for DataHandler (indexing of records)
      *
      *************************/
     /**
-     * TCEmain hook function for on-the-fly indexing of database records
+     * DataHandler hook function for on-the-fly indexing of database records
      *
-     * @param string $command TCEmain command
+     * @param string $command DataHandler command
      * @param string $table Table name
      * @param string $id Record ID. If new record its a string pointing to index inside \TYPO3\CMS\Core\DataHandling\DataHandler::substNEWwithIDs
      * @param mixed $value Target value (ignored)
-     * @param FormEngine $pObj tcemain calling object
+     * @param DataHandler $pObj DataHandler calling object
      * @return void
      */
     public function processCmdmap_preProcess($command, $table, $id, $value, $pObj)
@@ -851,13 +851,13 @@ class CrawlerHook
     }
 
     /**
-     * TCEmain hook function for on-the-fly indexing of database records
+     * DataHandler hook function for on-the-fly indexing of database records
      *
      * @param string $status Status "new" or "update
      * @param string $table Table name
      * @param string $id Record ID. If new record its a string pointing to index inside \TYPO3\CMS\Core\DataHandling\DataHandler::substNEWwithIDs
      * @param array $fieldArray Field array of updated fields in the operation
-     * @param FormEngine $pObj tcemain calling object
+     * @param DataHandler $pObj DataHandler calling object
      * @return void
      */
     public function processDatamap_afterDatabaseOperations($status, $table, $id, $fieldArray, $pObj)
index 2c20f07..151c993 100644 (file)
@@ -40,7 +40,7 @@ define how the search results are shown - this must correspond with
 what the plugin takes of parameters.
 
 A fancy option is the "Index Records immediately when saved" - which
-will index records as they are saved through "TCEmain"!
+will index records as they are saved through "DataHandler"!
 
 In the crawler log you will see the entries for record indexing like
 this:
index 24ba75d..df329e6 100644 (file)
@@ -112,7 +112,7 @@ Example value: "&amp;showUid=###UID###"</source>
                                <note from="developer">This string contains an internal text, which must not be changed. Just copy the original text into the translation field. For more information have a look at the Tutorial.</note>
                        </trans-unit>
                        <trans-unit id="records_indexonchange.description">
-                               <source>If set, new and changed records from this table will be indexed through a hook in the core (TCEmain) meaning that they will be searchable immediately after addition to the system.</source>
+                               <source>If set, new and changed records from this table will be indexed through a hook in the core (Datahandler) meaning that they will be searchable immediately after addition to the system.</source>
                        </trans-unit>
                        <trans-unit id="_records_indexonchange.seeAlso">
                                <source>index_config:table2index</source>
index 57af751..9b71f85 100644 (file)
@@ -10,7 +10,7 @@ $GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['tslib/class.tslib_fe.php']['headerNoC
 // Register with "crawler" extension:
 $GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['crawler']['procInstructions']['tx_indexedsearch_reindex'] = 'Re-indexing';
 $GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['crawler']['cli_hooks']['tx_indexedsearch_crawl'] = \TYPO3\CMS\IndexedSearch\Hook\CrawlerHook::class;
-// Register with TCEmain:
+// Register with DataHandler:
 $GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['t3lib/class.t3lib_tcemain.php']['processCmdmapClass']['tx_indexedsearch'] = \TYPO3\CMS\IndexedSearch\Hook\CrawlerHook::class;
 $GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['t3lib/class.t3lib_tcemain.php']['processDatamapClass']['tx_indexedsearch'] = \TYPO3\CMS\IndexedSearch\Hook\CrawlerHook::class;
 // Configure default document parsers:
index 3cd3d73..a583292 100644 (file)
@@ -44,7 +44,7 @@ Assumptions:
 
 Files attached to records in TYPO3 using a "group" type configuration in TCA or FlexForm DataStructure are managed exclusively by the system and there must always exist a 1-1 reference between the file and the reference in the record.
 This tool will expose when such files are referenced from multiple locations which is considered an integrity error.
-If a multi-reference is found it was typically created because the record was copied or modified outside of TCEmain which will otherwise maintain the relations correctly.
+If a multi-reference is found it was typically created because the record was copied or modified outside of DataHandler which will otherwise maintain the relations correctly.
 Multi-references should be resolved to 1-1 references as soon as possible. The danger of keeping multi-references is that if the file is removed from one of the refering records it will actually be deleted in the file system, leaving missing files for the remaining referers!
 
 Automatic Repair of Errors:
index af88229..0e43e80 100644 (file)
@@ -41,7 +41,7 @@ Assumptions:
 - relevant soft reference parsers applied everywhere file references are used inline
 
 Files may be missing for these reasons (except software bugs):
-- someone manually deleted the file inside fileadmin/ or another user maintained folder. If the reference was a soft reference (opposite to a TCEmain managed file relation from "group" type fields), technically it is not an error although it might be a mistake that someone did so.
+- someone manually deleted the file inside fileadmin/ or another user maintained folder. If the reference was a soft reference (opposite to a DataHandler managed file relation from "group" type fields), technically it is not an error although it might be a mistake that someone did so.
 - someone manually deleted the file inside the uploads/ folder (typically containing managed files) which is an error since no user interaction should take place there.
 
 Automatic Repair of Errors:
@@ -70,7 +70,7 @@ This will show you missing files in the TYPO3 system and only report back if err
         $resultArray = [
             'message' => $this->cli_help['name'] . LF . LF . $this->cli_help['description'],
             'headers' => [
-                'managedFilesMissing' => ['List of missing files managed by TCEmain', $listExplain, 3],
+                'managedFilesMissing' => ['List of missing files managed by DataHandler', $listExplain, 3],
                 'softrefFilesMissing' => ['List of missing files registered as a soft reference', $listExplain, 2]
             ],
             'managedFilesMissing' => [],
index 8e0e2e3..682a41b 100644 (file)
@@ -240,7 +240,7 @@ Automatic Repair:
                     $tce->deleteEl($table, $uid, true, true);
                     // Return errors if any:
                     if (count($tce->errorLog)) {
-                        echo ' ERROR from "TCEmain":' . LF . 'TCEmain:' . implode((LF . 'TCEmain:'), $tce->errorLog);
+                        echo ' ERROR from "DataHandler":' . LF . 'DataHandler:' . implode((LF . 'DataHandler:'), $tce->errorLog);
                     } else {
                         echo 'DONE';
                     }
@@ -287,7 +287,7 @@ Automatic Repair:
                 $tce->deleteAction($table, $uid);
                 // Return errors if any:
                 if (count($tce->errorLog)) {
-                    echo '     ERROR from "TCEmain":' . LF . 'TCEmain:' . implode((LF . 'TCEmain:'), $tce->errorLog);
+                    echo '     ERROR from "DataHandler":' . LF . 'DataHandler:' . implode((LF . 'DataHandler:'), $tce->errorLog);
                 } else {
                     echo 'DONE';
                 }
index 5835652..8d8bd35 100644 (file)
@@ -112,7 +112,7 @@ class FileBrowser extends AbstractElementBrowser implements ElementBrowserInterf
         $backendUser = $this->getBackendUser();
 
         // The key number 3 of the bparams contains the "allowed" string. Disallowed is not passed to
-        // the element browser at all but only filtered out in TCEMain afterwards
+        // the element browser at all but only filtered out in DataHandler afterwards
         $allowedFileExtensions = GeneralUtility::trimExplode(',', explode('|', $this->bparams)[3], true);
         if (!empty($allowedFileExtensions) && $allowedFileExtensions[0] !== 'sys_file' && $allowedFileExtensions[0] !== '*') {
             // Create new filter object
index bba0d62..5732926 100644 (file)
@@ -104,7 +104,7 @@ class RecordList extends AbstractModule
     public $clear_cache;
 
     /**
-     * Command: Eg. "delete" or "setCB" (for TCEmain / clipboard operations)
+     * Command: Eg. "delete" or "setCB" (for DataHandler / clipboard operations)
      *
      * @var string
      */
index 478266e..38be4de 100644 (file)
@@ -107,8 +107,8 @@ class SplitStorage extends AbstractStorage
             $keyPart2 = substr($key, $splitPoint);
             // Store part of the key in the database
             //
-            // Notice: we may not use TCEmain below to insert key part into the
-            // table because TCEmain requires a valid BE user!
+            // Notice: we may not use DataHandler below to insert key part into the
+            // table because DataHandler requires a valid BE user!
             $time = $GLOBALS['EXEC_TIME'];
             $connection->insert(
                 'tx_rsaauth_keys',
index c9e5034..9538727 100644 (file)
@@ -161,7 +161,7 @@ class AddImageHandler implements LinkParameterProviderInterface, LinkHandlerInte
         $backendUser = $this->getBackendUser();
 
         // The key number 3 of the bparams contains the "allowed" string. Disallowed is not passed to
-        // the element browser at all but only filtered out in TCEMain afterwards
+        // the element browser at all but only filtered out in DataHandler afterwards
         $bparams = explode('|', $this->selectImageController->getUrlParameters()['bparams']);
         if (isset($bparams[3])) {
             $allowedFileExtensions = GeneralUtility::trimExplode(',', $bparams[3], true);
index 10b7b23..0cb9d8d 100644 (file)
@@ -379,13 +379,13 @@ class SchedulerModuleController extends \TYPO3\CMS\Backend\Module\BaseScriptClas
                 $password = $objInstanceSaltedPW->getHashedPassword($password);
             }
             $data = ['be_users' => ['NEW' => ['username' => '_cli_scheduler', 'password' => $password, 'pid' => 0]]];
-            /** @var $tcemain \TYPO3\CMS\Core\DataHandling\DataHandler */
-            $tcemain = GeneralUtility::makeInstance(\TYPO3\CMS\Core\DataHandling\DataHandler::class);
-            $tcemain->start($data, []);
-            $tcemain->process_datamap();
+            /** @var $dataHandler \TYPO3\CMS\Core\DataHandling\DataHandler */
+            $dataHandler = GeneralUtility::makeInstance(\TYPO3\CMS\Core\DataHandling\DataHandler::class);
+            $dataHandler->start($data, []);
+            $dataHandler->process_datamap();
             // Check if a new uid was indeed generated (i.e. a new record was created)
-            // (counting TCEmain errors doesn't work as some failures don't report errors)
-            $numberOfNewIDs = count($tcemain->substNEWwithIDs);
+            // (counting DataHandler errors doesn't work as some failures don't report errors)
+            $numberOfNewIDs = count($dataHandler->substNEWwithIDs);
             if ($numberOfNewIDs === 1) {
                 $message = $this->getLanguageService()->getLL('msg.userCreated');
                 $severity = FlashMessage::OK;
index 0aaf35b..1e9c4d4 100644 (file)
@@ -18,6 +18,6 @@ however, there needs to be a specific user, called "\_cli\_scheduler".
 
 This can be a simple BE user with no specific rights at first. However
 some tasks may need to check some specific rights, for example if they
-use TCEmain. It may thus be necessary, depending on the tasks that you
+use DataHandler. It may thus be necessary, depending on the tasks that you
 run, to give additional rights to the "cli\_scheduler" user.
 
index 5cbbe98..09a0022 100644 (file)
@@ -593,13 +593,13 @@ class ActionTask implements \TYPO3\CMS\Taskcenter\TaskInterface
                 $newUserId = $key;
             }
         }
-        // Save/update user by using TCEmain
+        // Save/update user by using DataHandler
         if (is_array($data)) {
-            $tce = GeneralUtility::makeInstance(\TYPO3\CMS\Core\DataHandling\DataHandler::class);
-            $tce->start($data, [], $this->getBackendUser());
-            $tce->admin = 1;
-            $tce->process_datamap();
-            $newUserId = (int)$tce->substNEWwithIDs['NEW'];
+            $dataHandler = GeneralUtility::makeInstance(\TYPO3\CMS\Core\DataHandling\DataHandler::class);
+            $dataHandler->start($data, [], $this->getBackendUser());
+            $dataHandler->admin = 1;
+            $dataHandler->process_datamap();
+            $newUserId = (int)$dataHandler->substNEWwithIDs['NEW'];
             if ($newUserId) {
                 // Create
                 $this->action_createDir($newUserId);
index e3d8012..7328d67 100644 (file)
@@ -35,7 +35,7 @@ class DataHandlerHook
     /**
      * For accumulating information about workspace stages raised
      * on elements so a single mail is sent as notification.
-     * previously called "accumulateForNotifEmail" in tcemain
+     * previously called "accumulateForNotifEmail" in DataHandler
      *
      * @var array
      */
@@ -54,15 +54,15 @@ class DataHandlerHook
     /**
      * hook that is called before any cmd of the commandmap is executed
      *
-     * @param DataHandler $tcemainObj reference to the main tcemain object
+     * @param DataHandler $dataHandler reference to the main DataHandler object
      * @return void
      */
-    public function processCmdmap_beforeStart(DataHandler $tcemainObj)
+    public function processCmdmap_beforeStart(DataHandler $dataHandler)
     {
         // Reset notification array
         $this->notificationEmailInfo = [];
         // Resolve dependencies of version/workspaces actions:
-        $tcemainObj->cmdmap = $this->getCommandMap($tcemainObj)->process()->get();
+        $dataHandler->cmdmap = $this->getCommandMap($dataHandler)->process()->get();
     }
 
     /**
@@ -73,10 +73,10 @@ class DataHandlerHook
      * @param int $id the ID of the record
      * @param mixed $value the value containing the data
      * @param bool $commandIsProcessed can be set so that other hooks or
-     * @param DataHandler $tcemainObj reference to the main tcemain object
+     * @param DataHandler $dataHandler reference to the main DataHandler object
      * @return void
      */
-    public function processCmdmap($command, $table, $id, $value, &$commandIsProcessed, DataHandler $tcemainObj)
+    public function processCmdmap($command, $table, $id, $value, &$commandIsProcessed, DataHandler $dataHandler)
     {
         // custom command "version"
         if ($command == 'version') {
@@ -86,21 +86,21 @@ class DataHandlerHook
             $notificationAlternativeRecipients = (isset($value['notificationAlternativeRecipients'])) && is_array($value['notificationAlternativeRecipients']) ? $value['notificationAlternativeRecipients'] : [];
             switch ($action) {
                 case 'new':
-                    $tcemainObj->versionizeRecord($table, $id, $value['label']);
+                    $dataHandler->versionizeRecord($table, $id, $value['label']);
                     break;
                 case 'swap':
                     $this->version_swap($table, $id, $value['swapWith'], $value['swapIntoWS'],
-                        $tcemainObj,
+                        $dataHandler,
                         $comment,
                         true,
                         $notificationAlternativeRecipients
                     );
                     break;
                 case 'clearWSID':
-                    $this->version_clearWSID($table, $id, false, $tcemainObj);
+                    $this->version_clearWSID($table, $id, false, $dataHandler);
                     break;
                 case 'flush':
-                    $this->version_clearWSID($table, $id, true, $tcemainObj);
+                    $this->version_clearWSID($table, $id, true, $dataHandler);
                     break;
                 case 'setStage':
                     $elementIds = GeneralUtility::trimExplode(',', $id, true);
@@ -108,7 +108,7 @@ class DataHandlerHook
                         $this->version_setStage($table, $elementId, $value['stageId'],
                                 $comment,
                                 true,
-                                $tcemainObj,
+                                $dataHandler,
                                 $notificationAlternativeRecipients
                             );
                     }
@@ -123,14 +123,14 @@ class DataHandlerHook
      * hook that is called AFTER all commands of the commandmap was
      * executed
      *
-     * @param DataHandler $tcemainObj reference to the main tcemain object
+     * @param DataHandler $dataHandler reference to the main DataHandler object
      * @return void
      */
-    public function processCmdmap_afterFinish(DataHandler $tcemainObj)
+    public function processCmdmap_afterFinish(DataHandler $dataHandler)
     {
         // Empty accumulation array:
         foreach ($this->notificationEmailInfo as $notifItem) {
-            $this->notifyStageChange($notifItem['shared'][0], $notifItem['shared'][1], implode(', ', $notifItem['elements']), 0, $notifItem['shared'][2], $tcemainObj, $notifItem['alternativeRecipients']);
+            $this->notifyStageChange($notifItem['shared'][0], $notifItem['shared'][1], implode(', ', $notifItem['elements']), 0, $notifItem['shared'][2], $dataHandler, $notifItem['alternativeRecipients']);
         }
         // Reset notification array
         $this->notificationEmailInfo = [];
@@ -145,10 +145,10 @@ class DataHandlerHook
      * @param int $id the ID of the record
      * @param array $record The accordant database record
      * @param bool $recordWasDeleted can be set so that other hooks or
-     * @param DataHandler $tcemainObj reference to the main tcemain object
+     * @param DataHandler $dataHandler reference to the main DataHandler object
      * @return void
      */
-    public function processCmdmap_deleteAction($table, $id, array $record, &$recordWasDeleted, DataHandler $tcemainObj)
+    public function processCmdmap_deleteAction($table, $id, array $record, &$recordWasDeleted, DataHandler $dataHandler)
     {
         // only process the hook if it wasn't processed
         // by someone else before
@@ -159,7 +159,7 @@ class DataHandlerHook
         // For Live version, try if there is a workspace version because if so, rather "delete" that instead
         // Look, if record is an offline version, then delete directly:
         if ($record['pid'] != -1) {
-            if ($wsVersion = BackendUtility::getWorkspaceVersionOfRecord($tcemainObj->BE_USER->workspace, $table, $id)) {
+            if ($wsVersion = BackendUtility::getWorkspaceVersionOfRecord($dataHandler->BE_USER->workspace, $table, $id)) {
                 $record = $wsVersion;
                 $id = $record['uid'];
             }
@@ -169,16 +169,16 @@ class DataHandlerHook
         if ($record['pid'] == -1) {
             if ($GLOBALS['TCA'][$table]['ctrl']['versioningWS']) {
                 // In Live workspace, delete any. In other workspaces there must be match.
-                if ($tcemainObj->BE_USER->workspace == 0 || (int)$record['t3ver_wsid'] == $tcemainObj->BE_USER->workspace) {
+                if ($dataHandler->BE_USER->workspace == 0 || (int)$record['t3ver_wsid'] == $dataHandler->BE_USER->workspace) {
                     $liveRec = BackendUtility::getLiveVersionOfRecord($table, $id, 'uid,t3ver_state');
                     // Processing can be skipped if a delete placeholder shall be swapped/published
                     // during the current request. Thus it will be deleted later on...
                     $liveRecordVersionState = VersionState::cast($liveRec['t3ver_state']);
                     if ($recordVersionState->equals(VersionState::DELETE_PLACEHOLDER) && !empty($liveRec['uid'])
-                        && !empty($tcemainObj->cmdmap[$table][$liveRec['uid']]['version']['action'])
-                        && !empty($tcemainObj->cmdmap[$table][$liveRec['uid']]['version']['swapWith'])
-                        && $tcemainObj->cmdmap[$table][$liveRec['uid']]['version']['action'] === 'swap'
-                        && $tcemainObj->cmdmap[$table][$liveRec['uid']]['version']['swapWith'] == $id
+                        && !empty($dataHandler->cmdmap[$table][$liveRec['uid']]['version']['action'])
+                        && !empty($dataHandler->cmdmap[$table][$liveRec['uid']]['version']['swapWith'])
+                        && $dataHandler->cmdmap[$table][$liveRec['uid']]['version']['action'] === 'swap'
+                        && $dataHandler->cmdmap[$table][$liveRec['uid']]['version']['swapWith'] == $id
                     ) {
                         return null;
                     }
@@ -198,34 +198,34 @@ class DataHandlerHook
                             );
 
                         // Delete localization overlays:
-                        $tcemainObj->deleteL10nOverlayRecords($table, $id);
+                        $dataHandler->deleteL10nOverlayRecords($table, $id);
                     } elseif ($record['t3ver_wsid'] == 0 || !$liveRecordVersionState->indicatesPlaceholder()) {
                         // Delete those in WS 0 + if their live records state was not "Placeholder".
-                        $tcemainObj->deleteEl($table, $id);
+                        $dataHandler->deleteEl($table, $id);
                         // Delete move-placeholder if current version record is a move-to-pointer
                         if ($recordVersionState->equals(VersionState::MOVE_POINTER)) {
                             $movePlaceholder = BackendUtility::getMovePlaceholder($table, $liveRec['uid'], 'uid', $record['t3ver_wsid']);
                             if (!empty($movePlaceholder)) {
-                                $tcemainObj->deleteEl($table, $movePlaceholder['uid']);
+                                $dataHandler->deleteEl($table, $movePlaceholder['uid']);
                             }
                         }
                     } else {
                         // If live record was placeholder (new/deleted), rather clear
                         // it from workspace (because it clears both version and placeholder).
-                        $this->version_clearWSID($table, $id, false, $tcemainObj);
+                        $this->version_clearWSID($table, $id, false, $dataHandler);
                     }
                 } else {
-                    $tcemainObj->newlog('Tried to delete record from another workspace', 1);
+                    $dataHandler->newlog('Tried to delete record from another workspace', 1);
                 }
             } else {
-                $tcemainObj->newlog('Versioning not enabled for record with PID = -1!', 2);
+                $dataHandler->newlog('Versioning not enabled for record with PID = -1!', 2);
             }
-        } elseif ($res = $tcemainObj->BE_USER->workspaceAllowLiveRecordsInPID($record['pid'], $table)) {
+        } elseif ($res = $dataHandler->BE_USER->workspaceAllowLiveRecordsInPID($record['pid'], $table)) {
             // Look, if record is "online" or in a versionized branch, then delete directly.
             if ($res > 0) {
-                $tcemainObj->deleteEl($table, $id);
+                $dataHandler->deleteEl($table, $id);
             } else {
-                $tcemainObj->newlog('Stage of root point did not allow for deletion', 1);
+                $dataHandler->newlog('Stage of root point did not allow for deletion', 1);
             }
         } elseif ($recordVersionState->equals(VersionState::MOVE_PLACEHOLDER)) {
             // Placeholders for moving operations are deletable directly.
@@ -244,18 +244,18 @@ class DataHandlerHook
                         ['uid' => (int)$wsRec['uid']]
                     );
             }
-            $tcemainObj->deleteEl($table, $id);
+            $dataHandler->deleteEl($table, $id);
         } else {
             // Otherwise, try to delete by versioning:
-            $copyMappingArray = $tcemainObj->copyMappingArray;
-            $tcemainObj->versionizeRecord($table, $id, 'DELETED!', true);
+            $copyMappingArray = $dataHandler->copyMappingArray;
+            $dataHandler->versionizeRecord($table, $id, 'DELETED!', true);
             // Determine newly created versions:
             // (remove placeholders are copied and modified, thus they appear in the copyMappingArray)
-            $versionizedElements = ArrayUtility::arrayDiffAssocRecursive($tcemainObj->copyMappingArray, $copyMappingArray);
+            $versionizedElements = ArrayUtility::arrayDiffAssocRecursive($dataHandler->copyMappingArray, $copyMappingArray);
             // Delete localization overlays:
             foreach ($versionizedElements as $versionizedTableName => $versionizedOriginalIds) {
                 foreach ($versionizedOriginalIds as $versionizedOriginalId => $_) {
-                    $tcemainObj->deleteL10nOverlayRecords($versionizedTableName, $versionizedOriginalId);
+                    $dataHandler->deleteL10nOverlayRecords($versionizedTableName, $versionizedOriginalId);
                 }
             }
         }
@@ -272,13 +272,13 @@ class DataHandlerHook
      * @param array $moveRec Record properties, like header and pid (without workspace overlay)
      * @param int $resolvedPid The final page ID of the record
      * @param bool $recordWasMoved can be set so that other hooks or
-     * @param DataHandler $tcemainObj
+     * @param DataHandler $dataHandler
      * @return void
      */
-    public function moveRecord($table, $uid, $destPid, array $propArr, array $moveRec, $resolvedPid, &$recordWasMoved, DataHandler $tcemainObj)
+    public function moveRecord($table, $uid, $destPid, array $propArr, array $moveRec, $resolvedPid, &$recordWasMoved, DataHandler $dataHandler)
     {
         // Only do something in Draft workspace
-        if ($tcemainObj->BE_USER->workspace === 0) {
+        if ($dataHandler->BE_USER->workspace === 0) {
             return;
         }
         if ($destPid < 0) {
@@ -291,7 +291,7 @@ class DataHandlerHook
         $recordWasMoved = true;
         $moveRecVersionState = VersionState::cast($moveRec['t3ver_state']);
         // Get workspace version of the source record, if any:
-        $WSversion = BackendUtility::getWorkspaceVersionOfRecord($tcemainObj->BE_USER->workspace, $table, $uid, 'uid,t3ver_oid');
+        $WSversion = BackendUtility::getWorkspaceVersionOfRecord($dataHandler->BE_USER->workspace, $table, $uid, 'uid,t3ver_oid');
         // Handle move-placeholders if the current record is not one already
         if (
             BackendUtility::isTableWorkspaceEnabled($table)
@@ -299,26 +299,26 @@ class DataHandlerHook
         ) {
             // Create version of record first, if it does not exist
             if (empty($WSversion['uid'])) {
-                $tcemainObj->versionizeRecord($table, $uid, 'MovePointer');
-                $WSversion = BackendUtility::getWorkspaceVersionOfRecord($tcemainObj->BE_USER->workspace, $table, $uid, 'uid,t3ver_oid');
-                $this->moveRecord_processFields($tcemainObj, $resolvedPid, $table, $uid);
+                $dataHandler->versionizeRecord($table, $uid, 'MovePointer');
+                $WSversion = BackendUtility::getWorkspaceVersionOfRecord($dataHandler->BE_USER->workspace, $table, $uid, 'uid,t3ver_oid');
+                $this->moveRecord_processFields($dataHandler, $resolvedPid, $table, $uid);
             // If the record has been versioned before (e.g. cascaded parent-child structure), create only the move-placeholders
-            } elseif ($tcemainObj->isRecordCopied($table, $uid) && (int)$tcemainObj->copyMappingArray[$table][$uid] === (int)$WSversion['uid']) {
-                $this->moveRecord_processFields($tcemainObj, $resolvedPid, $table, $uid);
+            } elseif ($dataHandler->isRecordCopied($table, $uid) && (int)$dataHandler->copyMappingArray[$table][$uid] === (int)$WSversion['uid']) {
+                $this->moveRecord_processFields($dataHandler, $resolvedPid, $table, $uid);
             }
         }
         // Check workspace permissions:
         $workspaceAccessBlocked = [];
         // Element was in "New/Deleted/Moved" so it can be moved...
         $recIsNewVersion = $moveRecVersionState->indicatesPlaceholder();
-        $destRes = $tcemainObj->BE_USER->workspaceAllowLiveRecordsInPID($resolvedPid, $table);
+        $destRes = $dataHandler->BE_USER->workspaceAllowLiveRecordsInPID($resolvedPid, $table);
         $canMoveRecord = ($recIsNewVersion || BackendUtility::isTableWorkspaceEnabled($table));
         // Workspace source check:
         if (!$recIsNewVersion) {
-            $errorCode = $tcemainObj->BE_USER->workspaceCannotEditRecord($table, $WSversion['uid'] ? $WSversion['uid'] : $uid);
+            $errorCode = $dataHandler->BE_USER->workspaceCannotEditRecord($table, $WSversion['uid'] ? $WSversion['uid'] : $uid);
             if ($errorCode) {
                 $workspaceAccessBlocked['src1'] = 'Record could not be edited in workspace: ' . $errorCode . ' ';
-            } elseif (!$canMoveRecord && $tcemainObj->BE_USER->workspaceAllowLiveRecordsInPID($moveRec['pid'], $table) <= 0) {
+            } elseif (!$canMoveRecord && $dataHandler->BE_USER->workspaceAllowLiveRecordsInPID($moveRec['pid'], $table) <= 0) {
                 $workspaceAccessBlocked['src2'] = 'Could not remove record from table "' . $table . '" from its page "' . $moveRec['pid'] . '" ';
             }
         }
@@ -338,13 +338,13 @@ class DataHandlerHook
             // NOT new/deleted placeholder and versioningWS is in version 2, then...
             // since TYPO3 CMS 7, version2 is the default and the only option
             if ($WSversion['uid'] && !$recIsNewVersion && BackendUtility::isTableWorkspaceEnabled($table)) {
-                $this->moveRecord_wsPlaceholders($table, $uid, $destPid, $WSversion['uid'], $tcemainObj);
+                $this->moveRecord_wsPlaceholders($table, $uid, $destPid, $WSversion['uid'], $dataHandler);
             } else {
                 // moving not needed, just behave like in live workspace
                 $recordWasMoved = false;
             }
         } else {
-            $tcemainObj->newlog('Move attempt failed due to workspace restrictions: ' . implode(' // ', $workspaceAccessBlocked), 1);
+            $dataHandler->newlog('Move attempt failed due to workspace restrictions: ' . implode(' // ', $workspaceAccessBlocked), 1);
         }
     }
 
@@ -429,11 +429,11 @@ class DataHandlerHook
      * @param string $table Table name of element (or list of element names if $id is zero)
      * @param int $id Record uid of element (if zero, then $table is used as reference to element(s) alone)
      * @param string $comment User comment sent along with action
-     * @param DataHandler $tcemainObj TCEmain object
+     * @param DataHandler $dataHandler DataHandler object
      * @param array $notificationAlternativeRecipients List of recipients to notify instead of be_users selected by sys_workspace, list is generated by workspace extension module
      * @return void
      */
-    protected function notifyStageChange(array $stat, $stageId, $table, $id, $comment, DataHandler $tcemainObj, array $notificationAlternativeRecipients = [])
+    protected function notifyStageChange(array $stat, $stageId, $table, $id, $comment, DataHandler $dataHandler, array $notificationAlternativeRecipients = [])
     {
         $workspaceRec = BackendUtility::getRecord('sys_workspace', $stat['uid']);
         // So, if $id is not set, then $table is taken to be the complete element name!
@@ -573,9 +573,9 @@ class DataHandlerHook
                 '###NEXT_STAGE###' => $newStage,
                 '###COMMENT###' => $comment,
                 // See: #30212 - keep both markers for compatibility
-                '###USER_REALNAME###' => $tcemainObj->BE_USER->user['realName'],
-                '###USER_FULLNAME###' => $tcemainObj->BE_USER->user['realName'],
-                '###USER_USERNAME###' => $tcemainObj->BE_USER->user['username']
+                '###USER_REALNAME###' => $dataHandler->BE_USER->user['realName'],
+                '###USER_FULLNAME###' => $dataHandler->BE_USER->user['realName'],
+                '###USER_USERNAME###' => $dataHandler->BE_USER->user['username']
             ];
             // add marker for preview links if workspace extension is loaded
             if (\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::isLoaded('workspaces')) {
@@ -655,13 +655,13 @@ class DataHandlerHook
                 $mail->send();
             }
             $emailRecipients = implode(',', $emailRecipients);
-            $tcemainObj->newlog2('Notification email for stage change was sent to "' . $emailRecipients . '"', $table, $id);
+            $dataHandler->newlog2('Notification email for stage change was sent to "' . $emailRecipients . '"', $table, $id);
         }
     }
 
     /**
      * Return be_users that should be notified on stage change from input list.
-     * previously called notifyStageChange_getEmails() in tcemain
+     * previously called notifyStageChange_getEmails() in DataHandler
      *
      * @param string $listOfUsers List of backend users, on the form "be_users_10,be_users_2" or "10,2" in case noTablePrefix is set.
      * @param bool $noTablePrefix If set, the input list are integers and not strings.
@@ -699,17 +699,17 @@ class DataHandlerHook
      * @param int $stageId Stage ID to set
      * @param string $comment Comment that goes into log
      * @param bool $notificationEmailInfo Accumulate state changes in memory for compiled notification email?
-     * @param DataHandler $tcemainObj TCEmain object
+     * @param DataHandler $dataHandler DataHandler object
      * @param array $notificationAlternativeRecipients comma separated list of recipients to notify instead of normal be_users
      * @return void
      */
-    protected function version_setStage($table, $id, $stageId, $comment = '', $notificationEmailInfo = false, DataHandler $tcemainObj, array $notificationAlternativeRecipients = [])
+    protected function version_setStage($table, $id, $stageId, $comment = '', $notificationEmailInfo = false, DataHandler $dataHandler, array $notificationAlternativeRecipients = [])
     {
-        if ($errorCode = $tcemainObj->BE_USER->workspaceCannotEditOfflineVersion($table, $id)) {
-            $tcemainObj->newlog('Attempt to set stage for record failed: ' . $errorCode, 1);
-        } elseif ($tcemainObj->checkRecordUpdateAccess($table, $id)) {
+        if ($errorCode = $dataHandler->BE_USER->workspaceCannotEditOfflineVersion($table, $id)) {
+            $dataHandler->newlog('Attempt to set stage for record failed: ' . $errorCode, 1);
+        } elseif ($dataHandler->checkRecordUpdateAccess($table, $id)) {
             $record = BackendUtility::getRecord($table, $id);
-            $stat = $tcemainObj->BE_USER->checkWorkspace($record['t3ver_wsid']);
+            $stat = $dataHandler->BE_USER->checkWorkspace($record['t3ver_wsid']);
             // check if the usere is allowed to the current stage, so it's also allowed to send to next stage
             if ($GLOBALS['BE_USER']->workspaceCheckStageForCurrent($record['t3ver_stage'])) {
                 // Set stage of record:
@@ -722,23 +722,23 @@ class DataHandlerHook
                         ],
                         ['uid' => (int)$id]
                     );
-                $tcemainObj->newlog2('Stage for record was changed to ' . $stageId . '. Comment was: "' . substr($comment, 0, 100) . '"', $table, $id);
+                $dataHandler->newlog2('Stage for record was changed to ' . $stageId . '. Comment was: "' . substr($comment, 0, 100) . '"', $table, $id);
                 // TEMPORARY, except 6-30 as action/detail number which is observed elsewhere!
-                $tcemainObj->log($table, $id, 6, 0, 0, 'Stage raised...', 30, ['comment' => $comment, 'stage' => $stageId]);
+                $dataHandler->log($table, $id, 6, 0, 0, 'Stage raised...', 30, ['comment' => $comment, 'stage' => $stageId]);
                 if ((int)$stat['stagechg_notification'] > 0) {
                     if ($notificationEmailInfo) {
                         $this->notificationEmailInfo[$stat['uid'] . ':' . $stageId . ':' . $comment]['shared'] = [$stat, $stageId, $comment];
                         $this->notificationEmailInfo[$stat['uid'] . ':' . $stageId . ':' . $comment]['elements'][] = $table . ':' . $id;
                         $this->notificationEmailInfo[$stat['uid'] . ':' . $stageId . ':' . $comment]['alternativeRecipients'] = $notificationAlternativeRecipients;
                     } else {
-                        $this->notifyStageChange($stat, $stageId, $table, $id, $comment, $tcemainObj, $notificationAlternativeRecipients);
+                        $this->notifyStageChange($stat, $stageId, $table, $id, $comment, $dataHandler, $notificationAlternativeRecipients);
                     }
                 }
             } else {
-                $tcemainObj->newlog('The member user tried to set a stage value "' . $stageId . '" that was not allowed', 1);
+                $dataHandler->newlog('The member user tried to set a stage value "' . $stageId . '" that was not allowed', 1);
             }
         } else {
-            $tcemainObj->newlog('Attempt to set stage for record failed because you do not have edit access', 1);
+            $dataHandler->newlog('Attempt to set stage for record failed because you do not have edit access', 1);
         }
     }
 
@@ -754,20 +754,20 @@ class DataHandlerHook
      * @param int $id UID of the online record to swap
      * @param int $swapWith UID of the archived version to swap with!
      * @param bool $swapIntoWS If set, swaps online into workspace instead of publishing out of workspace.
-     * @param DataHandler $tcemainObj TCEmain object
+     * @param DataHandler $dataHandler DataHandler object
      * @param string $comment Notification comment
      * @param bool $notificationEmailInfo Accumulate state changes in memory for compiled notification email?
      * @param array $notificationAlternativeRecipients comma separated list of recipients to notificate instead of normal be_users
      * @return void
      */
-    protected function version_swap($table, $id, $swapWith, $swapIntoWS = 0, DataHandler $tcemainObj, $comment = '', $notificationEmailInfo = false, $notificationAlternativeRecipients = [])
+    protected function version_swap($table, $id, $swapWith, $swapIntoWS = 0, DataHandler $dataHandler, $comment = '', $notificationEmailInfo = false, $notificationAlternativeRecipients = [])
     {
 
         // Check prerequisites before start swapping
 
         // First, check if we may actually edit the online record
-        if (!$tcemainObj->checkRecordUpdateAccess($table, $id)) {
-            $tcemainObj->newlog('Error: You cannot swap versions for a record you do not have access to edit!', 1);
+        if (!$dataHandler->checkRecordUpdateAccess($table, $id)) {
+            $dataHandler->newlog('Error: You cannot swap versions for a record you do not have access to edit!', 1);
             return;
         }
         // Select the two versions:
@@ -776,35 +776,35 @@ class DataHandlerHook
         $movePlh = [];
         $movePlhID = 0;
         if (!(is_array($curVersion) && is_array($swapVersion))) {
-            $tcemainObj->newlog('Error: Either online or swap version could not be selected!', 2);
+            $dataHandler->newlog('Error: Either online or swap version could not be selected!', 2);
             return;
         }
-        if (!$tcemainObj->BE_USER->workspacePublishAccess($swapVersion['t3ver_wsid'])) {
-            $tcemainObj->newlog('User could not publish records from workspace #' . $swapVersion['t3ver_wsid'], 1);
+        if (!$dataHandler->BE_USER->workspacePublishAccess($swapVersion['t3ver_wsid'])) {
+            $dataHandler->newlog('User could not publish records from workspace #' . $swapVersion['t3ver_wsid'], 1);
             return;
         }
-        $wsAccess = $tcemainObj->BE_USER->checkWorkspace($swapVersion['t3ver_wsid']);
+        $wsAccess = $dataHandler->BE_USER->checkWorkspace($swapVersion['t3ver_wsid']);
         if (!($swapVersion['t3ver_wsid'] <= 0 || !($wsAccess['publish_access'] & 1) || (int)$swapVersion['t3ver_stage'] === -10)) {
-            $tcemainObj->newlog('Records in workspace #' . $swapVersion['t3ver_wsid'] . ' can only be published when in "Publish" stage.', 1);
+            $dataHandler->newlog('Records in workspace #' . $swapVersion['t3ver_wsid'] . ' can only be published when in "Publish" stage.', 1);
             return;
         }
-        if (!($tcemainObj->doesRecordExist($table, $swapWith, 'show') && $tcemainObj->checkRecordUpdateAccess($table, $swapWith))) {
-            $tcemainObj->newlog('You cannot publish a record you do not have edit and show permissions for', 1);
+        if (!($dataHandler->doesRecordExist($table, $swapWith, 'show') && $dataHandler->checkRecordUpdateAccess($table, $swapWith))) {
+            $dataHandler->newlog('You cannot publish a record you do not have edit and show permissions for', 1);
             return;
         }
-        if ($swapIntoWS && !$tcemainObj->BE_USER->workspaceSwapAccess()) {
-            $tcemainObj->newlog('Workspace #' . $swapVersion['t3ver_wsid'] . ' does not support swapping.', 1);
+        if ($swapIntoWS && !$dataHandler->BE_USER->workspaceSwapAccess()) {
+            $dataHandler->newlog('Workspace #' . $swapVersion['t3ver_wsid'] . ' does not support swapping.', 1);
             return;
         }
         // Check if the swapWith record really IS a version of the original!
         if (!(((int)$swapVersion['pid'] == -1 && (int)$curVersion['pid'] >= 0) && (int)$swapVersion['t3ver_oid'] === (int)$id)) {
-            $tcemainObj->newlog('In swap version, either pid was not -1 or the t3ver_oid didn\'t match the id of the online version as it must!', 2);
+            $dataHandler->newlog('In swap version, either pid was not -1 or the t3ver_oid didn\'t match the id of the online version as it must!', 2);
             return;
         }
         // Lock file name:
         $lockFileName = PATH_site . 'typo3temp/var/swap_locking/' . $table . ':' . $id . '.ser';
         if (@is_file($lockFileName)) {
-            $tcemainObj->newlog('A swapping lock file was present. Either another swap process is already running or a previous swap process failed. Ask your administrator to handle the situation.', 2);
+            $dataHandler->newlog('A swapping lock file was present. Either another swap process is already running or a previous swap process failed. Ask your administrator to handle the situation.', 2);
             return;
         }
 
@@ -813,7 +813,7 @@ class DataHandlerHook
         // Write lock-file:
         GeneralUtility::writeFileToTypo3tempDir($lockFileName, serialize([
             'tstamp' => $GLOBALS['EXEC_TIME'],
-            'user' => $tcemainObj->BE_USER->user['username'],
+            'user' => $dataHandler->BE_USER->user['username'],
             'curVersion' => $curVersion,
             'swapVersion' => $swapVersion
         ]));
@@ -852,7 +852,7 @@ class DataHandlerHook
         $swapVersion['t3ver_wsid'] = 0;
         if ($swapIntoWS) {
             if ($t3ver_state['swapVersion'] > 0) {
-                $swapVersion['t3ver_wsid'] = $tcemainObj->BE_USER->workspace;
+                $swapVersion['t3ver_wsid'] = $dataHandler->BE_USER->workspace;
             } else {
                 $swapVersion['t3ver_wsid'] = (int)$curVersion['t3ver_wsid'];
             }
@@ -881,7 +881,7 @@ class DataHandlerHook
         // Take care of relations in each field (e.g. IRRE):
         if (is_array($GLOBALS['TCA'][$table]['columns'])) {
             foreach ($GLOBALS['TCA'][$table]['columns'] as $field => $fieldConf) {
-                $this->version_swap_processFields($table, $field, $fieldConf['config'], $curVersion, $swapVersion, $tcemainObj);
+                $this->version_swap_processFields($table, $field, $fieldConf['config'], $curVersion, $swapVersion, $dataHandler);
             }
         }
         unset($swapVersion['uid']);
@@ -899,10 +899,10 @@ class DataHandlerHook
             $curVersion['t3ver_state'] = (string)new VersionState(VersionState::DEFAULT_STATE);
         }
         // Registering and swapping MM relations in current and swap records:
-        $tcemainObj->version_remapMMForVersionSwap($table, $id, $swapWith);
+        $dataHandler->version_remapMMForVersionSwap($table, $id, $swapWith);
         // Generating proper history data to prepare logging
-        $tcemainObj->compareFieldArrayWithCurrentAndUnset($table, $id, $swapVersion);
-        $tcemainObj->compareFieldArrayWithCurrentAndUnset($table, $swapWith, $curVersion);
+        $dataHandler->compareFieldArrayWithCurrentAndUnset($table, $id, $swapVersion);
+        $dataHandler->compareFieldArrayWithCurrentAndUnset($table, $swapWith, $curVersion);
 
         // Execute swapping:
         $sqlErrors = [];
@@ -929,7 +929,7 @@ class DataHandlerHook
             }
         }
         if (!empty($sqlErrors)) {
-            $tcemainObj->newlog('During Swapping: SQL errors happened: ' . implode('; ', $sqlErrors), 2);
+            $dataHandler->newlog('During Swapping: SQL errors happened: ' . implode('; ', $sqlErrors), 2);
         } else {
             // Register swapped ids for later remapping:
             $this->remappedIds[$table][$id] = $swapWith;
@@ -939,7 +939,7 @@ class DataHandlerHook
                 // Remove, if normal publishing:
                 if (!$swapIntoWS) {
                     // For delete + completely delete!
-                    $tcemainObj->deleteEl($table, $movePlhID, true, true);
+                    $dataHandler->deleteEl($table, $movePlhID, true, true);
                 } else {
                     // Otherwise update the movePlaceholder:
                     GeneralUtility::makeInstance(ConnectionPool::class)
@@ -949,38 +949,38 @@ class DataHandlerHook
                             $movePlh,
                             ['uid' => (int)$movePlhID]
                         );
-                    $tcemainObj->addRemapStackRefIndex($table, $movePlhID);
+                    $dataHandler->addRemapStackRefIndex($table, $movePlhID);
                 }
             }
             // Checking for delete:
             // Delete only if new/deleted placeholders are there.
             if (!$swapIntoWS && ((int)$t3ver_state['swapVersion'] === 1 || (int)$t3ver_state['swapVersion'] === 2)) {
                 // Force delete
-                $tcemainObj->deleteEl($table, $id, true);
+                $dataHandler->deleteEl($table, $id, true);
             }
-            $tcemainObj->newlog2(($swapIntoWS ? 'Swapping' : 'Publishing') . ' successful for table "' . $table . '" uid ' . $id . '=>' . $swapWith, $table, $id, $swapVersion['pid']);
+            $dataHandler->newlog2(($swapIntoWS ? 'Swapping' : 'Publishing') . ' successful for table "' . $table . '" uid ' . $id . '=>' . $swapWith, $table, $id, $swapVersion['pid']);
             // Update reference index of the live record:
-            $tcemainObj->addRemapStackRefIndex($table, $id);
+            $dataHandler->addRemapStackRefIndex($table, $id);
             // Set log entry for live record:
-            $propArr = $tcemainObj->getRecordPropertiesFromRow($table, $swapVersion);
+            $propArr = $dataHandler->getRecordPropertiesFromRow($table, $swapVersion);
             if ($propArr['_ORIG_pid'] == -1) {
                 $label = $this->getLanguageService()->sL('LLL:EXT:lang/locallang_tcemain.xlf:version_swap.offline_record_updated');
             } else {
                 $label = $this->getLanguageService()->sL('LLL:EXT:lang/locallang_tcemain.xlf:version_swap.online_record_updated');
             }
-            $theLogId = $tcemainObj->log($table, $id, 2, $propArr['pid'], 0, $label, 10, [$propArr['header'], $table . ':' . $id], $propArr['event_pid']);
-            $tcemainObj->setHistory($table, $id, $theLogId);
+            $theLogId = $dataHandler->log($table, $id, 2, $propArr['pid'], 0, $label, 10, [$propArr['header'], $table . ':' . $id], $propArr['event_pid']);
+            $dataHandler->setHistory($table, $id, $theLogId);
             // Update reference index of the offline record:
-            $tcemainObj->addRemapStackRefIndex($table, $swapWith);
+            $dataHandler->addRemapStackRefIndex($table, $swapWith);
             // Set log entry for offline record:
-            $propArr = $tcemainObj->getRecordPropertiesFromRow($table, $curVersion);
+            $propArr = $dataHandler->getRecordPropertiesFromRow($table, $curVersion);
             if ($propArr['_ORIG_pid'] == -1) {
                 $label = $this->getLanguageService()->sL('LLL:EXT:lang/locallang_tcemain.xlf:version_swap.offline_record_updated');
             } else {
                 $label = $this->getLanguageService()->sL('LLL:EXT:lang/locallang_tcemain.xlf:version_swap.online_record_updated');
             }
-            $theLogId = $tcemainObj->log($table, $swapWith, 2, $propArr['pid'], 0, $label, 10, [$propArr['header'], $table . ':' . $swapWith], $propArr['event_pid']);
-            $tcemainObj->setHistory($table, $swapWith, $theLogId);
+            $theLogId = $dataHandler->log($table, $swapWith, 2, $propArr['pid'], 0, $label, 10, [$propArr['header'], $table . ':' . $swapWith], $propArr['event_pid']);
+            $dataHandler->setHistory($table, $swapWith, $theLogId);
 
             $stageId = -20; // \TYPO3\CMS\Workspaces\Service\StagesService::STAGE_PUBLISH_EXECUTE_ID;
             if ($notificationEmailInfo) {
@@ -989,18 +989,18 @@ class DataHandlerHook
                 $this->notificationEmailInfo[$notificationEmailInfoKey]['elements'][] = $table . ':' . $id;
                 $this->notificationEmailInfo[$notificationEmailInfoKey]['alternativeRecipients'] = $notificationAlternativeRecipients;
             } else {
-                $this->notifyStageChange($wsAccess, $stageId, $table, $id, $comment, $tcemainObj, $notificationAlternativeRecipients);
+                $this->notifyStageChange($wsAccess, $stageId, $table, $id, $comment, $dataHandler, $notificationAlternativeRecipients);
             }
                 // Write to log with stageId -20
-            $tcemainObj->newlog2('Stage for record was changed to ' . $stageId . '. Comment was: "' . substr($comment, 0, 100) . '"', $table, $id);
-            $tcemainObj->log($table, $id, 6, 0, 0, 'Published', 30, ['comment' => $comment, 'stage' => $stageId]);
+            $dataHandler->newlog2('Stage for record was changed to ' . $stageId . '. Comment was: "' . substr($comment, 0, 100) . '"', $table, $id);
+            $dataHandler->log($table, $id, 6, 0, 0, 'Published', 30, ['comment' => $comment, 'stage' => $stageId]);
 
             // Clear cache:
-            $tcemainObj->registerRecordIdForPageCacheClearing($table, $id);
+            $dataHandler->registerRecordIdForPageCacheClearing($table, $id);
             // Checking for "new-placeholder" and if found, delete it (BUT FIRST after swapping!):
             if (!$swapIntoWS && $t3ver_state['curVersion'] > 0) {
                 // For delete + completely delete!
-                $tcemainObj->deleteEl($table, $swapWith, true, true);
+                $dataHandler->deleteEl($table, $swapWith, true, true);
             }
 
             //Update reference index for live workspace too:
@@ -1118,17 +1118,17 @@ class DataHandlerHook
      * @param string $table Table name
      * @param int $id Record UID
      * @param bool $flush If set, will completely delete element
-     * @param DataHandler $tcemainObj TCEmain object
+     * @param DataHandler $dataHandler DataHandler object
      * @return void
      */
-    protected function version_clearWSID($table, $id, $flush = false, DataHandler $tcemainObj)
+    protected function version_clearWSID($table, $id, $flush = false, DataHandler $dataHandler)
     {
-        if ($errorCode = $tcemainObj->BE_USER->workspaceCannotEditOfflineVersion($table, $id)) {
-            $tcemainObj->newlog('Attempt to reset workspace for record failed: ' . $errorCode, 1);
+        if ($errorCode = $dataHandler->BE_USER->workspaceCannotEditOfflineVersion($table, $id)) {
+            $dataHandler->newlog('Attempt to reset workspace for record failed: ' . $errorCode, 1);
             return;
         }
-        if (!$tcemainObj->checkRecordUpdateAccess($table, $id)) {
-            $tcemainObj->newlog('Attempt to reset workspace for record failed because you do not have edit access', 1);
+        if (!$dataHandler->checkRecordUpdateAccess($table, $id)) {
+            $dataHandler->newlog('Attempt to reset workspace for record failed because you do not have edit access', 1);
             return;
         }
         $liveRec = BackendUtility::getLiveVersionOfRecord($table, $id, 'uid,t3ver_state');
@@ -1159,7 +1159,7 @@ class DataHandlerHook
             );
 
             // THIS assumes that the record was placeholder ONLY for ONE record (namely $id)
-            $tcemainObj->deleteEl($table, $liveRec['uid'], true);
+            $dataHandler->deleteEl($table, $liveRec['uid'], true);
         }
         // If "deleted" flag is set for the version that got released
         // it doesn't make sense to keep that "placeholder" anymore and we delete it completly.
@@ -1171,12 +1171,12 @@ class DataHandlerHook
                 || VersionState::cast($wsRec['t3ver_state'])->equals(VersionState::DELETE_PLACEHOLDER)
             )
         ) {
-            $tcemainObj->deleteEl($table, $id, true, true);
+            $dataHandler->deleteEl($table, $id, true, true);
         }
         // Remove the move-placeholder if found for live record.
         if (BackendUtility::isTableWorkspaceEnabled($table)) {
             if ($plhRec = BackendUtility::getMovePlaceholder($table, $liveRec['uid'], 'uid')) {
-                $tcemainObj->deleteEl($table, $plhRec['uid'], true, true);
+                $dataHandler->deleteEl($table, $plhRec['uid'], true, true);
             }
         }
     }
@@ -1398,11 +1398,11 @@ class DataHandlerHook
      * @param int $uid Record uid to move (online record)
      * @param int $destPid Position to move to: $destPid: >=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
      * @param int $wsUid UID of offline version of online record
-     * @param DataHandler $tcemainObj TCEmain object
+     * @param DataHandler $dataHandler DataHandler object
      * @return void
      * @see moveRecord()
      */
-    protected function moveRecord_wsPlaceholders($table, $uid, $destPid, $wsUid, DataHandler $tcemainObj)
+    protected function moveRecord_wsPlaceholders($table, $uid, $destPid, $wsUid, DataHandler $dataHandler)
     {
         // If a record gets moved after a record that already has a placeholder record
         // then the new placeholder record needs to be after the existing one
@@ -1415,7 +1415,7 @@ class DataHandlerHook
         }
         if ($plh = BackendUtility::getMovePlaceholder($table, $uid, 'uid')) {
             // If already a placeholder exists, move it:
-            $tcemainObj->moveRecord_raw($table, $plh['uid'], $destPid);
+            $dataHandler->moveRecord_raw($table, $plh['uid'], $destPid);
         } else {
             // First, we create a placeholder record in the Live workspace that
             // represents the position to where the record is eventually moved to.
@@ -1444,14 +1444,14 @@ class DataHandlerHook
                 $newVersion_placeholderFieldArray[$GLOBALS['TCA'][$table]['ctrl']['crdate']] = $GLOBALS['EXEC_TIME'];
             }
             if ($GLOBALS['TCA'][$table]['ctrl']['cruser_id']) {
-                $newVersion_placeholderFieldArray[$GLOBALS['TCA'][$table]['ctrl']['cruser_id']] = $tcemainObj->userid;
+                $newVersion_placeholderFieldArray[$GLOBALS['TCA'][$table]['ctrl']['cruser_id']] = $dataHandler->userid;
             }
             if ($GLOBALS['TCA'][$table]['ctrl']['tstamp']) {
                 $newVersion_placeholderFieldArray[$GLOBALS['TCA'][$table]['ctrl']['tstamp']] = $GLOBALS['EXEC_TIME'];
             }
             if ($table == 'pages') {
                 // Copy page access settings from original page to placeholder
-                $perms_clause = $tcemainObj->BE_USER->getPagePermsClause(1);
+                $perms_clause = $dataHandler->BE_USER->getPagePermsClause(1);
                 $access = BackendUtility::readPageAccess($uid, $perms_clause);
                 $newVersion_placeholderFieldArray['perms_userid'] = $access['perms_userid'];
                 $newVersion_placeholderFieldArray['perms_groupid'] = $access['perms_groupid'];
@@ -1464,8 +1464,8 @@ class DataHandlerHook
             // Setting placeholder state value for temporary record
             $newVersion_placeholderFieldArray['t3ver_state'] = (string)new VersionState(VersionState::MOVE_PLACEHOLDER);
             // Setting workspace - only so display of place holders can filter out those from other workspaces.
-            $newVersion_placeholderFieldArray['t3ver_wsid'] = $tcemainObj->BE_USER->workspace;
-            $newVersion_placeholderFieldArray[$GLOBALS['TCA'][$table]['ctrl']['label']] = $tcemainObj->getPlaceholderTitleForTableLabel($table, 'MOVE-TO PLACEHOLDER for #' . $uid);
+            $newVersion_placeholderFieldArray['t3ver_wsid'] = $dataHandler->BE_USER->workspace;
+            $newVersion_placeholderFieldArray[$GLOBALS['TCA'][$table]['ctrl']['label']] = $dataHandler->getPlaceholderTitleForTableLabel($table, 'MOVE-TO PLACEHOLDER for #' . $uid);
             // moving localized records requires to keep localization-settings for the placeholder too
             if (isset($GLOBALS['TCA'][$table]['ctrl']['languageField']) && isset($GLOBALS['TCA'][$table]['ctrl']['transOrigPointerField'])) {
                 $l10nParentRec = BackendUtility::getRecord($table, $uid);
@@ -1480,9 +1480,9 @@ class DataHandlerHook
             $newVersion_placeholderFieldArray['pid'] = 0;
             $id = 'NEW_MOVE_PLH';
             // Saving placeholder as 'original'
-            $tcemainObj->insertDB($table, $id, $newVersion_placeholderFieldArray, false);
+            $dataHandler->insertDB($table, $id, $newVersion_placeholderFieldArray, false);
             // Move the new placeholder from temporary root-level to location:
-            $tcemainObj->moveRecord_raw($table, $tcemainObj->substNEWwithIDs[$id], $destPid);
+            $dataHandler->moveRecord_raw($table, $dataHandler->substNEWwithIDs[$id], $destPid);
             // Move the workspace-version of the original to be the version of the move-to-placeholder:
             // Setting placeholder state value for version (so it can know it is currently a new version...)
             $updateFields = [
@@ -1498,23 +1498,23 @@ class DataHandlerHook
                 );
         }
         // Check for the localizations of that element and move them as well
-        $tcemainObj->moveL10nOverlayRecords($table, $uid, $destPid, $originalRecordDestinationPid);
+        $dataHandler->moveL10nOverlayRecords($table, $uid, $destPid, $originalRecordDestinationPid);
     }
 
     /**
      * Gets an instance of the command map helper.
      *
-     * @param DataHandler $tceMain TCEmain object
+     * @param DataHandler $dataHandler DataHandler object
      * @return \TYPO3\CMS\Version\DataHandler\CommandMap
      */
-    public function getCommandMap(DataHandler $tceMain)
+    public function getCommandMap(DataHandler $dataHandler)
     {
         return GeneralUtility::makeInstance(
             \TYPO3\CMS\Version\DataHandler\CommandMap::class,
             $this,
-            $tceMain,
-            $tceMain->cmdmap,
-            $tceMain->BE_USER->workspace
+            $dataHandler,
+            $dataHandler->cmdmap,
+            $dataHandler->BE_USER->workspace
         );
     }
 
index a49b4c8..f3fdf88 100644 (file)
@@ -1,7 +1,7 @@
 <?php
 defined('TYPO3_MODE') or die();
 
-// register the hook to actually do the work within TCEmain
+// register the hook to actually do the work within DataHandler
 $GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['t3lib/class.t3lib_tcemain.php']['processCmdmapClass']['version'] = \TYPO3\CMS\Version\Hook\DataHandlerHook::class;
 $GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['t3lib/class.t3lib_tcemain.php']['moveRecordClass']['version'] = \TYPO3\CMS\Version\Hook\DataHandlerHook::class;
 
index 2bb1bb8..e105571 100644 (file)
@@ -22,7 +22,7 @@ use TYPO3\CMS\Core\Utility\GeneralUtility;
 use TYPO3\CMS\Workspaces\Service\StagesService;
 
 /**
- * Tcemain service
+ * DataHandler service
  */
 class DataHandlerHook
 {
@@ -35,10 +35,10 @@ class DataHandlerHook
      * @param string $table
      * @param string $id
      * @param string $value
-     * @param \TYPO3\CMS\Core\DataHandling\DataHandler $tcemain
+     * @param \TYPO3\CMS\Core\DataHandling\DataHandler $dataHandler
      * @return void
      */
-    public function processCmdmap_postProcess($command, $table, $id, $value, \TYPO3\CMS\Core\DataHandling\DataHandler $tcemain)
+    public function processCmdmap_postProcess($command, $table, $id, $value, \TYPO3\CMS\Core\DataHandling\DataHandler $dataHandler)
     {
         if ($command === 'delete') {
             if ($table === StagesService::TABLE_STAGE) {
@@ -53,12 +53,12 @@ class DataHandlerHook
      * hook that is called AFTER all commands of the commandmap was
      * executed
      *
-     * @param \TYPO3\CMS\Core\DataHandling\DataHandler $tcemainObj reference to the main tcemain object
+     * @param \TYPO3\CMS\Core\DataHandling\DataHandler $dataHandler reference to the main DataHandler object
      * @return void
      */
-    public function processCmdmap_afterFinish(\TYPO3\CMS\Core\DataHandling\DataHandler $tcemainObj)
+    public function processCmdmap_afterFinish(\TYPO3\CMS\Core\DataHandling\DataHandler $dataHandler)
     {
-        $this->flushWorkspaceCacheEntriesByWorkspaceId($tcemainObj->BE_USER->workspace);
+        $this->flushWorkspaceCacheEntriesByWorkspaceId($dataHandler->BE_USER->workspace);
     }
 
     /**
@@ -128,9 +128,9 @@ class DataHandlerHook
             }
         }
         if (!empty($command)) {
-            $tceMain = $this->getTceMain();
-            $tceMain->start([], $command);
-            $tceMain->process_cmdmap();
+            $dataHandler = $this->getDataHandler();
+            $dataHandler->start([], $command);
+            $dataHandler->process_cmdmap();
         }
     }
 
@@ -147,7 +147,7 @@ class DataHandlerHook
     /**
      * @return \TYPO3\CMS\Core\DataHandling\DataHandler
      */
-    protected function getTceMain()
+    protected function getDataHandler()
     {
         return \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance(\TYPO3\CMS\Core\DataHandling\DataHandler::class);
     }
index f71979d..12c75c1 100644 (file)
@@ -133,13 +133,13 @@ class WorkspaceService implements SingletonInterface
     }
 
     /**
-     * Building tcemain CMD-array for swapping all versions in a workspace.
+     * Building DataHandler CMD-array for swapping all versions in a workspace.
      *
      * @param int Real workspace ID, cannot be ONLINE (zero).
      * @param bool If set, then the currently online versions are swapped into the workspace in exchange for the offline versions. Otherwise the workspace is emptied.
      * @param int $pageId The page id
      * @param int $language Select specific language only
-     * @return array Command array for tcemain
+     * @return array Command array for DataHandler
      */
     public function getCmdArrayForPublishWS($wsid, $doSwap, $pageId = 0, $language = null)
     {
@@ -168,13 +168,13 @@ class WorkspaceService implements SingletonInterface
     }
 
     /**
-     * Building tcemain CMD-array for releasing all versions in a workspace.
+     * Building DataHandler CMD-array for releasing all versions in a workspace.
      *
      * @param int Real workspace ID, cannot be ONLINE (zero).
      * @param bool Run Flush (TRUE) or ClearWSID (FALSE) command
      * @param int $pageId The page id
      * @param int $language Select specific language only
-     * @return array Command array for tcemain
+     * @return array Command array for DataHandler
      */
     public function getCmdArrayForFlushWS($wsid, $flush = true, $pageId = 0, $language = null)
     {