48 foreach ($tables as $table) {
65 if (isset(
$GLOBALS[
'TCA'][$tableName][
'ctrl'][
'delete'])) {
66 $queryBuilder = GeneralUtility::makeInstance(ConnectionPool::class)->getQueryBuilderForTable($tableName);
67 $queryBuilder->getRestrictions()->removeAll();
70 $queryBuilder->expr()->eq(
71 $GLOBALS[
'TCA'][$tableName][
'ctrl'][
'delete'],
72 $queryBuilder->createNamedParameter(1, \PDO::PARAM_INT)
77 if (
$GLOBALS[
'TCA'][$tableName][
'ctrl'][
'tstamp']) {
79 $constraints[] = $queryBuilder->expr()->lt(
80 $GLOBALS[
'TCA'][$tableName][
'ctrl'][
'tstamp'],
81 $queryBuilder->createNamedParameter($dateBefore, \PDO::PARAM_INT)
86 $queryBuilder->delete($tableName)
87 ->where(...$constraints)
89 }
catch (\Doctrine\DBAL\DBALException $e) {
106 $this->
getLanguageService()->sL(
'LLL:EXT:recycler/Resources/Private/Language/locallang_tasks.xlf:cleanerTaskDescriptionTables'),
113 $this->
getLanguageService()->sL(
'LLL:EXT:recycler/Resources/Private/Language/locallang_tasks.xlf:cleanerTaskDescriptionDays'),
145 return strtotime(
'-' . $this->
getPeriod() .
' days');
177 if (!empty($fieldList)) {
190 $queryBuilder = GeneralUtility::makeInstance(ConnectionPool::class)->getQueryBuilderForTable($table);
191 $queryBuilder->getRestrictions()->removeAll();
194 $queryBuilder->expr()->eq(
195 $GLOBALS[
'TCA'][$table][
'ctrl'][
'delete'],
196 $queryBuilder->createNamedParameter(1, \PDO::PARAM_INT)
200 if (
$GLOBALS[
'TCA'][$table][
'ctrl'][
'tstamp']) {
202 $constraints[] = $queryBuilder->expr()->lt(
203 $GLOBALS[
'TCA'][$table][
'ctrl'][
'tstamp'],
204 $queryBuilder->createNamedParameter($dateBefore, \PDO::PARAM_INT)
208 $result = $queryBuilder
209 ->select(...$fieldList)
211 ->where(...$constraints)
214 while ($row = $result->fetch()) {
215 foreach ($fieldList as $fieldName) {
217 $fileList = GeneralUtility::trimExplode(
',', $row[$fieldName]);
218 foreach ($fileList as $fileName) {
219 @unlink($uploadDir . $fileName);
235 if (isset(
$GLOBALS[
'TCA'][$table][
'columns'])) {
236 foreach (
$GLOBALS[
'TCA'][$table][
'columns'] as $fieldName => $fieldConfiguration) {
237 if ($fieldConfiguration[
'config'][
'type'] ===
'group'
238 && $fieldConfiguration[
'config'][
'internal_type'] ===
'file'
240 $result[] = $fieldName;