/**
  * @name validAffiche($pData)
  * @return AdherentVR
  * @desc Test la validite de l'élément
  */
 public static function validAffiche($pData)
 {
     $lVr = new AdherentVR();
     //Tests inputs
     if (!isset($pData['idAdherent'])) {
         $lVr->setValid(false);
         $lVr->getId()->setValid(false);
         $lErreur = new VRerreur();
         $lErreur->setCode(MessagesErreurs::ERR_201_CODE);
         $lErreur->setMessage(MessagesErreurs::ERR_201_MSG);
         $lVr->getId()->addErreur($lErreur);
     }
     if ($lVr->getValid()) {
         if (!is_int((int) $pData['idAdherent'])) {
             $lVr->setValid(false);
             $lVr->getId()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_104_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_104_MSG);
             $lVr->getId()->addErreur($lErreur);
         }
         // Vérifie si l'adhérent existe
         $lAdherent = AdherentViewManager::select($pData['idAdherent']);
         if ($lAdherent->getAdhId() != $pData['idAdherent']) {
             $lVr = new TemplateVR();
             $lVr->setValid(false);
             $lVr->getLog()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_216_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_216_MSG);
             $lVr->getLog()->addErreur($lErreur);
         }
     }
     return $lVr;
 }
示例#2
0
 /**
  * @name executerRequeteInsertRetourId ($requete)
  * @param string 
  * @return integer
  * @desc Exécute la requête d'insertion passée en paramètre et retourne l'identifiant généré par la BDD
  */
 public static function executerRequeteInsertRetourId($pRequete)
 {
     $lDb = DbUtils::creerConnexion();
     $lResultat = @mysql_query($pRequete);
     if (!$lResultat) {
         // Initialisation du Logger
         $lLogger =& Log::singleton('file', CHEMIN_FICHIER_LOGS);
         $lLogger->setMask(Log::MAX(LOG_LEVEL));
         $lLogger->log(MessagesErreurs::ERR_603_MSG . " : " . mysql_error(), PEAR_LOG_DEBUG);
         // Maj des logs
         $lVr = new TemplateVR();
         $lVr->setValid(false);
         $lVr->getLog()->setValid(false);
         $lErreur = new VRerreur();
         $lErreur->setCode(MessagesErreurs::ERR_603_CODE);
         $lErreur->setMessage(MessagesErreurs::ERR_603_MSG);
         $lVr->getLog()->addErreur($lErreur);
         die($lVr->exportToJson());
     } else {
         //or die(MessagesErreurs::ERR_BDD_EXECUTION . " : <br>$pRequete<br>".mysql_error());
         $lId = mysql_insert_id();
         DbUtils::fermerConnexion($lDb);
         return $lId;
     }
 }
 /**
  * @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 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;
 }
                     $lVr->getLog()->addErreur($lErreur);
                     $_SESSION['msg'] = $lVr->exportToArray();
                     header('location:./index.php?m=MarcheHTML&v=AfficherReservation&fonction=afficher&id_marche=' . $_GET["id_marche"]);
                 } else {
                     $_SESSION['msg'] = $lPage->exportToArray();
                     header('location:./index.php?m=MarcheHTML&v=ReservationCommande&fonction=detailMarche&id_marche=' . $_GET["id_marche"]);
                 }
             }
         } else {
             if (isset($_GET["id_marche"])) {
                 // Il faut au moins un produit
                 include_once CHEMIN_CLASSES_VR . "VRerreur.php";
                 include_once CHEMIN_CLASSES_VR . "TemplateVR.php";
                 $lVr = new TemplateVR();
                 $lVr->setValid(false);
                 $lVr->getLog()->setValid(false);
                 $lErreur = new VRerreur();
                 $lErreur->setCode(MessagesErreurs::ERR_207_CODE);
                 $lErreur->setMessage(MessagesErreurs::ERR_207_MSG);
                 $lVr->getLog()->addErreur($lErreur);
                 $_SESSION['msg'] = $lVr->exportToArray();
                 header('location:./index.php?m=MarcheHTML&v=ReservationCommande&fonction=detailMarche&id_marche=' . $_GET["id_marche"]);
             }
         }
         break;
     default:
         $lLogger->log("Demande d'accés à ReservationCommande sans identifiant commande par : " . $_SESSION[ID_CONNEXION], PEAR_LOG_INFO);
         // Maj des logs
         header('location:./index.php');
         break;
 }
 /**
  * @name ajouterMarche($lParam)
  * @return AjoutCommandeResponse
  * @desc Ajoute la commande
  */
 public function ajouterMarche($lParam)
 {
     $lCommande = $lParam;
     $lVr = CommandeCompleteValid::validAjout($lCommande);
     if ($lVr->getValid()) {
         $lCommandeVO = CommandeCompleteToVO::convertFromArray($lCommande);
         $lMarcheService = new MarcheService();
         $lId = $lMarcheService->insert($lCommandeVO);
         if ($lId != null) {
             $lResponse = new AjoutCommandeResponse();
             $lResponse->setValid(true);
             $lResponse->setId($lId);
             $lResponse->setNumero($lId);
             return $lResponse;
         } else {
             $lVr = new TemplateVR();
             $lVr->setValid(false);
             $lVr->getLog()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_113_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_113_MSG);
             $lVr->getLog()->addErreur($lErreur);
             return $lVr;
         }
     }
     return $lVr;
 }
 /**
  * @name validDelete($pData)
  * @return NomProduitVR
  * @desc Test la validite de l'élément
  */
 public static function validDelete($pData)
 {
     $lVr = new NomProduitVR();
     //Tests inputs
     if (!isset($pData['id'])) {
         $lVr->setValid(false);
         $lVr->getId()->setValid(false);
         $lErreur = new VRerreur();
         $lErreur->setCode(MessagesErreurs::ERR_201_CODE);
         $lErreur->setMessage(MessagesErreurs::ERR_201_MSG);
         $lVr->getId()->addErreur($lErreur);
     }
     if ($lVr->getValid()) {
         if (!is_int((int) $pData['id'])) {
             $lVr->setValid(false);
             $lVr->getId()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_104_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_104_MSG);
             $lVr->getId()->addErreur($lErreur);
         }
         $lNomProduit = NomProduitManager::select($pData['id']);
         if ($lNomProduit->getId() != $pData['id']) {
             $lVr = new TemplateVR();
             $lVr->getId(false);
             $lVr->getLog()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_216_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_216_MSG);
             $lVr->getId()->addErreur($lErreur);
         }
     }
     return $lVr;
 }
 /**
  * @name insert($pAdherent)
  * @param AdherentVO
  * @return AdherentVO
  * @desc Ajoute un adherent
  */
 private function insert($pAdherent)
 {
     // Initialisation du Logger
     $lLogger =& Log::singleton('file', CHEMIN_FICHIER_LOGS);
     $lLogger->setMask(Log::MAX(LOG_LEVEL));
     // Si pas de liaison création d'un nouveau compte
     $lNvCompte = false;
     if ($pAdherent->getIdCompte() == 0) {
         // Création d'un nouveau compte
         $lCompte = new CompteVO();
         $lCompteService = new CompteService();
         $lCompte = $lCompteService->set($lCompte);
         $pAdherent->setIdCompte($lCompte->getId());
         // Laision avec l'adhérent
         $lNvCompte = true;
     }
     // Insertion de la première mise à jour
     $pAdherent->setDateMaj(StringUtils::dateTimeAujourdhuiDb());
     // L'adherent n'est pas supprimé
     $pAdherent->setEtat(1);
     // Mise en forme des données
     $pAdherent->setNom(StringUtils::formaterNom(trim($pAdherent->getNom())));
     $pAdherent->setPrenom(StringUtils::formaterPrenom(trim($pAdherent->getPrenom())));
     $pAdherent->setCourrielPrincipal(trim($pAdherent->getCourrielPrincipal()));
     $pAdherent->setCourrielSecondaire(trim($pAdherent->getCourrielSecondaire()));
     $pAdherent->setTelephonePrincipal(trim($pAdherent->getTelephonePrincipal()));
     $pAdherent->setTelephoneSecondaire(trim($pAdherent->getTelephoneSecondaire()));
     $pAdherent->setAdresse(trim($pAdherent->getAdresse()));
     $pAdherent->setCodePostal(trim($pAdherent->getCodePostal()));
     $pAdherent->setVille(StringUtils::formaterVille(trim($pAdherent->getVille())));
     $pAdherent->setCommentaire(trim($pAdherent->getCommentaire()));
     // Protection des dates vides
     if ($pAdherent->getDateNaissance() == '') {
         $pAdherent->setDateNaissance(StringUtils::FORMAT_DATE_NULLE);
     }
     if ($pAdherent->getDateAdhesion() == '') {
         $pAdherent->setDateAdhesion(StringUtils::FORMAT_DATE_NULLE);
     }
     if ($pAdherent->getDateMaj() == '') {
         $pAdherent->setDateMaj(StringUtils::FORMAT_DATE_NULLE);
     }
     // Enregistre l'adherent dans la BDD
     $lIdAdherent = AdherentManager::insert($pAdherent);
     if ($lNvCompte) {
         // Création d'un compte
         $lCompte = $lCompteService->get($lCompte->getId());
         $lCompte->setIdAdherentPrincipal($lIdAdherent);
         // Positionnement de l'adhérent en adhérent principal du compte
         $lCompteService->set($lCompte);
     } else {
         // Liaison avec un autre compte
         // Les adhérents du compte
         $lListeAdherent = $this->selectActifByIdCompte($pAdherent->getIdCompte());
         // Le premier adhérent
         $lAdherent = $lListeAdherent[0];
         $lAdhesionService = new AdhesionService();
         // Les adhésions sur le premier adhérent
         $lAdhesions = $lAdhesionService->getAdhesionSurAdherent($lAdherent->getId());
         // Positionne les mêmes adhésions
         foreach ($lAdhesions as $lAdhesion) {
             if (!is_null($lAdhesion->getAdadId())) {
                 $lAdhesionAdherentDetail = $lAdhesionService->getAdhesionAdherent($lAdhesion->getAdadId());
                 $lAdhesionAdherent = $lAdhesionAdherentDetail->getAdhesionAdherent();
                 $lTypeAdhesion = $lAdhesionService->getTypeAdhesion($lAdhesionAdherent->getIdTypeAdhesion());
                 if ($lTypeAdhesion->getIdPerimetre() == 2) {
                     // Si type d'adhésion sur périmètre compte
                     $lAdhesionAdherent->setId('');
                     $lAdhesionAdherent->setIdAdherent($lIdAdherent);
                     $lAdhesionService->setAdhesionAdherent($lAdhesionAdherent);
                 }
             }
         }
     }
     $pAdherent->setId($lIdAdherent);
     $pAdherent->setNumero('Z' . $lIdAdherent);
     // Mise à jour du numéro dans l'objet
     AdherentManager::update($pAdherent);
     // Mise à jour de la base
     // Ajout des autorisations de l'adherent
     $lModuleService = new ModuleService();
     $lModulesDefaut = $lModuleService->selectAllDefautVisible();
     $lAutorisations = array();
     foreach ($lModulesDefaut as $lModule) {
         $lAutorisation = new AutorisationVO();
         $lAutorisation->setIdAdherent($lIdAdherent);
         $lAutorisation->setIdModule($lModule->getId());
         //AutorisationManager::insert($lAutorisation);
         array_push($lAutorisations, $lAutorisation);
     }
     if (!empty($lAutorisations)) {
         AutorisationManager::insertByArray($lAutorisations);
     }
     //$lAdherent = AdherentManager::select($lIdAdherent);
     // Insertion des informations de connexion
     $lMdp = MotDePasseUtils::generer();
     $lIdentification = new IdentificationVO();
     $lIdentification->setIdLogin($lIdAdherent);
     $lIdentification->setLogin($pAdherent->getNumero());
     $lIdentification->setPass(md5($lMdp));
     $lIdentification->setType(1);
     $lIdentification->setAutorise(1);
     IdentificationManager::insert($lIdentification);
     // Ajout à la mailing liste
     $lMailingListeService = new MailingListeService();
     if ($pAdherent->getCourrielPrincipal() != "") {
         $lMailingListeService->insert($pAdherent->getCourrielPrincipal());
     }
     if ($pAdherent->getCourrielSecondaire() != "") {
         $lMailingListeService->insert($pAdherent->getCourrielSecondaire());
     }
     // Envoi du mail de confirmation
     if ($pAdherent->getCourrielPrincipal() != "") {
         $lTo = $pAdherent->getCourrielPrincipal();
     } else {
         if ($pAdherent->getCourrielSecondaire() != "") {
             $lTo = $pAdherent->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 = "Votre Compte zeybux";
     $lContenu = file_get_contents(CHEMIN_TEMPLATE . MOD_GESTION_ADHERENTS . "/" . "MailAjoutAdherent.html");
     $lContenu = str_replace(array("{LOGIN}", "{MOT_PASSE}", "{PROP_NOM}", "{ZEYBUX_ADRESSE_SITE}"), array($pAdherent->getNumero(), $lMdp, PROP_NOM, ZEYBUX_ADRESSE_SITE), $lContenu);
     $lHeaders = file_get_contents(CHEMIN_TEMPLATE . COMMUN_TEMPLATE . "/" . "EnteteMail.html");
     $lHeaders = str_replace("{FROM}", $lFrom, $lHeaders);
     $VerifEnvoiMail = TRUE;
     $VerifEnvoiMail = @mail($lTo, $lSujet, $lContenu, $lHeaders);
     if ($VerifEnvoiMail === FALSE) {
         $lVr = new TemplateVR();
         $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 création de l'adhérent " . $pAdherent->getNumero() . "par : " . $_SESSION[ID_CONNEXION] . ".", PEAR_LOG_INFO);
         // Maj des logs
         $lLogger->log($lVr->export(), PEAR_LOG_INFO);
         // Maj des logs
     } else {
         $lLogger->log("Envoi du mail de création de l'adhérent " . $pAdherent->getNumero() . "par : " . $_SESSION[ID_CONNEXION] . ".", PEAR_LOG_INFO);
         // Maj des logs
     }
     return $pAdherent;
 }