/**
  * 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));
 }
 /**
  * Fonction de controle du formulaire membre (modif, ajout, admin)
  *
  * @param $value (array)
  * @param $id_membre option (int)
  *
  * @return $msg (array)
  */
 public function verifFormMembre($value, $id_membre = NULL)
 {
     $msg = '';
     $membreExist = new modeleMembres();
     if (empty($value['email'])) {
         $msg['error']['email'] = "Veuillez saisir une adresse <b>Email</b>.";
     } elseif (!filter_var($value['email'], FILTER_VALIDATE_EMAIL)) {
         $msg['error']['email'] = "Votre <b>Email</b> est invalide.";
     } elseif (strlen($value['email']) > 32) {
         $msg['error']['email'] = "Votre <b>Email</b> ne doit pas dépasser 32 carractères.";
     } elseif ($membreExist->verifMail($value['email'], $id_membre)) {
         $msg['error']['email'] = "L'adresse <b>Email</b> que vous avez saisis est déjà existante.";
     }
     if (!$id_membre) {
         if (empty($value['mdp'])) {
             $msg['error']['mdp'] = "Veuillez saisir un <b>mot de passe</b>.";
         } elseif (strlen($value['mdp']) < 5 || strlen($value['mdp']) > 32) {
             $msg['error']['mdp'] = "Veuillez saisir un <b>mot de passe</b> entre 5 et 32 carractères.";
         } elseif (!preg_match('#^[^A-Z0-9]*([A-Z0-9])#', $value['mdp'])) {
             $msg['error']['mdp'] = "Votre <b>mot de passe doit comporter au moins une majuscule ou un chiffre.";
         }
     } elseif ($id_membre && !empty($value['mdp'])) {
         if (strlen($value['mdp']) < 5 || strlen($value['mdp']) > 32) {
             $msg['error']['mdp'] = "Veuillez saisir <b>un mot de passe</b> entre 5 et 32 carractères.";
         } elseif (!preg_match('#^[^A-Z0-9]*([A-Z0-9])#', $value['mdp'])) {
             $msg['error']['mdp'] = "Votre <b>mot de passe doit comporter au moins une majuscule ou un chiffre.";
         }
     }
     if (empty($value['nom'])) {
         $msg['error']['nom'] = "Veuillez saisir un <b>Nom</b>.";
     } elseif (strlen($value['nom']) < 2 || strlen($value['nom']) > 20) {
         $msg['error']['nom'] = "Veuillez saisir un <b>Nom</b> entre 2 et 20 carractères.";
     } elseif (is_numeric($value['nom'])) {
         $msg['error']['nom'] = "Seul les lettres sont autorisées pour votre <b>Nom</b>.";
     }
     if (empty($value['prenom'])) {
         $msg['error']['prenom'] = "Veuillez saisir un <b>Prénom</b>.";
     } elseif (strlen($value['prenom']) < 2 || strlen($value['prenom']) > 20) {
         $msg['error']['prenom'] = "Veuillez saisir un <b>Prénom</b> entre 2 et 20 carractères.";
     } elseif (is_numeric($value['prenom'])) {
         $msg['error']['prenom'] = "Seul les lettres sont autorisées pour votre <b>Prénom</b>.";
     }
     if (empty($value['sexe'])) {
         $msg['error']['sexe'] = "Veuillez saisir votre <b>Sexe</b>.";
     }
     if (empty($value['age'])) {
         $msg['error']['age'] = "Veuillez saisir votre <b>Age</b>.";
     } elseif (!is_numeric($_POST['age'])) {
         $msg['error']['age'] = "Veuillez saisir votre <b>Age</b> en chiffres.";
     } elseif ($_POST['age'] < 10 || $_POST['age'] > 125) {
         $msg['error']['age'] = "Veuillez saisir une <b>Age</b> convenable.";
     }
     if (empty($value['taille'])) {
         $msg['error']['taille'] = "Veuillez saisir votre <b>Taille</b>.";
     } elseif (!is_numeric($_POST['taille'])) {
         $msg['error']['taille'] = "Veuillez saisir votre <b>Taille</b> en chiffres.";
     } elseif ($_POST['taille'] < 150 || $_POST['taille'] > 200) {
         $msg['error']['taille'] = "Veuillez saisir une <b>Taille</b> entre 150cm et 200cm.";
     }
     if (empty($value['poids'])) {
         $msg['error']['poids'] = "Veuillez saisir votre <b>Poids</b>.";
     } elseif (!is_numeric($_POST['poids'])) {
         $msg['error']['poids'] = "Veuillez saisir votre <b>Poids</b> en chiffres.";
     } elseif ($_POST['poids'] < 30 || $_POST['poids'] > 200) {
         $msg['error']['poids'] = "Veuillez saisir une <b>Poids</b> convenable.";
     }
     if (empty($value['budget'])) {
         $msg['error']['budget'] = "Veuillez saisir votre <b>Budget</b>.";
     } elseif (!is_numeric($_POST['budget'])) {
         $msg['error']['budget'] = "Veuillez saisir votre <b>Budget</b> en chiffres.";
     } elseif ($_POST['budget'] < 100 || $_POST['budget'] > 10000) {
         $msg['error']['budget'] = "Veuillez saisir une <b>Budget</b> entre 100 et 10000 €.";
     }
     if (empty($value['adresse'])) {
         $msg['error']['adresse'] = "Veuillez saisir une <b>Adresse</b>.";
     } elseif (strlen($value['adresse']) < 3 || strlen($value['adresse']) > 30) {
         $msg['error']['adresse'] = "Veuillez saisir une <b>Adresse</b> entre 3 et 30 carractères.";
     }
     if (empty($value['cp'])) {
         $msg['error']['cp'] = "Veuillez saisir votre <b>Code Postal</b>.";
     } elseif (strlen($value['cp']) != 5 || !is_numeric($value['cp'])) {
         $msg['error']['cp'] = "Votre <b>Code postal</b> doit contenir 5 chiffres.";
     }
     if (empty($value['ville'])) {
         $msg['error']['ville'] = "Veuillez saisir une <b>Ville</b>.";
     } elseif (is_numeric($value['ville'])) {
         $msg['error']['ville'] = "Votre <b>Ville</b> ne doit comporter aucun carractères spéciaux.";
     } elseif (strlen($value['ville']) < 2 || strlen($value['ville']) > 30) {
         $msg['error']['ville'] = "Veuillez saisir une <b>Ville</b> entre 2 et 30 carractères.";
     }
     return $msg;
 }
 /**
  * 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));
 }