ldc-boutique-cnc/app/Http/Controllers/ContactController.php
2022-11-25 14:42:18 +01:00

65 lines
1.7 KiB
PHP

<?php
namespace App\Http\Controllers;
use App\Http\Requests\ContactFormRequest;
use App\Mail\SendContactMail;
use App\Models\Magasin;
use App\Models\Setting;
use App\Models\Content;
use Illuminate\Support\Facades\Mail;
use Illuminate\Http\Request;
class ContactController extends Controller
{
/**
* legal notice page
*
* @param Request $request
* @return \Illuminate\Contracts\View\View
*
* @phpcs:disable Generic.CodeAnalysis.UnusedFunctionParameter.FoundInExtendedClass
*/
public function contact(Request $request)
{
// @phpcs:enable
$status = $request->session()->get('status');
$magasin = Magasin::first();
$magasins = Magasin::all();
$content = Content::where('key', 'contact')->first();
return view('contact', compact('status', 'magasins', 'magasin', 'content'));
}
/**
* submit contact form
*
* @param ContactFormRequest $request
* @return \Illuminate\Http\Response
*/
public function contactSubmit(ContactFormRequest $request)
{
$data = $request->all();
/** @var Magasin|null */
$shop = Magasin::where('name', $request->shop)->first();
if ($shop && $shop->email_contact) {
$toMail = $shop->email_contact;
} else {
$toMailSetting = Setting::where('key', 'send_contact_mail_to')->first();
if (empty($toMailSetting->value)) {
$toMail = config('mail.from.address');
} else {
$toMail = $toMailSetting->value;
}
}
// Envoi du mail d'alerte.
Mail::to($toMail)->send(new SendContactMail($request));
return back()->with('status', true);
}
}