
<center><h2><strong>Ubuntu</strong></h2>
­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­
<!DOCTYPE html>
<html>
<?php
/*
 *
 * */

    class ClassLpf {
    // Connexion MYSQL
        public function CnxMYSQL()    {
            if ($_SERVER['REMOTE_ADDR'] == "127.0.0.1") {
                $connexion = mysqli_connect("127.0.0.1", "root", "") or die ("could not connect to mysql");
                mysqli_select_db($connexion, "airmob_lpf") or die ("no database");
            } else {
                $connexion = mysqli_connect("airmobeuagwwwnew.mysql.db", "airmobeuagwwwnew", "8iH9MEjfVySL5q7YWkywKA") or die ("could not connect to mysql");
                mysqli_select_db($connexion, "airmobeuagwwwnew") or die ("no database");

            }
            return $connexion;
        }

    //  Auth
        public function Auth() {
            if( isset($_REQUEST['dcx']) ) {
                unset($_SESSION['LPF']['auth']);
                header('Location: index.php');
            }

            if( !$_SESSION['LPF']['auth'] ) {
                if (md5($_REQUEST['lpfacces']) == AAdmin) $_SESSION['LPF']['auth'] = "ok";
                else                                unset($_SESSION['LPF']);

            }

        //  S identifier & affcihe page
            if ( !$_SESSION['LPF']['auth'] )  {
                include "../lib/auth.php";
            } else {
                if      ( !$_REQUEST['p'] ) include "../rubriques/accueil.php";
                else {
                    list($rub,$no) = explode(',',$_REQUEST['p']) ;

                    if($rub=="m"    )   include "../rubriques/menu.php";  // Menu
                    if($rub=="c"    )   include "../rubriques/composition.php";  // Composition
                    if($rub=="g"    )   include "../rubriques/gestion.php";  // Gestion
                    if($rub=="cde"  )   include "../rubriques/commandes.php";  //
                    if($rub=="voir" )   include "../rubriques/commandes.php";  //

                }

            }
        }

    //  Etapes
        public function Etape()        {
            if (!$_SESSION['LPF']['Etape']) $Etape = "0";
            if($_REQUEST['retour'])     $_SESSION['LPF']['Etape'] = $_REQUEST['retour'];
            else                        $_SESSION['LPF']['Etape'] = $_REQUEST['etape'];
        }

    //  NOTE : Prepare le comportement du form +  Enreg la section client en fonction des etapes
        public function Selection()        {

            $Etape =  $_SESSION['LPF']['Etape'];

        //  Mémorise la section client
        //  -------------------------------------
            if($_REQUEST['Retrait_date'] ) $_SESSION['LPF']['Commande']['Retrait_date']  = $_REQUEST['Retrait_date'];
            if($_REQUEST['Retrait_heure']) $_SESSION['LPF']['Commande']['Retrait_heure'] = $_REQUEST['Retrait_heure'];

            if($_REQUEST['MENU'])          {
                list($type,$nom,$prix) = explode ('|',$_REQUEST['MENU']);
                $_SESSION['LPF']['Commande']['TYPE']          = $type;
                $_SESSION['LPF']['Commande']['NOM']           = $nom;
                $_SESSION['LPF']['Commande']['PRIX']          = $prix;
            }

            if($_REQUEST['qte']) {
                unset($_SESSION['LPF']['Commande']['mnu']);
                unset($_SESSION['LPF']['Commande']['mnu_suite']);
                $_SESSION['LPF']['Commande']['qte']                 = $_REQUEST['qte'];
                $_SESSION['LPF']['Commande']['mnu_etape']           = "1";
                if($_SESSION['LPF']['Commande']['TYPE']=="choix")     $prochaine_etape = "entree";
                if($_SESSION['LPF']['Commande']['TYPE']=="carte")     $prochaine_etape = "allergie";
                    $_SESSION['LPF']['Commande']['mnu_suite'][$Etape+1] = $prochaine_etape ;
            }

        //  Soustraite 1 à  mnu_etape (traite le nbre de menu)
            if($_REQUEST['retour']) {
                $kk = $_SESSION['LPF']['Commande']['mnu_suite'];
            // Se fait sur une etape dessert
                if ( $_SESSION['LPF']['Commande']['mnu_suite'][$Etape+1]=='dessert') {
                // Si le dernier key , est pas la derniere etape
                    if($Etape+1 <> end (array_keys($kk))) {
                        if ($_SESSION['LPF']['Commande']['mnu_etape'] == $_SESSION['LPF']['Commande']['qte'] &&  $_SESSION['LPF']['Commande']['qte']>1) {
                            $_SESSION['LPF']['Commande']['mnu_etape'] = $_SESSION['LPF']['Commande']['mnu_etape'] - 1;

                        }
                    }
                }
            }


            $NoMnu =  $_SESSION['LPF']['Commande']['mnu_etape'] ;

        // 1 ETAPE - ENTREE
            if($_REQUEST['entree']) {
                $_SESSION['LPF']['Commande']['mnu'][$NoMnu]['E']    = addslashes($_REQUEST['entree']); // Enreg entree
                $_SESSION['LPF']['Commande']['mnu_suite'][$Etape+1] = "plat"; // Etape suivante
            }

        // 2 ETAPE - PLAT
            if($_REQUEST['plat']) {
                $_SESSION['LPF']['Commande']['mnu'][$NoMnu]['P']    = addslashes($_REQUEST['plat']); // Enreg plat
                $_SESSION['LPF']['Commande']['mnu_suite'][$Etape+1] = "dessert"; // Etape suivante
            }

        // 3 ETAPE - DESSERT
            if($_REQUEST['dessert']) {
                $_SESSION['LPF']['Commande']['mnu'][$NoMnu]['D'] = addslashes($_REQUEST['dessert']);    // Enreg dessert
            // Si plusieurs menus recommence la selection à entree
                if( $_SESSION['LPF']['Commande']['mnu_etape'] < $_SESSION['LPF']['Commande']['qte'] ) {
                    $_SESSION['LPF']['Commande']['mnu_etape'] = $_SESSION['LPF']['Commande']['mnu_etape']+1;
                    $_SESSION['LPF']['Commande']['mnu_suite'][$Etape+1] = "entree";
                }
            //  Fin de 1 ou plusieurs menus Si fin mnu_etape = qte à l etape dessert envoi sur les vins
                if($NoMnu ==  $_SESSION['LPF']['Commande']['qte']){
                    $_SESSION['LPF']['Commande']['mnu_suite'][$Etape+1] ="vin";
                }
            }

        // 4 ETAPE - VIN
            if($_REQUEST['vin']) {
                $_SESSION['LPF']['Commande']['mnu_suite'][$Etape+1]="vin"; ;

                //$_SESSION['LPF']['Commande']['mnu'][0]['V'] = $_REQUEST['vin'];
                list($type,$nom,$prix) = explode ('|',$_REQUEST['vin']); // Enreg vin
                $_SESSION['LPF']['Commande']['mnu']['V']['TYPE']          = $type;
                $_SESSION['LPF']['Commande']['mnu']['V']['NOM']           = $nom;
                $_SESSION['LPF']['Commande']['mnu']['V']['PRIX']          = $prix;


                $_SESSION['LPF']['Commande']['mnu_suite'][$Etape+1] = "recap"; // Etape suivante
            }

        // Allergies
            if($_REQUEST['allergies']) {
                 $_SESSION['LPF']['Commande']['allergies']['reponse'] = $_REQUEST['allergies'];
                 $_SESSION['LPF']['Commande']['allergies'] ['detail'] = $_REQUEST['allergie_comm'];
                $_SESSION['LPF']['Commande']['mnu_suite'][$Etape+1] ="vin";
            }

        }

    //  Charge le form de selection
        public function ChargeSelection() {
            include "rubriques/selection.php";
        }

    //  NOTE : Affiche le titre pour la SELECTION / Entree Plat Dessert Vin
        public function SelectionTitre() {
            $Etape =  $_SESSION['LPF']['Etape'];
            if( $_SESSION['LPF']['Commande']['mnu_suite'][$Etape+1]<>'vin' ) {

                echo "<h3 class='animated fadeIn'>Menu " . $_SESSION['LPF']['Commande']['mnu_etape'] . " (<b>" . Type[$_SESSION['LPF']['Commande']['mnu_suite'][$Etape + 1]] . "</b>)</h3>";
                if ($_SESSION['LPF']['Commande']['TYPE']=="choix" && $_SESSION['LPF']['Commande']['mnu_suite'][$Etape+1]=="plat") echo "Servis avec des légumes printaniers";

            } else {
                echo "<h4><b>Notre sélection de vin pour votre menu ?</b></h4>
                L’ensemble de notre cave est disponible à tarifs réduit pour les ventes à emporter. <br>N’hésitez pas à demander la carte complète ainsi que des conseils.
                <br>Ci-dessousquelques exemples...<br><br>";
            }
            echo "<br><br>";
        }

    //  NOTE :Affiche les choix disponible lors de la SELECTION / Entree Plat Dessert Vin
        public function SelectionMenu() {
            $Etape =  $_SESSION['LPF']['Etape'];
        // entree, plat, dessert (vide = passe au vin)
            if( $_SESSION['LPF']['Commande']['mnu_suite'][$Etape+1] ) {
                $q = $_SESSION['LPF']['Commande']['mnu_suite'][$Etape + 1];
                $this->AfficheChoix($q);
            }
        // vin
            else {
                $this->AfficheChoix("vin");
            }

        }

    //  NOTE :Créé les bouton pour les choix disponible lors de la SELECTION / Entree Plat Dessert Vin
        public function AfficheChoix( $quoi ) {
            $cnx = $this->CnxMYSQL();
            $i = 0;
            if($quoi=="menus") {
            // Si menu de fete à la date selectionnée
                $QFete   = mysqli_query($cnx, "SELECT * FROM menus WHERE type_menu='fete' && active='1' && date='".$_SESSION['LPF']['Commande']['Retrait_date']."'");
                $ColFete = mysqli_fetch_array($QFete, MYSQLI_ASSOC);

                if($ColFete['id'])  $WHERE = "id='".$ColFete['id']."'";
                else                $WHERE = "active='1'";

                $QW    = mysqli_query($cnx, "SELECT * FROM menus WHERE $WHERE ");
                while ($Col = mysqli_fetch_array( $QW,MYSQLI_ASSOC )) {
                    $i++;
                    $x= "0.".($i)."s";
                    $Val = $Col['type_menu']."|".$Col['nom']."|".$Col['prix'];
                    $Nom = $Col['nom']." - ".$Col['prix']." €";
                    echo '<button type="submit" name="MENU" value="'.$Val.'"  style="animation-delay: '.$x.';" class="animated slideInLeft btn btn-selection btn-block"  >MENU '.$Nom.'</button>';
                }
            }
            elseif($quoi=="entree" || $quoi=="plat" || $quoi=="dessert" || $quoi=="vin") {
                if($quoi=="vin") $ORDER = "ORDER BY prix desc"; else $ORDER ="";
                $QW    = mysqli_query($cnx, "SELECT * FROM choix WHERE type='$quoi' $ORDER ");
                while ($Col = mysqli_fetch_array( $QW,MYSQLI_ASSOC )) {
                    $i++;
                    $x= "0.".($i)."s";
                    $Val = $quoi."|".$Col['nom']."|".$Col['prix'];
                    if($quoi=="vin" && $Col['prix']>0) $Nom = $Col['nom']." - ".$Col['prix']." €";
                    else            $Nom = $Col['nom'];
                    echo '<button type="submit" name="'.$quoi.'" value="'.$Val.'"  style="animation-delay: '.$x.';" class="animated slideInLeft btn btn-selection btn-block"  >'.$Nom.'</button>';

                }
            }
            else {

            }
            //return $Choix;
        }

    //  NOTE : Recapitualitf des menus fin de selection
        public function Recapitulatif() {

            $QTE   = $_SESSION['LPF']['Commande']['qte'];
            $TYPE  = $_SESSION['LPF']['Commande']['TYPE'];
            $NOM   = $_SESSION['LPF']['Commande']['NOM'];
            $DATE  = $_SESSION['LPF']['Commande']['Retrait_date'];
            $HEURE = $_SESSION['LPF']['Commande']['Retrait_heure'];

            //echo uniqid();;
            ($QTE >1) ? $ajout_s = "s" : $ajout_s = "" ;
            echo "<h5>Vous avez sélectionnez : <br class='d-block d-sm-none'>".$QTE." menu".$ajout_s." ".$NOM."</h5>";
            echo "A retirer sur place le :<br class='d-block d-sm-none'>".date("d/m/Y", strtotime($DATE))." à ".$HEURE;


            //foreach(Type as $Type=>$b) {
             //   $Type = substr(strtoupper($Type),0,1);
              //  echo "-".$Type."-<br>";
                foreach($_SESSION['LPF']['Commande']['mnu'] as $No_Menu=>$Dtl) {
                    if($Dtl['E']) { list($te,$ne,$pe)=explode ('|',$Dtl['E']); $RecapCmd['E'][] = $ne;}
                    if($Dtl['P']) { list($tp,$np,$pp)=explode ('|',$Dtl['P']); $RecapCmd['P'][] = $np;}
                    if($Dtl['D']) { list($td,$nd,$pd)=explode ('|',$Dtl['D']); $RecapCmd['D'][] = $nd;}
                }
           // }
        // Array
            echo "<hr>";
            if($TYPE=="choix") {
                echo "<h4>Entrée(s)</h4>";
                echo "<li>" . join('</li><li>', $RecapCmd['E']) . '</li>';

                echo "<br>";
                echo "<h4>Plat(s)</h4>";
                echo "<li>" . join('</li><li>', $RecapCmd['P']) . '</li>';

                echo "<br>";
                echo "<h4>Dessert(s)</h4>";
                echo "<li>" . join('</li><li>', $RecapCmd['D']) . '</li>';
            } else {
                echo "<br>";
                echo "<div class=\"alert alert-warning\" role=\"alert\">Vous nous avez indiqué ";
                echo " ";
                if($_SESSION['LPF']['Commande']['allergies']['reponse']=="non") echo "<b>ne pas être allérgique.</b>";
                elseif($_SESSION['LPF']['Commande']['allergies']['reponse']=="oui")  echo "<b>être allérgique.</b> en précisant : <br><i>" .$_SESSION['LPF']['Commande']['allergies']['detail']."</i>";
                echo "</div>";
            }
            echo "<br>";
            if($_SESSION['LPF']['Commande']['mnu']['V']) {
                echo "<h5>Pour accompagner votre repas vous avez choisi le vin :</h5>";
                echo "<li>".$_SESSION['LPF']['Commande']['mnu']['V']['NOM']."</li>";
            }
            $_SESSION['LPF']['Commande']['Stripe'] = ($this->Calcul()*100);

            echo "<hr>";
            echo "<h3>Le total de votre commande<br class='d-block d-sm-none'> est de <b>".$this->Calcul()." €</b></h3>";

            echo "<br>";
            echo "<br>";
        }

    // NOTE: Recapitulatif Commandes
        public function Recapitulatif_Cmd( $LstCmd ){
            $TD ="";
            foreach($LstCmd['1'] as $Date=>$Dtl1) {
                $Date = substr($Date,8,2)."/" .substr($Date,5,2)."/" .substr($Date,0,4);

                $TD .="<table class=\"table table-bordered table-sm\" style=\"font-size:0.9em\">";
                foreach($Dtl1 as $Heure=>$Dtl1a) {
                    foreach($Dtl1a as $no=>$Dtl2) {
                        ($Dtl2['pu_vin']>0) ? $Vin=" + VIN" : $Vin="";
                        if( $Dtl2['paiement'] ) {
                            ($Dtl2['paiement'] == "paiement_ok") ? $Paye = "Paiement accepté" : $Paye = "Paiement refusé";
                        } else {
                            $Paye ="";
                        }
                        $Demande = substr($Dtl2['demande'],8,2)."/" .substr($Dtl2['demande'],5,2)."/" .substr($Dtl2['demande'],0,4);

                        $CalcM = $Dtl2['qte']*$Dtl2['pu_mnu']+$Dtl2['pu_vin'];
                        $TD .= "<tr style='background:#ccc'><td><b>Commande à retirer le ".$Date." ".substr($Heure,0,5)."</b><br>
                        Cmd enregistrée le $Demande</td><td style='width:20%' align='right'><b>".$Dtl2['idu']."</b></td>";
                        $TD .= "<tr><td>Client : ".$Dtl2['nom']."<br> Email : ".$Dtl2['mobile']." / Tél. ".$Dtl2['email']."</td><td align='right'>$Paye</td></tr>";


                        $TD .= "<tr><td><li>".$Dtl2['qte']." x Menu. ".$Dtl2['menu']."$Vin</li></td><td align='right'>$CalcM Euros</td></tr>";
                        $TD .= "<tr><td colspan='2'>";
                        $Menu = json_decode($Dtl2['detail'],TRUE);

                        $TD .= "<ul>";
                        if ($Menu[1]['E']  ) {
                            $TD .= "<b>Entrée(s)</b>";
                            foreach ($Menu as $MnuNo => $DMnu) {
                                list($a, $b, $c) = explode('|', $DMnu['E']);
                                if ($b) $TD .= "<li>" . $b . "</li>";
                            }
                            $TD .= "<b>Plats(s)</b>";
                            foreach ($Menu as $MnuNo => $DMnu) {
                                list($a, $b, $c) = explode('|', $DMnu['P']);
                                if ($b) $TD .= "<li>" . $b . "</li>";
                            }
                            $TD .= "<b>Dessert(s)</b>";
                            foreach ($Menu as $MnuNo => $DMnu) {
                                list($a, $b, $c) = explode('|', $DMnu['D']);
                                if ($b) $TD .= "<li>" . $b . "</li>";
                            }
                            $TD .= "<br>";
                        }
                        $TD .= "<b>Vin</b>";
                        $TD .= "<li>" . $Menu['V']['NOM']  . "</li>";

                        $TD .= "</ul>";

                        $TD .= "</td></tr>";
                        $TD .= "<tr>";
                        if( $Dtl2['allergie']!='""' && $Dtl2['allergie']<>'null') {
                            $TD .= "<td colspan='2' style='color:#d9534f; font-weight:bold;'>ALLERGIE (Avertissement Client) : ".$Dtl2['allergie']."</td>";
                        } else {
                            $TD .= "<td colspan='2'><i>Aucune allergie mentionnée</i></td>";
                        }

                        $TD .= "</tr>";
                    }
                }
                $TD .="</table>";
            }
            return $TD;
        }


    //  NOTE : Enregistre la commande
        public function EnregCmd( $REQ ) {
            $cnx        = $this->CnxMYSQL();
            if( !$REQ ) {
                $demande  = date('Y-m-d H:i:s');
                $nom      = $REQ['nomprenom'];
                $tel      = $REQ['telephone'];
                $mel      = $REQ['email'];
                $qte      = $_SESSION['LPF']['Commande']['qte'];
                $mnu      = $_SESSION['LPF']['Commande']['NOM'];
                $pum      = $_SESSION['LPF']['Commande']['PRIX'];
                $puv      = $_SESSION['LPF']['Commande']['mnu']['V']['PRIX'];
                $dtl      = json_encode($_SESSION['LPF']['Commande']['mnu']);
                $allergie = json_encode($_SESSION['LPF']['Commande']['allergies']['detail']);
                $retrait  = $_SESSION['LPF']['Commande']['Retrait_date'] . " " . str_replace('h', ':', $_SESSION['LPF']['Commande']['Retrait_heure']);
                $total    = $_SESSION['LPF']['Commande']['Stripe'];


                $QF  = mysqli_query($cnx, "SELECT id FROM lpf_cmd WHERE 1 ORDER BY id desc LIMIT 1");
                $Col = mysqli_fetch_array($QF, MYSQLI_ASSOC);
                $c   = ($Col['id'] + 1);
                $idc = "BC".date('ymdhi') . $this->MyMefNum000(['num' => $c, 'x' => '5']);;
                $INSERT = mysqli_query($cnx, "INSERT INTO lpf_cmd (idu,demande,nom,mobile,email,qte,menu,pu_mnu,pu_vin,detail,allergie,retrait,total,paiement,idtransaction,confirm) 
                                                               VALUE ('" . $idc . "','" . $demande . "','" . $nom . "','" . $tel . "','" . $mel . "','" . $qte . "','" . $mnu . "','" . $pum . "','" . $puv . "','" . $dtl . "','" . $allergie . "','" . $retrait . "','" . $total . "','','',NULL)");
                $IDnew  = mysqli_insert_id($cnx);
            } else {
                $bdc =  $REQ['nocmd'];
                $nom      = $REQ['nomprenom'];
                $tel      = $REQ['telephone'];
                $mel      = $REQ['email'];
                 $UPDATE = mysqli_query ($cnx , "UPDATE lpf_cmd SET nom='".$nom."',mobile='".$tel."',email='".$mel."' WHERE idu='".$bdc."'");

            }
                echo mysqli_error($cnx);
            if( mysqli_error($cnx) ) $valide="KO";
            else                     $valide="OK";

            return ['valide'=>$valide,'no'=>$idc];
        }

    // NOTE Enregistre le paiement et envoi un email
    // body: 'action=enregpaye&nocmd='+nobdc+'&etat='+etat+'&id='+id
        public function EnregPaye($REQ) {

            $cnx        = $this->CnxMYSQL();
        //  Info du BDC
            $QF  = mysqli_query($cnx, "SELECT * FROM lpf_cmd WHERE idu='".$REQ['nocmd']."'");
            $Bdc = mysqli_fetch_array($QF, MYSQLI_ASSOC);

            $return = "";


        // PAIEMENT OK + trouvé dans la base
            if($Bdc['id']) {

                if($REQ['etat']=="paiement_ok") {
                    $LPF    = $this->Gestion();
                    $LstCmd = $this->LstCmd( "id" , $REQ['nocmd'] );
                    $Body   = "<b>Merci pour votre commande.</b><br>".$this->Recapitulatif_Cmd($LstCmd);;
                    $param  = ['exp' => $LPF['email'], 'dest' => $Bdc['email'], 'subject' => 'Les PTITS FAYOTS (Votre commande)', 'body' => $Body];

                    $RMail = $this->MyMail($param);


                }

                if  ($RMail) $confirm = ",confirm='".date('Y-m-d H:i:s')."'";
                else          $confirm = "";

                $UPDATE = mysqli_query($cnx, "UPDATE lpf_cmd SET idtransaction='" . $REQ['id'] . "',paiement='" . $REQ['etat'] . "' $confirm WHERE idu='" . $REQ['nocmd'] . "'");


                if (mysqli_error($cnx)) $valide = "KO";
                else                    $valide = "OK";


            } else {

            }
            return ['valide'=>$valide];
        }


    //  ADMIN - Affiche les menus sur l accueil de l admin
        public function Accueil_Menu() {
            $cnx = $this->CnxMYSQL();
            $QW    = mysqli_query($cnx, "SELECT * FROM menus WHERE 1 ORDER BY id ");
            while ($Col = mysqli_fetch_array( $QW,MYSQLI_ASSOC )) {
                ($Col['active']=="1") ? $img= "<i class=\"far fa-eye\"></i>" : $img= "<i class=\"far fa-eye-slash\"></i>";
                ($Col['active']=="1" && $Col['date']) ? $date = substr($Col['date'],8,2)."/".substr($Col['date'],5,2)."/".substr($Col['date'],0,4) : $date ="";
                echo "<div style='margin-bottom:5px'>".$img." <a href=\"?p=m,".$Col['id']."\" >".strtoupper($Col['nom'])."</a> <small>$date</small></div>";
            }
        }

    //  ADMIN - Affiche compteurs ENtrees, plats, dessers
        public function Accueil_Compo() {
            $cnx = $this->CnxMYSQL();
            $Cpte = [];
            $QW    = mysqli_query($cnx, "SELECT * FROM choix WHERE 1 ORDER BY id ");
            while ($Col = mysqli_fetch_array( $QW,MYSQLI_ASSOC )) {
                $Cpte[$Col['type']]++;
            }

            echo "<table width='100%'>";
            foreach(Type as $k=>$Obj) {
                if(!$Cpte[$k]) $Cpte[$k] ="0";
               ///echo "<button type=\"button\" class=\"btn btn-primary\"> ".ucwords($Obj)." <span class=\"badge badge-light\">".$Cpte[$k]."</span></button><br>";
                echo "<tr><td>";
                echo " <a  href='?p=c,".$k."' style=''>".ucwords($Obj)."s </a> <br>";
                echo "</td>";
                echo "<td align='right'><span class=\"badge badgeO badge-dark\">".$Cpte[$k]."</span></td>";
                echo "</tr>";
            }
            echo "</table>";


        }

        private function QueryCmd($quand ,$id)  {
            if($quand=="j") $QW      = "SELECT * FROM lpf_cmd WHERE paiement='paiement_ok' && retrait LIKE '".date('Y-m-d')."%' ORDER BY retrait ";
            if($quand=="p") $QW      = "SELECT * FROM lpf_cmd WHERE paiement='paiement_ok' && retrait >= '".date('Y-m-d 23:59:59')."' ORDER BY retrait ";
            if($quand=="t") $QW      = "SELECT * FROM lpf_cmd WHERE 1 ORDER BY retrait ";
            if($quand=="id") $QW      = "SELECT * FROM lpf_cmd WHERE idu='".$id."' ORDER BY retrait ";

            return $QW;
        }

    //  NOTE : ADMIN - Affiche les commandes
        public function LstCmd( $quand , $id ) {
            $cnx     = $this->CnxMYSQL();
            $query  = $this->QueryCmd($quand ,$id );

            $QW      = mysqli_query($cnx, $query);
            $CpteCmd = $QW->num_rows;

            while ($Col = mysqli_fetch_array( $QW,MYSQLI_ASSOC )) {
                list ($Dr,$Hr) = explode (' ',$Col['retrait']);
                $Cmd[$Dr][$Hr][] = $Col;
            }

        //  Nbre de commande , Détail
            return [$CpteCmd,$Cmd];
        }

    //  ADMIN - Actions liees à la composition Entree, plat, dessert
        public function EnregType() {
            $cnx = $this->CnxMYSQL();
        // Ajout
            if($_REQUEST['btn_ajout']<>'' && !$_REQUEST['btn_modif']) {
                if(!$_REQUEST['prix_ajout']) $_REQUEST['prix_ajout'] ="0";
                $INSERT	= mysqli_query ($cnx , "INSERT INTO choix (menu,type,nom,prix) 
                VALUE ('1','".$_REQUEST['type']."','".addslashes(($_REQUEST['btn_ajout']))."','".$_REQUEST['prix_ajout']."')");
                $IDnew  = mysqli_insert_id($cnx);

                if (mysqli_error($cnx)) {
                    return ['valide'=>'KO','msg'=>'<div class="alert alert-danger" role="alert"><b>Echec...</b>Impossible problème d\'enregistrement</div>'];
                } else {
                    return ['valide'=>'OK','msg'=>'<div class="alert alert-success" role="alert"><b>Ajout enregistré.</b><br>'.$_REQUEST['btn_ajout'].'</div>'];
                }

            }
        // Modif
            if($_REQUEST['btn_modif']>'0') {

                $id = $_REQUEST['btn_modif'];
                $UPDATE = mysqli_query ($cnx , "UPDATE choix SET nom='".addslashes($_REQUEST['nom'][$id])."',prix='".$_REQUEST['prix'][$id]."' WHERE id='".$_REQUEST['btn_modif']."'");
                if (mysqli_error($cnx)) {
                    return ['valide'=>'KO','msg'=>'<div class="alert alert-danger" role="alert"><b>Echec...</b>Impossible problème d\'enregistrement</div>'];
                } else {
                    return ['valide'=>'OK','msg'=>'<div class="alert alert-success" role="alert"><b>Modification enregistrée.</b><br>'.$_REQUEST['nom'][$id ].'</div>'];
                }
            }
        // suppr
            if($_REQUEST['btn_suppr']>0) {
                 $UPDATE = mysqli_query ($cnx , "DELETE FROM choix WHERE id='".$_REQUEST['btn_suppr']."' ");
                return ['valide'=>'OK','msg'=>'<div class="alert alert-success" role="alert">Suppression terminée.</div>'];
            }

            

        }

     // ADMIN - Enregistre la config du menu
        public function EnregMenu() {
            //echo "<pre>"; print_r($_REQUEST); echo "</pre>";

            $cnx = $this->CnxMYSQL();
            $Detail = [ "entree"=>$_REQUEST['ENTREE'],
                        "plat"=>$_REQUEST['PLAT'],
                        "dessert"=>$_REQUEST['DESSERT'],
                      ];

            $Detail = json_encode($Detail);

            ($_REQUEST['visible_mnu']=="on") ? $active="1" : $active="0" ;

        //  Fete (desactive tout)
            /*
            if($_REQUEST['no_menu']=="3")  {
                if( $active=="1" ) {
                    echo "<h1>=>Menu fete</h1>";
                    $UPDATE = mysqli_query($cnx, "UPDATE menus SET active='0' WHERE 1");
                    $Qdate  = ",date='" . $_REQUEST['date'] . "'";
                } else {
                    $UPDATE = mysqli_query($cnx, "UPDATE menus SET active='1' WHERE 1");
                    $Qdate  = ",date='" . $_REQUEST['date'] . "'";
                }
            }
*/           if($_REQUEST['no_menu']=="3")  $Qdate  = ",date='" . $_REQUEST['date'] . "'";
// nbre_jour='".$_REQUEST['nbre_jour']."',
            $UPDATE = mysqli_query ($cnx , "UPDATE menus SET nom='".$_REQUEST['nom_menu']."',
            prix='".$_REQUEST['tarif_menu']."',active='".$active."',detail='".$Detail."',description='".$_REQUEST['description']."' $Qdate WHERE id='".$_REQUEST['no_menu']."'");


            echo mysqli_error($cnx);



            if (mysqli_error($cnx)) {
                return ['valide'=>'KO','msg'=>'<div class="alert alert-danger" role="alert"><h4>Echec...</h4>Veuillez informer votre administrateur et lui transmettre le code erreur 001</div>'];
            } else {
                (!$active) ? $note="Ce menu <b>n'est plus visible</b> sur votre site marchand." : $note ="Ce menu est visible sur votre site marchant";
                return ['valide'=>'OK','msg'=>'<div class="alert alert-success" role="alert"><h4>Menu enregistré...</h4>'.$note.'</div>'];
            }
                //echo "<pre>---------"; print_r($_REQUEST); echo "</pre>";
        }

    //  ADMIN - Enregistre les parametre de gestions
        public function EnregGestion() {
            $cnx = $this->CnxMYSQL();
        // Controle l heure
            if($_REQUEST['deb']>$_REQUEST['fin']) {
                return ['valide'=>'KO','msg'=>'<div class="alert alert-danger" role="alert"><h4>Impossible de continuer...</h4>L\'horaire de début est supérieur à l\'heure de fin. </div>'];
            }
            else  if(count($_REQUEST['Jrs'])==0) {
                return ['valide'=>'KO','msg'=>'<div class="alert alert-danger" role="alert"><h4>Impossible de continuer...</h4>Vous n\'avez séectionnez aucun jour d\'ouverture. </div>'];
            }

            else {
            // Prépare les jrs
                foreach($_REQUEST['Jrs'] as $J=>$none) {
                    $Jrs[] = $J;
                }
                $jours = implode(';',$Jrs);
                $UPDATE = mysqli_query ($cnx , "UPDATE config SET ouvre_jrs='".$jours."',ouvre_d='".$_REQUEST['deb']."',ouvre_f='".$_REQUEST['fin']."',nbre_prod='".$_REQUEST['nbre_prod']."' WHERE id='1'");
                if (mysqli_error($cnx)) {
                    return ['valide'=>'KO','msg'=>'<div class="alert alert-danger" role="alert"><h4>Echec...</h4>Veuillez informer votre administrateur et lui transmettre le code erreur 001</div>'];
                } else {
                    return ['valide'=>'OK','msg'=>'<div class="alert alert-success" role="alert"><b>Modification enregistrée.</b></div>'];
                }
            }

        }

    // ADMIN - Affiche les infos d un menu
        public function Menu( $no ) {
            $cnx = $this->CnxMYSQL();
        // Infos menus
            $QF   = mysqli_query($cnx, "SELECT * FROM menus WHERE id='$no'");
            $ColM = mysqli_fetch_array($QF, MYSQLI_ASSOC);
            $Menu[] = $ColM;

            $Dtl = json_decode($ColM['detail'],TRUE);
        //  Affcihe les choix possibles
            $QW    = mysqli_query($cnx, "SELECT * FROM choix WHERE menu='$no'");
            while ($ColC = mysqli_fetch_array( $QW,MYSQLI_ASSOC )) {
                $Menu[$ColC['type']][$ColC['id']] = $ColC;
                $Menu[$ColC['type']][$ColC['id']]['selection'] = $Dtl[$ColC['type']][$ColC['id']];
            }
            return $Menu;
        }

    //  ADMIN - Comtpe les commandes
        public function ComtpeCmd() {
            $cnx = $this->CnxMYSQL();
            $Cmd['OK']['all']   = "0";
            $Cmd['OK']['j']     = "0";
            $Cmd['OK']['p']     = "0";
            $Cmd['KO']['all']   = "0";
            $Cmd['KO']['j']     = "0";
            $Cmd['KO']['p']     = "0";

            $QW  = mysqli_query($cnx, "SELECT * FROM lpf_cmd WHERE 1");
            while ($Col = mysqli_fetch_array( $QW,MYSQLI_ASSOC )) {
                list ($Dr,$Hr) = explode (' ',$Col['retrait']);
            // OK
                if( $Col['paiement']=='paiement_ok' ) {
                    $Cmd['OK']['all']++;
                    if ($Dr == date('Y-m-d')) $Cmd['OK']['j']++;  //
                    if ($Dr > date('Y-m-d') ) $Cmd['OK']['p']++;
                    $_SESSION['LPF']['TotalCmdDate'][$Dr] += $Col['qte']; // Compte le nombre de qté par date
                } else {
                    $Cmd['KO']['all']++;
                    if ($Dr == date('Y-m-d')) $Cmd['KO']['j']++;
                    if ($Dr > date('Y-m-d') ) $Cmd['KO']['p']++;
                }
            }
            return $Cmd;
        }

    //  Extrait les tarifs de menus
        public function Menu_tarifs() {
            $cnx = $this->CnxMYSQL();
            $QW    = mysqli_query($cnx, "SELECT * FROM menus WHERE 1");
            while ($Col = mysqli_fetch_array( $QW,MYSQLI_ASSOC )) {
            // Comptabilise menu active et > 0 €
                if($Col['active']==1 && $Col['prix']>0) {
                    $Mnu[$Col['prix']] = $Col['prix'];
                }
            }

            return $Mnu;
        }

    // Affiche
        public function Composition( $type ) {
            $cnx = $this->CnxMYSQL();
            $QW    = mysqli_query($cnx, "SELECT * FROM choix WHERE type='$type' ORDER BY prix desc");
            while ($ColC = mysqli_fetch_array( $QW,MYSQLI_ASSOC )) {
                $Type[$ColC['id']] = $ColC;
            }
            return $Type;
        }

    // Gestion
        public function Gestion() {
            $cnx = $this->CnxMYSQL();
            $QW    = mysqli_query($cnx, "SELECT * FROM config WHERE id='1'");
            while ($ColC = mysqli_fetch_array( $QW,MYSQLI_ASSOC )) {
                $MyGest = $ColC;
            }
            return $MyGest;
        }

    //  NOTE : SELECTION Affiche la liste avec les date possible de retrait
        public function ChoixRetrait() {
        //  Horaires
            $Horaires  = $this->Gestion(); // Extrait Nbre_prod
            $CompteCmd = $this->ComtpeCmd();

            $Xj = explode (';',$Horaires['ouvre_jrs']);
            $D = substr($Horaires['ouvre_d'],0,2);
            $F = substr($Horaires['ouvre_f'],0,2);

            echo "<div class='row'>";
            echo "<div class='col-8'>";
            echo "<select name='Retrait_date' class='form-control form-control-lg'>";
            for($index=0; $index < 15; $index++) {
            // + 1 j
                $timestamp = mktime(0, 0, 0, date('m'), date('d')+$index, date('Y'));
                $jour      = date('w', $timestamp); // Jr de la semaine
                if($jour==0) $jour ="7"; // Si jour = 0(dimanche le remplace par 7 pour le array )
                $NoJr      = array_search($jour, array_keys(Jours)); // cherche la position
             // Affiche la date
                $dateCourte      = date('Y-m-d', $timestamp) ;
                $dateComplete      = date('d', $timestamp)." ".Mois[date('m', $timestamp)-1]." ".date('Y', $timestamp) ;
            // Conserve les dates correspondants au jours ouverture
                if( in_array(Jours[$jour],$Xj ) ) {
                // Propose la date tant que le nombre de menu n est pas atteind
                    if( $_SESSION['LPF']['TotalCmdDate'][$dateCourte] <= $Horaires['nbre_prod']) {
                        echo "<option value='" . $dateCourte . "'>" . Jours[$jour] . " " . $dateComplete . "</option>";
                    }
                }
            }
            echo "</select>";
            echo "</div>";
            echo "<div class='col-4'>";
            echo "<select name='Retrait_heure' class='form-control form-control-lg'>";
            for($index=$D; $index < $F+1; $index++) {
                if($index<$F) {
                    for ($idxM = 0; $idxM < 12; $idxM++) {
                        $TpsM = ($idxM * 5);
                        if ($TpsM < 10) $TpsM = "0" . $TpsM;
                        echo "<option>". $index . "h" . $TpsM . "</option>";
                    }
                } else {
                    echo "<option>".$index . "h00</option>";
                }
            }
            echo "</select>";
            echo "</div>";
            echo "</div>";
        }

    //  ADMIN - Affiche horaire
        public function Accueil_horaires() {
            $Horaires = $this->Gestion();
            $Horaire = "<small><i>".$Horaires['ouvre_jrs']."<br>de ".substr($Horaires['ouvre_d'],0,5)." à ".substr($Horaires['ouvre_f'],0,5)."</i></small>";
            $RepasJour = $Horaires['nbre_prod'];
            return [$Horaire,$RepasJour];
        }

    //  ACCUEIL & ADMIN  - Affiche horaire
        public function Accueil_Msg() {
            $Horaires = $this->Gestion();
            $Tarifs   =  $this->Menu_tarifs() ;
            sort( $Tarifs);
                //$Xj = explode (';',$Horaires['ouvre_jrs']);

                list($Hd,$Md) = explode (':',$Horaires['ouvre_d']);
                list($Hf,$Mf) = explode (':',$Horaires['ouvre_f']);
                if( $Md=="00" ) $Hdeb=$Hd."h"; else $Hdeb=$Hd."h".$Md;;
                if( $Mf=="00" ) $Hfin=$Hf."h"; else $Hfin=$Hf."h".$Mf;;

                $Xj = str_replace(';',', ',$Horaires['ouvre_jrs']);

                // $MsgA = "Nos menu à emporter à ".$Tarifs[0]."€ et ".end($Tarifs)."€ (du ".$Xj[0]." au ".end($Xj)." de ".$Hdeb." à ".$Hfin.")";
                $MsgA = "Nos menus à emporter à ".$Tarifs[0]."€ et ".end($Tarifs)."€";
                //$MsgB = "Nous proposons de venir retirer votre commande du <b>".$Xj[0]." au ".end($Xj)." entre ".$Hdeb." et ".$Hfin."</b>.";
                $MsgB = "Nous proposons de venir retirer votre commande le <b>".strtolower($Xj)." entre ".$Hdeb." et ".$Hfin."</b>.";
                $MsgC = "Nous vous proposons des menus à emporter<br>à venir retirer au restaurant<br>le ".strtolower($Xj)."<br>de ".$Hdeb." à ".$Hfin."";

                return [$MsgA,$MsgB,$MsgC];
        }

    //  Montant global Qte * Prix menu + Vin
        public function Calcul() {
            $Calc = ($_SESSION['LPF']['Commande']['PRIX']*$_SESSION['LPF']['Commande']['qte'])+$_SESSION['LPF']['Commande']['mnu']['V']['PRIX'];
            return number_format ($Calc,2);
        }

        public function MyMefNum000( $array ) {
            $Num        = $array['num'];
            $NbreDigit  = $array['x'];
            $NewNo      = substr($Num,-$NbreDigit)+1;
            return str_repeat("0", abs(strlen($Num)-$NbreDigit) ).$Num;
        }

    // Confirme par email
        public function MyMail ($param) {
            $Exp     = $param['exp'];
            //$Dest    = join(',',$param['dest']);
            $Dest    = $param['dest'];
            $subject = utf8_decode($param['subject']);
            $message = utf8_decode($param['body']);

            $headers[] = 'MIME-Version: 1.0';
            $headers[] = 'Content-type: text/html; charset=iso-8859-1';
            $headers[] = 'To:'.$Dest;
            $headers[] = 'From:'.$Exp;
            $success = mail($Exp , $subject, $message, implode("\r\n", $headers));

            return $success;

        }

    }

?>