Sid Gifari From Gifari Industries - BD Cyber Security Team
Home
/
home
/
airmobeuag
/
airmob-digital
/
lesptitsfayots
/
lib
/
✏️
Editing: xClassLpf.php
<?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 "<div class='Text1 animated fadeIn'>Menu " . $_SESSION['LPF']['Commande']['mnu_etape'] . " (" . Type[$_SESSION['LPF']['Commande']['mnu_suite'][$Etape + 1]] . ")</div>"; ($_SESSION['LPF']['Commande']['qte']>1) ? $Serv ="Servis" : $Serv ="Servi"; if ($_SESSION['LPF']['Commande']['TYPE']=="choix" && $_SESSION['LPF']['Commande']['mnu_suite'][$Etape+1]=="plat") { echo " <div class=\"Text2 animated fadeIn\" >".$Serv." avec des légumes de saison.</div>"; } } else { echo " <div class=\"Text1 animated fadeIn\" >Notre sélection de vin pour votre menu ?</div> <div class=\"Text2 animated fadeIn\" >L’ensemble de notre cave est disponible à tarif réduit pour les ventes à emporter. <br>N’hésitez pas à demander la carte complète ainsi que des conseils. <br>Ci-dessous quelques exemples...</div><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' && type_menu!='fete'"; // Ordonne aléatoirement //$rand = rand (1 , 2 ); //($rand==1) ? $o="desc" : $o="asc"; $QW = mysqli_query($cnx, "SELECT * FROM menus WHERE $WHERE ORDER BY id DESC"); 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; } public function DescriptionFete() { $cnx = $this->CnxMYSQL(); $QFete = mysqli_query($cnx, "SELECT * FROM menus WHERE type_menu='fete' && active='1'"); $ColFete = mysqli_fetch_array($QFete, MYSQLI_ASSOC); return $ColFete['description']; } // 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 " <div class=\"Text2\" >Vous avez sélectionné : <br class='d-block d-sm-none'>".$QTE." menu".$ajout_s." ".$NOM."</div>"; echo " <div class=\"Text2\" >A retirer sur place le : <br class='d-block d-sm-none'>".date("d/m/Y", strtotime($DATE))." à ".$HEURE."</div>"; //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 "<div class='Text1' >Entrée(s)</div>"; echo "<li>" . join('</li><li>', $RecapCmd['E']) . '</li>'; echo "<br>"; echo "<div class='Text1' >Plat(s)</div>"; echo "<li>" . join('</li><li>', $RecapCmd['P']) . '</li>'; echo "<br>"; echo "<div class='Text1' >Dessert(s)</div>"; 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 "<div class=\"Text1 animated fadeIn\" >Pour accompagner votre repas vous avez choisi le vin :</div>"; echo "<li>".$_SESSION['LPF']['Commande']['mnu']['V']['NOM']."</li>"; } $_SESSION['LPF']['Commande']['Stripe'] = ($this->Calcul()*100); echo "<hr>"; echo "<div class=\"Text1 animated fadeIn\" >Le total de votre commande<br class='d-block d-sm-none'> est de <b>".$this->Calcul()." € TTC</b></div>"; 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']<>'' ) { if ($Dtl2['paiement'] == "paiement_ok") $Paye = "Paiement accepté"; elseif ($Dtl2['paiement'] == "paiement_ko") $Paye = "Paiement refusé"; else $Paye = "??? => ".$Dtl2['paiement']; } 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['email']." / Tél. ".$Dtl2['mobile']."</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'],JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES); $allergie = json_encode($_SESSION['LPF']['Commande']['allergies']['detail'],JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES); $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); if (mysqli_error($cnx)) { $this->ErrLog("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)"); } } 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'] ) { // Si venant du Web hooh et confirmation deja effectuée, je refait aps ! if($Bdc['paiement']=="" || $Bdc['paiement']=="paiement_ko" || $REQ['force']) { 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'] . "'"); $this->ErrLog($REQ['force'].' / OK : '."UPDATE lpf_cmd SET idtransaction='" . $REQ['id'] . "',paiement='" . $REQ['etat'] . "' $confirm WHERE idu='" . $REQ['nocmd'] . "'"); if (mysqli_error($cnx)) { $valide = "KO"; $this->ErrLog("UPDATE lpf_cmd SET idtransaction='" . $REQ['id'] . "',paiement='" . $REQ['etat'] . "' $confirm WHERE idu='" . $REQ['nocmd'] . "'"); } else $valide = "OK"; } } else { $this->ErrLog('Ne trouve pas : '.$Bdc['id']); } return ['valide'=>$valide]; } public function ErrLog($Texte) { $fileJson = "log/log.txt"; $fp = fopen($fileJson, 'a+'); // a+ ajoute / w ecrase fwrite($fp, $Texte."\n" ); fclose($fp); } // 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']."', // $varTexteArea= str_replace('<br />', '<br/>', nl2br($_REQUEST['description'])); $varTexteArea= nl2br($_REQUEST['description']); $UPDATE = mysqli_query ($cnx , "UPDATE menus SET nom='".$_REQUEST['nom_menu']."', prix='".$_REQUEST['tarif_menu']."',active='".$active."',detail='".$Detail."',description='".$varTexteArea."' $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 : DATE HEURE 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']) { // Si la date et celle du jour et qu il est 11 passé on ne propose plus ce jour if ($dateCourte==date('Y-m-d') && date('H')>="11") { } else { 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;; $Xarray = explode (';',$Horaires['ouvre_jrs']); $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)."€"; $MsgA = "Le menu dégustation carte blanche à 47€<br>Le menu classique à 28 €"; $MsgB = "Nous proposons de venir retirer votre commande du <b>".$Xarray[0]." au ".end($Xarray)." 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>du ".strtolower($Xarray[0])." au ".strtolower(end($Xarray))." de ".$Hdeb." à ".$Hfin.""; // $MsgC = "Nous vous proposons des menus à emporter<br>à venir retirer au restaurant<br>le ".strtolower($Xj)."<br>de ".$Hdeb." à ".$Hfin.""; return [$MsgA,$MsgB,$MsgC]; } public function Surv() { $cnx = $this->CnxMYSQL(); $QW = mysqli_query($cnx, "SELECT * FROM lpf_cmd WHERE demande LIKE '".date('Y-m-d')."%'"); while ($ColC = mysqli_fetch_array( $QW,MYSQLI_ASSOC )) { $MyGest[] = $ColC; } return $MyGest; } // 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; } } ?>
💾 Save
❌ Cancel