Example #1
0
<?php

include_once 'db/BookReservationDB.php';
include_once 'db/BookDB.php';
include_once 'db/GenericDB.php';
include_once 'db/UserDB.php';
if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['method'])) {
    if ($_POST['method'] == "DELETE" && isset($_POST['id'])) {
        $reservationDB = new BookReservationDB();
        $reservationDB->DeleteReservation($_POST['id']);
    } else {
        if ($_POST['method'] == "PUT" && isset($_POST['bookId']) && isset($_POST['userId']) && isset($_POST['reservationLength'])) {
            $db = new DBHandler();
            $reservationDB = new BookReservationDB($db);
            $bookDB = new BookDB($db);
            $genericDB = new GenericDB($db);
            $settings = $genericDB->GetSettings();
            $errorMessage = array();
            $date_start = date("Y-m-d");
            $date_end = date('Y-m-d', strtotime('+' . $_POST['reservationLength']));
            $reservations = $reservationDB->GetReservationsForBook($_POST['bookId']);
            $book = $bookDB->GetBookById($_POST['bookId']);
            if (count($reservations) >= $book['Count']) {
                $errorMessage[] = "Aucun exemplaire disponible.";
            }
            $reservations = $reservationDB->GetReservationForUser($_POST['userId']);
            if (count($reservations) >= $settings['MaxReservationCount']) {
                $errorMessage[] = "Nombre maximum de réservations atteint.";
            }
            if (count($errorMessage) == 0) {
                $reservationDB->AddReservation($date_start, $date_end, $_POST['bookId'], $_POST['userId']);