function PBDD_ajouterModele() { $debug = isset($_GET['debug']) && isset($_SESSION['UTILISATEUR']['Type']) && $_SESSION['UTILISATEUR']['Type'] == 2 ? true : false; //Activation ou non du debugage if ($debug) { echo "PBDD_ajouterModele::\"Début de la fonction\"<br />"; } global $bdd; if ($debug) { echo "PBDD_ajouterModele::\"Vérification de l'accès de l'utilisateur\"<br />"; } //Vérification accès administrateur if (!PBDD_userAccess(ACCES_ADMIN)) { $_SESSION['ERREUR'] = "Vous n'êtes pas autorisé à enregistrer un nouveau modèle"; return false; } if ($debug) { echo "PBDD_ajouterModele::\"Vérification de la conformité du nom\"<br />"; } //Vérification de la conformité du nom if (!(isset($_POST['nom']) && preg_match("#^[a-zA-Z0-9 _-]+\$#", $_POST['nom']) && strlen($_POST['nom']) < 254)) { $_SESSION['ERREUR'] = "Le nom du matériel est invalide"; return false; } if ($debug) { echo "PBDD_ajouterModele::\"Vérification de la conformité du constructeur\"<br />"; } //Vérification de la conformité du constructeur if (!(isset($_POST['constructeur']) && preg_match("#^[a-zA-Z _-]+\$#", $_POST['constructeur']) && strlen($_POST['constructeur']) < 254)) { $_SESSION['ERREUR'] = "Le nom du constructeur est invalide"; return false; } if ($debug) { echo "PBDD_ajouterModele::\"Ajout du modele\"<br />"; } //Ajout du modele if ($_SESSION['ERREUR'] == "") { $reponse = $bdd->query('SELECT * FROM Modele WHERE Nom = \'' . $_POST['nom'] . '\''); if (!($donnees = $reponse->fetch())) { $req = $bdd->prepare("INSERT INTO Modele(Nom, DateVente, Constructeur) VALUES (?, CURDATE(), ?)"); if (!$req->execute(array($_POST['nom'], $_POST['constructeur']))) { $_SESSION['ERREUR'] = "Le produit n'a pas put être enregistré"; return false; } else { return true; } } else { $_SESSION['ERREUR'] = "Ce produit est déjà enregistré"; return false; } } return false; }
function PBDD_changeMotdepasse() { $debug = isset($_GET['debug']) && isset($_SESSION['UTILISATEUR']['Type']) && $_SESSION['UTILISATEUR']['Type'] == 2 ? true : false; //Activation ou non du debugage if ($debug) { echo "PBDD_changeMotdepasse::\"Début de la fonction\"<br />"; } global $bdd; if ($debug) { echo "PBDD_changeMotdepasse::\"Vérification de l'accès de l'utilisateur\"<br />"; } //Vérification accès if (!PBDD_userAccess(ACCES_ADMIN | ACCES_CLIENT | ACCES_PERSONEL)) { $_SESSION['ERREUR'] = "Vous ne pouvez pas accéder à cette page"; return false; } if ($debug) { echo "PBDD_changeMotdepasse::\"Vérification de la conformité du mot de passe\"<br />"; } //Vérification de la conformité du mot de passe if (!(isset($_POST['motdepasse']) && preg_match("#^[a-zA-Z0-9]+\$#", $_POST['motdepasse']))) { $_SESSION['ERREUR'] = "Le mot de passe est invalide"; return false; } else { if ($debug) { echo "PBDD_changeMotdepasse::\"Changement du mot de passe\"<br />"; } //Changement du mot de passe $req = $bdd->prepare('UPDATE Utilisateur SET MotDePasse = ? WHERE (ID = ?)'); if (!$req->execute(array(sha1($_POST['motdepasse']), $_SESSION['UTILISATEUR']['ID']))) { $_SESSION['ERREUR'] = "Le changement du mot de passe a échoué"; return false; } else { $_SESSION['UTILISATEUR']['MotDePasse'] = sha1($_POST['motdepasse']); return true; } } }
function PBDD_inscription() { $debug = isset($_GET['debug']) && isset($_SESSION['UTILISATEUR']['Type']) && $_SESSION['UTILISATEUR']['Type'] == 2 ? true : false; //Activation ou non du debugage if ($debug) { echo "PBDD_inscription::\"Début de la fonction\"<br />"; } global $bdd; if ($debug) { echo "PBDD_inscription::\"Vérification de l'accès de l'utilisateur\"<br />"; } //Vérification accès administrateur if (!PBDD_userAccess(ACCES_ADMIN)) { $_SESSION['ERREUR'] = "Vous n'êtes pas autorisé à enregistrer un nouvel utilisateur"; return false; } if ($debug) { echo "PBDD_inscription::\"Vérification de la conformité de l'adresse mail\"<br />"; } //Vérification de la conformité de l'adresse mail if (!(isset($_POST['mail']) && preg_match("#^[a-z0-9._-]+@[a-z0-9._-]{2,}\\.[a-z]{2,4}\$#i", $_POST['mail']) && strlen($_POST['mail']) < 254)) { $_SESSION['ERREUR'] = "L'adresse mail est invalide"; return false; } if ($debug) { echo "PBDD_inscription::\"Vérification de la conformité du mot de passe\"<br />"; } //Vérification de la conformité du mot de passe if (!(isset($_POST['motdepasse']) && preg_match("#^[a-zA-Z0-9]+\$#", $_POST['motdepasse']) && strlen($_POST['motdepasse']) < 254)) { $_SESSION['ERREUR'] = "Le mot de passe est invalide"; return false; } if ($debug) { echo "PBDD_inscription::\"Vérification de la conformité du nom\"<br />"; } //Vérification de la conformité du nom if (!(isset($_POST['nom']) && preg_match("#^[a-zA-Zéèêàïùë-]+\$#", $_POST['nom']) && strlen($_POST['nom']) < 254)) { $_SESSION['ERREUR'] = "Le nom est invalide"; return false; } if ($debug) { echo "PBDD_inscription::\"Vérification de la conformité du prénom\"<br />"; } //Vérification de la conformité du prénom if (!(isset($_POST['prenom']) && preg_match("#^[a-zA-Zéèêàïùë-]+\$#", $_POST['prenom']) && strlen($_POST['prenom']) < 254)) { $_SESSION['ERREUR'] = "Le prénom est invalide"; return false; } if ($debug) { echo "PBDD_inscription::\"Vérification de la conformité du type\"<br />"; } //Vérification de la conformité du type if (!(isset($_POST['type']) && preg_match("#^(client|personnel|admin)\$#", $_POST['type']))) { $_SESSION['ERREUR'] = "Le type d'utilisateur est invalide"; return false; } else { if ($_POST['type'] == 'admin') { $util_type = 2; } else { if ($_POST['type'] == 'personnel') { $util_type = 1; } else { $util_type = 0; } } } if ($debug) { echo "PBDD_inscription::\"Ajout de l'utilisateur\"<br />"; } //Ajout de l'utilisateur if ($_SESSION['ERREUR'] == "") { $reponse = $bdd->query('SELECT * FROM Utilisateur WHERE Mail = \'' . $_POST['mail'] . '\''); if (!($donnees = $reponse->fetch())) { $req = $bdd->prepare("INSERT INTO Utilisateur(Nom, Prenom, Mail, MotDePasse, Type) VALUES (?, ?, ?, ?, ?)"); if (!$req->execute(array($_POST['nom'], $_POST['prenom'], $_POST['mail'], sha1($_POST['motdepasse']), $util_type))) { $_SESSION['ERREUR'] = "L'utilisateur n'a pas put être enregistré"; return false; } else { return true; } } else { $_SESSION['ERREUR'] = "Cette adresse mail est déjà enregistrée"; return false; } } return false; }
function PBDD_afficherReference($reference) { $debug = isset($_GET['debug']) && isset($_SESSION['UTILISATEUR']['Type']) && $_SESSION['UTILISATEUR']['Type'] == 2 ? true : false; //Activation ou non du debugage if ($debug) { echo "PBDD_afficherReference::\"Début de la fonction\"<br />"; } global $bdd; if ($debug) { echo "PBDD_afficherReference::\"Vérification de l'accès de l'utilisateur\"<br />"; } //Vérification accès administrateur if (!PBDD_userAccess(ACCES_ADMIN | ACCES_PERSONEL)) { $_SESSION['ERREUR'] = "Vous ne pouvez pas accéder à cette page"; return false; } if ($debug) { echo "PBDD_afficherReference::\"Vérification de la référence\"<br />"; } //Vérification de la référence if (!isset($reference['Retour'])) { $_SESSION['ERREUR'] = "La référence envoyée est nulle"; return false; } if ($debug) { echo "PBDD_afficherReference::\"Affichage\"<br />"; } //Affichage ?> <table border> <thead><td>Numéro de référence</td><td>Date de dépot</td><td>Date de retour prévue</td><td>Numéro de contrat</td></thead> <tr><td><?php echo $reference['Numero']; ?> </td><td><?php echo date_format(date_create($reference['DateDepot']), 'd/m/Y'); ?> </td><td><?php echo date_format(date_create($reference['DateRetour']), 'd/m/Y'); ?> </td><td><?php echo $reference['Contrat']; ?> </td></tr> </table> <table><tr><td class="ref_ticket"> <?php if ($debug) { echo "PBDD_afficherReference::\"Vérification de la présence d'un ticket\"<br />"; } //Vérification de la présence d'un ticket $req = $bdd->query('SELECT * FROM Ticket WHERE (Reference = ' . $reference['Numero'] . ')'); if ($reponse = $req->fetch()) { ?> Correspond au ticket n° <?php echo '<a href="tickets.php?ticket=' . $reponse['Numero'] . '">' . $reponse['Numero'] . '</a>'; ?> , créé le <?php echo date_format(date_create($reponse['Date']), 'd/m/Y'); ?> <?php } else { ?> Aucun ticket n'a été créé pour cet incident pour le moment <?php } ?> </td><td> <form method="post" action="incidents<?php include "scripts/debug.php"; ?> .php"> <input type="hidden" name="reference" value="<?php echo $reference['Numero']; ?> " /> <input type="submit" name="envoi" value="Prendre en charge" /> </form> </td></tr></table><br /> <?php }
function PBDD_ajouterContrat() { $debug = isset($_GET['debug']) && isset($_SESSION['UTILISATEUR']['Type']) && $_SESSION['UTILISATEUR']['Type'] == 2 ? true : false; //Activation ou non du debugage if ($debug) { echo "PBDD_ajouterContrat::\"Début de la fonction\"<br />"; } global $bdd; if ($debug) { echo "PBDD_ajouterContrat::\"Vérification de l'accès de l'utilisateur\"<br />"; } //Vérification accès administrateur if (!PBDD_userAccess(ACCES_ADMIN)) { $_SESSION['ERREUR'] = "Vous n'êtes pas autorisé à ajouter un nouveau contrat"; return false; } if ($debug) { echo "PBDD_ajouterContrat::\"Vérification de la conformité du numéro de client\"<br />"; } //Vérification de la variable "numeroclient" if (!(isset($_POST['numeroclient']) && preg_match("#^[0-9]+\$#", $_POST['numeroclient']))) { $_SESSION['ERREUR'] = "Le numéro de client est invalide"; return false; } else { if ($debug) { echo "PBDD_ajouterContrat::\"Vérification de la validité du numéro de client\"<br />"; } $req = $bdd->query('SELECT * FROM Utilisateur WHERE (ID = ' . $_POST['numeroclient'] . ')'); $reponse = $req->fetch(); //Vérification de la validité du numéro de client if (!($reponse != 0 && $reponse['Type'] == 0)) { $_SESSION['ERREUR'] = "Le numéro de client est incorrect"; return false; } } if ($debug) { echo "PBDD_ajouterContrat::\"Vérification de la conformité du numéro de produit\"<br />"; } //Vérification de la variable "numeromodele" if (!(isset($_POST['numeromodele']) && preg_match("#^[0-9]+\$#", $_POST['numeromodele']))) { $_SESSION['ERREUR'] = "Le numéro du modèle est invalide"; return false; } else { if ($debug) { echo "PBDD_ajouterContrat::\"Vérification de la validité du numéro de produit\"<br />"; } $req = $bdd->query('SELECT * FROM Modele WHERE (ID = ' . $_POST['numeromodele'] . ')'); //Vérification de la validité du numéro du modèle if (!($reponse = $req->fetch())) { $_SESSION['ERREUR'] = "Le numéro du modèle est incorrect"; return false; } } if ($debug) { echo "PBDD_ajouterContrat::\"Vérification de la conformité de la durée\"<br />"; } //Vérification de la variable "duree" if (!(isset($_POST['duree']) && preg_match("#^[0-9]+\$#", $_POST['duree']) && $_POST['duree'] > 14 && $_POST['duree'] < 26500)) { $_SESSION['ERREUR'] = "La durée est invalide"; return false; } //Ajout du contrat dans la base if ($_SESSION['ERREUR'] == "") { if ($debug) { echo "PBDD_ajouterContrat::\"Ajout du contrat\"<br />"; } $req = $bdd->prepare("INSERT INTO Contrat(Date, Duree, Client, Modele) VALUES (CURDATE(), ?, ?, ?)"); if (!$req->execute(array($_POST['duree'], $_POST['numeroclient'], $_POST['numeromodele']))) { $_SESSION['ERREUR'] = "Le contrat n'a pas put être enregistré"; return false; } else { return true; } } return false; }
function PBDD_prendreEnChargeReference() { $debug = isset($_GET['debug']) && isset($_SESSION['UTILISATEUR']['Type']) && $_SESSION['UTILISATEUR']['Type'] == 2 ? true : false; //Activation ou non du debugage if ($debug) { echo "PBDD_prendreEnChargeReference::\"Début de la fonction\"<br />"; } global $bdd; if ($debug) { echo "PBDD_prendreEnChargeReference::\"Vérification de l'accès de l'utilisateur\"<br />"; } //Vérification accès administrateur if (!PBDD_userAccess(ACCES_ADMIN | ACCES_PERSONEL)) { $_SESSION['ERREUR'] = "Vous n'êtes pas autorisé à enregistrer un nouveau modèle"; return false; } if ($debug) { echo "PBDD_prendreEnChargeReference::\"Vérification de la conformité du numéro de référence\"<br />"; } //Vérification de la conformité du numéro de référence if (!(isset($_POST['reference']) && preg_match("#^[0-9]+\$#", $_POST['reference']))) { $_SESSION['ERREUR'] = "Le numéro de référence est invalide"; return false; } else { if ($debug) { echo "PBDD_prendreEnChargeReference::\"Vérification de la validité du numéro de référence\"<br />"; } //Vérification de la validité du numéro de référence $req = $bdd->query('SELECT * FROM Reference WHERE (Numero = ' . $_POST['reference'] . ') AND (Retour = 0)'); if ($reponse = $req->fetch()) { if ($reponse['PersoACharge'] != 1) { $_SESSION['ERREUR'] = "Cette référence est déjà à la charge d'un membre du personnel"; return false; } } else { $_SESSION['ERREUR'] = "Il n'existe pas de produit au SAV enregistré à ce numéro"; return false; } } if ($debug) { echo "PBDD_prendreEnChargeReference::\"Modification de la référence\"<br />"; } //Modification de la référence $req = $bdd->prepare("UPDATE Reference SET PersoACharge = ? WHERE (Numero = ?)"); if ($req->execute(array($_SESSION['UTILISATEUR']['ID'], $_POST['reference']))) { return true; } else { $_SESSION['ERREUR'] = "La référence n'a pas put être mdifiée"; return false; } return false; }
function PBDD_afficherTicket() { $debug = isset($_GET['debug']) && isset($_SESSION['UTILISATEUR']['Type']) && $_SESSION['UTILISATEUR']['Type'] == 2 ? true : false; //Activation ou non du debugage if ($debug) { echo "PBDD_afficherTicket::\"Début de la fonction\"<br />"; } global $bdd, $TICKET; if ($debug) { echo "PBDD_afficherTicket::\"Vérification de l'accès de l'utilisateur\"<br />"; } //Vérification accès if (!PBDD_userAccess(ACCES_ADMIN | ACCES_PERSONEL | ACCES_CLIENT)) { $_SESSION['ERREUR'] = "Vous ne pouvez pas accéder à cette page"; return false; } $TICKET = 0; $REFERENCE = 0; $CONTRAT = 0; $CLIENT = 0; $PERSONNEL = 0; $MODELE = 0; if ($debug) { echo "PBDD_afficherTicket::\"Vérification de la conformité du numéro de ticket\"<br />"; } //Vérification de la conformité du numéro de ticket if (!(isset($_GET['ticket']) && preg_match("#^[0-9]+\$#", $_GET['ticket']))) { $_SESSION['ERREUR'] = "Le numéro de ticket est invalide"; return false; } else { if ($debug) { echo "PBDD_afficherTicket::\"Vérification de la validité du numéro de ticket\"<br />"; } //Vérification de la validité du numéro de ticket $req = $bdd->query('SELECT * FROM Ticket WHERE (Numero = ' . $_GET['ticket'] . ')'); if (!($reponse = $req->fetch())) { $_SESSION['ERREUR'] = "Le numéro de ticket est incorrect"; return false; } else { $TICKET = $reponse; $req = $bdd->query('SELECT * FROM Reference WHERE (Numero = ' . $TICKET['Reference'] . ')'); if (!($reponse = $req->fetch())) { return false; } else { $REFERENCE = $reponse; } $req = $bdd->query('SELECT * FROM Contrat WHERE (Numero = ' . $REFERENCE['Contrat'] . ')'); if (!($reponse = $req->fetch())) { return false; } else { $CONTRAT = $reponse; } $req = $bdd->query('SELECT * FROM Utilisateur WHERE (ID = ' . $REFERENCE['PersoACharge'] . ')'); if (!($reponse = $req->fetch())) { return false; } else { $PERSONNEL = $reponse; } $req = $bdd->query('SELECT * FROM Utilisateur WHERE (ID = ' . $CONTRAT['Client'] . ')'); if (!($reponse = $req->fetch())) { return false; } else { $CLIENT = $reponse; } $req = $bdd->query('SELECT * FROM Modele WHERE (ID = ' . $CONTRAT['Modele'] . ')'); if (!($reponse = $req->fetch())) { return false; } else { $MODELE = $reponse; } } } if ($debug) { echo "PBDD_afficherTicket::\"Vérification des droit de l'utilisateur\"<br />"; } //Vérification des droits de l'utilisateur switch ($_SESSION['UTILISATEUR']['Type']) { case 0: if ($CONTRAT['Client'] != $_SESSION['UTILISATEUR']['ID']) { $_SESSION['ERREUR'] = "Vous n'êtes pas autorisé à envoyer un message sur ce ticket"; return false; } break; case 1: if ($REFERENCE['PersoACharge'] != 1 && $REFERENCE['PersoACharge'] != $_SESSION['UTILISATEUR']['ID']) { $_SESSION['ERREUR'] = "Vous n'êtes pas autorisé à envoyer un message sur ce ticket"; return false; } } if ($debug) { echo "PBDD_afficherTicket::\"Affichage du ticket\"<br />"; } //Affichage du ticket if ($_SESSION['ERREUR'] == "") { $NUM_TICKET = $_GET['ticket']; ?> <div align="center"><font color="green"><?php echo utf8_encode($TICKET['Objet']); ?> </font></div><br /><br /> <strong>Créé par </strong> <?php echo $CLIENT['Prenom'] . ' ' . $CLIENT['Nom']; ?> <br /> <strong>Le</strong> <?php echo date_format(date_create($TICKET['Date']), 'd/m/Y'); ?> <strong>à</strong> <?php echo date_format(date_create($TICKET['Date']), 'H:i:s'); ?> <br /> <strong>Pour le produit</strong> <?php echo $MODELE['Nom']; ?> <br /> <strong>Personne en charge :</strong> <?php if ($PERSONNEL['ID'] != 1) { echo $PERSONNEL['Prenom'] . ' ' . $PERSONNEL['Nom']; } else { echo 'Aucune'; } ?> <br /> <strong>N° de contrat :</strong> <?php echo $CONTRAT['Numero']; ?> <br /> <strong>N° de référence :</strong> <?php echo $REFERENCE['Numero']; ?> <br /> <?php if (($_SESSION['UTILISATEUR']['Type'] == 2 || $_SESSION['UTILISATEUR']['Type'] == 0 && $_SESSION['UTILISATEUR']['ID'] == $CLIENT['ID']) && $TICKET['Clos'] == 0) { ?> <a href="tickets.php?ticket=<?php echo $NUM_TICKET; ?> &clore">Clore le ticket</a><br /> <?php } else { if ($TICKET['Clos'] == 1) { ?> <font color="green">Ce ticket est clos</font><br /> <?php } } ?> <br /> <?php $req = $bdd->query('SELECT * FROM Message WHERE (Ticket = ' . $TICKET['Numero'] . ') ORDER BY Date ASC'); while ($reponse = $req->fetch()) { $MESSAGE = $reponse; if ($debug) { echo "PBDD_afficherTicket::\"- Affichage du message\"<br />"; } //Affichage du message ?> <div style="border: 1px solid black;"> <strong>Ecrit par</strong> <?php if ($MESSAGE['Auteur'] == $CLIENT['ID']) { echo $CLIENT['Prenom'] . ' ' . $CLIENT['Nom']; } else { if ($MESSAGE['Auteur'] == $PERSONNEL['ID']) { echo $PERSONNEL['Prenom'] . ' ' . $PERSONNEL['Nom']; } else { $req2 = $bdd->query('SELECT * FROM Utilisateur WHERE (ID = ' . $MESSAGE['Auteur'] . ')'); if ($reponse = $req2->fetch()) { echo $reponse['Prenom'] . ' ' . $reponse['Nom']; } else { echo 'Inconnu'; } } } ?> <br /> <strong>Le</strong> <?php echo date_format(date_create($MESSAGE['Date']), 'd/m/Y'); ?> <strong>à</strong> <?php echo date_format(date_create($MESSAGE['Date']), 'H:i:s'); ?> <br /> <br /> <?php echo $MESSAGE['Message']; ?> </div><br /> <?php } if ($_SESSION['UTILISATEUR']['Type'] == 0) { $bdd->query('UPDATE Ticket SET VisiteClient = NOW() WHERE (Numero = ' . $TICKET['Numero'] . ')'); } else { if ($_SESSION['UTILISATEUR']['ID'] == $REFERENCE['PersoACharge']) { $bdd->query('UPDATE Ticket SET VisitePersonnel = NOW() WHERE (Numero = ' . $TICKET['Numero'] . ')'); } } return true; } return false; }