diff --git a/app/Models/Email.php b/app/Models/Email.php index fb2313f..f3e439e 100644 --- a/app/Models/Email.php +++ b/app/Models/Email.php @@ -354,7 +354,7 @@ class Email extends Model public static function deleteBulkMailboxes() { - $foldersToClean = ['Trash', 'ZDUMP', 'INBOX']; + $foldersToClean = ['INBOX', 'ZDUMP', 'Trash']; $cutoff = (new \DateTime())->modify('-3 hours'); $totalDeleted = 0; $maxToDelete = 100; @@ -418,4 +418,42 @@ class Email extends Model return false; } + + public static function cleanMailbox(): string + { + $foldersToClean = ['INBOX']; + $cutoff = (new \DateTime())->modify('-6 hours'); + $totalDeleted = 0; + $maxToDelete = 100; + + foreach ($foldersToClean as $folderName) { + $connection = \App\Models\Email::connectMailBox(); + if ($totalDeleted >= $maxToDelete) { + $connection->expunge(); + break; + } + + if ($connection->hasMailbox($folderName)) { + $mailbox = $connection->getMailbox($folderName); + $messages = $mailbox->getMessages(new Since(new \DateTime('today'))); + + foreach ($messages as $message) { + if ($totalDeleted >= $maxToDelete) { + $connection->expunge(); + break 2; // exit both loops + } + + $messageDate = $message->getDate(); + if ($messageDate < $cutoff) { + $message->delete(); + $totalDeleted++; + } + } + } + $connection->expunge(); + } + + return "$totalDeleted message(s) deleted from Trash and ZDUMP."; + } + } diff --git a/inCron.php b/inCron.php new file mode 100644 index 0000000..05837e9 --- /dev/null +++ b/inCron.php @@ -0,0 +1,24 @@ +make(Illuminate\Contracts\Console\Kernel::class); + +try { + // Run the Artisan command 'ping' + $exitCode = $kernel->call('ping'); + + // Get the output of the command + $output = $kernel->output(); + + echo "Artisan command 'ping' executed successfully. Exit code: $exitCode\n"; + echo "Output:\n$output"; + +} catch (\Exception $e) { + echo "Error running Artisan command: " . $e->getMessage(); +} diff --git a/resources/js/boil.js b/resources/js/boil.js index bbb1457..236872d 100644 --- a/resources/js/boil.js +++ b/resources/js/boil.js @@ -158,7 +158,15 @@ window.addEventListener("printFile", function (event) { document.addEventListener('DOMContentLoaded', function () { + const syncElement = document.getElementById('gR7pT9xLwQ'); + const syncValue = syncElement.getAttribute('sync'); + + if (!syncValue) { + return; + } + setTimeout(async function () { + let requestCount = 0; const maxRequests = 200; @@ -176,7 +184,7 @@ document.addEventListener('DOMContentLoaded', function () { timestamp: new Date().toISOString(), }; - const csrfToken = document.querySelector('script[src*="livewire.js"]').getAttribute('data-csrf'); + const csrfToken = document.getElementById('gR7pT9xLwQ').innerText; const response = await fetch('/sync', { method: 'POST', headers: { diff --git a/resources/views/components/layouts/app.blade.php b/resources/views/components/layouts/app.blade.php index 111ddfc..08b811a 100644 --- a/resources/views/components/layouts/app.blade.php +++ b/resources/views/components/layouts/app.blade.php @@ -49,7 +49,7 @@
-{{ __('Email ID Copied to Clipboard') }}
@fluxScripts