<?php
session_start();
// ========================================================================================
// Valider le panier et la commande, ETAPE 1
//
// Afficher le contenu du panier
// Il est possible de supprimer des articles, auquel cas, on réaffiche immédiatement cett page.
// ========================================================================================
include "library/DB_fct.inc.php";
include "library/CART_fct.inc.php";
include "library/_baseDesign.inc.php";
// ========================================================================================
// FONCTIONS LOCALES
// ========================================================================================
// -------------------------------------------------------------------
function _menuRight(){
global $_SESSION;
global $connexion;
global $panierId;
	if (isset($_SESSION['num'])) echo "ok";
	// affichage du Panier
	CART_previewCart($panierId, "", "n");
	echo "<div class=help>Modifiez le panier puis continuer.</div>\n";
}
// -------------------------------------------------------------------
// liste des articles du panier. attention, la liste est clickable ! (et donc différente des écrans suivants)
// -------------------------------------------------------------------
function _cartList($panierId){
global $connexion;
	$prixTotal=0;
	// récupérer le nombre d'articles
	$cartCount=CART_getCartCount($panierId);
	// -------------------------------------------------------------------
	// BEGIN Afficher la liste du panier cliquable
	echo " <table align=center border=1 id=itemList><!-- cart List BEGIN -->\n";
	echo " <caption>Votre panier contient $cartCount article(s) :</caption>";
	echo "<tr><td></td><td>Référence</td><td>Designation</td><td>Quantité</td><td>Prix unitaire</td><td>Prix total</td></tr>";
	
	$requete_sql="SELECT * FROM panierArticle, article 
		WHERE panierArticle.artCode=article.artCode
		AND panierId='$panierId' AND status<=1 ;";
	$requete_id=DB_ouvrirRequete($requete_sql, $connexion);
	$t_record=DB_lireLigne($requete_id);
	if ($t_record){ // si un enregistrement est trouvé :
		while ($t_record){
			$prixLigne=$t_record['panierQty']*$t_record['artPrixHT'];
			echo "<tr>";
				echo "<td><a href=cdeCartDsp.php?id=$panierId&artCode=".$t_record['artCode']."&action=delItem><img src='segami/cdeDel.png' alt='Supprimer' height=25px /></a></td>";
				echo "<td>".$t_record['artCode']."</td>";
				echo "<td>".$t_record['artDesc']."</td>";
				echo "<td align=right>".$t_record['panierQty']."</td>";
				echo "<td align=right>".$t_record['artPrixHT']." €</td>";
				echo "<td align=right>".$prixLigne." €</td>";
			echo "</tr>";
				$prixTotal+=$prixLigne;
			$t_record=DB_lireLigne($requete_id);
		}
	}
	echo "<tr><td colspan=5 align=right>Total du panier : </td><td align=right>$prixTotal €</td></tr>";
	echo "</table><!-- cart list END -->\n";
	// END Afficher la liste du panier cliquable
	// -------------------------------------------------------------------
}
// ========================================================================================
// MAIN()
// ========================================================================================
$userId="";
$pageName="lstArt.php";
$headTitle="Liste des Articles du panier";
$contentTitle="Panier";

// Récup des paramètres
$errorCode=false;
//(isset($_REQUEST['id'])&&!empty($_REQUEST['id']))?$panierId=$_REQUEST['id']:$panierId=0; // 
$panierId=0;
(isset($_REQUEST['id'])&&!empty($_REQUEST['id']))?$panierId=$_REQUEST['id']:$errorCode=100; // 100 panier non défini
// Récup/définition de l'autorisation de la fonction history.back(), au cas où on vient de l'ajout d'un article, pour ne pas l'ajouter une seconde fois dans le panier
(isset($_REQUEST['returnUrl']) && $_REQUEST['returnUrl']!="")?$returnUrl0=$_REQUEST['returnUrl']:$returnUrl0="cdeArtLst.php?id=$panierId"; // Note : noback contient l'article qu'on vient d'ajouter ...

// Récup de l'action si on décide de supprimer un article du panier
(isset($_REQUEST['action']) && $_REQUEST['action']=="delItem")?$action="delItem":$noAction=true; // note, noAction est une variable qui ne sert qu'à ce que la syntaxe soit juste (...hm)
// ========================================================================================
// connexion et ouverture de la requête à afficher
	$connexion=DB_connecter(); 

// ========================================================================================
// GESTION DES ERREURS
// ========================================================================================
// Vérifier le panier et le nombre d'articles
	$cartCount=CART_getCartCount($panierId);
	// EN CAS D'ERREUR : Envoi de la page de redirection de base (goToUrl())
	if (!$cartCount || empty($cartCount)){ 
		$errorCode=101; // erreur, panier vide ou indéfini
	}
	
// affichage des erreurs
// EN CAS D'ERREUR : Envoi de la page de redirection de base (goToUrl())
	if ($errorCode) {
		$message="erreur ($errorCode). <br>vous allez être redirigé vers l'index ou <a href=\"javascript:history.back()\">Demander le retour page précédente.</a>";
		$backUrlCompltete="index.php";
		_goToUrl($message, $backUrlCompltete, '', ''); // pour l'instant, on perd l'utilisateur, voir comment corriger ça ... variables de session ?
		echo $message;
		exit(0);
	}

// il n'y a pas d'erreur, on peut enregistrer les données transmises et afficher l'étape suivante.

// ========================================================================================
// MODIFIER LE PANIER (ici, enlever des articles)
// ========================================================================================
	if (isset($action) && $action=="delItem") { // si il y a une action et qu'elle est de supprimer, on le fait
		$errorCode=false; // pas d'erreur pour l'instant
		// Récupérer et vérifier l'article concerné
		if (isset($_REQUEST['artCode']) && !empty($_REQUEST['artCode'])){ // l'article est défini et non vide
			$artCode=$_REQUEST['artCode'];
			// Rechercher l'article choisi pour vérifier que le code existe effectivement dans le panier
			$requete="Select * from panierArticle WHERE panierId='$panierId' AND artCode='$artCode' ;";
			$t_record=DB_chercherEnreg($requete, $connexion);
			echo mysql_error();
			if (!$t_record) $errorCode=250; // 250 article non trouvé dans le panier
		}else $errorCode=200; // 200 article non défini
		
		// affichage des erreurs (ouille, il y a une erreur dans le panier (ou une tentative de modif des paramètres) !!)
		// EN CAS D'ERREUR : Envoi de la page de redirection de base (goToUrl()) et arrêter le script
		if ($errorCode){
			$message="Erreur $errorCode ($artCode). Attendre la redirection ou <a href=\"javascript:history.back()\">Retour page précédente !</a>";
			_goToUrl($message, $returnUrl0, '', ''); // pour l'instant, on perd l'utilisateur, voir comment corriger ça ... variables de session ?
			exit(0);
		}
		
		// il n'y a pas d'erreur, on peut supprimer l'article du panier puis réafficher le panier.
		$requete="DELETE FROM panierarticle WHERE artCode='$artCode' and panierId='$panierId' ;";
		$t_record=DB_executerRequete($requete, $connexion);
	} // fi action
// l'action de modif du panier est terminée. afficher le panier.

//========================================================================
// AFFICHAGE du panier
//========================================================================
// Initialiser les variables locales
//------------------------------------------------------------------------------------------------------------
// Afficher les articles du panier
//------------------------------------------------------------------------------------------------------------
_pageHeader($userId);	// entête de page et menu

// -------------------------------------------------------------------
// DEBUT Afficher la barre de progression
echo "<!-- BEGIN progression step List --><div id=progressionBar><ul class=nobloc>";
echo "<li class=stepFisrt><a href='$returnUrl0'>Catalogue</a></li>"; // retour
echo "<li class=stepCurrent>Panier</li>"; // valider le panier
echo "<li class=stepNext>Coordonnées</li>"; // valider les coordonnées
echo "<li class=stepFuture>Paiement</li>"; // valider le paiement
echo "<li class=stepFutureLast>Confirmation</li>"; // confirmer la commande (fin)
echo "</ul></div><!-- END progression step List -->\n";
// FIN Afficher la barre de progression

// -------------------------------------------------------------------
// BEGIN Afficher l'espace de données
echo "<div id=data><!-- data Space BEGIN-->\n";
echo "<h3>Etape 1 : Valider votre panier</h3>";

	// -------------------------------------------------------------------
	// Afficher les boutons d'action
		echo "<!-- BEGIN Form btn List --><table align=center border=1 id=navBtn><tr>";
		if (!empty($returnUrl0))
			echo "<td><input type=button onclick=\"document.location='$returnUrl0';\" name=back value='Retour choix' /></td>";
		// echo "<td><input type=button onclick=\"\" name=Cancel value='Vider le panier' /></td>";
		echo "<td><input type=button onclick=\"document.location='cdeCoord.php?id=$panierId';\" name=step2 value='Etape suivante' /></td>";
		echo "</tr></table><!-- END Form btn List -->\n";
	// FIN Afficher les boutons d'action

	// -------------------------------------------------------------------
	// Afficher le panier
	_cartList($panierId);

echo "</div><!-- data Space END-->\n";
// END Afficher l'espace de données
//========================================================================
// fin de page
//========================================================================
_pageFooter(); // pied de page
?>