ldc-boutique-cnc/app/Http/Controllers/HomeController.php

65 lines
2.1 KiB
PHP
Raw Normal View History

2021-04-06 14:08:57 +02:00
<?php
namespace App\Http\Controllers;
use App\Models\Content;
2021-04-08 18:05:17 +02:00
use App\Models\Product;
2021-04-14 17:33:55 +02:00
use App\Models\Slider;
use App\Models\Range;
2021-04-06 14:08:57 +02:00
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();
2021-04-08 18:05:17 +02:00
//star products
$products = Product::where('status', 1)->where('star', 1)->get();
$slider = Slider::where('slug', 'home')->first();
2021-04-14 17:33:55 +02:00
$slides = $slider->showableSlides;
$quickorder_ranges = Range::with('products')->get();
foreach ($quickorder_ranges as $range) {
foreach ($range->products as $product) {
$product->calculatedPrices = $product->getCalcPrices();
}
}
return view('home', compact('content', 'products', 'slides', 'quickorder_ranges'));
2021-04-06 14:08:57 +02:00
}
/**
* 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");
}
}
}
}