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