public function searchProducts() { $msg = ""; // Extraction de année et mois actuels $today = new DateTime(); $year = $today->format('Y'); $month = $today->format('m'); $day = $today->format('d'); if ($_POST) { $selDay = filter_input(INPUT_POST, 'day'); $selMonth = filter_input(INPUT_POST, 'month'); $selYear = filter_input(INPUT_POST, 'year'); $selKeyword = filter_input(INPUT_POST, 'keyword', FILTER_SANITIZE_FULL_SPECIAL_CHARS); $dateRecup = $selYear . '-' . $selMonth . '-' . $selDay; // $selDate = new DateTime($dateRecup); $product = new Product(); // Si l'année est l'année en cours, empêcher la sélection des mois déjà passés // Si aucun mot clé n'est entré par l'utilisateur if (empty($selKeyword) || $selKeyword == '') { $searchRes = $product->listProductsByDateSup($dateRecup); foreach ($searchRes as $prod) { if ($prod['etat'] != 0 && $product->checkProductDate($prod['date_arrivee'])) { $prod['date_arrivee'] = $product->changeDateToFrenchFormat($prod['date_arrivee']); $prod['date_depart'] = $product->changeDateToFrenchFormat($prod['date_depart']); $room = $product->access_ModelRoom_FindOne($prod['id_salle']); $msg .= '<div class="row rowSearch">'; $msg .= '<div class="picSearch">'; $msg .= '<a href="index.php?controller=products&action=showProduct&id=' . $prod['id_produit'] . '" title="Voir fiche détaillée"><img src="' . $room['photo'] . '" height=150 /></a>'; $msg .= '</div>'; $msg .= '<div class="infoSearch">'; $msg .= '<h3 class="titleSearch">' . $room['titre'] . '</h3>'; $msg .= '<p class="dateSearch">Du ' . $prod['date_arrivee'] . ' au ' . $prod['date_depart'] . '</p>'; $msg .= '<p class="detailSearch">' . $prod['prix'] . ' € pour ' . $room['capacite'] . ' personnes</p>'; $msg .= '</div>'; $msg .= '<div class="btnSearchDiv pull-right">'; $msg .= '<a class="btn btn-success btnSearch pull-right" href="index.php?controller=products&action=showProduct&id=' . $prod['id_produit'] . '" title="Voir fiche détaillée">Voir la fiche détaillée</a>'; $msg .= "<br/>"; if ($product->access_ModelMember_sessionExists()) { $msg .= '<a class="btn btn-success btnSearch pull-right" href="index.php?controller=orders&action=addToCart&id=' . $prod['id_produit'] . '" title="Ajouter au panier">Ajouter au panier</a>'; } else { $msg .= '<a class="btn btn-success btnSearch pull-right" href="index.php?controller=members&action=connect" title="Connectez-vous pour l\'ajouter au panier">Connectez-vous pour l\'ajouter au panier</a>'; } $msg .= '</div>'; $msg .= '</div>'; } } } else { $searchRes = $product->listProductsByDateSup($dateRecup); $counter = 0; foreach ($searchRes as $prod) { if ($prod['etat'] != 0 && $product->checkProductDate($prod['date_arrivee'])) { $prod['date_arrivee'] = $product->changeDateToFrenchFormat($prod['date_arrivee']); $prod['date_depart'] = $product->changeDateToFrenchFormat($prod['date_depart']); $room = $product->access_ModelRoom_FindOne($prod['id_salle']); // Dans la ville et le mot clé, suppression 1 des majuscules 2 des espaces $ville = str_replace(' ', '', strtolower($room['ville'])); $key = str_replace(' ', '', strtolower($selKeyword)); $searchKey = strpos($ville, $key); if ($searchKey !== false) { $msg .= '<div class="row rowSearch">'; $msg .= '<div class="picSearch">'; $msg .= '<a href="index.php?controller=products&action=showProduct&id=' . $prod['id_produit'] . '" title="Voir fiche détaillée"><img src="' . $room['photo'] . '" height=150 /></a>'; $msg .= '</div>'; $msg .= '<div class="infoSearch">'; $msg .= '<h3 class="titleSearch">' . $room['titre'] . '</h3>'; $msg .= '<p class="dateSearch">Du ' . $prod['date_arrivee'] . ' au ' . $prod['date_depart'] . '</p>'; $msg .= '<p class="detailSearch">' . $prod['prix'] . ' € pour ' . $room['capacite'] . ' personnes</p>'; $msg .= '</div>'; $msg .= '<div class="btnSearchDiv pull-right">'; $msg .= '<a class="btn btn-success btnSearch pull-right" href="index.php?controller=products&action=showProduct&id=' . $prod['id_produit'] . '" title="Voir fiche détaillée">Voir la fiche détaillée</a>'; $msg .= "<br/>"; if ($product->access_ModelMember_sessionExists()) { $msg .= '<a class="btn btn-success btnSearch pull-right" href="index.php?controller=orders&action=addToCart&id=' . $prod['id_produit'] . '" title="Ajouter au panier">Ajouter au panier</a>'; } else { $msg .= '<a class="btn btn-success btnSearch pull-right" href="index.php?controller=members&action=connect" title="Connectez-vous pour l\'ajouter au panier">Connectez-vous pour l\'ajouter au panier</a>'; } $msg .= '</div>'; $msg .= '</div>'; $counter++; } } } if ($counter == 0) { $msg .= 'Aucun résultat trouvé'; } } } $msg .= ''; include "views/products/searchProducts.php"; }