alpha_full/pages/panier/panier.php
2026-04-06 22:58:51 +02:00

195 lines
9.0 KiB
PHP
Executable File

<style>
#menuIndep-container, #menuD-container, #header-container {z-index: 3;}
</style>
<?php
$nomFicAppelant = basename(__FILE__);
// ---------------------------------------------------
// codeOpe==1 ==> insert article
// codeOpe==11 ==> modif de la quantité par ajout nouvelle qte + ancienne : exemple : ajout de 1 sur article existant depuis gondole
// codeOpe==2 ==> modif de la quantité par écrasement : exemple : liste déroulante du panier
// codeOpe==3 ==> delete article
if (isset($debug[1]) && $debug[1] == '1') { $debugMsg .= monDebug(1, [ 'codeOpe' => $codeOpe ?? null, 'idPrd' => $idPrd ?? null, 'qte' => $qte ?? 0, 'connected' => $_SESSION['connected'] ], 'panier.php'); }
// ---------------------------------------------------
// RECUP PANIER LE CAS ECHÉANT
// ---------------------------------------------------
// si connecté => regarde si un panier anterieur existe avec mail=ip
// si panier existe avec mail=ip
// fusion
// sinon pas fusion
$trouvePanier=false;
// ---------------------------------------------------
// savoir si un panier existait avant connect et fusion
// ---------------------------------------------------
if (isset($_SESSION['connected']) && $_SESSION['connected']=='O') {
$mailTmp=$_SESSION['ip'];
include ("_reqPanier/panier.reqSelectCdeExiste.php");
if (isset($debug[1]) && $debug[1] == '1' ) { $debugMsg .= monDebug (1, ['trouvePanier sur IP' => $trouvePanier ], ''); }
if ($trouvePanier==true) {
// Savoir si un panier en attente existe avec mail normal : cad qu'on a effectivement 2 paniers en cours
// Ne devrait jamais arriver, car des que mail on fait un migrate - mais on blinde
$trouvePanier=false;
include ("_reqPanier/panier.reqSelectCde.php");
if (isset($debug[1]) && $debug[1] == '1' ) { $debugMsg .= monDebug (1, ['trouvePanier sur idMail' => $trouvePanier ], ''); }
if ($trouvePanier==true) {
// si panier existe : ajout par upddate des lignes // delete de l'ancienne commande
if (isset($debug[1]) && $debug[1] == '1' ) { $debugMsg .= monDebug (1, ['fusion paniers : IP et idMail' => '' ], ''); }
include ("_reqPanier/panier.reqFusion.php");
include ("panier.calculCde.php");
include ("_reqPanier/panier.reqUpdateCde.php");
}
else {
// si panier existe pas : bascule de l'ip vers idMail de la commande
if (isset($debug[1]) && $debug[1] == '1' ) { $debugMsg .= monDebug (2, ['migrate panier IP vers idMail' => '' ], ''); }
include ("_reqPanier/panier.reqMigrate.php");
}
}
else {
if (isset($debug[1]) && $debug[1] == '1' ) { $debugMsg .= monDebug (1, ['Pas de panier avec ip' => '' ], ''); }
}
}
// ---------------------------------------------------
// Pas connecté ==> Affecter l'ip au mail pour creation de commande tmp
// ---------------------------------------------------
else {
// init du mail tmp
$_SESSION['idMail']=$_SESSION['ip'];
}
if (isset ($_SESSION['idMail']) && $_SESSION['connected'] != 'O') {
$idMail=$_SESSION['idMail'];
if (isset($debug[1]) && $debug[1] == '1' ) { $debugMsg .= monDebug (1, ['SESSION[idMail]' => $_SESSION['idMail'] ], ''); }
}
// ---------------------------------------------------
// Savoir si un panier existe avec ce mail (connecté ou pas, donc Ip ou mail)
// ---------------------------------------------------
$trouvePanier=false;
include ("_reqPanier/panier.reqSelectCde.php");
$step=1;
if (isset($debug[1]) && $debug[1] == '1') { $debugMsg .= monDebug (1, ['trouvePanier' => $trouvePanier ], ''); }
// ---------------------------------------------------
// Le panier existe
// ---------------------------------------------------
if ($trouvePanier==true) {
if (isset($debug[1]) && $debug[1] == '1' ) { $debugMsg .= monDebug (1, ['PANIER EXIST' => 'Oui'], ''); }
$idPrdTab=null;
// ---------------------------------------------------
// On récupère toutes les lignes de la commande existante, si existe
// ---------------------------------------------------
include ("_reqPanier/panier.reqSelectLignes.php");
// ---------------------------------------------------
// On cherche l'article parmi les articles deja existants
// Si trouvé = UPDATE PANIER LE CAS ECHÉANT : on ajoute aussi la quantité
// ---------------------------------------------------
if (isset($idLgCdeTab) && !empty($idLgCdeTab) && ($idLgCdeTab!='') && isset($idPrdTab) && count($idPrdTab)>0 && $codeOpe!=3) {
$trouve=false;
$qte2=0;
for($i=0; $i< count($idPrdTab); $i++) {
if ( isset($idPrd) && $idPrdTab[$i]==$idPrd) {
// + si article existe ajout des qtes
if ($codeOpe==1 ) {$codeOpe=11;}
$idLgCde=$idLgCdeTab[$i];
$qte2=$qteTab[$i];
// $poidsLigne = $poidsTab[$i];
$trouve=true;
if (isset($debug[1]) && $debug[1] == '1') { $debugMsg .= monDebug (1, ['Article N° ajouté au panier existant ' => $idPrd, 'ligne N° '.$i => $idLgCde, 'idPrd N°' => $idPrd, 'qte2 ' => $qte2, 'poids ' => $poids, 'codeOpe ' => $codeOpe], ''); }
}
else {
if (isset($debug[1]) && $debug[1] == '1' ) { $debugMsg .= monDebug (2, ['Pas d\'article correspondant dans le panier existant' => '', 'count(idPrdTab)' => count($idPrdTab), 'idPrdTab' => $idPrdTab[$i] ], ''); }
}
}
if (isset($debug[1]) && $debug[1] == '1' && $trouve==false) { $debugMsg .= monDebug (1, ['Pas d\'article connu dans le panier existant' => ''], ''); }
}
else{
if (isset($debug[1]) && $debug[1] == '1' ) { $debugMsg .= monDebug (1, ['Pas d\'article connu dans le panier existant' => ''], $codeOpe); }
}
// ---------------------------------------------------
// Insert ligne / update panier
// ---------------------------------------------------
if (isset($debug[1]) && $debug[1] == '1' ) { $debugMsg .= monDebug (1, ['CodeOpe' => $codeOpe],'' ); }
if ($codeOpe==1) {
if (isset($debug[1]) && $debug[1] == '1' ) { $debugMsg .= monDebug (1, ['Creation ligne' => ''], ''); }
// + si existe pas creation d'une ligne
include ("panier.calculLigne.php");
include ("_reqPanier/panier.reqInsertLignes.php");
include ("panier.calculCde.php");
include ("_reqPanier/panier.reqUpdateCde.php");
}
// ---------------------------------------------------
// Update ligne / update panier
// ---------------------------------------------------
if ($codeOpe==2 || $codeOpe==11) {
// modif de la quantité par ajout nouvelle qte : codeOpe=11
// ou modif de la quantité par ecrasement nouvelle qte : codeOpe=2
// geré dans calcul ligne
include ("panier.calculLigne.php");
include ("_reqPanier/panier.reqUpdateLignes.php");
include ("panier.calculCde.php");
include ("_reqPanier/panier.reqUpdateCde.php");
}
// ---------------------------------------------------
// Delete ligne / update panier
// ---------------------------------------------------
if ($codeOpe==3) {
// supression de ligne
include ("_reqPanier/panier.reqDeleteLigne.php");
include ("panier.calculCde.php");
include ("_reqPanier/panier.reqUpdateCde.php");
}
}
else {
if (isset($debug[1]) && $debug[1] == '1' ) { $debugMsg .= monDebug (1, ['PAS DE PANIER EXISTANT => CREATION' => ''], ''); }
if ($codeOpe==1) {
// ---------------------------------------------------
// insert du panier + ligne : on vient de gondole / recherche
// ---------------------------------------------------
include ("_reqPanier/panier.reqInsertCde.php");
include ("panier.calculCde.php");
}
else {
// cas de la lecture seule
if (isset($debug[1]) && $debug[1] == '1' ) { $debugMsg .= monDebug (1, ['LECTURE SEULE - 2' => ''], ''); }
}
}
// ---------------------------------------------------
// Affichage du mesage commercial
// ---------------------------------------------------
include ("cde.reqSelect.messCom.php");
if ($afficherMsgCom==1) {
if ( $affMContext === true ) {echo '<div id="messCom" '; echo 'style="'; if (isset ($styleMsgCom) && $styleMsgCom!='-') echo $styleMsgCom; echo ' cursor:context-menu" '; echo 'data-tooltip="' .$titleTab. '" ' .$mouseOverMenuContext. ' onContextMenu="return mContextuel( this, \'messCom\', \'titre\', 0, event );" >';}
else { echo '<div id="messCom" ';if (isset ($styleMsgCom) && $styleMsgCom!='-') echo 'style="' .$styleMsgCom. '" ' ; echo 'data-tooltip="' .$titleTab. '" >'; }
echo '<i class="' .$icoTab. '"></i>&#160;<span>' .$messTab. '</span>';
// a faire <a href="tel:+330493589400">04 93 58 94 00</a>
echo '</div>';
}
// ---------------------------------------------------
// Y a t-il des options ?
// ---------------------------------------------------
include ("option.testCA.php");
if ($test==true) {
// si il y a des options au niveau produit, on affiche le formulaire option, au retour du formulaire option on fera un insert des options et recalcul
if (isset($debug[1]) && $debug[1] == '1' ) { $debugMsg .= monDebug (1, ['option = oui , test =' => $test], ''); }
include ("options.form.php");
include ("panier.calculCde.php");
include ("_reqPanier/panier.reqUpdateCde.php");
}
else {
if (isset($debug[1]) && $debug[1] == '1' ) { $debugMsg .= monDebug (1, ['pas d\'option, test = vide' => $test], ''); }
}
include ("panier.form.php");
?>