-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathbook.php
More file actions
86 lines (70 loc) · 2.34 KB
/
Copy pathbook.php
File metadata and controls
86 lines (70 loc) · 2.34 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
<?php
// Controleur qui gère l'affichage du détail d'un livre
require "model/entity/user.php";
require "model/userManager.php";
require "model/entity/book.php";
require "model/bookManager.php";
// !!! FIRST Check book id exist
if (empty($_GET) || !isset($_GET["id"])) {
header("Location: index.php");
exit();
}
$bookId = filter_var($_GET["id"], FILTER_SANITIZE_NUMBER_INT);
$bookManager = new BookManager();
try {
// Emprunt de livre
if(isset($_POST["loan_book"])) {
global $bookManager, $bookId;
if (isset($_POST["user"])) {
$userId = filter_var($_POST["user"], FILTER_SANITIZE_NUMBER_INT);
$userId = intval($userId,10);
if (!$userId) throw new Exception(" N° adhérent non valide");
$userManager = new UserManager();
$user = $userManager->getUserById($userId);
if(!$user) throw new Exception(" N° adhérent non valide");
$result = $bookManager->updateBookStatus($bookId, 'Emprunté', $userId);
if($result) {
header("Location: index.php");
exit();
}
throw new Exception("le livre n'a pas pu être emprunté");
}
throw new Exception("pas d'adhérent spécifié");
}
// Retour de livre
if(isset($_POST["return_book"])) {
global $bookManager, $bookId;
$result = $bookManager->updateBookStatus($bookId, 'Disponible', null);
if($result) {
header("Location: index.php");
exit();
}
throw new Exception("le livre n'a pas pu être restitué");
}
// Suppression de livre
if(isset($_POST["delete_book"])) {
global $bookManager, $bookId;
$result = $bookManager->deleteBook($bookId);
if($result) {
header("Location: index.php");
exit();
}
throw new Exception("le livre n'a pas pu être supprimé");
}
}
catch (\Exception $e) {
$error = "Une erreur est survenue, " . $e->getMessage();
}
$status = '';
$book = $bookManager->getBook($bookId);
if(!$book)
$error ="Livre non trouvé";
else {
$status = $book->getStatus();
if ($status=='Emprunté') {
$id = $book->getUser_id();
$userManager = new UserManager();
$user = $userManager->getUserById($id);
}
}
require "view/bookView.php";