+++ /dev/null
-<?php
-
-namespace App\Console\Commands;
-
-use Cubist\Util\CommandLine;
-use Cubist\Util\Files\Files;
-use Illuminate\Console\Command;
-use Illuminate\Support\Facades\Artisan;
-
-class Migration extends Command
-{
- /**
- * The name and signature of the console command.
- *
- * @var string
- */
- protected $signature = 'psq:migration';
-
- /**
- * The console command description.
- *
- * @var string
- */
- protected $description = 'Migration of old site to new one';
-
- /**
- * Create a new command instance.
- *
- * @return void
- */
- public function __construct()
- {
- parent::__construct();
- }
-
-
- public function handle()
- {
- $ignore = ['settings', 'setting_translations'];
-
- $tmp = '/tmp/dump' . rand(100000, 999999) . '.sql';
-
- Artisan::call('optimize:clear');
-
- // Get dump from old server
- $mysqldump = new CommandLine('mysqldump', $tmp, false);
- $mysqldump->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');
- }
-}
--- /dev/null
+<?php
+
+namespace App\Console\Commands;
+
+
+use App\Http\Controllers\Admin\PublishController;
+use App\PdfFile;
+use Illuminate\Console\Command;
+
+class SendMailCampaign extends Command
+{
+ public $signature = 'psq:letter:mailing {id} {group=cube}';
+
+ public function handle()
+ {
+ $id = $this->argument('id');
+ $pdf = PdfFile::where('slug', $id)->first();
+ $data = [
+ 'file' => $pdf,
+ 'recipient_group' => ['slug' => $this->argument('group')],
+ ];
+
+ dd(PublishController::sendMailing($data, true));
+ }
+}
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'] . "]",
$data = ArrayUtil::mergeOverwriteNull($default, $data);
-
$recipientGroup = Arr::get($data, 'recipient_group');
/** @var Builder $usersBuilder */
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());