Example #1
0
 public function ajoutPanier()
 {
     if (isset($_POST["ajoutProduit"]) && isset($_POST['quantite'])) {
         filter_var($_POST['quantite'], FILTER_SANITIZE_NUMBER_INT);
         $panier = new Panier();
         $idc = Client::where("email", $_SESSION["email"])->get()[0];
         $idcli = $idc->idClient;
         $nbPanier = $idc->whereHas('relationPanier', function ($panier) {
             $idc = Client::where("email", $_SESSION["email"])->get()[0];
             $panier->where("valide", 0)->where('id_Client', $idc->idClient);
         })->get();
         $idProd = Produit::find($_POST['ajoutProduit']);
         // si il n'y a pas de panier en cours
         if (sizeof($nbPanier) == 0) {
             $panier->prixTotal = $idProd->prix * $_POST['quantite'];
             $panier->id_client = $idcli;
             $panier->save();
         } else {
             $id = 0;
             while ($idc->relationPanier[$id]->valide != 0) {
                 $id++;
             }
             $panier = $idc->relationPanier[$id];
             $panier->prixTotal += $idProd->prix * $_POST['quantite'];
             $panier->save();
         }
         $produits = $panier->relationProduit;
         $prod = null;
         foreach ($produits as $produit) {
             if ($produit->idProduit == $idProd->idProduit) {
                 $prod = $produit;
                 break;
             }
         }
         if ($prod == null) {
             $panier->relationProduit()->attach($idProd, array("quantite" => $_POST['quantite']));
         } else {
             $prod->pivot->quantite += $_POST['quantite'];
             $prod->pivot->save();
         }
         $app = \Slim\Slim::getInstance();
         $app->redirect($app->urlFor("catalogue"));
     }
 }