/** * @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; }
/** * @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; }
$lErreur->setMessage(MessagesErreurs::ERR_338_MSG); $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 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; }