56 lines
1.8 KiB
PHP
56 lines
1.8 KiB
PHP
<?php
|
|
|
|
namespace App\Http\Controllers;
|
|
|
|
use App\Models\Content;
|
|
use App\Models\Product;
|
|
use App\Models\Slider;
|
|
use Illuminate\Http\Request;
|
|
use Illuminate\Support\Facades\Log;
|
|
use Illuminate\Support\Facades\Validator;
|
|
|
|
class HomeController extends Controller
|
|
{
|
|
public function index(Request $request)
|
|
{
|
|
$content = Content::where('key', 'accueil')->first();
|
|
//star products
|
|
$products = Product::where('status', 1)->where('star', 1)->get();
|
|
|
|
$slider = Slider::where('slug','home')->first();
|
|
$slides = $slider->showableSlides;
|
|
|
|
return view('home', compact('content', 'products', 'slides'));
|
|
}
|
|
|
|
/**
|
|
* Call the CRM to add a single optin
|
|
* @param String $email Email to add as a single optin
|
|
* @return String Message to print to the customer
|
|
*/
|
|
public function addOptIn(Request $request)
|
|
{
|
|
$validator = Validator::make($request->all(), ['email' => 'required|email']);
|
|
if ($validator->fails()) {
|
|
return __("L'adresse email est incorrecte");
|
|
}
|
|
|
|
$email = $request->email;
|
|
/** @var \App\Lib\LDCCRM\ApiV1 */
|
|
$crm = app('crmApi');
|
|
$result = $crm->createSingleOptin($email);
|
|
if ($result->status === "OK") {
|
|
return __("Votre inscription à la newsletter a été prise en compte");
|
|
} else {
|
|
switch ($result->code) {
|
|
case 120:
|
|
return __("L'adresse email est incorrecte");
|
|
case 121:
|
|
return __("Vous êtes déjà inscrit avec cette adresse email");
|
|
default:
|
|
Log::alert('Failed to add a single opt-in : ' . $result->message);
|
|
return __("Une erreur est survenue, merci de réessayer ultérieurement");
|
|
}
|
|
}
|
|
}
|
|
}
|