75 lines
2.4 KiB
PHP
Executable File
75 lines
2.4 KiB
PHP
Executable File
<?php
|
|
|
|
namespace App\Http\Controllers;
|
|
|
|
use App\Models\Agent;
|
|
use App\Models\AgentPlus;
|
|
use App\Models\TransfertCommissionTransaction;
|
|
use App\Models\User;
|
|
use App\Traits\ApiResponser;
|
|
use App\Traits\Helper;
|
|
use Barryvdh\DomPDF\Facade as PDF;
|
|
use Illuminate\Support\Facades\Log;
|
|
|
|
class QRCodeController extends Controller
|
|
{
|
|
use ApiResponser;
|
|
use Helper;
|
|
|
|
/**
|
|
* Create a new controller instance.
|
|
*
|
|
* @return void
|
|
*/
|
|
public function __construct()
|
|
{
|
|
//
|
|
}
|
|
|
|
//Generer le QRCode d'un utilisateur
|
|
public function generate($id_user)
|
|
{
|
|
$user = User::findOrFail($id_user);
|
|
try {
|
|
//Check if the directory already exists.
|
|
$directoryName = './qrcodes/';
|
|
if (!is_dir($directoryName)) {
|
|
mkdir($directoryName, 0755);
|
|
}
|
|
|
|
$pdf = PDF::loadView('emails.qr_code', ['lastname' => $user->lastname, 'data' => $user->id])
|
|
->setPaper('a4', 'portrait')->setWarnings(false)->save(public_path($directoryName . $user->id . '.pdf'));
|
|
// $recipients = [preg_replace("/\s+/", "", $email)]; // Supprimer les espaces dans le mail
|
|
// Mail::mailer('smtp')->raw($messageText, function ($message) use ($recipients, $title, $pdf, $notice) {
|
|
// $message->subject($title)
|
|
// ->to($recipients)
|
|
// ->attachData($pdf->output(), $title . ' - ' . $notice->id_tax_notice . ".pdf");
|
|
// });
|
|
|
|
$user->has_qr_code = 1;
|
|
$user->save();
|
|
return $this->successResponse(trans('messages.successful_transaction'));
|
|
} catch (\Throwable $t) {
|
|
Log::error('-------- Mail not sent -----------');
|
|
Log::error($t->getMessage());
|
|
return $this->errorResponse(trans('errors.unexpected_error'));
|
|
}
|
|
}
|
|
|
|
//Generer le QRCode d'un utilisateur à partir de son id
|
|
public function read($id_user)
|
|
{
|
|
$user = User::findOrFail($id_user);
|
|
return $this->successResponse($user);
|
|
}
|
|
|
|
//Generer l'image du QRCode d'un utilisateur à partir de son id
|
|
public function image($id_user)
|
|
{
|
|
$user = User::findOrFail($id_user);
|
|
return $this->successResponse(base64_encode(\SimpleSoftwareIO\QrCode\Facades\QrCode::format('svg')
|
|
->size(300)->errorCorrection('H')
|
|
->generate($user->id)));
|
|
}
|
|
}
|