ldc-mesbr-app/app/Http/Controllers/ContactController.php

126 lines
4.1 KiB
PHP
Raw Normal View History

2019-01-15 14:17:15 +01:00
<?php
namespace App\Http\Controllers;
use App\Contact;
use App\Site;
use App\Traits\CouponTrait;
2019-01-15 14:17:15 +01:00
use Illuminate\Http\Request;
class ContactController extends Controller
{
use CouponTrait;
2019-01-15 14:17:15 +01:00
public function updateContact(Request $request)
2021-04-27 17:29:47 +02:00
{
2019-01-15 14:17:15 +01:00
$error = false;
// ---- Contrôle des paramètres
2021-04-27 17:29:47 +02:00
if (isset($request->refadherent) && $request->refadherent != "") {
2019-01-15 14:17:15 +01:00
$refadherent = $request->refadherent;
2021-04-27 17:29:47 +02:00
} else {
2019-01-15 14:17:15 +01:00
$error = true;
}
2021-04-27 17:29:47 +02:00
if (isset($request->nom) && $request->nom != "") {
2019-01-15 14:17:15 +01:00
$nom = $request->nom;
2021-04-27 17:29:47 +02:00
} else {
2019-01-15 14:17:15 +01:00
$error = true;
}
2021-04-27 17:29:47 +02:00
if (isset($request->refsite) && $request->refsite != "") {
2019-01-15 14:17:15 +01:00
$refsite = $request->refsite;
2021-04-27 17:29:47 +02:00
} else {
2019-01-15 14:17:15 +01:00
$error = true;
}
2021-04-27 17:29:47 +02:00
if (isset($request->prenom) && $request->prenom != "") {
2019-01-15 14:17:15 +01:00
$prenom = $request->prenom;
2021-04-27 17:29:47 +02:00
} else {
2019-01-15 14:17:15 +01:00
$error = true;
}
2021-04-27 17:29:47 +02:00
if (isset($request->email) && $request->email != "" && filter_var($request->email, FILTER_VALIDATE_EMAIL)) {
2019-01-15 14:17:15 +01:00
$email = $request->email;
2021-04-27 17:29:47 +02:00
} else {
2019-01-15 14:17:15 +01:00
$error = true;
}
2021-04-27 17:29:47 +02:00
if (isset($request->code_postal) && $request->code_postal != "") {
2019-01-15 14:17:15 +01:00
$code_postal = $request->code_postal;
2021-04-27 17:29:47 +02:00
} else {
2019-01-15 14:17:15 +01:00
$error = true;
}
2021-04-27 17:29:47 +02:00
if (isset($request->commune) && $request->commune != "") {
2019-01-15 14:17:15 +01:00
$commune = $request->commune;
2021-04-27 17:29:47 +02:00
} else {
2019-01-15 14:17:15 +01:00
$error = true;
}
2021-04-27 17:29:47 +02:00
if (isset($request->pays) && $request->pays != "") {
if (filter_var($request->pays, FILTER_VALIDATE_INT)) {
2019-02-28 13:58:25 +01:00
$pays = $request->pays;
} else {
$error = true;
}
2021-04-27 17:29:47 +02:00
} else {
2019-01-15 14:17:15 +01:00
$pays = 250;
}
2021-04-27 17:29:47 +02:00
if ($error) {
return response()->json([
2019-01-15 14:17:15 +01:00
'Statut' => 'KO',
'Code' => 101,
'Message' => 'Des paramètres de la requête sont mal renseignés ou non présents'
]);
}
$contact = Contact::where(['contact_siteId' => $refsite, 'contact_ref' => $refadherent])->first();
2021-04-27 17:29:47 +02:00
if ($contact) {
2025-04-03 09:30:16 +02:00
$contact->contact_prenom = $prenom;
$contact->contact_nom = $nom;
$contact->contact_email = $email;
$contact->contact_cp = $code_postal;
$contact->contact_ville = $commune;
$contact->contact_country = $pays;
2019-01-15 14:17:15 +01:00
$contact->contact_updatedate = date('Y-m-d H:i:s');
2021-06-17 17:42:51 +02:00
if (isset($request->hashcode) && $request->hashcode != "") {
$contact->contact_hash = $request->hashcode;
}
2019-01-15 14:17:15 +01:00
} else {
$site = Site::where('site_id', $refsite)->first();
2021-04-27 17:29:47 +02:00
if ($site) {
2025-04-03 09:30:16 +02:00
$contact = new Contact();
$contact->contact_nom = $nom;
$contact->contact_prenom = $prenom;
$contact->contact_ref = $refadherent;
$contact->contact_email = $email;
$contact->contact_cp = $code_postal;
$contact->contact_ville = $commune;
2019-01-15 14:17:15 +01:00
$contact->contact_country = $pays;
2025-04-03 09:30:16 +02:00
$contact->contact_siteId = $refsite;
2021-06-08 17:57:58 +02:00
if (isset($request->hashcode) && $request->hashcode != "") {
$contact->contact_hash = $request->hashcode;
} else {
$contact->contact_hash = strtoupper(md5(uniqid(time(), true)));
}
2019-01-15 14:17:15 +01:00
} else {
return response()->json([
2019-01-15 14:17:15 +01:00
'Statut' => 'KO',
'Code' => 102,
'Message' => 'Le site spécifié n\'existe pas'
2021-04-27 17:29:47 +02:00
]);
2025-04-03 09:30:16 +02:00
}//end if
}//end if
2019-01-15 14:17:15 +01:00
if ($contact->save()) {
return response()->json([
2021-04-27 17:29:47 +02:00
'Statut' => 'OK',
2019-01-15 14:17:15 +01:00
'contact' => $contact
]);
} else {
return response()->json([
2019-01-15 14:17:15 +01:00
'Statut' => 'KO',
'Code' => 109,
'Message' => 'Une erreur est survenue'
]);
2021-04-27 17:29:47 +02:00
}
2019-01-15 14:17:15 +01:00
}
}