public function addToCart(User $user, Item $item, $quantity) { $idItem = intval($item->getId()); if (ctype_digit($quantity)) { if ($quantity > 0) { if ($quantity <= $item->getStock()) { $quantity = intval($quantity); } else { $quantity = intval($item->getStock()); } if ($quantity) { if (isset($_SESSION['id'])) { $idCart = intval($user->getCart()->getId()); $query = "INSERT INTO order (id_cart, id_item, quantity) VALUES (" . $idCart . ", " . $idItem . ", " . $quantity . ")"; $result = $this->database->exec($query); if ($result) { $id = $this->database->lastInsertId(); if ($id) { return $user->getCart(); } else { throw new Exception("Catastrophe serveur."); } } else { throw new Exception("Catastrophe base de données."); } } else { throw new Exception("Erreur vraiment bizarre, là, je peux pas aider."); } } else { throw new Exception("Pas de quantité, sérieusement ? ON ENVOIE AU HASARD ?"); } } else { throw new Exception("La quantité doit être supérieure à 0, vilain violeur de poules."); } } else { throw new Exception("La quantité doit être un nombre, vilain lutin violeur de lapins."); } }