public function modifyProduct() { $msg = ""; // id du produit à modifier $id = $_GET['id']; $product = new Product(); if ($product->access_ModelMember_sessionExists() || $product->access_ModelMember_userAdmin()) { $product->setIdProduit($id); // $modProduct est remplie avec les infos du produit à modifier $modProduct = $product->findProduct($id); // Conversion des dates en dates Françaises et uniquement j/m/Y $modProduct['date_arrivee'] = $product->changeDateToFrenchFormat($modProduct['date_arrivee']); $modProduct['date_depart'] = $product->changeDateToFrenchFormat($modProduct['date_depart']); // Recupération de la liste des salles existantes $listRooms = $product->access_ModelRoom_List(); // Recupération de la salle actuelle correspondant au produit $actualRoom = $product->access_ModelRoom_FindOne($modProduct['id_salle']); $optionsSalles = ""; // Première option : la salle actuelle $optionsSalles .= '<option value="' . $actualRoom['id_salle'] . '" selected>' . $actualRoom['id_salle'] . ' - ' . $actualRoom['pays'] . ' - ' . $actualRoom['ville'] . ' - ' . $actualRoom['adresse'] . ' - ' . $actualRoom['titre'] . ' - ' . $actualRoom['capacite'] . ' - ' . $actualRoom['categorie'] . '</option>'; // Autres options salles SANS la salle actuelle foreach ($listRooms as $valeur) { if ($valeur['id_salle'] != $actualRoom['id_salle']) { $optionsSalles .= '<option value="' . $valeur['id_salle'] . '">' . $valeur['id_salle'] . ' - ' . $valeur['pays'] . ' - ' . $valeur['ville'] . ' - ' . $valeur['adresse'] . ' - ' . $valeur['titre'] . ' - ' . $valeur['capacite'] . ' - ' . $valeur['categorie'] . '</option>'; } } // Création de la liste d'options déroulante pour les codes promo SANS le code actuel $listPromos = $product->access_ModelPromotion_List(); $optionsRemise = ""; //Recupération du code promo actuel correspondant au produit $actualPromo = $product->access_ModelPromotion_FindOne($modProduct['id_promo']); $optionsRemise .= '<option value="' . $actualPromo['id_promo'] . '" selected>' . $actualPromo['id_promo'] . ' - ' . $actualPromo['code_promo'] . ' - ' . $actualPromo['reduction'] . '</option>'; foreach ($listPromos as $promo) { if ($promo['id_promo'] != $actualPromo['id_promo']) { $optionsRemise .= '<option value="' . $promo['id_promo'] . '">' . $promo['id_promo'] . ' - ' . $promo['code_promo'] . ' - ' . $promo['reduction'] . '</option>'; } } // Nouvelle entrée du produit en base si POST if ($_POST) { $id_produit = $modProduct['id_produit']; $id_salle = $_POST['salles']; $dateArrivee = htmlentities($_POST['dateArrivee'], ENT_QUOTES, "utf-8"); $dateDepart = htmlentities($_POST['dateDepart'], ENT_QUOTES, "utf-8"); $prix = htmlentities($_POST['prix'], ENT_QUOTES, "utf-8"); $etat = htmlentities($_POST['etat'], ENT_QUOTES, "utf-8"); $id_promo = $_POST['remise']; // Instancie un nouvel objet room $product = new Product(); // Je remplis le nouvel objet avec les valeurs récupérées dans le formulaire $product->setIdProduit($id_produit); $product->setIdSalle($id_salle); $product->setDateArrivee($dateArrivee); $product->setDateDepart($dateDepart); $product->setPrix($prix); $product->setEtat($etat); $product->setIdPromo($id_promo); // Passage des dates entrées au format français en format US $product->changeDatesToUSFormat(); // VERIFICATIONS $resultArray = $product->modifyCheckAll($id_salle, $dateArrivee, $dateDepart, $id_produit); $msgError = ""; for ($i = 0; $i < count($resultArray); $i++) { if (!$resultArray[$i]->getPassed()) { $msgError .= $resultArray[$i]->getErrorMessage(); $msgError .= "<br/>"; } } if ($msgError == "") { $product->replaceProduct(); header('location:index.php?controller=products&action=modifiedProduct'); } else { $msg .= $msgError; } } } else { $msg .= 'Vous n\'avez pas le droit d\'accéder à cette page'; } include "views/products/modifyProduct.php"; }