#!/usr/bin/env php 0 && ($now - $updatedAt) > ($draftDays * 86400)) { unlink($file); $deletedDrafts++; } } $submissionFiles = glob($submissionDir . '/*.json') ?: []; foreach ($submissionFiles as $file) { $raw = file_get_contents($file); $data = is_string($raw) ? json_decode($raw, true) : null; $submittedAt = strtotime((string) ($data['submitted_at'] ?? '')); if ($submittedAt > 0 && ($now - $submittedAt) > ($submissionDays * 86400)) { $applicationKey = (string) ($data['application_key'] ?? pathinfo($file, PATHINFO_FILENAME)); unlink($file); FileSystem::removeTree($uploadDir . '/' . $applicationKey); $deletedSubmissions++; } } $message = sprintf( 'Cleanup abgeschlossen: drafts=%d, submissions=%d', $deletedDrafts, $deletedSubmissions ); Bootstrap::log('cleanup', $message); if (PHP_SAPI === 'cli') { echo $message . PHP_EOL; }