/**
  * Affichage et gestion des membres coté Admin
  *
  */
 public function ajoutAdmin()
 {
     session_start();
     $meta['title'] = 'Ajouter un administrateur';
     $meta['menu'] = 'ajout-admin';
     $userConnect = $this->userConnect();
     $userConnectAdmin = $this->userConnectAdmin();
     $msg['error'] = array();
     $formulaire = new controleurFonctions();
     $gestionMembres = new modeleMembres();
     if ($_POST) {
         if (isset($_POST['email']) && isset($_POST['mdp']) && isset($_POST['nom']) && isset($_POST['prenom']) && isset($_POST['sexe']) && ($_POST['sexe'] === 'femme' || $_POST['sexe'] === 'homme') && isset($_POST['taille']) && isset($_POST['age']) && isset($_POST['poids']) && isset($_POST['budget']) && isset($_POST['type']) && ($_POST['type'] === 'route' || $_POST['type'] === 'vtt' || $_POST['type'] === 'both') && isset($_POST['adresse']) && isset($_POST['cp']) && isset($_POST['ville'])) {
             $msg = $formulaire->verifFormMembre($_POST);
             if (empty($msg['error'])) {
                 foreach ($_POST as $key => $value) {
                     $_POST[$key] = htmlspecialchars($value, ENT_QUOTES);
                 }
                 extract($_POST);
                 if ($gestionMembres->insertMembre($email, $mdp, $nom, $prenom, $sexe, $age, $taille, $poids, $type, $budget, $adresse, $cp, $ville, 1)) {
                     $msg['error']['confirm'] = ucfirst($prenom) . ' ' . strtoupper($nom) . " a bien été ajouté dans la liste des membres";
                 }
             }
         }
     }
     $this->Render('../vues/admin/ajout-admin.php', array('meta' => $meta, 'msg' => $msg, 'userConnect' => $userConnect, 'userConnectAdmin' => $userConnectAdmin, 'formulaire' => $formulaire));
 }
 /**
  * Page de contact
  *
  */
 public function singleContact()
 {
     session_start();
     $meta['title'] = 'Contactez nous';
     $meta['menu'] = 'contact';
     $userConnect = $this->userConnect();
     $userConnectAdmin = $this->userConnectAdmin();
     $msg['error'] = [];
     $formulaire = new controleurFonctions();
     if ($_POST) {
         if (isset($_POST['prenom']) && isset($_POST['email']) && isset($_POST['message'])) {
             if (empty($_POST['prenom']) || strlen($_POST['prenom']) > 32 || strlen($_POST['prenom']) < 2) {
                 $msg['error']['prenom'] = "Veuillez donner un <b>prénom</b> entre 2 et 32 caractères.";
             }
             if (empty($_POST['email'])) {
                 $msg['error']['email'] = "Veuillez saisir une adresse <b>Email</b>.";
             } elseif (!filter_var($_POST['email'], FILTER_VALIDATE_EMAIL)) {
                 $msg['error']['email'] = "Votre <b>Email</b> est invalide.";
             } elseif (strlen($_POST['email']) > 32) {
                 $msg['error']['email'] = "Votre <b>Email</b> ne doit pas dépasser 32 carractères.";
             }
             if (empty($_POST['message'])) {
                 $msg['error']['message'] = "Veuillez saisir un <b>message</b>.";
             } elseif (strlen($_POST['message']) > 250 || strlen($_POST['message']) < 10) {
                 $msg['error']['message'] = "Votre <b>message</b> doit contenir entre 10 et 10000 carractères.";
             }
             if (empty($msg['error'])) {
                 foreach ($_POST as $key => $value) {
                     $_POST[$key] = htmlspecialchars($value, ENT_QUOTES);
                 }
                 extract($_POST);
                 $membresAdmin = new modeleMembres();
                 $emailAdmin = '';
                 foreach ($membresAdmin->emailAdmin() as $value) {
                     $emailAdmin .= $value['email'] . ', ';
                 }
                 $formulaire->sendMail($emailAdmin, 'Demande de contact', $message, $email);
                 $msg['error']['confirm'] = "Votre Email a bien été envoyé.<br>Nous vous répondrons dans les plus brefs délais.";
             }
         } else {
             $msg['error']['generale'] = self::ERREUR_POST;
         }
     }
     $this->Render('../vues/single/contact.php', array('meta' => $meta, 'msg' => $msg, 'userConnect' => $userConnect, 'userConnectAdmin' => $userConnectAdmin, 'formulaire' => $formulaire));
 }
示例#3
0
function erreurUrl()
{
    include '../controleurs/controleurFonctions.php';
    $instance = new controleurFonctions();
    $instance->urlIncorrect();
}
 /**
  * Gestion de la page mot de passe oublié
  *
  */
 public function motDePasseOublie()
 {
     session_start();
     $meta['title'] = 'Mot de passe oublié';
     $meta['menu'] = 'mot-de-passe-oublie';
     $userConnect = $this->userConnect();
     $userConnectAdmin = $this->userConnectAdmin();
     $formulaire = new controleurFonctions();
     $contMail = new modeleMembres();
     $msg['error'] = array();
     if ($_POST) {
         if (isset($_POST['email'])) {
             if (empty($_POST['email'])) {
                 $msg['error']['email'] = "Vous devez saisir une adresse <b>Email</b>.";
             } elseif (!filter_var($_POST['email'], FILTER_VALIDATE_EMAIL)) {
                 $msg['error']['email'] = "Votre adresse <b>Email</b> est invalide.";
             } else {
                 if (!$contMail->verifMail($_POST['email'])) {
                     $msg['error']['email'] = "Cet <b>Email</b> existe n'existe pas.";
                 } else {
                     // L'adresse email existe, donc génération d'un nouvau mdp.
                     $mdp_sch = str_shuffle("lpsb1234");
                     $mdp = substr($mdp_sch, 0, 6);
                     $message = 'Voici votre nouveau mot de passe pour accéder au Petit Saint Bernard : ' . $mdp;
                     if ($contMail->nouveauMdp($mdp, $_POST['email'])) {
                         $formulaire->sendMail($_POST['email'], 'Changement de mot de passe', $message);
                         $msg['error']['confirm'] = "Un Email vous a été envoyé.";
                     }
                 }
             }
         } else {
             $msg['error']['generale'] = self::ERREUR_POST;
         }
     }
     $this->Render('../vues/membres/mot-de-passe-oublie.php', array('meta' => $meta, 'userConnect' => $userConnect, 'userConnectAdmin' => $userConnectAdmin, 'msg' => $msg, 'formulaire' => $formulaire));
 }
 /**
  * Controle la page du panier
  *
  * @return (array) $this->render
  */
 public function affichagePanier()
 {
     session_start();
     $meta['title'] = 'Votre Panier';
     $meta['menu'] = 'panier';
     $userConnect = $this->userConnect();
     $userConnectAdmin = $this->userConnectAdmin();
     $msg['error'] = array();
     $avis = null;
     $assemblage = new modeleAssemblage();
     // Si l'ajout d'un vélo est lancé
     if (isset($_GET['cadre']) && !empty($_GET['cadre']) && is_numeric($_GET['cadre']) && isset($_GET['roue']) && !empty($_GET['roue']) && is_numeric($_GET['roue']) && isset($_GET['selle']) && !empty($_GET['selle']) && is_numeric($_GET['selle']) && isset($_GET['guidon']) && !empty($_GET['guidon']) && is_numeric($_GET['guidon']) && isset($_GET['groupe']) && !empty($_GET['groupe']) && is_numeric($_GET['groupe'])) {
         $donneesForSession = ['cadre' => $_GET['cadre'], 'roue' => $_GET['roue'], 'selle' => $_GET['selle'], 'guidon' => $_GET['guidon'], 'groupe' => $_GET['groupe']];
         $idVelo = '';
         foreach ($donneesForSession as $key => $value) {
             $idVelo .= $value;
             $isExist[$key] = $assemblage->siExistePieceType($value, $key);
         }
         if (!array_search(0, $isExist)) {
             $poidsVelo = 0;
             $prixVelo = 0;
             foreach ($isExist as $key => $value) {
                 $samePiece[] = $isExist['cadre']['type_velo'] === $isExist[$key]['type_velo'] || $isExist[$key]['type_velo'] == null ? true : false;
                 $samePiece[] = $isExist['cadre']['id_taille'] === $isExist[$key]['id_taille'] || $isExist[$key]['id_taille'] == null ? true : false;
                 $samePiece[] = $isExist['cadre']['sexe'] === $isExist[$key]['sexe'] || $isExist[$key]['sexe'] == null ? true : false;
                 $poidsVelo += $isExist[$key]['poids'];
                 $prixVelo += $isExist[$key]['prix'];
             }
             if (!array_search(false, $samePiece)) {
                 if (!isset($_SESSION['panier'][$idVelo])) {
                     $_SESSION['panier'][$idVelo] = [];
                     $_SESSION['panier'][$idVelo]['type_velo'] = $isExist['cadre']['type_velo'];
                     $_SESSION['panier'][$idVelo]['sexe'] = $isExist['cadre']['sexe'];
                     $_SESSION['panier'][$idVelo]['taille'] = $isExist['cadre']['id_taille'];
                     $_SESSION['panier'][$idVelo]['poids'] = $poidsVelo;
                     $_SESSION['panier'][$idVelo]['quantite'] = 0;
                     $_SESSION['panier'][$idVelo]['prix'] = $prixVelo;
                     foreach ($donneesForSession as $key => $value) {
                         $_SESSION['panier'][$idVelo]['pieces'][$key] = $value;
                     }
                     $_SESSION['panier'][$idVelo]['quantite'] = $this->verifQuantiteAvantMaj($idVelo) ? 1 : 0;
                 } else {
                     $this->verifQuantiteAvantMaj($idVelo);
                 }
             }
         } else {
             $msg['error']['generale'] = 'Certains éléments ne correspondent pas pour ajouter votre vélo dans le panier.';
         }
     }
     // Si suppresion panier ou vélo
     if (isset($_SESSION['panier']) && isset($_GET['supp_velo']) && !empty($_GET['supp_velo'])) {
         if ($_GET['supp_velo'] === 'panier') {
             unset($_SESSION['panier']);
             $msg['error']['confirm'] = 'Votre panier a bien été vidé.';
         } elseif (is_numeric($_GET['supp_velo'])) {
             if (array_key_exists($_GET['supp_velo'], $_SESSION['panier'])) {
                 unset($_SESSION['panier'][$_GET['supp_velo']]);
                 $msg['error']['confirm'] = 'Votre article a bien été supprimé.';
                 if (empty($_SESSION['panier'])) {
                     unset($_SESSION['panier']);
                 }
             }
         }
     }
     // Modification de la quantité
     if (isset($_POST['update_quantite'])) {
         if (isset($_POST['id_velo']) && !empty($_POST['id_velo']) && is_numeric($_POST['id_velo']) && isset($_POST['quantite']) && !empty($_POST['quantite']) && is_numeric($_POST['quantite']) && $_POST['quantite'] >= 0) {
             $id_velo = htmlentities($_POST['id_velo']);
             $quantite = htmlentities($_POST['quantite']);
             if ($this->verifQuantiteAvantMaj($id_velo, $quantite)) {
                 $msg['error']['confirm'] = 'Votre quantité a bien été modifié.';
             } else {
                 $msg['error']['generale'] = "Votre quantité n'a pas été modifié car il n'y a pas assez de stock.";
             }
         }
     }
     // Total du panier
     $total = 0;
     $qtZero = [];
     if (isset($_SESSION['panier'])) {
         foreach ($_SESSION['panier'] as $key => $value) {
             $total += $value['quantite'] * $value['prix'];
             $qtZero[$key] = $value['quantite'];
         }
     }
     // Payer la commande
     if (isset($_SESSION['panier']) && isset($_POST['payer'])) {
         if (array_search(0, $qtZero) === false) {
             if (isset($_POST['cgv'])) {
                 $commande = new modeleCommandes();
                 $formulaire = new controleurFonctions();
                 // Controle si stock toujours suffisant
                 if ($this->verifQuantiteAvantMaj()) {
                     $msg['error']['confirm'] = "Votre achat a bien été effectué.<br>\n            Vous allez recevoir un mail confirmant votre commande.<br><br>\n            Merci de laisser un avis sur celle-ci.";
                     $id_commande_velo_ent = $_SESSION['membre']['id_membre'] . hexdec(uniqid());
                     $id_commande_velo = substr($id_commande_velo_ent, 9);
                     $commande->insertCommande($id_commande_velo, $total, $_SESSION['membre']['id_membre']);
                     foreach ($_SESSION['panier'] as $key => $value) {
                         $commande->insertVeloCommande($id_commande_velo, $key, $value['type_velo'], $value['sexe'], $value['prix'], $value['poids'], $value['quantite']);
                     }
                     $avis = $id_commande_velo;
                     // Formatage du mail
                     $sujet = "N° de commande : " . $avis;
                     $message = '<div style="width:90%;margin:100px auto 25px;"><img style="width:100%;" src="http://lepetit-stbernard.romanczerkies.fr/img/stb-logo.png" alt="Header Le petit saint bernard">
         <br>
         Bonjour, merci de votre achat sur Le petit Saint Bernard. Vous retrouverez ci-dessous le récapitulatif de votre commande.<br>';
                     $message .= "Vos coordonnées : " . ucfirst($_SESSION['membre']['prenom']) . " " . strtoupper($_SESSION['membre']['nom']) . "<br>";
                     $message .= "Votre adresse de facturation : " . $_SESSION['membre']['adresse'] . ", " . $_SESSION['membre']['cp'] . " " . $_SESSION['membre']['ville'] . ".<br>";
                     $message .= "Votre commande a été effectuée le " . date('d/m/Y') . ".</p>";
                     $message .= '<table border="1">
           <thead>
           <tr><th colspan="5">Facture de votre commande</th></tr>
           <tr>
             <th>Référence</th>
             <th>Type de vélo</th>
             <th>Sexe</th>
             <th>Quantité</th>
             <th>Prix</th>
           </tr>
           </thead>
           <tbody>';
                     foreach ($_SESSION['panier'] as $key => $value) {
                         $message .= '<tr>
               <td>' . $key . '</td>
               <td>' . ucfirst($value['type_velo']) . '</td>
               <td>' . $value['sexe'] . '</td>
               <td>' . $value['quantite'] . '</td>
               <td>' . $value['prix'] . ' € TTC</td>
             </tr>';
                     }
                     $message .= '
         <tr>
           <td colspan="4">Montant total :</td>
           <td colspan="1">' . $total . ' € TTC</td>
         </tr>';
                     $message .= '
         </tbody>
         </table>';
                     $message .= '<br>Le petit Saint Bernard - ' . date('Y') . '.
         </div>';
                     // Envoie du mail via la fonction
                     $formulaire->sendMail($_SESSION['membre']['email'], $sujet, $message);
                     // Suppression du panier
                     unset($_SESSION['panier']);
                 } else {
                     $msg['error']['generale'] = "Une des pièces est insufisante dans nos stocks.<br>\n            Veuillez vérifier les quantités de votre panier.";
                 }
             } else {
                 $msg['error']['cgv'] = "Veuillez accepter les conditions gérérales de vente.";
             }
         } else {
             $msg['error']['generale'] = "Une de vos quantité est égale à 0. Veuillez supprimer le produit sans quantité.";
         }
     }
     $this->Render('../vues/velo/panier.php', array('meta' => $meta, 'msg' => $msg, 'userConnect' => $userConnect, 'userConnectAdmin' => $userConnectAdmin, 'total' => $total, 'avis' => $avis));
 }