Example #1
0
 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";
 }