2020-12-18 20:29:24 +01:00
|
|
|
<?php
|
2021-01-11 17:30:13 +01:00
|
|
|
if ($_SESSION['USER']->isLoggedIn()) {
|
|
|
|
$accomodationType = ['Hôtel', 'Gîte', 'Camping', 'Villa en location'];
|
2021-01-05 17:53:26 +01:00
|
|
|
$alert = '';
|
2021-01-11 17:30:13 +01:00
|
|
|
$availableServices = AccomodationServices::getAll();
|
|
|
|
$re_name = '/^[a-zA-Z -\'?*éàèôê0-9"()+&]{1,}$/';
|
|
|
|
$re_cp = '/[0-9]{5}/';
|
|
|
|
if (isset($path[1])) {
|
2020-12-18 20:29:24 +01:00
|
|
|
switch ($path[1]) {
|
|
|
|
case 'add':
|
2021-01-11 17:30:13 +01:00
|
|
|
if (!$_SESSION['USER']->getAccomodationId()) {
|
2021-01-05 17:53:26 +01:00
|
|
|
/*
|
|
|
|
* Creating Accomodation
|
|
|
|
*/
|
2021-01-11 17:30:13 +01:00
|
|
|
if (isset(
|
2021-01-05 17:53:26 +01:00
|
|
|
$_POST['accomodationName'],
|
|
|
|
$_POST['postalCode'],
|
|
|
|
$_POST['address'],
|
|
|
|
$_POST['accomodationType']
|
2021-01-11 17:30:13 +01:00
|
|
|
)) {
|
2021-01-05 17:53:26 +01:00
|
|
|
/*
|
|
|
|
* Checking inputs
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
2021-01-11 17:30:13 +01:00
|
|
|
if (!preg_match($re_name, $_POST['accomodationName']) || !preg_match($re_cp, $_POST['postalCode']) || ((isset($_POST["accomodationService"]) && gettype($_POST['accomodationService']) === 'array' && array_diff($_POST["accomodationService"], $availableServices)))) {
|
|
|
|
$alert = alert('danger', 'Le formulaire est invalide');
|
|
|
|
} else {
|
|
|
|
if (Accomodation::insertUser($_SESSION['USER'], array(
|
2021-01-05 17:53:26 +01:00
|
|
|
"name" => $_POST['accomodationName'],
|
|
|
|
"address" => $_POST['address'],
|
|
|
|
"postalCode" => $_POST['postalCode'],
|
2021-01-11 17:30:13 +01:00
|
|
|
"type" => $_POST['accomodationType'])) != false) {
|
2021-01-05 17:53:26 +01:00
|
|
|
/*
|
|
|
|
* Update users information
|
|
|
|
*/
|
2021-01-11 17:30:13 +01:00
|
|
|
$_SESSION['USER']->refresh();
|
2021-01-05 17:53:26 +01:00
|
|
|
/*
|
|
|
|
* Insert ok
|
|
|
|
*/
|
|
|
|
$accomodation = Accomodation::fetchByUser($_SESSION['USER']);
|
|
|
|
$accomodation->setServices($_POST["accomodationService"]);
|
2021-01-11 17:30:13 +01:00
|
|
|
$alert = alert('success', 'Ajout du logement réussi.');
|
|
|
|
} else {
|
|
|
|
$alert = alert('danger', 'Erreur lors de l\'insertion du logement.');
|
2021-01-05 17:53:26 +01:00
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
2020-12-20 04:25:09 +01:00
|
|
|
$services = AccomodationServices::fetch();
|
2021-01-11 17:30:13 +01:00
|
|
|
require_once(VIEW_PATH . $path[1] . '_' . $path[0] . '.php');
|
|
|
|
} else {
|
2020-12-20 04:25:09 +01:00
|
|
|
redirect();
|
|
|
|
}
|
2020-12-18 20:29:24 +01:00
|
|
|
break;
|
|
|
|
case 'edit':
|
2021-01-11 17:30:13 +01:00
|
|
|
if ($_SESSION['USER']->getAccomodationId()) {
|
|
|
|
$accomodation = Accomodation::fetchByUser($_SESSION['USER']);
|
|
|
|
|
|
|
|
if (isset(
|
|
|
|
$_POST['accomodationName'],
|
|
|
|
$_POST['postalCode'],
|
|
|
|
$_POST['address'],
|
|
|
|
$_POST['accomodationType']
|
|
|
|
)) {
|
|
|
|
if (!preg_match($re_name, $_POST['accomodationName']) || !preg_match($re_cp, $_POST['postalCode']) || ((isset($_POST["accomodationService"]) && gettype($_POST['accomodationService']) === 'array' && array_diff($_POST["accomodationService"], $availableServices)))) {
|
|
|
|
$alert = alert('danger', 'Le formulaire est invalide');
|
|
|
|
} else {
|
|
|
|
Accomodation::update(array(
|
|
|
|
"name" => $_POST['accomodationName'],
|
|
|
|
"address" => $_POST['address'],
|
|
|
|
"postalCode" => $_POST['postalCode'],
|
|
|
|
"type" => $_POST['accomodationType']), array(['id','=',$accomodation->getId()]));
|
|
|
|
$accomodation = Accomodation::fetchByUser($_SESSION['USER']);
|
|
|
|
$accomodation->setServices($_POST["accomodationService"]);
|
|
|
|
$alert = alert('success', 'Le logement a été modifié.');
|
|
|
|
}
|
|
|
|
$accomodation->setServices($_POST["accomodationService"]);
|
|
|
|
}
|
2021-01-05 17:53:26 +01:00
|
|
|
$services = AccomodationServices::fetch();
|
2021-01-11 17:30:13 +01:00
|
|
|
require_once(VIEW_PATH . $path[1] . '_' . $path[0] . '.php');
|
|
|
|
} else {
|
2020-12-20 04:25:09 +01:00
|
|
|
redirect();
|
|
|
|
}
|
2020-12-18 20:29:24 +01:00
|
|
|
break;
|
2021-01-11 17:30:13 +01:00
|
|
|
case 'date':
|
|
|
|
require_once(VIEW_PATH . $path[1] . '_' . $path[0] . '.php');
|
|
|
|
break;
|
2020-12-18 20:29:24 +01:00
|
|
|
default:
|
|
|
|
redirect();
|
|
|
|
}
|
2021-01-11 17:30:13 +01:00
|
|
|
} else {
|
2020-12-18 20:29:24 +01:00
|
|
|
redirect();
|
|
|
|
}
|
2021-01-11 17:30:13 +01:00
|
|
|
} else {
|
2020-12-18 20:29:24 +01:00
|
|
|
redirect('login');
|
|
|
|
}
|