<?php namespace Wrm\Events\Service; use TYPO3\CMS\Core\DataHandling\DataHandler; use TYPO3\CMS\Core\Utility\GeneralUtility; use Wrm\Events\Service\Cleanup\Database; use Wrm\Events\Service\Cleanup\Files; class CleanupService { /** * @var Database */ private $database; /** * @var Files */ private $files; public function __construct(Database $database, Files $files) { $this->database = $database; $this->files = $files; } public function deleteAllData() { $this->database->truncateTables(... [Database::DATE_TABLE, Database::ORGANIZER_TABLE]); $this->removeViaDataHandler($this->database->getDeletionStructureForEvents()); $this->files->deleteAll(); } public function deletePastData() { $this->database->deleteDates(... $this->database->getPastDates()); $this->removeViaDataHandler($this->database->getDeletionStructureForEventsWithoutDates()); $this->files->deleteDangling(); } private function removeViaDataHandler(array $structure) { /* @var DataHandler $dataHandler */ $dataHandler = GeneralUtility::makeInstance(DataHandler::class); $dataHandler->start([], $structure); $dataHandler->process_cmdmap(); } }