48 lines
1.6 KiB
PHP
48 lines
1.6 KiB
PHP
<?php
|
|
|
|
namespace App\Http\Controllers;
|
|
|
|
use App\Models\CodesEAN;
|
|
use App\Models\Prizes;
|
|
use App\Models\Settings;
|
|
use Illuminate\Http\Request;
|
|
|
|
class EnterCodeController extends Controller
|
|
{
|
|
public function index() {
|
|
$settings = Settings::find(1)->select('use_ean_codes')->first();
|
|
return view('front.basic.enter-code', compact('settings'));
|
|
}
|
|
|
|
public function participate(Request $request) {
|
|
$code = $request->code;
|
|
$settings = Settings::select('use_ean_codes')->first();
|
|
if ($settings->use_ean_codes) {
|
|
$codeEan = $request->code_ean;
|
|
$eanExist = CodesEAN::where('code', $codeEan)->count();
|
|
if ($eanExist === 0) {
|
|
return redirect()->back()->withErrors('Le code EAN entré est incorrect, veuillez réessayer.');
|
|
}
|
|
}
|
|
$gagne = false;
|
|
// TODO : Traitement du code, instant gagnant etc
|
|
if ($gagne) {
|
|
// TODO : Retourne à la page du lot, ajouté le fait de donné l'id du lot avec
|
|
return redirect()->route('gagne');
|
|
} else {
|
|
// Page perdu si jeu non 100% gagnant, reduction sinon
|
|
$perdant = false;
|
|
$nbDefaultPrize = Prizes::where('is_default', 1)->count();
|
|
if ($nbDefaultPrize === 0 ) {
|
|
$perdant = true;
|
|
}
|
|
|
|
if ($perdant) {
|
|
return redirect()->route('perdu');
|
|
} else {
|
|
// TODO : Retourner la page de réduction avec la bonne réduction
|
|
return redirect()->route('reduction');
|
|
}
|
|
}
|
|
}
|
|
}
|