/**
  * @name modifierPass($pParam)
  * @return VR
  * @desc Modification du mot de passe de l'adhérent.
  */
 public function modifierPass($pParam)
 {
     $lVr = InfoAdherentValid::validAjout($pParam);
     if ($lVr->getValid()) {
         $lIdentification = IdentificationManager::selectByIdType($pParam['id_adherent'], 1);
         $lIdentification = $lIdentification[0];
         $lIdentification->setPass(md5($pParam['motPasseNouveau']));
         IdentificationManager::update($lIdentification);
     }
     return $lVr;
 }
 public function selectAll()
 {
     return IdentificationManager::selectAllToDisplay();
 }
 /**
  * @name reinitier($pParam)
  * @return VR
  * @desc Met un nouveau mot de passe sur le compte et le retourne par mail
  */
 public function reinitier($pParam)
 {
     // Initialisation du Logger
     $lLogger =& Log::singleton('file', CHEMIN_FICHIER_LOGS);
     $lLogger->setMask(Log::MAX(LOG_LEVEL));
     $lValid = new IdentificationValid();
     $lVr = $lValid->validReInitMdp($pParam);
     if ($lVr->getValid()) {
         include_once CHEMIN_CONFIGURATION . "Mail.php";
         // Les Constantes de mail
         $lAdherent = AdherentManager::selectByNumero($pParam['numero']);
         $lAdherent = $lAdherent[0];
         $lIdAdherent = $lAdherent->getId();
         // Mise à jour avec un nouveau mot de passe
         $lMdp = MotDePasseUtils::generer();
         $lIdentification = IdentificationManager::selectByIdType($lIdAdherent, 1);
         $lIdentification = $lIdentification[0];
         $lIdentification->setPass(md5($lMdp));
         IdentificationManager::update($lIdentification);
         // Envoi du mail de confirmation
         $lTo = $pParam['mail'];
         // Envoi du mail de confirmation
         /*if($lAdherent->getCourrielPrincipal() != "") {
         			$lTo = $lAdherent->getCourrielPrincipal();
         		} else if($lAdherent->getCourrielSecondaire() != "") {
         			$lTo = $lAdherent->getCourrielSecondaire();			
         		} else { // Pas de mail sur le compte : Envoi au gestionnaire
         			$lTo = MAIL_SUPPORT;				
         		}*/
         $lFrom = MAIL_SUPPORT;
         $jour = date("d-m-Y");
         $heure = date("H:i");
         $lSujet = "Réinitialisation de votre mot de passe zeybux - {$jour} {$heure}";
         $lContenu = file_get_contents(CHEMIN_TEMPLATE . MOD_IDENTIFICATION . "/" . "MailReInitMdp.html");
         $lContenu = str_replace(array("{LOGIN}", "{MOT_PASSE}", "{ZEYBUX_ADRESSE_SITE}"), array($pParam['numero'], $lMdp, ZEYBUX_ADRESSE_SITE), $lContenu);
         $lHeaders = file_get_contents(CHEMIN_TEMPLATE . COMMUN_TEMPLATE . "/" . "EnteteMail.html");
         $lHeaders = str_replace("{FROM}", $lFrom, $lHeaders);
         /*
         			$contenu = "";
         			$contenu .= "<html> \n";
         			$contenu .= "<head> \n";
         			$contenu .= "<title> Réinitialisation de votre mot de passe zeybux </title> \n";
         			$contenu .= "</head> \n";
         			$contenu .= "<body> \n";
         			$contenu .= "Bonjour,<br/> \n";
         			$contenu .= "Votre nouveau mot de passe zeybux est : " . $lMdp . "<br/> \n";
         			$contenu .= "Vous pourrez le modifier lors de votre prochaine connexion.<br/> \n";
         			$contenu .= "Cordialement,<br/> \n";
         			$contenu .= "L'équipe du zeybux.<br/> \n";
         			$contenu .= "</body> \n";
         			$contenu .= "</HTML> \n";
         			
         			$headers  = "MIME-Version: 1.0 \n";
         			$headers .= "Content-Transfer-Encoding: 8bit \n";
         			$headers .= "Content-type: text/html; charset=utf-8 \n";
         			$headers .= "From: $from  \n";
         			// $headers .= "Disposition-Notification-To: $from  \n"; // accuse de reception*/
         $VerifEnvoiMail = TRUE;
         $VerifEnvoiMail = @mail($lTo, $lSujet, $lContenu, $lHeaders);
         if ($VerifEnvoiMail === FALSE) {
             $lVr->setValid(false);
             $lVr->getLog()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_118_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_118_MSG);
             $lVr->getLog()->addErreur($lErreur);
             $lLogger->log("Erreur d'envoi du mail de réinitialisation du mot de passe de l'adhérent " . $pParam['numero'] . ".", PEAR_LOG_INFO);
             // Maj des logs
         } else {
             $lLogger->log("Envoi du mail de réinitialisation du mot de passe de l'adhérent " . $pParam['numero'] . ".", PEAR_LOG_INFO);
             // Maj des logs
         }
     }
     return $lVr;
 }
 /**
  * @name recherche( $pTypeRecherche, $pTypeCritere, $pCritereRecherche, $pTypeTri, $pCritereTri )
  * @param string nom de la table
  * @param string Le type de critère de recherche
  * @param array(string) champs à récupérer dans la table
  * @param array(array(string, object)) Dictionnaire(champ, valeur)) contenant les champs à filtrer ainsi que la valeur du filtre
  * @param array(array(string, string)) Dictionnaire(champ, sens) contenant les tris à appliquer
  * @return array(IdentificationVO)
  * @desc Récupères les lignes de la table selon le critère de recherche puis trie et renvoie la liste de résultat sous forme d'une collection de IdentificationVO
  */
 public static function recherche($pTypeRecherche, $pTypeCritere, $pCritereRecherche, $pTypeTri, $pCritereTri)
 {
     // Initialisation du Logger
     $lLogger =& Log::singleton('file', CHEMIN_FICHIER_LOGS);
     $lLogger->setMask(Log::MAX(LOG_LEVEL));
     // Préparation de la requète
     $lChamps = array(IdentificationManager::CHAMP_IDENTIFICATION_ID . "," . IdentificationManager::CHAMP_IDENTIFICATION_ID_LOGIN . "," . IdentificationManager::CHAMP_IDENTIFICATION_LOGIN . "," . IdentificationManager::CHAMP_IDENTIFICATION_PASS . "," . IdentificationManager::CHAMP_IDENTIFICATION_TYPE . "," . IdentificationManager::CHAMP_IDENTIFICATION_AUTORISE);
     // Préparation de la requète de recherche
     $lRequete = DbUtils::prepareRequeteRecherche(IdentificationManager::TABLE_IDENTIFICATION, $lChamps, $pTypeRecherche, $pTypeCritere, $pCritereRecherche, $pTypeTri, $pCritereTri);
     $lListeIdentification = array();
     if ($lRequete !== false) {
         $lLogger->log("Execution de la requete : " . $lRequete, PEAR_LOG_DEBUG);
         // Maj des logs
         $lSql = Dbutils::executerRequete($lRequete);
         if (mysql_num_rows($lSql) > 0) {
             while ($lLigne = mysql_fetch_assoc($lSql)) {
                 array_push($lListeIdentification, IdentificationManager::remplirIdentification($lLigne[IdentificationManager::CHAMP_IDENTIFICATION_ID], $lLigne[IdentificationManager::CHAMP_IDENTIFICATION_ID_LOGIN], $lLigne[IdentificationManager::CHAMP_IDENTIFICATION_LOGIN], $lLigne[IdentificationManager::CHAMP_IDENTIFICATION_PASS], $lLigne[IdentificationManager::CHAMP_IDENTIFICATION_TYPE], $lLigne[IdentificationManager::CHAMP_IDENTIFICATION_AUTORISE]));
             }
         } else {
             $lListeIdentification[0] = new IdentificationVO();
         }
         return $lListeIdentification;
     }
     $lListeIdentification[0] = new IdentificationVO();
     return $lListeIdentification;
 }
 /**
  * @name ouvrirCaisse()
  * @return VR
  * @desc Ouvre les caisses
  */
 public function ouvrirCaisse()
 {
     $lIde = IdentificationManager::selectByTypeSuspendu(3);
     if (is_array($lIde)) {
         foreach ($lIde as $lCaisse) {
             $lCaisse->setAutorise(1);
             IdentificationManager::update($lCaisse);
         }
         $lVr = new TemplateVR();
         $lVr->setValid(true);
         return $lVr;
     }
     $lVr = new TemplateVR();
     $lVr->setValid(false);
     $lVr->getLog()->setValid(false);
     $lErreur = new VRerreur();
     $lErreur->setCode(MessagesErreurs::ERR_115_CODE);
     $lErreur->setMessage(MessagesErreurs::ERR_115_MSG);
     $lVr->getLog()->addErreur($lErreur);
     return $lVr;
 }
 /**
  * @name validAjout($pData)
  * @return InfoAdherentVR
  * @desc Test la validite de l'élément
  */
 public static function validAjout($pData)
 {
     $lVr = new InfoAdherentVR();
     //Tests inputs
     if (!isset($pData['id_adherent'])) {
         $lVr->setValid(false);
         $lVr->getId_adherent()->setValid(false);
         $lErreur = new VRerreur();
         $lErreur->setCode(MessagesErreurs::ERR_201_CODE);
         $lErreur->setMessage(MessagesErreurs::ERR_201_MSG);
         $lVr->getId_adherent()->addErreur($lErreur);
     }
     if (!isset($pData['motPasse'])) {
         $lVr->setValid(false);
         $lVr->getMotPasse()->setValid(false);
         $lErreur = new VRerreur();
         $lErreur->setCode(MessagesErreurs::ERR_201_CODE);
         $lErreur->setMessage(MessagesErreurs::ERR_201_MSG);
         $lVr->getMotPasse()->addErreur($lErreur);
     }
     if (!isset($pData['motPasseNouveau'])) {
         $lVr->setValid(false);
         $lVr->getMotPasseNouveau()->setValid(false);
         $lErreur = new VRerreur();
         $lErreur->setCode(MessagesErreurs::ERR_201_CODE);
         $lErreur->setMessage(MessagesErreurs::ERR_201_MSG);
         $lVr->getMotPasseNouveau()->addErreur($lErreur);
     }
     if (!isset($pData['motPasseConfirm'])) {
         $lVr->setValid(false);
         $lVr->getMotPasseNouveau()->setValid(false);
         $lErreur = new VRerreur();
         $lErreur->setCode(MessagesErreurs::ERR_201_CODE);
         $lErreur->setMessage(MessagesErreurs::ERR_201_MSG);
         $lVr->getMotPasseNouveau()->addErreur($lErreur);
     }
     if ($lVr->getValid()) {
         //Tests Techniques
         if (!is_int((int) $pData['id_adherent'])) {
             $lVr->setValid(false);
             $lVr->getId_adherent()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_104_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_104_MSG);
             $lVr->getId_adherent()->addErreur($lErreur);
         }
         if (!TestFonction::checkLength($pData['id_adherent'], 0, 11)) {
             $lVr->setValid(false);
             $lVr->getId_adherent()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_101_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_101_MSG);
             $lVr->getId_adherent()->addErreur($lErreur);
         }
         if (!TestFonction::checkLength($pData['motPasse'], 0, 100)) {
             $lVr->setValid(false);
             $lVr->getMotPasse()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_101_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_101_MSG);
             $lVr->getMotPasse()->addErreur($lErreur);
         }
         if (!TestFonction::checkLength($pData['motPasseNouveau'], 0, 100)) {
             $lVr->setValid(false);
             $lVr->getMotPasseNouveau()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_101_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_101_MSG);
             $lVr->getMotPasseNouveau()->addErreur($lErreur);
         }
         if (!TestFonction::checkLength($pData['motPasseConfirm'], 0, 100)) {
             $lVr->setValid(false);
             $lVr->getMotPasseConfirm()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_101_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_101_MSG);
             $lVr->getMotPasseConfirm()->addErreur($lErreur);
         }
         //Tests Fonctionnels
         if (empty($pData['id_adherent'])) {
             $lVr->setValid(false);
             $lVr->getId_adherent()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_201_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_201_MSG);
             $lVr->getId_adherent()->addErreur($lErreur);
         }
         if (empty($pData['motPasse'])) {
             $lVr->setValid(false);
             $lVr->getMotPasse()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_201_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_201_MSG);
             $lVr->getMotPasse()->addErreur($lErreur);
         }
         if (empty($pData['motPasseNouveau'])) {
             $lVr->setValid(false);
             $lVr->getMotPasseNouveau()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_201_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_201_MSG);
             $lVr->getMotPasseNouveau()->addErreur($lErreur);
         }
         if (empty($pData['motPasseConfirm'])) {
             $lVr->setValid(false);
             $lVr->getMotPasseConfirm()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_201_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_201_MSG);
             $lVr->getMotPasseConfirm()->addErreur($lErreur);
         }
         // L'adhérent existe
         $lAdherent = AdherentManager::select($pData['id_adherent']);
         if ($lAdherent->getId() != $pData['id_adherent']) {
             $lVr->setValid(false);
             $lVr->getId_adherent()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_216_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_216_MSG);
             $lVr->getId_adherent()->addErreur($lErreur);
         }
         $lIdentification = IdentificationManager::selectByIdType($pData['id_adherent'], 1);
         $lIdentification = $lIdentification[0];
         // L'adhérent existe
         if ($lIdentification->getIdLogin() != $pData['id_adherent']) {
             $lVr->setValid(false);
             $lVr->getId_adherent()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_216_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_216_MSG);
             $lVr->getId_adherent()->addErreur($lErreur);
         }
         // L'ancien mot de passe n'est pas conforme
         if ($lIdentification->getPass() != md5($pData['motPasse'])) {
             $lVr->setValid(false);
             $lVr->getMotPasse()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_235_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_235_MSG);
             $lVr->getMotPasse()->addErreur($lErreur);
         }
         // Les mots de passe ne sont pas identique
         if ($pData['motPasseNouveau'] !== $pData['motPasseConfirm']) {
             $lVr->setValid(false);
             $lVr->getMotPasseNouveau()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_223_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_223_MSG);
             $lVr->getMotPasseNouveau()->addErreur($lErreur);
         }
         if (stripos($pData['motPasseNouveau'], '&') !== false) {
             $lVr->setValid(false);
             $lVr->getMotPasseNouveau()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_255_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_255_MSG);
             $lVr->getMotPasseNouveau()->addErreur($lErreur);
         }
     }
     return $lVr;
 }
 /**
  * @name identifier($pParam)
  * @return VR
  * @desc Vérifie le login et mot de passe dans la BDD et renvoie un IdentificationPO avec l'authorisation et place les autorisations dans les variables de session
  */
 public function reconnecter($pParam)
 {
     // En cas de nouvelle connexion sans déconnexion on supprime les droits
     session_unset();
     $lValid = new IdentificationValid();
     $lVr = $lValid->validReconnection($pParam);
     if ($lVr->getValid()) {
         $lLogin = $pParam["login"];
         // Version cryptée du mot de pass pour le comparer avec celui de la BDD
         $lPass = md5($pParam["pass"]);
         // Recherche de l'accès précédent
         $lAcces = AccesManager::select($pParam["idConnexion"]);
         // Sélection des adhérents ayant le login de l'identification
         $lListeIdentification = IdentificationManager::selectByLogin($lLogin);
         // Recherche de correspondance de login et mot de passe dans la base
         $lAutorisation = false;
         $lModules = array();
         if (is_array($lListeIdentification)) {
             foreach ($lListeIdentification as $lIdentification) {
                 if ($lAcces->getIdLogin() == $lIdentification->getIdLogin() && $lAcces->getIp() == $_SERVER["REMOTE_ADDR"] && $lAcces->getTypeLogin() == $lIdentification->getType() && $lIdentification->getLogin() === $lLogin && $lIdentification->getPass() === $lPass && $lIdentification->getAutorise() == 1) {
                     switch ($lIdentification->getType()) {
                         case 1:
                             // Adhérent
                             $lModules = $this->identifierAdherent($lIdentification);
                             break;
                         case 2:
                             // SuperZeybu
                             $lModules = $this->identifierSuperZeybu($lIdentification);
                             break;
                         case 3:
                             // Caisse
                             $lModules = $this->identifierCaisse($lIdentification);
                             break;
                         case 4:
                             // Compte Solidaire
                             $lModules = $this->identifierCompteSolidaire($lIdentification);
                             break;
                     }
                     $_SESSION[TYPE_ID] = $lIdentification->getType();
                     $lAutorisation = true;
                     $lAcces->setAutorise(1);
                     AccesManager::update($lAcces);
                     $_SESSION[ID_CONNEXION] = $lAcces->getId();
                 }
             }
         }
         if ($lAutorisation) {
             $lResponse = new IdentificationResponse();
             return $lResponse;
         } else {
             $lVr = new TemplateVR();
             $lVr->setValid(false);
             $lVr->getLog()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_222_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_222_MSG);
             $lVr->getLog()->addErreur($lErreur);
         }
     }
     return $lVr;
 }
 $lAutorisation->setIdAdherent($lId);
 $lAutorisation->setIdModule(1);
 AutorisationManager::insert($lAutorisation);
 $lAutorisation = new AutorisationVO();
 $lAutorisation->setIdAdherent($lId);
 $lAutorisation->setIdModule(3);
 AutorisationManager::insert($lAutorisation);
 // Insertion des informations de connexion
 $lMdp = MotDePasseUtils::generer();
 $lIdentification = new IdentificationVO();
 $lIdentification->setIdLogin($lId);
 $lIdentification->setLogin($lAdherent->getNumero());
 $lIdentification->setPass(md5($lMdp));
 $lIdentification->setType(1);
 $lIdentification->setAutorise(1);
 IdentificationManager::insert($lIdentification);
 // Ajout à la mailing liste
 $lMailingListeService = new MailingListeService();
 if ($lAdherent->getCourrielPrincipal() != "") {
     $lMailingListeService->insert($lAdherent->getCourrielPrincipal());
 }
 if ($lAdherent->getCourrielSecondaire() != "") {
     $lMailingListeService->insert($lAdherent->getCourrielSecondaire());
 }
 // Envoi du mail de confirmation
 if ($lAdherent->getCourrielPrincipal() != "") {
     $lTo = $lAdherent->getCourrielPrincipal();
 } else {
     if ($lAdherent->getCourrielSecondaire() != "") {
         $lTo = $lAdherent->getCourrielSecondaire();
     } else {
 /**
  * @name delete($pIdAdherent)
  * @param integer
  * @return AdherentVO
  * @desc Supprime un adherent
  */
 public function delete($pIdAdherent)
 {
     $lAdherentValid = new NAMESPACE_CLASSE\NAMESPACE_VALIDATEUR\MOD_SERVICE\AdherentValid();
     if ($lAdherentValid->delete($pIdAdherent)) {
         $lAdherent = AdherentManager::select($pIdAdherent);
         $lCompteService = new CompteService();
         $lNbAdherentSurCompte = $lCompteService->getNombreAdherentSurCompte($lAdherent->getIdCompte());
         $lAdhesionService = new AdhesionService();
         // Suppression des adhésions
         $lAdhesionService->deleteAdhesionAdherentByIdAdherent($pIdAdherent);
         // Change l'état à supprimé
         $lAdherent->setEtat(2);
         AdherentManager::update($lAdherent);
         // Désactive l'identification
         $lIdentification = IdentificationManager::selectByIdType($lAdherent->getId(), 1);
         $lIdentification = $lIdentification[0];
         $lIdentification->setAutorise(0);
         IdentificationManager::update($lIdentification);
         //Désinscription de la mailing liste
         $lMailingListeService = new MailingListeService();
         if ($lAdherent->getCourrielPrincipal() != "") {
             $lMailingListeService->delete($lAdherent->getCourrielPrincipal());
         }
         if ($lAdherent->getCourrielSecondaire() != "") {
             $lMailingListeService->delete($lAdherent->getCourrielSecondaire());
         }
         // Si c'est le dernier adhérent du compte : suppression des réservations et abonnements
         if ($lNbAdherentSurCompte < 2) {
             // Suppression des réservations en cours
             $lMarcheService = new MarcheService();
             $lReservations = $lMarcheService->getNonAchatParCompte($lAdherent->getIdCompte());
             if (!is_null($lReservations[0]->getId())) {
                 $lReservationService = new ReservationService();
                 foreach ($lReservations as $lReservation) {
                     $lIdReservation = new IdReservationVO();
                     $lIdReservation->setIdCompte($lAdherent->getIdCompte());
                     $lIdReservation->setIdCommande($lReservation->getId());
                     $lReservationService->delete($lIdReservation);
                 }
             }
             // Suppression des abonnements
             $lAbonnementService = new AbonnementService();
             $lProduits = $lAbonnementService->getProduitsAbonne($lAdherent->getIdCompte());
             foreach ($lProduits as $lProduit) {
                 $lAbonnementService->deleteAbonnement($lProduit->getCptAboId());
             }
         }
         return true;
     } else {
         return false;
     }
 }
 /**
  * @name validAjout($pData)
  * @return InfoAdherentVR
  * @desc Test la validite de l'élément
  */
 public static function validReInitMdp($pData)
 {
     $lVr = new ReInitMdpVR();
     //Tests inputs
     if (!isset($pData['numero'])) {
         $lVr->setValid(false);
         $lVr->getNumero()->setValid(false);
         $lErreur = new VRerreur();
         $lErreur->setCode(MessagesErreurs::ERR_201_CODE);
         $lErreur->setMessage(MessagesErreurs::ERR_201_MSG);
         $lVr->getNumero()->addErreur($lErreur);
     }
     if (!isset($pData['mail'])) {
         $lVr->setValid(false);
         $lVr->getMail()->setValid(false);
         $lErreur = new VRerreur();
         $lErreur->setCode(MessagesErreurs::ERR_201_CODE);
         $lErreur->setMessage(MessagesErreurs::ERR_201_MSG);
         $lVr->getMail()->addErreur($lErreur);
     }
     if ($lVr->getValid()) {
         //Tests Techniques
         if (!TestFonction::checkLength($pData['numero'], 0, 100)) {
             $lVr->setValid(false);
             $lVr->getNumero()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_101_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_101_MSG);
             $lVr->getNumero()->addErreur($lErreur);
         }
         if (!TestFonction::checkLength($pData['mail'], 0, 100)) {
             $lVr->setValid(false);
             $lVr->getMail()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_101_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_101_MSG);
             $lVr->getMail()->addErreur($lErreur);
         }
         //Tests Fonctionnels
         if (empty($pData['numero'])) {
             $lVr->setValid(false);
             $lVr->getNumero()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_201_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_201_MSG);
             $lVr->getNumero()->addErreur($lErreur);
         }
         if (empty($pData['mail'])) {
             $lVr->setValid(false);
             $lVr->getMail()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_201_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_201_MSG);
             $lVr->getMail()->addErreur($lErreur);
         }
         // L'adhérent existe
         $lAdherent = AdherentManager::selectByNumero($pData['numero']);
         $lAdherent = $lAdherent[0];
         if ($lAdherent->getNumero() != $pData['numero']) {
             $lVr->setValid(false);
             $lVr->getNumero()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_216_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_216_MSG);
             $lVr->getNumero()->addErreur($lErreur);
         }
         if ($lAdherent->getCourrielPrincipal() != $pData['mail'] && $lAdherent->getCourrielSecondaire() != $pData['mail']) {
             $lVr->setValid(false);
             $lVr->getMail()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_258_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_258_MSG);
             $lVr->getMail()->addErreur($lErreur);
         }
         if ($lVr->getValid()) {
             $lIdentification = IdentificationManager::selectByIdType($lAdherent->getId(), 1);
             $lIdentification = $lIdentification[0];
             // L'adhérent existe
             if ($lIdentification->getIdLogin() != $lAdherent->getId()) {
                 $lVr->setValid(false);
                 $lVr->getNumero()->setValid(false);
                 $lErreur = new VRerreur();
                 $lErreur->setCode(MessagesErreurs::ERR_216_CODE);
                 $lErreur->setMessage(MessagesErreurs::ERR_216_MSG);
                 $lVr->getNumero()->addErreur($lErreur);
             }
         }
     }
     return $lVr;
 }