$_SESSION['conditionsRemplies'], 'theAvantage' => $theAvantage ] ,'modeLiveCalcul.php'); } } if ($_SESSION['conditionsRemplies'] != 1) { // --------------------------------------------------- // Trouver la zone en fonction du pays // Trouver le tarif en fonction du poids/zone // --------------------------------------------------- $idZoneTab=array(); $poidsMinTab=array(); $poidsMaxTab=array(); $prixTab=array(); $tabResult=array(); $zoneTrouvée=''; $prixTrouve=''; $fpCdeHt=0; $fpCdeTva=0; $fpCdeTTC=0; if (empty($idModeLivCde)) {$idModeLivCde=$_SESSION['idModeLivCde'];} // --------------------------------------------------- // Recup liste des zones selon mode de livraison // --------------------------------------------------- $reqSelect="SELECT idZone, paysListe FROM zones WHERE idMl=" .$idModeLivCde. ";"; if (isset($debug[2]) && $debug[2] == '1' ) { $debugMsg .= monDebug (1, [ '$idZoneTab[$i]' => $idModeLivCde, 'reqSelect' => $reqSelect ], '');} $resConn=''; $resConn=$idPdo->query($reqSelect); if ($resConn) { $i=0; While ($tabResult=$resConn->fetch(PDO::FETCH_ASSOC)) { $idZoneTab[$i]=$tabResult['idZone']; $paysListeTab[$i]=$tabResult['paysListe']; if (isset($debug[1]) && $debug[1] == '1' ) { $debugMsg .= monDebug (1, [ '$idZoneTab[$i]' => $idZoneTab[$i], 'paysListeTab[$i]' => $paysListeTab[$i] ], '');} $i++; } } // --------------------------------------------------- // Trouver la grille selon ville (qui peut être dans paysListeTab) // --------------------------------------------------- $test=false; $villeLiv=strtolower($_SESSION['villeLiv']); for($i=0; $i $villeLiv, 'test' => $test ], '');} // zone trouvée if ($test!==false) { $zoneTrouvée=$idZoneTab[$i]; $continuer=1; if (isset($debug[2]) && $debug[2] == '1' ) { $debugMsg .= monDebug (1, [ '$zoneTrouvée' => $zoneTrouvée], '');} $i=count($idZoneTab); } else { if (isset($debug[2]) && $debug[2] == '1' ) { $debugMsg .= monDebug (1, [ '$zoneTrouvée' => $paysListeTab[$i] ,'$test' => $test ], '');} } } // --------------------------------------------------- // Trouver la grille selon pays // --------------------------------------------------- if (empty($zoneTrouvée)) { $paysLibelleLiv=strtolower($_SESSION['paysLibelleLiv']); $test=false; for($i=0; $i $idZoneTab[$i], 'paysListeTab[$i]' => $paysListeTab[$i] ], '');} // zone trouvée if ($test!==false) { $zoneTrouvée=$idZoneTab[$i]; $continuer=1; if (isset($debug[1]) && $debug[1] == '1' ) { $debugMsg .= monDebug (1, ['Pays trouvé' => $zoneTrouvée ],''); } $i=count($idZoneTab)-1; } else { if (isset($debug[1]) && $debug[1] == '1' ) { $debugMsg .= monDebug (1, [ 'paysLibelleLiv' => $paysListeTab[$i], 'test' => $test ], '');} } } } // --------------------------------------------------- // Si pas de zone trouvée => faire changer de modeLiv // Sauf si mondial relay if (empty($idZoneTab) || empty($zoneTrouvée) ) { $continuer=0; if (isset($debug[1]) && $debug[1] == '1' ) { $debugMsg .= monDebug (1, ['continuer' => $continuer ],''); } } else { // --------------------------------------------------- // Recup grille tarifaire // --------------------------------------------------- $reqSelect="SELECT * FROM tranchesprix WHERE idZone=" .$zoneTrouvée. " and idMl=" .$idModeLivCde. ";"; if (isset($debug[2]) && $debug[2] == '1' ) { $debugMsg .= monDebug (1, ['reqSelect' => $reqSelect ],''); } $resConn=$idPdo->query($reqSelect); if ($resConn) { $i=0; While ($result=$resConn->fetch(PDO::FETCH_ASSOC)) { $poidsMinTab[$i]=$result['poidsMin']; $poidsMaxTab[$i]=$result['poidsMax']; $prixTab[$i]=$result['prix']; if (isset($debug[1]) && $debug[1] == '1' ) { $debugMsg .= monDebug (1, [ 'poidsMinTab' => $poidsMinTab[$i], 'poidsMaxTab' => $poidsMaxTab[$i], 'prixTab' => $prixTab[$i] ], '' ); } $i++; } } // --------------------------------------------------- // Trouver le tarif selon le poids // --------------------------------------------------- if (empty($poidsCde) && isset($_SESSION['poidsCde'])) $poidsCde=$_SESSION['poidsCde']; if (isset($debug[1]) && $debug[1] == '1' ) { $debugMsg .= monDebug (1, [ 'poidsCde' => $poidsCde ],''); } for($i=0;$i= $poidsMinTab[$i] && $poidsCde < $poidsMaxTab[$i]) { $prixTrouve=$prixTab[$i]; $i=count($prixTab)-1; if (isset($debug[1]) && $debug[1] == '1' ) { $debugMsg .= monDebug (1, [ 'prixTab' => $prixTab ],''); } } else { if (isset($debug[1]) && $debug[1] == '1' ) { $debugMsg .= monDebug (1, [ 'poidsCde' => $poidsCde, 'poidsMax' => $poidsMinTab[$i] , ' poidsMax' => $poidsMaxTab[$i] ],''); } } } // --------------------------------------------------- // Formule frais de livraison // --------------------------------------------------- $prixTrouve=(float)$prixTrouve; $fpCdeHt=number_format($prixTrouve , 2 , "." , "" ); if (isset($debug[1]) && $debug[1] == '1' ) {$debugMsg .= monDebug (1, [ 'fpCde Ht' => $fpCdeHt],''); } if (empty($tabIdMl)) $tabIdMl=$_SESSION['tabIdMl']; if (empty($tabIdTvaML)) $tabIdTvaML=$_SESSION['tabIdTvaML']; $idTvaML=0; // Recherche du id du taux de tva associé a ce modeliv et le mettre dans idTvaML for($i=0;$i $idTvaML], '');} $usrSiteMsg .='
idTvaML = ' .$idTvaML. ''; } $i=count($tabIdMl)-1; } } // Recherche du taux de tva associé a ce modeliv et la mettre dans tauxTvaLiv include ("modeLiv.reqSelectTva.php"); if ($tauxTvaLiv!=0) { if ($fpCdeHt!=0) { $fpCdeTva=$fpCdeHt*($tauxTvaLiv/100); $fpCdeTTC=$fpCdeHt+$fpCdeTva; } } // tva a zero else { $fpCdeTva=0; $fpCdeTTC=$fpCdeHt; } // --------------------------------------------------- // Appliquer tva + impacter totalCde // --------------------------------------------------- if (isset($debug[1]) && $debug[1] == '1' ) { $debugMsg .= monDebug (1, [ 'idModeLivCde = ' .$idModeLivCde. '', ' fpCde Ht =' .$fpCdeHt. '', 'fpCde Tva =' .$fpCdeTva. '', 'fpCde TTC=' .$fpCdeTTC. '', '$_SESSION[totalTtcCde]=' .$_SESSION['totalTtcCde'] ],''); } if (empty($totalTtcCde) && isset($_SESSION['totalTtcCde'])) {$totalTtcCde= (float)$_SESSION['totalTtcCde'];} if (isset($debug[1]) && $debug[1] == '1' ) { $debugMsg .= monDebug (1, [ 'totalTtcCde dans modeLiv.calcul avant frais de port' =>$totalTtcCde], '');} // t% tva sur frais de port ? flag edt (float)$totalCde=(float)$totalTtcCde + (float)$fpCdeTTC; $totalCde=formatNB($totalCde , $lg ); $_SESSION['totalCde']= $totalCde; if (isset($debug[1]) && $debug[1] == '1' ) { $debugMsg .= monDebug (1, [ 'totalCde final frais de ports' => $totalCde], '');} }//empty zone }//frais liv offerts // si retrait en magasin pas de frais mais c'est normal, donc on continue // si mondialRelay : pas de zone dans le backOffice, donc on continue if ($idModeLivCde==6 || $idModeLivCde==8) {$continuer=1;} if (isset($debug[1]) && $debug[1] == '1' ) { $debugMsg .= monDebug (1, [ 'continuer' => $continuer], '');} ?>