ldc-ovoteam/app/Http/Controllers/Front/ContactController.php
2026-08-04 10:58:11 +02:00

83 lines
3.4 KiB
PHP

<?php
namespace App\Http\Controllers\Front;
use App\Enums\Contact\ContactFormType;
use App\Exceptions\AbortContactMailer;
use App\Http\Requests\Front\Contact\ContactRequest;
use App\Jobs\Mails\SendContactMail;
use App\Models\ContactCount;
use App\Models\MailContactData;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Log;
use Illuminate\Support\HtmlString;
use LDC\LDCCRM\Enums\ApiError;
use LDC\LDCCRM\Exceptions\ApiErrorException;
use LDC\LDCCRM\Exceptions\CrmException;
use LDC\LDCCRM\Models\SingleOptin;
class ContactController
{
/**
* Contact send.
*
* @param \App\Http\Requests\Front\Contact\ContactRequest $request
* @return \Illuminate\Http\RedirectResponse
*/
public function send(ContactRequest $request): \Illuminate\Http\RedirectResponse
{
$validatedData = $request->validated();
dd($validatedData);
$messageContact = new MailContactData($validatedData);
// $contactMessage = "";
// $hasContactError = false;
// $newsletterMessage = null;
// $hasNewsletterError = false;
// /** @var boolean $isNewsletter */
// $isNewsletter = isset($validatedData['newsletter']) ? $validatedData['newsletter'] : false;
// try {
// dispatch(new SendContactMail($messageContact))
// ->onConnection('database')
// ->onQueue('database');
// } catch (AbortContactMailer $e) {
// Log::error('Fail to build mail from contact page', [
// 'exception' => $e
// ]);
// $hasContactError = true;
// $contactMessage = trans('Une erreur est survenue lors de l\'envoi du message de contact.');
// }
// if ($isNewsletter) {
// try {
// SingleOptin::setStatus($request->email, true);
// $newsletterMessage = trans("Votre inscription à la newsletter a été prise en compte");
// } catch (ApiErrorException $e) {
// if ($e->getApiError()->equals(ApiError::singleOptinCustomerExists)) {
// $newsletterMessage = trans("Vous êtes déjà inscrit avec cette adresse email");
// }
// report($e);
// $hasNewsletterError = true;
// // phpcs:ignore Generic.Files.LineLength
// $newsletterMessage = trans('Une erreur est survenue lors de l\'inscription à la newsletter, merci de réessayer ultérieurement.');
// } catch (CrmException $e) {
// report($e);
// $hasNewsletterError = true;
// // phpcs:ignore Generic.Files.LineLength
// $newsletterMessage = trans('Une erreur est survenue lors de l\'inscription à la newsletter, merci de réessayer ultérieurement.');
// }
// }
// ContactCount::updateOrInsert(
// ['type' => $validatedData['enumType']],
// ['submissions' => DB::raw('submissions + 1')]
// );
// $contactMessage = trans('Votre message a bien été envoyé.');
// $message = $newsletterMessage ? $contactMessage . ' <br /> ' . $newsletterMessage : $contactMessage;
// return redirect()->back()
// ->with(
// $hasContactError || $hasNewsletterError ? 'info' : 'success',
// new HtmlString($message)
// );
}
}