From ee8e50d4c13216bb60cec2169ceeca6d27104594 Mon Sep 17 00:00:00 2001 From: Vincent Vanwaelscappel Date: Mon, 9 Mar 2026 19:21:31 +0100 Subject: [PATCH] wait #8046 @2.5 --- app/Console/Commands/Migration.php | 78 ------------------- app/Console/Commands/SendMailCampaign.php | 25 ++++++ .../Controllers/Admin/PublishController.php | 15 +++- routes/web.php | 2 +- 4 files changed, 38 insertions(+), 82 deletions(-) delete mode 100644 app/Console/Commands/Migration.php create mode 100644 app/Console/Commands/SendMailCampaign.php diff --git a/app/Console/Commands/Migration.php b/app/Console/Commands/Migration.php deleted file mode 100644 index 9618f56..0000000 --- a/app/Console/Commands/Migration.php +++ /dev/null @@ -1,78 +0,0 @@ -setArg('h', env('OLD_DB_HOST')); - $mysqldump->setManualArg('-u' . env('OLD_DB_USERNAME') . ' -p' . env('OLD_DB_PASSWORD')); - foreach ($ignore as $i) { - $mysqldump->setArg('ignore-table', env('OLD_DB_DATABASE') . '.' . $i); - } - $mysqldump->setArg(null, env('OLD_DB_DATABASE')); - $mysqldump->execute(); - - // Make backup of new server - $backup = Files::mkdir(storage_path('database/migrationbackup/')) . time() . '.sql'; - $mysqldump = new CommandLine('mysqldump', $backup, false); - $mysqldump->setArg('h', env('DB_HOST')); - $mysqldump->setManualArg('-u' . env('DB_USERNAME') . ' -p' . env('DB_PASSWORD')); - $mysqldump->setArg(null, env('DB_DATABASE')); - $mysqldump->execute(); - `gzip $backup`; - - //Import dump from old server - $mysql = 'mysql -h ' . env('DB_HOST') . ' -u' . env('DB_USERNAME') . ' -p' . env('DB_PASSWORD') . ' ' . env('DB_DATABASE') . ' < ' . $tmp; - `$mysql`; - unlink($tmp); - - // Sync S3 - `rclone sync olds3:prescription-sante s3:presquot`; - `rclone sync olds3:prescription-sante/flowpaper/ /application/storage/app/flowpaper/`; - `rclone sync olds3:prescription-sante /application/storage/s3/`; - - Artisan::call('psq:fluidbook:archives'); - Artisan::call('migrate', ['--force' => true]); - Artisan::call('optimize:clear'); - } -} diff --git a/app/Console/Commands/SendMailCampaign.php b/app/Console/Commands/SendMailCampaign.php new file mode 100644 index 0000000..da60b6b --- /dev/null +++ b/app/Console/Commands/SendMailCampaign.php @@ -0,0 +1,25 @@ +argument('id'); + $pdf = PdfFile::where('slug', $id)->first(); + $data = [ + 'file' => $pdf, + 'recipient_group' => ['slug' => $this->argument('group')], + ]; + + dd(PublishController::sendMailing($data, true)); + } +} diff --git a/app/Http/Controllers/Admin/PublishController.php b/app/Http/Controllers/Admin/PublishController.php index df373d7..d9e8bc7 100644 --- a/app/Http/Controllers/Admin/PublishController.php +++ b/app/Http/Controllers/Admin/PublishController.php @@ -43,6 +43,11 @@ class PublishController extends Controller public function publish(Request $request) { $data = $request->input('data'); + return self::sendMailing($data); + } + + public static function sendMailing($data, $sync = false) + { $default = ['email' => [ 'subject' => "L'édition du jour [" . $data['file']['title'] . "]", @@ -58,7 +63,6 @@ class PublishController extends Controller $data = ArrayUtil::mergeOverwriteNull($default, $data); - $recipientGroup = Arr::get($data, 'recipient_group'); /** @var Builder $usersBuilder */ @@ -66,13 +70,18 @@ class PublishController extends Controller User::receivesEmails() : PublishController::sendGroups()['groups'][$recipientGroup['slug']]['builder']; - $userReceivesPdfBuilder = clone $usersBuilder; $batch = EmailBatch::createFromRequest($data); $processEmailBatch = new ProcessEmailBatch($batch, $usersBuilder); - dispatch($processEmailBatch); + if (!$sync) { + dispatch($processEmailBatch); + } else { + dispatch_sync($processEmailBatch); + } // if ($pdfBatch = EmailBatch::createAttachmentMailFromRequest($data)) { +// +// $userReceivesPdfBuilder = clone $usersBuilder; // $userReceivesPdfBuilder->subscriber()->receivesPdf(); // $pdfProcessEmailBatch = new ProcessEmailBatch($pdfBatch, $userReceivesPdfBuilder); // dispatch($pdfProcessEmailBatch->withFile()); diff --git a/routes/web.php b/routes/web.php index d626808..1e36103 100644 --- a/routes/web.php +++ b/routes/web.php @@ -80,7 +80,7 @@ Route::domain(env('CLIENT_DOMAIN_NAME'))->group(function () { /** For admin preview */ Route::get('preview/{file:slug}', 'FluidbookController@preview')->name('fluidbook.preview'); /** Download file */ - Route::get('download/{file:slug}', 'FluidbookController@download')->name('pdf.download'); + //Route::get('download/{file:slug}', 'FluidbookController@download')->name('pdf.download'); Route::get('archives', 'ArchiveController@index')->name('archives.index'); -- 2.39.5