function erreur($txt) { $err = _AFF_ERR_SQL ? "Une erreur s'est produite sur la base de données. Désolé !<br>Cette erreur a été enregistrée : <br>" . mysql_error() : "Une erreur s'est produite sur la base de données. Désolé !<br>Cette erreur a été enregistrée, nous essaierons de résoudre ce problème au plus vite."; logue('Erreur SQL : ' . mysql_error() . ' sur ' . $this->derek, 'sql', 'critique', $this); echo '<div class="notif argh"><strong>Une erreur s\'est produite sur la base de donnée...</strong><br>' . $err . '</div>'; }
</table> </form> </div> <?php } else { // Sélection du solde actuel $sql->rek("SELECT `val` FROM `bar` WHERE id='caisse'"); $solde = $sql->resultat_ligne(0); if (!empty($_GET['modif']) and !empty($_POST['retrait'])) { // Retrait demandé $retrait = floatval($_POST['retrait']); if ($retrait < 0 or $retrait > $solde) { echo '<div class="notif argh"><strong>Échec</strong>C\'est refusé mon gars, tu ne peux pas prendre ' . $retrait . '€ dans la caisse !</div>'; } else { // Demande accepté logue("Retrait de {$retrait}€/{$solde}€ dans la caisse.", "caisse"); // Le nouveau solde est de : $solde -= $retrait; $sql->rek("UPDATE `bar` SET `val`='{$solde}' WHERE id='caisse'"); echo '<div class="notif yeah estompe"><strong>Opération effectuée !</strong>Ce retrait a été enregistré.<br>Tu peux maintenant te remplir les poches.</div>'; } } if ($solde == 0) { ?> <div class="notif argh"><strong>Misère</strong>Il n'y a rien à prendre dans cette caisse, elle est vide ! Tu peux par contre <a href="caisse.php?rajouter=1">rajouter de l'argent</a> !</div> <?php } else { ?> <div class="notif">Il est aussi possible de <a href="caisse.php?rajouter=1">placer de l'argent dans la caisse</a>, c'est pas compliqué.</div> <?php }
include_once 'inclus/tete.html.php'; ?> <div class="central bloc caisse"> <a href="./index.php" class="maison">Retour</a> <h1>Identification</h1> <?php if (!empty($_POST['passe'])) { if (sha1($_POST['passe']) == _MDP_ADMIN) { logue("Connexion à l'interface d'administration", "connexion", "info"); $_SESSION['connexion'] = sha1($_POST['passe']); $_SESSION['t_connexion'] = time(); ob_end_clean(); header("Location: administration.php?connok=1"); exit; } else { logue("Tentative échouée de connexion à l'interface d'administration par {$_SERVER['REMOTE_ADDR']} [{$_SERVER['HTTP_USER_AGENT']}]", "connexion", "critique"); ?> <div class="notif argh estompe"><strong>Échec</strong>C'est refusé mon gars, ce n'est pas le bon mot de passe !</div><?php } } else { ?> <div class="notif warn">L'accès à la partie administrative est restreinte, il va falloir entrer un mot de passe !</div><?php } ?> <form method="POST" action="connexion.php" class="bloc"> <label for="mdp">Mot de passe</label><input autofocus type="password" name="passe" id="mdp"><br> <input type="submit" value="C'est parti" class="vert"> </form> </div> <?php
echo '<div class="notif yeah estompe"><strong>Produit supprimé</strong>Et un de moins !<br>Les statistiques resteront sauvegardées mais ne seront plus visibles, pour les restaurer : faire appel à MB015 !</div>'; } } if (!empty($_GET['ajout'])) { if (!empty($_POST['nom']) and isset($_POST['prix']) and !empty($_POST['volume']) and isset($_POST['qtt_reserve']) and isset($_POST['qtt_alerte']) and $_POST['prix'] >= 0) { $_POST['prix'] = floatval($_POST['prix']); $_POST['qtt_reserve'] = floatval($_POST['qtt_reserve']); $_POST['qtt_alerte'] = floatval($_POST['qtt_alerte']); $_POST['nom'] = htmlentities($_POST['nom'], ENT_QUOTES, 'utf-8'); $_POST['volume'] = floatval($_POST['volume']); $sql->rek("INSERT INTO produits (`nom` ,`prix` ,`qtt_reserve`,`qtt_alerte`, `vol`) VALUES ('{$_POST['nom']}','{$_POST['prix']}','{$_POST['qtt_reserve']}','{$_POST['qtt_alerte']}','{$_POST['volume']}')"); if ($sql->nbrchangements() != 1) { logue("Erreur SQL lors de l'ajout d'un produit !", "erreur"); echo '<div class="notif argh"><strong>Échec</strong>Une erreur s\'est produite, il n\'a pas été possible de rajouter ce produit... Le frigo est plein ?</div>'; } else { logue("Ajout du produit \"{$_POST['nom']}\"", 'stocks', 'warn'); echo '<div class="notif yeah estompe"><strong>Produit ajouté</strong>Et un de plus !</div>'; } } } ?> <div id="notifs"></div> <form onsubmit="return false;"> <table class="stocks lignes lignes-hover" id="stocks"> <thead> <tr><th>Produit</th><th>Prix</th><th>Quantité en réserve</th><th>Ventes</th><th>Volume</th><th> </th></tr> </thead> <tfoot><tr><td colspan="6"> <?php $sql->rek('SELECT `id` ,`nom` ,`vol` ,`prix` ,`icone` ,`qtt_reserve`,(qtt_reserve < qtt_alerte) as alerte,`ventes` FROM `produits` ORDER BY (qtt_reserve < qtt_alerte) DESC, `ventes` DESC'); echo $sql->nbrlignes();
$sql->exporte_xls('SELECT * FROM produits', 'stocks.xls'); } if (!empty($_GET['clients'])) { logue("Exportation de la liste des clients.", "export"); $sql->exporte_xls('SELECT * FROM clients', 'clients.xls'); } if (!empty($_GET['events'])) { logue("Exportation de la liste des évènements.", "export"); $sql->exporte_xls('SELECT * FROM evenements', 'evenements.xls'); } if (!empty($_GET['suivi'])) { logue("Exportation de la liste des commandes.", "export"); $sql->exporte_xls("SELECT date, qtte_produit, nom_produit, vol_produit, nom_client\nFROM (\nSELECT DATE_FORMAT(a.`timestamp`,'%d/%m/%Y %H:%i:%s') as date,a.`qtte_produit` AS qtte_produit,b.nom as `nom_produit`,b.vol as `vol_produit`,CONCAT(c.prenom,' ',c.nom) as `nom_client` \nFROM commandes as a, clients as c, produits as b \nWHERE a.id_user = c.id AND a.id_produit = b.id \n\nUNION ALL\nSELECT DATE_FORMAT(a.`timestamp`,'%d/%m/%Y %H:%i:%s') as date,a.`qtte_produit` AS qtte_produit,b.nom as `nom_produit`,b.vol as `vol_produit`,CONCAT('Externe : ', a.name_user) as `nom_client` \nFROM commandes_externes as a, produits as b \nWHERE a.id_produit = b.id\n) T\nORDER BY date DESC, qtte_produit ASC;", 'commandes.xls'); } if (!empty($_GET['ventes'])) { logue("Exportation de la liste des ventes.", "export"); $sql->exporte_xls("SELECT SUM(qtte) AS nb, nom FROM\n(\n\tSELECT c.qtte_produit as qtte, CONCAT(p.nom,' ',p.vol,'L') AS nom\n\tFROM commandes as c, produits as p\n\tWHERE c.id_produit = p.id\n\t\n\tUNION ALL\n\t\n\tSELECT c.qtte_produit as qtte, CONCAT(p.nom,' ',p.vol,'L') AS nom\n\tFROM commandes_externes as c, produits as p\n\tWHERE c.id_produit = p.id\n\n) t\nGROUP BY nom ORDER BY nb DESC;", 'ventes.xls'); } define('page_titre', "Exporter • Caisse Foyer"); include_once 'inclus/tete.html.php'; ?> <div class="central bloc bienvenue"> <a href="./index.php" class="maison">Retour</a> <h1>Exportation des données</h1> <ul class="vertical"> <li><a href="exportation.php?stocks=1" target="_blank">Exporter les stocks</a></li> <li><a href="exportation.php?clients=1">Exporter les clients</a></li> <li><a href="exportation.php?events=1">Exporter les évènements</a></li> <li><a href="exportation.php?suivi=1">Exporter toutes les commandes passées</a></li> <li><a href="exportation.php?ventes=1">Exporter toutes les ventes</a></li> </ul>
function add_cash() { global $return_array; global $sql; $caisse = 0; $pin_nb = 0; if (!isset($_GET['id'])) { $return_array['code_erreur'] = UNDEFINED_ID; $return_array['reponse'] = "Id indéfini"; return; } if (!isset($_GET['pin'])) { $return_array['code_erreur'] = UNDEFINED_PIN; $return_array['reponse'] = "Pin indéfini"; return; } if (!isset($_GET['cash'])) { $return_array['code_erreur'] = UNDEFINED_CASH; $return_array['reponse'] = "Montant indéfini"; return; } $_GET['id'] = intval($_GET['id']); // Empêche l'injection SQL $_GET['cash'] = floatval($_GET['cash']); $sql->rek('SELECT * FROM bar WHERE id IN (\'caisse\', \'PIN1\', \'PIN2\')'); //Requète while ($bar = $sql->fetch()) { switch ($bar['id']) { case 'caisse': $caisse = $bar['val']; break; default: if ($_GET['pin'] == $bar['val']) { $pin_nb = $bar['id']; } } } if ($pin_nb) { $sql->rek('SELECT * FROM clients WHERE id=\'' . $_GET['id'] . '\''); //Requète if ($sql->nbrlignes() != 1) { $return_array['code_erreur'] = INVALID_ID; $return_array['reponse'] = "Id invalide"; } else { $eleve = $sql->fetch(); $new_solde = $eleve['solde'] + $_GET['cash']; $new_caisse = $caisse + $_GET['cash']; $sql->rek('UPDATE clients SET solde=\'' . $new_solde . '\' WHERE id=\'' . $_GET['id'] . '\''); $sql->rek("UPDATE `bar` SET `val`='{$new_caisse}' WHERE id='caisse'"); $return_array['solde'] = $new_solde; $return_array['id'] = $eleve['id']; $return_array['code_erreur'] = AJAX_OK; $return_array['reponse'] = "Le solde de " . $eleve['prenom'] . " " . $eleve['nom'] . " a bien été augmenté"; logue("Ajout de cash pour " . $eleve['prenom'] . " " . $eleve['nom'] . " : {$eleve['solde']}+{$_GET['cash']}={$new_solde} (caisse à {$new_caisse}).", "caisse", "info"); } } else { $return_array['code_erreur'] = INVALID_PIN; $return_array['reponse'] = "Pin invalide"; } }
logue("Suppression du client #{$id}", 'clients', 'warn'); echo '<div class="notif yeah estompe"><strong>Client supprimé</strong>En espérant que la police viendra pas roder par ici...</div>'; } } if (!empty($_GET['ajout'])) { if (!empty($_POST['nom']) and !empty($_POST['prenom']) and isset($_POST['solde']) and !empty($_POST['statut'])) { $_POST['solde'] = floatval($_POST['solde']); $_POST['nom'] = htmlentities(ucwords($_POST['nom']), ENT_QUOTES, 'utf-8'); $_POST['prenom'] = htmlentities(ucwords($_POST['prenom']), ENT_QUOTES, 'utf-8'); $_POST['statut'] = $sql->secur($_POST['statut']); $sql->rek("INSERT INTO clients (`nom` ,`prenom` ,`solde`,`active`) VALUES ('{$_POST['nom']}','{$_POST['prenom']}','{$_POST['solde']}','{$_POST['statut']}')"); if ($sql->nbrchangements() != 1) { logue("Erreur lors de l'ajout d'un client ({$_POST['prenom']} {$_POST['nom']}) !", "erreur", 'critique'); echo '<div class="notif argh"><strong>Échec</strong>Une erreur s\'est produite, il n\'a pas été possible d\'enregistrer ce client...</div>'; } else { logue("Ajout du client {$_POST['prenom']} {$_POST['nom']}", 'clients', 'warn'); echo '<div class="notif yeah estompe"><strong>Client ajouté</strong>Et un de plus !</div>'; } } } ?> <div id="notifs"></div> <form onsubmit="return false;"> <table class="clients lignes lignes-hover" id="clients"> <thead> <tr><th></th><th>Nom</th><th>Prénom</th><th>Solde</th><th>Consos</th><th>État</th><th></th></tr> </thead> <tfoot><tr><td colspan="7"> <?php $sql->rek('SELECT `id` ,prenom,nom,solde,active,nb_consos FROM clients ORDER BY (solde<0) DESC, nom ASC'); echo $sql->nbrlignes();
define('page_titre', "Gestion des fûts • Caisse Foyer"); $head_HTML = '<script src="scripts/highcharts/js/highcharts.js"></script><script type="text/javascript" src="scripts/highcharts/js/themes/gray.js"></script>'; include_once 'inclus/tete.html.php'; $notif = '<div class="notif estompe">Merci de signaler ici chaque fût sorti de la torche :)</div>'; if (!empty($_GET['rajouter']) and !empty($_POST['nb']) and !empty($_POST['type']) and isset($_POST['respo'])) { // Sécurisation des données $_POST['nb'] = intval($_POST['nb']); $_POST['type'] = $sql->secur(htmlentities($_POST['type'], ENT_QUOTES, 'utf-8')); $_POST['respo'] = $sql->secur(htmlentities($_POST['respo'], ENT_QUOTES, 'utf-8')); // Requête $sql->rek("INSERT INTO futs (`nb` ,`type` ,`respo`) VALUES ('{$_POST['nb']}','{$_POST['type']}','{$_POST['respo']}');"); if ($sql->nbrchangements() != 1) { logue("Impossible d'enregistrer un fût ! [INSERT INTO futs (`nb` ,`type` ,`respo`) VALUES ('{$_POST['nb']}','{$_POST['type']}','{$_POST['respo']}')]"); $notif .= '<div class="notif argh"><strong>Erreur</strong>Impossible d\'enregistrer ce fût !! Prends un stylo et écris sur le mur...</div>'; } else { logue("{$_POST['nb']} fût(s) de {$_POST['type']} ajouté par {$_POST['respo']}."); header("Location: futs.php?ok=1"); exit; } } if (!empty($_GET['ok'])) { $notif .= '<div class="notif yeah estompe"><strong>All right, boy !</strong>C\'est bon, tu peux rincer ces assoifés la conscience tranquille...</div>'; } ?> <div class="central bloc"> <a href="./index.php" class="maison">Retour</a> <h1>Gestion des fûts</h1> <?php echo $notif; ?> <div class="ajout-futs">