56 lines
2.6 KiB
PHP
56 lines
2.6 KiB
PHP
<?php
|
|
|
|
namespace App\Http\Controllers;
|
|
|
|
use Illuminate\Http\Request;
|
|
|
|
class WinningProofController extends Controller
|
|
{
|
|
public function index() {
|
|
// TODO : Vérification que le user à bien une preuve de gain à fournir (instant gagnant en attende d'info complémentaire)
|
|
return view('front.basic.winning-proof');
|
|
}
|
|
|
|
public function sendWinningProof(Request $request) {
|
|
$lastname = filter_var($request->lastname, FILTER_SANITIZE_STRING);
|
|
$firstname = filter_var($request->firstname, FILTER_SANITIZE_STRING);
|
|
$address = filter_var($request->address, FILTER_SANITIZE_STRING);
|
|
$address2 = $request->address2 !== null ? filter_var($request->address2, FILTER_SANITIZE_STRING) : null;
|
|
$town = filter_var($request->town, FILTER_SANITIZE_STRING);
|
|
$postalCode = filter_var($request->postal_code, FILTER_SANITIZE_STRING);
|
|
$country = filter_var($request->country, FILTER_SANITIZE_STRING);
|
|
$phone = filter_var($request->phone, FILTER_SANITIZE_STRING);
|
|
$sticker = $request->sticker;
|
|
$ticket = $request->ticket;
|
|
$barcode = $request->barcode;
|
|
|
|
$request->validate([
|
|
'lastname' => 'required|string|max:255',
|
|
'firstname' => 'required|string|max:255',
|
|
'address' => 'required|string|max:255',
|
|
'address2' => 'max:255',
|
|
'town' => 'required|string|max:255',
|
|
'postal_code' => 'required|max:255',
|
|
'country' => 'required|string|max:255',
|
|
'phone' => 'required|string|max:50',
|
|
'sticker' => 'required|mimes:jpeg,png,jpg,pdf|max:1536',
|
|
'ticket' => 'required|mimes:jpeg,png,jpg,pdf|max:1536',
|
|
'barcode' => 'required|mimes:jpeg,png,jpg,pdf|max:1536',
|
|
]);
|
|
|
|
// TODO : Ajouter les infos à la table Participation
|
|
|
|
// TODO : Enregistrement des images dans des dossiers /fichiers/preuve-gain/{id-participaction}/{nom-fichier}-[sticker/ticket/barcode].png
|
|
$participationId = 364581; // Pour test, à supprimer
|
|
$stickerFileName = $participationId . '-sticker.' . $sticker->extension();
|
|
$sticker->move(public_path('fichiers/preuve-de-gain/' . $participationId . '/'), $stickerFileName);
|
|
|
|
$ticketFileName = $participationId . '-ticket.' . $ticket->extension();
|
|
$ticket->move(public_path('fichiers/preuve-de-gain/' . $participationId . '/'), $ticketFileName);
|
|
|
|
$barcodeFileName = $participationId . '-code-barre.' . $barcode->extension();
|
|
$barcode->move(public_path('fichiers/preuve-de-gain/' . $participationId . '/'), $barcodeFileName);
|
|
|
|
return view('front.basic.replay');
|
|
}
|
|
}
|