<?php
session_start();
// ========================================================================================
// Valider le panier et la commande, ETAPE 4
//
// Enregistrer les modes de paiement et de transport.
// Afficher le racapitulatif du panier et sa valeur, transport compris.
// Dernière étape avant la commande (on peut encore revenir en arrière ou annuler le panier).
// ========================================================================================
include "library/DB_fct.inc.php";
include "library/CART_fct.inc.php";
include "library/_baseDesign.inc.php";
// REMARQUE : le taux de TVA est 19,6 par défaut, pour l'instant, pas de taux géré.
// ========================================================================================
// 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>Validez la commande.</div>\n";
}
// -------------------------------------------------------------------
function _getPanier($enregKey){
global $connexion;
	$requeteSelect="SELECT * FROM panier WHERE panierId='$enregKey' ;";
	return DB_chercherEnreg($requeteSelect, $connexion);
}
// -------------------------------------------------------------------
function _getTransport($enregKey){
global $connexion;
	$requeteSelect="SELECT * FROM modeTransport WHERE code=$enregKey ;";
	return DB_chercherEnreg($requeteSelect, $connexion);
}
// -------------------------------------------------------------------
function _getPaiement($enregKey){
global $connexion;
	$requeteSelect="SELECT * FROM modePaiement WHERE code=$enregKey ;";
	return DB_chercherEnreg($requeteSelect, $connexion);
}
// -------------------------------------------------------------------
function _coordList(){
global $connexion;
global $panierId;
	$requete_sql="SELECT * FROM panier WHERE panierId='$panierId' ;";
	$t_record=DB_chercherEnreg($requete_sql, $connexion);
	// BEGIN Liste des coordonnées
		echo "<!-- BEGIN Coord data --><table align=center border=1 id=coordList>";
		echo "<caption>Vos coordonnées :</caption>";
		echo "<tr><th>Adresse de facturation</td></tr>";
		echo "<tr><td>";
			echo "<ul class=coord_dsp>";
			echo "<li>".$t_record['invNom']."</li>";
			echo "<li>".$t_record['invAdress']."</li>";
			echo "<li>".$t_record['invPaysCode']."</li>";
			echo "</ul>";
		echo "</td></tr>";
		echo "</table><!-- END Coord data -->";
	// END Liste des coordonnées
}
// -------------------------------------------------------------------
// liste des articles du panier. Liste simple affichage Mais avec récup des modes de transport et de paiement
// -------------------------------------------------------------------
function _cartList($panierId){
global $connexion;
	$tauxTVA=19.6;
	$prixTotal=0;
	// Récupérer le mode de transport
	$t_panier=_getPanier($panierId);
		$transMode=$t_panier['transMode'];
		$payMode=$t_panier['payMode'];
	// Récupérer le mode de transport
	$t_modeTransport=_getTransport($transMode);
		$transModeLib=$t_modeTransport['libelle'];
		$transPrix=$t_modeTransport['prixHT'];
	// Récupérer le mode de paiement
	$t_modePaiement=_getPaiement($payMode);
		$paiemtModeLib=$t_modePaiement['libelle'];
	// Récupérer le nombre d'articles
	$cartCount=CART_getCartCount($panierId);
	
	// DEBUT Afficher la liste du panier complet
	echo "<!-- cart List BEGIN --><table align=center border=1 id=itemList><caption>Votre panier contient $cartCount article(s)</caption>";
	echo "<tr><td>Référence</td><td>Designation</td><td>Quantité</td><td>Prix unitaire</td><td>Prix total</td></tr>";
	
	// DEBUT Afficher la liste des articles du panier
	$requete_sql="SELECT * FROM panierArticle, article WHERE panierArticle.artCode=article.artCode AND panierId='$panierId'  ;";
	$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>".$t_record['artCode']."</td>";
				echo "<td>".$t_record['artDesc']."</td>";
				echo "<td align=right>".number_format($t_record['panierQty'],2,',',' ')."</td>";
				echo "<td align=right>".number_format($t_record['artPrixHT'],2,',',' ')." €</td>";
				echo "<td align=right>".number_format($prixLigne,2,',',' ')." €</td>";
			echo "</tr>";
				$prixTotal+=$prixLigne;
			$t_record=DB_lireLigne($requete_id);
		}
	}
	// FIN Afficher la liste des articles du panier
	
	// Calcul du montant du transport, de la TVA et du montant TTC :
		// note : (on considère que le taux de TVA est le même pour tous les articles ainsi que pour le transport) :
		$prixTransport=$transPrix;
		$TVA=($prixTotal+$prixTransport)*$tauxTVA/100;
		$totalTTC= $prixTotal+$prixTransport+$TVA;

	// Affichage du pied de la facture (totalHT, transport, TVA, total TTC, rappel du mode de paiement)
	echo "<tr class=cdeTotalHT><td colspan=4 align=right>Total Hors taxes : </td><td align=right>".number_format($prixTotal,2,',',' ')." €</td></tr>";
	echo "<tr class=cdeTransport><td colspan=4 align=right>Transport : $transModeLib ; </td><td align=right>".number_format($prixTransport,2,',',' ')." €</td></tr>";
	echo "<tr class=cdeTVA><td colspan=4 align=right>TVA ($tauxTVA) : </td><td align=right>".number_format($TVA,2,',',' ')." €</td></tr>"; 
	echo "<tr class=cdeTotalTTC><td colspan=4 align=right>Total TTC : </td><td align=right>".number_format($totalTTC,2,',',' ')." €</td></tr>";
	echo "<tr class=cdePaiement><td colspan=5 align=right>Mode de paiement : $paiemtModeLib</td></tr>";
	echo "</table><!-- Cart List END -->\n";
	// FIN Afficher la liste du panier complet
}
// ========================================================================================
// MAIN()
// ========================================================================================
$userId="";
$pageName="lstArt.php";
$headTitle="Confirmation du panier";
$contentTitle="Confirmation du 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 des moes de paiement et transport
(isset($_REQUEST['payMode']) && $_REQUEST['payMode']!="")?$payMode=$_REQUEST['payMode']:$errorCode=131 ; // une donnée n'est pas définie
(isset($_REQUEST['transMode']) && $_REQUEST['transMode']!="")?$transMode=$_REQUEST['transMode']:$errorCode=132 ; // une donnée n'est pas définie

// ========================================================================================
// 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.

// ========================================================================================
// ENREGISTREMENT DES MODES DANS LE PANIER
// ========================================================================================
	// préparation de la requête de modif du panier
	$requeteUpdate="UPDATE panier SET payMode='$payMode', transMode='$transMode' WHERE panierId='$panierId' ;";
	$t_record=DB_executerRequete($requeteUpdate, $connexion);
// Le panier est modifié

//========================================================================
// AFFICHAGE du panier pour confirmation
//========================================================================
// Initialiser les variables locales
$prixTotal=0;
$returnUrl0="cdeArtLst.php?id=$panierId";
$returnUrl1="cdeCartDsp.php?id=$panierId";
$returnUrl2="cdeCoord.php?id=$panierId";
$returnUrl3="cdePaiement.php?id=$panierId";
$returnAct3="cdePaiement.php?id=$panierId";

//------------------------------------------------------------------------------------------------------------
// Afficher le récapitlatif de la commande, avant validation finale
//------------------------------------------------------------------------------------------------------------
_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' class=stepLink>Catalogue</a></li>"; // retour
echo "<li class=stepPrevious><a href='$returnUrl1' class=stepLink>Panier</a></li>"; // valider le panier
echo "<li class=stepPrevious><a href='$returnUrl2' class=stepLink>Coordonnées</a></li>"; // valider les coordonnées
//echo "<li class=stepPrevious><a href='$returnUrl3' class=stepLink>Paiement</a></li>"; // valider le paiement
echo "<li class=stepPrevious onclick='history.back()'>Paiement</li>"; // valider le paiement
echo "<li class=stepCurrentLast>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 4 : Confirmation de la commande</h3>";

// -------------------------------------------------------------------
// BEGIN Formulaire ----------------
echo "<!-- BEGIN Formulaire --><form id=formulaire>\n";
	echo "<input type=hidden name=id value=$panierId>";
		
	// -------------------------------------------------------------------
	// Afficher les boutons d'action
		echo "<!-- BEGIN Form btn List --><table align=center border=1 id=navBtn><tr>";
		echo "<td><input type=button onclick=\"document.location='$returnUrl0';\" name=back value='Retour choix' /></td>";
		echo "<td><input type=button onclick=\"\" name=Cancel value='Annuler la commande' /></td>";
		echo "<td><input type=button onclick=\"document.location='cdeValider.php?id=$panierId';\" name=stepNext value='Valider la commande' /></td>";
		echo "</tr></table><!-- END Form btn List -->\n";
	// FIN Afficher les boutons d'action
	
	echo "</form><!-- END Formulaire -->\n";
	// END Formulaire ----------------
	
	// -------------------------------------------------------------------
	// Afficher les coordonnées
	_coordList();

	// -------------------------------------------------------------------
	// 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
?>