public function modifier($id) { $aAuthentification = new archiAuthentification(); $u = new archiUtilisateur(); $html = "<script src='js/confirm.js'></script>"; $ajoutOk = false; $formulaire = new formGenerator(); $mail = new mailObject(); // ************************************************************************************************************************************* // recuperation de l'idHistoriqueEvenement Courant pour le renvoyer en tant que idHistoriquePrecedent a la fin de la modification ( visualisation de l'administrateur de l'ancien evenement) // ************************************************************************************************************************************* $reqIdHistoriqueEvenementAvantModif = "\n SELECT he1.idHistoriqueEvenement as idHistoriqueEvenementAvantModif\n FROM historiqueEvenement he2,historiqueEvenement he1\n\n WHERE he2.idEvenement = he1.idEvenement\n AND he1.idEvenement = '" . $id . "'\n GROUP BY he1.idEvenement,he1.idHistoriqueEvenement\n HAVING he1.idHistoriqueEvenement=max(he2.idHistoriqueEvenement)\n "; $resIdHistoriqueEvenementAvantModif = $this->connexionBdd->requete($reqIdHistoriqueEvenementAvantModif); $fetchIdHistoriqueEvenementAvantModif = mysql_fetch_assoc($resIdHistoriqueEvenementAvantModif); $idHistoriqueEvenementAvantModif = $fetchIdHistoriqueEvenementAvantModif['idHistoriqueEvenementAvantModif']; // ************************************************************************************************************************************* //$idHistoriqueEvenementAvantModif =$id; // ************************************************************************************************************************************* $idHistoriqueEvenementNouveau = 0; // cette variable va contenir le nouvel idHistoriqueEvenement une fois celui ci créé $idProfilUtilisateur = $u->getIdProfilFromUtilisateur($aAuthentification->getIdUtilisateur()); if (!$formulaire->estChiffre($id)) { $this->erreurs->ajouter('Modification d\'un événement : l\'identifiant est incorrect !'); } if ($aAuthentification->estConnecte() != true) { $this->erreurs->ajouter('Modification d\'un événement : vous n\'etes pas connecté !'); } elseif (isset($this->variablesPost['evenementSimple'])) { // evenementSimple correspond au nom du bouton submit du formulaire, on enregistre les modifications // modification de l'evnement $afficheFormulaire = true; $tabForm = $this->getEvenementFields('nouveauDossier'); // memes champs qu'un ajout $erreur = $formulaire->getArrayFromPost($tabForm); if (count($erreur) == 0) { $this->connexionBdd->getLock(array('evenements')); $ajoutOk = true; $nouvelEnregistrement = false; $nouvelleLiaison = false; $tabAncien = $this->recupTableauTravail($id); //$tabForm['idEvenement']['value'] // **************************************************************************************** // ici on va chercher s'il existe des differences entre l'enregistrement de l'evenement précédent et les nouvelles données, // s'il n'y a pas de différences , on ne modifie rien // s'il y a des différences , on ajoute un nouvel historique a l'evenement existant // **************************************************************************************** $tabDesChampEntrainantNouveauEvenement = array('titre', 'description', 'dateDebut', 'dateFin', 'source', 'typeStructure', 'typeEvenement', 'nbEtages', 'ISMH', 'MH', 'isDateDebutEnviron', 'numeroArchive'); foreach ($tabDesChampEntrainantNouveauEvenement as $champ) { if ($tabForm[$champ]['value'] != $tabAncien[$champ]['value']) { $nouvelEnregistrement = true; } } // **************************************************************************************** // ici on cherche s'il y a des différences au niveau des tables qui sont liées // **************************************************************************************** $tabDesChampDeLiaison = array('courant', 'personnes'); //'adresses', 'evenements' foreach ($tabDesChampDeLiaison as $champ) { if (is_array($tabForm[$champ]['value'])) { $taille_intersection = count(array_intersect($tabForm[$champ]['value'], $tabAncien[$champ]['value'])); $taille_ancien = count($tabAncien[$champ]['value']); $taille_nouveau = count($tabForm[$champ]['value']); if ($taille_intersection != $taille_ancien or $taille_intersection != $taille_nouveau) { $isModifLiaison[$champ] = 1; $nouvelleLiaison = true; } } } if ($nouvelEnregistrement == true) { //******************************************** //** AJOUT d'un nouvel historique a l'evenement existant ** //******************************************** $titre = mysql_escape_string($tabForm['titre']['value']); $description = mysql_escape_string($tabForm['description']['value']); $dateDebut = $this->date->toBdd($this->date->convertYears($tabForm['dateDebut']['value'])); if ($idProfilUtilisateur == 3 || $idProfilUtilisateur == 2 || $idProfilUtilisateur == 1) { //$dateFin = $this->date->toBdd($tabAncien['dateFin']['value']); $idSource = $tabAncien['source']['value']; $nbEtages = $tabAncien['nbEtages']['value']; } else { //$dateFin = $this->date->toBdd($this->date->convertYears($tabForm['dateFin']['value'])); $idSource = $tabForm['source']['value']; $nbEtages = $tabForm['nbEtages']['value']; } $dateFin = $this->date->toBdd($this->date->convertYears($tabForm['dateFin']['value'])); $idUtilisateur = $aAuthentification->getIdUtilisateur(); $idTypeStructure = $tabForm['typeStructure']['value']; $idTypeEvenement = $tabForm['typeEvenement']['value']; $ISMH = $tabForm['ISMH']['value']; $MH = $tabForm['MH']['value']; $isDateDebutEnviron = $tabForm['isDateDebutEnviron']['value']; $numeroArchive = $tabForm['numeroArchive']['value']; debug($idHistoriqueEvenementNouveau); // debug if ($nbEtages == '') { $nbEtages = 0; } $idEvenement = $id; //$tabForm['idEvenement']['value']; $sqlHistoriqueEvenement = "INSERT INTO evenements ( titre, description, dateDebut, dateFin, idSource, idUtilisateur, idTypeStructure, idTypeEvenement, dateCreationEvenement,nbEtages, ISMH , MH, isDateDebutEnviron,numeroArchive)\n\t\t\t\t\t\t\tVALUES (\"" . $titre . "\", \"" . $description . "\", '" . $dateDebut . "', '" . $dateFin . "', " . $idSource . ", " . $idUtilisateur . ", '" . $idTypeStructure . "', '" . $idTypeEvenement . "', NOW(),'" . $nbEtages . "','" . $ISMH . "','" . $MH . "','" . $isDateDebutEnviron . "',\"" . $numeroArchive . "\")"; $sqlHistoriqueEvenement = "\n\t\t\t\t\t\t\tUPDATE evenements\n\t\t\t\t\t\t\tSET titre= '" . $titre . "',\n\t\t\t\t\t\t\tdescription = '" . $description . "',\n\t\t\t\t\t\t\tdateDebut = '" . $dateDebut . "',\n\t\t\t\t\t\t\tdateFin = '" . $dateFin . "',\n\t\t\t\t\t\t\tidSource = '" . $idSource . "',\n\t\t\t\t\t\t\tidUtilisateur = '" . $idUtilisateur . "',\n\t\t\t\t\t\t\tidTypeStructure = '" . $idTypeStructure . "',\n\t\t\t\t\t\t\tidTypeEvenement = '" . $idTypeEvenement . "',\n\t\t\t\t\t\t\tdateCreationEvenement = NOW(),\n\t\t\t\t\t\t\tnbEtages = '" . $nbEtages . "',\n\t\t\t\t\t\t\tISMH ='" . $ISMH . "',\n\t\t\t\t\t\t\tMH = '" . $MH . "',\n\t\t\t\t\t\t\tisDateDebutEnviron='" . $isDateDebutEnviron . "',\n\t\t\t\t\t\t\tnumeroArchive='" . $numeroArchive . "'\n\t\t\t\t\t\t\tWHERE idEvenement = " . $idEvenement . "\n\n\n\t\t\t\t\t\t\t"; $this->connexionBdd->requete($sqlHistoriqueEvenement); $requeteNouvelIdHistoriqueEvenement = "\n\t\t\t\t\t\t\tSELECT idHistoriqueEvenement\n\t\t\t\t\t\t\tFROM historiqueEvenement\n\t\t\t\t\t\t\tWHERE idEvenement = " . $idEvenement . "\n\t\t\t\t\t\t\tORDER BY idHistoriqueEvenement DESC\n\t\t\t\t\t\t\tLIMIT 1\n\t\t\t\t\t\t\t"; $resNouvelIdHistoEvt = $this->connexionBdd->requete($requeteNouvelIdHistoriqueEvenement); $fetchIdHistoEvt = mysql_fetch_assoc($resNouvelIdHistoEvt); $idHistoriqueEvenementNouveau = $fetchIdHistoEvt['idHistoriqueEvenement']; debug(array($sqlHistoriqueEvenement, $sqlHistoriqueEvenement, $requeteNouvelIdHistoriqueEvenement)); // recuperation de l'idEvenementGroupeAdresse $idEvGA = $this->getIdEvenementGroupeAdresseFromIdEvenement($idEvenement); // mise a jour des positions (la fonction verifiera d'abord si la date a ete changé avant de mettre a jour , sinon c'est pas la peine $this->majPositionsEvenements(array("idEvenementGroupeAdresse" => $idEvGA, "idEvenementModifie" => $idEvenement)); } /*if ($nouvelleLiaison == true) {*/ $idEvenement = $id; //$tabForm['idEvenement']['value']; // ******************************************************************************************************** // GESTION DES COURANTS ARCHITECTURAUX if (is_array($tabForm['courant']['value']) && count($tabForm['courant']['value']) > 0) { $sqlNettoyeCourantArchitectural = 'DELETE FROM _evenementCourantArchitectural WHERE idEvenement=' . $idEvenement; $sqlEvenementCourantArchitectural = 'INSERT INTO _evenementCourantArchitectural (idCourantArchitectural, idEvenement) VALUES '; foreach (array_unique($tabForm['courant']['value']) as $idCourant) { $sqlEvenementCourantArchitectural .= '(' . $idCourant . ', ' . $idEvenement . '),'; } $sqlEvenementCourantArchitectural = pia_substr($sqlEvenementCourantArchitectural, 0, -1); $this->connexionBdd->requete($sqlNettoyeCourantArchitectural); $this->connexionBdd->requete($sqlEvenementCourantArchitectural); } elseif (isset($tabForm['courant']['value']) && !is_array($tabForm['courant']['value'])) { $sqlNettoyeCourantArchitectural = 'DELETE FROM _evenementCourantArchitectural WHERE idEvenement=' . $idEvenement; $this->connexionBdd->requete($sqlNettoyeCourantArchitectural); } // ******************************************************************************************************** // ******************************************************************************************************** // GESTION DES PERSONNES if ($idProfilUtilisateur == 2 || $idProfilUtilisateur == 1) { // la modif des personnes est authorisee seulement pour les moderateurs et les admins } else { if (is_array($tabForm['personnes']['value']) && count($tabForm['personnes']['value']) > 0) { $sqlNettoyePersonne = 'DELETE FROM _evenementPersonne WHERE idEvenement=' . $idEvenement; $this->connexionBdd->requete($sqlNettoyePersonne); if (isset($tabForm['personnes']['value']) && count($tabForm['personnes']['value']) > 0) { $sqlEvenementPersonne = 'INSERT INTO _evenementPersonne (idPersonne, idEvenement) VALUES '; foreach (array_unique($tabForm['personnes']['value']) as $idPersonne) { $sqlEvenementPersonne .= '(' . $idPersonne . ', ' . $idEvenement . '),'; } $sqlEvenementPersonne = pia_substr($sqlEvenementPersonne, 0, -1); $this->connexionBdd->requete($sqlEvenementPersonne); } } else { // de toute facon on nettoie les valeurs si le champ est vide $sqlNettoyePersonne = 'DELETE FROM _evenementPersonne WHERE idEvenement=' . $idEvenement; $this->connexionBdd->requete($sqlNettoyePersonne); } } // ******************************************************************************************************** /* if (isset($isModifLiaison['adresses'])) { $sqlNettoyeAdresse = 'DELETE FROM _adresseEvenement WHERE idEvenement='.$idEvenement; $this->connexionBdd->requete($sqlNettoyeAdresse); if (!empty($tabForm['adresses']['value'])) { $sqlAdresseEvenement = 'INSERT INTO _adresseEvenement (idAdresse, idEvenement) VALUES '; foreach ( array_unique($tabForm['adresses']['value']) AS $idAdresse) { $sqlAdresseEvenement .= '('.$idAdresse.', '.$idEvenement.'),'; } $sqlAdresseEvenement = pia_substr( $sqlAdresseEvenement, 0, -1); $this->connexionBdd->requete($sqlAdresseEvenement); } } if (isset($isModifLiaison['evenements'])) { $sqlNettoyeEvenement = 'DELETE FROM _evenementEvenement WHERE idEvenement='.$idEvenement; $this->connexionBdd->requete($sqlNettoyeEvenement); if (!empty($tabForm['evenements']['value'])) { $sqlEvenementEvenement = 'INSERT INTO _evenementEvenement (idEvenementAssocie, idEvenement) VALUES '; foreach ( array_unique($tabForm['evenements']['value']) AS $idEvenementParent) { $sqlEvenementEvenement .= '('.$idEvenement.', '.$idEvenementParent.'),'; } $sqlEvenementEvenement = pia_substr( $sqlEvenementEvenement, 0, -1); $this->connexionBdd->requete($sqlEvenementEvenement); } }*/ //} $this->connexionBdd->freeLock(array('historiqueEvenement')); } } elseif (isset($this->variablesPost['evenementGroupeAdresse']) && $this->variablesPost['evenementGroupeAdresse'] != '') { // on est connecté $this->connexionBdd->getLock(array('_adresseEvenement')); // cas d'un groupe d'adresse ( le formulaire d'ou l'on provient ne comporte que des listes d'adresses // on enregistre les adresses liees $idEvenementGroupeAdresse = $this->variablesPost['evenementGroupeAdresse']; // ajout des nouvelles adresses liées if (isset($this->variablesPost['adresses'])) { // on supprime d'abord les anciennes adresses liées $resSupprimer = $this->connexionBdd->requete("delete from _adresseEvenement where idEvenement = '" . $idEvenementGroupeAdresse . "'"); // et on lie les nouvelles adresses foreach ($this->variablesPost['adresses'] as $indice => $idAdresse) { $resInsert = $this->connexionBdd->requete("insert into _adresseEvenement (idEvenement,idAdresse) values ('" . $idEvenementGroupeAdresse . "','" . $idAdresse . "') "); } } $ajoutOk = true; $this->connexionBdd->freeLock(array('_adresseEvenement')); } if ($ajoutOk === true) { // ************************************************************************************************************************************************ // envoi d'un mail a l'auteur de l'adresse // ************************************************************************************************************************************************ $utilisateur = new archiUtilisateur(); $arrayUtilisateurs = $utilisateur->getCreatorsFromAdresseFrom($idHistoriqueEvenementNouveau, 'idHistoriqueEvenement'); $adresse = new archiAdresse(); $intituleAdresse = $adresse->getIntituleAdresseFrom($id, 'idEvenement'); $idEvenementGroupeAdresse = $this->getIdEvenementGroupeAdresseFromIdEvenement($id); if ($idPerson = archiPersonne::isPerson($idEvenementGroupeAdresse)) { header("Location: " . $this->creerUrl('', '', array('archiAffichage' => 'evenementListe', 'selection' => "personne", 'id' => $idPerson), false, false)); } $reqAdresses = $adresse->getIdAdressesFromIdEvenement(array('idEvenement' => $id)); $resAdresses = $this->connexionBdd->requete($reqAdresses); $fetchAdresses = mysql_fetch_assoc($resAdresses); foreach ($arrayUtilisateurs as $indice => $idUtilisateurAdresse) { if ($idUtilisateurAdresse != $aAuthentification->getIdUtilisateur()) { $infosUtilisateur = $utilisateur->getArrayInfosFromUtilisateur($idUtilisateurAdresse); if ($infosUtilisateur['alerteAdresses'] == '1' && $infosUtilisateur['idProfil'] != '4' && $infosUtilisateur['compteActif'] == '1') { $messageDebut = "Un utilisateur a modifié une adresse dont vous êtes l'auteur."; $messageDebut .= "Pour vous rendre sur l'événement : <a href='" . $this->creerUrl('', '', array('archiAffichage' => 'adresseDetail', 'archiIdAdresse' => $fetchAdresses['idAdresse'], 'archiIdEvenementGroupeAdresse' => $idEvenementGroupeAdresse)) . "'>" . $intituleAdresse . "</a><br>"; $messageFin = $this->getMessageDesabonnerAlerteMail(); if ($utilisateur->isMailEnvoiImmediat($idUtilisateurAdresse)) { $mail->sendMail($mail->getSiteMail(), $infosUtilisateur['mail'], 'Mise a jour d\'un événement d\'une adresse dont vous êtes l\'auteur. - ' . $intituleAdresse, $messageDebut . $messageFin, true); } else { $utilisateur->ajouteMailEnvoiRegroupes(array('contenu' => $messageDebut, 'idDestinataire' => $idUtilisateurAdresse, 'idTypeMailRegroupement' => 11)); } } } } // ************************************************************************************************************************************************ // $message = "Un événement a été édité.<br> Il concerne l'adresse : {$intituleAdresse}<br> <a href='" . $this->creerUrl('', 'comparaisonEvenement', array('idHistoriqueEvenementNouveau' => $idHistoriqueEvenementNouveau, 'idHistoriqueEvenementAncien' => $idHistoriqueEvenementAvantModif)) . "'>Comparer les deux versions</a></br>"; // recuperation des infos sur l'utilisateur qui fais la modif $utilisateur = new archiUtilisateur(); $arrayInfosUtilisateur = $utilisateur->getArrayInfosFromUtilisateur($this->session->getFromSession('utilisateurConnecte' . $this->idSite)); $message .= "<br>" . $arrayInfosUtilisateur['nom'] . " - " . $arrayInfosUtilisateur['prenom'] . " - " . $arrayInfosUtilisateur['mail'] . "<br>"; $mail->sendMailToAdministrators($mail->getSiteMail(), "Edition d'un événement - " . $intituleAdresse, $message, " AND alerteAdresses='1' ", true); $utilisateur->ajouteMailEnvoiRegroupesAdministrateurs(array('contenu' => $message, 'idTypeMailRegroupement' => 11, 'criteres' => " and alerteAdresses='1' ")); // affichage du detail de l'adresse $reqAdresse = $adresse->getIdAdressesFromIdEvenement(array('idEvenement' => $id)); $resAdresse = $this->connexionBdd->requete($reqAdresse); $fetchAdresse = mysql_fetch_assoc($resAdresse); if ($idPerson = archiPersonne::isPerson($idEvenementGroupeAdresse)) { header("Location: " . $this->creerUrl('', '', array('archiAffichage' => 'evenementListe', 'selection' => "personne", 'id' => $idPerson), false, false)); } else { header("Location: " . $this->creerUrl('', '', array('archiAffichage' => 'adresseDetail', 'archiIdAdresse' => $fetchAdresse['idAdresse'], 'archiIdEvenementGroupeAdresse' => $idEvenementGroupeAdresse), false, false)); } // ************************************************************************************************************************************************************* // envoi mail aussi au moderateur si ajout sur adresse de ville que celui ci modere $u = new archiUtilisateur(); if ($idHistoriqueEvenementNouveau != 0) { $reqAdresses = $adresse->getIdAdressesFromIdEvenement(array('idEvenement' => $id)); $resAdresses = $this->connexionBdd->requete($reqAdresses); $arrayVilles = array(); while ($fetchAdresses = mysql_fetch_assoc($resAdresses)) { $arrayVilles[] = $adresse->getIdVilleFrom($fetchAdresses['idAdresse'], 'idAdresse'); } $arrayVilles = array_unique($arrayVilles); $arrayListeModerateurs = $u->getArrayIdModerateursActifsFromVille($arrayVilles[0], array("sqlWhere" => " AND alerteAdresses='1' ")); if (count($arrayListeModerateurs) > 0) { foreach ($arrayListeModerateurs as $indice => $idModerateur) { if ($idModerateur != $this->session->getFromSession('utilisateurConnecte' . $this->idSite)) { if ($u->isMailEnvoiImmediat($idModerateur)) { $mailModerateur = $u->getMailUtilisateur($idModerateur); $mail->sendMail($mail->getSiteMail(), $mailModerateur, "Edition d'un événement - " . $intituleAdresse, $message, true); } else { $u->ajouteMailEnvoiRegroupes(array('contenu' => $message, 'idDestinataire' => $idModerateur, 'idTypeMailRegroupement' => 11)); } } } } } // ************************************************************************************************************************************************************* // on libere l'element $this->connexionBdd->freeLock(array('evenement' . $id), array('idUtilisateur' => $aAuthentification->getIdUtilisateur())); } else { // est ce que l'element est deja en cours d'edition if ($this->connexionBdd->isLocked('evenement' . $id, $aAuthentification->getIdUtilisateur())) { $this->erreurs->ajouter(_("Cet événement est déjà en cours d'édition. Veuillez retenter dans quelques minutes.")); //echo $this->erreurs->afficher(); } else { // reservation de l'element $this->connexionBdd->getLock(array('evenement' . $id), array('minutes' => 10, 'idUtilisateur' => $aAuthentification->getIdUtilisateur())); // affichage du formulaire de modifications // pour eviter les problemes d'affichage d'erreur si l'utilisateur utilise le bouton de retour du navigateur quand l'evenement a été supprimé , on va afficher un message si l'evenement n'existe pas $reqVerif = "SELECT 0 FROM evenements WHERE idEvenement = '{$id}'"; $resVerif = $this->connexionBdd->requete($reqVerif); if (mysql_num_rows($resVerif) > 0) { $tabForm = $this->recupTableauTravail($id); $html .= $this->afficheFormulaire($tabForm, $id); } else { $html .= "L'événement n'existe pas."; } } } return $html; }
/** * Renvoi l'idProfil de l'utilisateur connecté * * @return int ID * */ public function getIdProfil() { $idUtilisateurConnecte = 0; if ($this->session->isInSession('utilisateurConnecte' . $this->idSite)) { $idUtilisateurConnecte = $this->session->getFromSession('utilisateurConnecte' . $this->idSite); } $u = new archiUtilisateur(); return intval($u->getIdProfilFromUtilisateur($idUtilisateurConnecte)); }
/** * Affichage du formulaire d'ajout d'un nouveau dossier (groupe d'adresse + evenement construction) * * @param array $parametres Paramètres * @param string $type Type (adresse ou personne) * * @return void * */ public function afficheFormulaireNouveauDossier($parametres = array(), $type = "adresse") { $html = ""; // initialisation de l'objet googlemap pour la recuperation des coordonnees $paramsGoogleMap = array('googleMapKey' => $this->googleMapKey); $googleMap = new googleMap($paramsGoogleMap); $html .= $googleMap->getJsFunctions(); $html .= $googleMap->getJSInitGeoCoder(); $t = new Template('modules/archi/templates/'); $t->set_filenames(array('nouveauDossier' => 'nouveauDossier.tpl')); if ($type == "personne") { $formAction = "ajoutNouvelPersonne"; $t->assign_block_vars("ajoutPersonne", array()); $resJobs = $this->connexionBdd->requete("SELECT * FROM `metier`"); $jobList = ""; while ($job = mysql_fetch_assoc($resJobs)) { if (!empty($job["nom"])) { $jobList .= "<option value='" . $job["idMetier"] . "'"; if (isset($_POST["metier"]) && $job["idMetier"] == $_POST["metier"]) { $jobList .= " selected='selected' "; } $jobList .= ">" . $job["nom"] . "</option>"; } } $t->assign_vars(array('titrePage' => _("Ajout d'une nouvelle personne (physique ou morale)"), "jobList" => $jobList, "typeBoutonValidation" => "submit")); if (!empty($_POST) && !isset($_POST["archiLogin"])) { $t->assign_vars(array("firstname" => $_POST["prenom"], "name" => $_POST["nom"], "birth" => $_POST["dateNaissance"], "death" => $_POST["dateDeces"], "desc" => $_POST["descriptionPerson"])); } } else { $formAction = "ajoutNouveauDossier"; if (!isset($arrayJsCoordonneesFromGoogleMap['jsFunctionCall'])) { $arrayJsCoordonneesFromGoogleMap['jsFunctionCall'] = 0; } // assignation du titre de la page $t->assign_vars(array('titrePage' => _("Ajout d'une nouvelle adresse"), 'typeBoutonValidation' => "submit")); // ******** // on affiche la partie ajout d'une adresse $t->assign_block_vars('isNotAjoutSousEvenement', array()); // ******** } // ******** // on affiche la partie "ajout d'un evenement" $t->assign_block_vars('afficheAjoutEvenement', array()); // ******* // ****** // si la personne n'est pas admin elle verra une version simplifiée du formulaire $authentification = new archiAuthentification(); $u = new archiUtilisateur(); if ($authentification->estConnecte() && ($authentification->estAdmin() || $u->canAddWithoutStreet(array('idUtilisateur' => $authentification->getIdUtilisateur())))) { $t->assign_block_vars('afficheAjoutEvenement.isAdmin', array()); $t->assign_vars(array("displayQuartiers" => 'table-row')); $t->assign_vars(array("displaySousQuartiers" => 'table-row')); } else { $t->assign_block_vars('afficheAjoutEvenement.isNotAdmin', array()); $t->assign_vars(array("displayQuartiers" => 'none')); $t->assign_vars(array("displaySousQuartiers" => 'none')); } // ****** $typeStructure = 0; if (isset($this->variablesPost['typeStructure']) && $this->variablesPost['typeStructure'] != '') { $typeStructure = $this->variablesPost['typeStructure']; } $groupeTypeEvenement = 2; // par defaut on selectionne les evenement de type 'travaux' if (isset($this->variablesPost['typeGroupeEvenement']) && $this->variablesPost['typeGroupeEvenement'] != '') { $groupeTypeEvenement = $this->variablesPost['typeGroupeEvenement']; } $typeEvenement = 0; if (isset($this->variablesPost['typeEvenement']) && $this->variablesPost['typeEvenement'] != '') { $typeEvenement = $this->variablesPost['typeEvenement']; } if (!(isset($this->variablesPost['typeEvenement']) && $this->variablesPost['typeEvenement'] != '') && isset($this->variablesGet['archiOptionAjoutDossier']) && $this->variablesGet["archiOptionAjoutDossier"] == "nouvelleDemolition") { $groupeTypeEvenement = 2; // travaux $typeEvenement = 6; } if (!(isset($this->variablesPost['typeEvenement']) && $this->variablesPost['typeEvenement'] != '') && isset($this->variablesGet['archiOptionAjoutDossier']) && $this->variablesGet["archiOptionAjoutDossier"] == "nouvelEvenementCulturel") { $groupeTypeEvenement = 1; // travaux $typeEvenement = 0; } $ISMH = false; if (isset($this->variablesPost['ISMH'])) { $ISMH = true; } $MH = false; if (isset($this->variablesPost['MH'])) { $MH = true; } $isDateDebutEnviron = false; if (isset($this->variablesPost['isDateDebutEnviron'])) { $isDateDebutEnviron = true; } $personnes = array(); if (isset($this->variablesPost['personnes']) && count($this->variablesPost['personnes']) > 0) { $personnes = $this->variablesPost['personnes']; } $ville = 0; if (isset($this->variablesPost['ville']) && $this->variablesPost['ville'] != '0' && $this->variablesPost['ville'] != '') { $ville = $this->variablesPost['ville']; } // *********************************************************************************** // recuperation des valeurs des champs textes du formulaire validé, les autres champs sont mis en place individuellement $listeChamps = array('titre', 'source', 'sourcetxt', 'dateDebut', 'dateFin', 'nbEtages', 'description', 'ville', 'villetxt'); foreach ($listeChamps as $indice => $fieldName) { if (isset($this->variablesPost[$fieldName]) && $this->variablesPost[$fieldName] != '') { $t->assign_vars(array($fieldName => $this->variablesPost[$fieldName])); } } // gestion du favori de la ville ou si on a une ville generale courante if ($ville == '0' && !isset($this->variablesGet['archiIdVilleGeneral'])) { $reqVilleTxt = "select nom from ville where idVille = '" . $this->session->getFromSession('idVilleFavoris') . "'"; $resVilleTxt = $this->connexionBdd->requete($reqVilleTxt); $fetchVilleTxt = mysql_fetch_assoc($resVilleTxt); $t->assign_vars(array('ville' => $this->session->getFromSession('idVilleFavoris'), 'villetxt' => $fetchVilleTxt['nom'])); $ville = $this->session->getFromSession('idVilleFavoris'); } elseif (isset($this->variablesGet['archiIdVilleGeneral'])) { $reqVilleTxt = "select nom from ville where idVille = '" . $this->variablesGet['archiIdVilleGeneral'] . "'"; $resVilleTxt = $this->connexionBdd->requete($reqVilleTxt); $fetchVilleTxt = mysql_fetch_assoc($resVilleTxt); $t->assign_vars(array('ville' => $this->variablesGet['archiIdVilleGeneral'], 'villetxt' => $fetchVilleTxt['nom'])); $ville = $this->variablesGet['archiIdVilleGeneral']; } // *********************************************************************************** // si un idVille existe sur le formulaire , on affiche les quartiers correspondants if ($ville != 0) { $resQuartiers = $this->connexionBdd->requete("select idQuartier, nom from quartier where idVille = '" . $ville . "' order by nom"); while ($fetchQuartiers = mysql_fetch_assoc($resQuartiers)) { $selected = ""; if (isset($this->variablesPost['quartiers']) && $this->variablesPost['quartiers'] != '0' && $fetchQuartiers['idQuartier'] == $this->variablesPost['quartiers']) { $selected = " selected"; } if ($fetchQuartiers['nom'] != 'autre') { if ($type == "personne") { } else { $t->assign_block_vars("isNotAjoutSousEvenement.quartiers", array('id' => $fetchQuartiers['idQuartier'], 'nom' => $fetchQuartiers['nom'], 'selected' => $selected)); } } } } // *********************************************************************************** // si on a des personnes selectionnees , on les ajoute $d = new droitsObject(); $u = new archiUtilisateur(); if ($d->isAuthorized('personne_sur_evenement_ajouter', $u->getIdProfilFromUtilisateur($authentification->getIdUtilisateur()))) { $t->assign_vars(array("affichePersonnesBlock" => "table-row")); } else { $t->assign_vars(array("affichePersonnesBlock" => "none")); } if ($d->isAuthorized('affiche_selection_source', $u->getIdProfilFromUtilisateur($authentification->getIdUtilisateur()))) { $t->assign_block_vars('afficheAjoutEvenement.isDisplaySource', array()); } else { $t->assign_block_vars('afficheAjoutEvenement.isNotDisplaySource', array()); } if (count($personnes) > 0) { $listePersonnes = implode("', '", $personnes); $reqPersonnes = "select idPersonne, nom, prenom from personne where idPersonne in ('" . $listePersonnes . "')"; $resPersonnes = $this->connexionBdd->requete($reqPersonnes); while ($fetchPersonnes = mysql_fetch_assoc($resPersonnes)) { $t->assign_block_vars('personnes', array('id' => $fetchPersonnes['idPersonne'], 'nom' => $fetchPersonnes['nom'] . ' ' . $fetchPersonnes['prenom'], 'selected' => " selected")); } } // *********************************************************************************** // si un idQuartier existe sur le formulaire on affiche les sous quartier correspondants if (isset($this->variablesPost['quartiers']) && $this->variablesPost['quartiers'] != '') { $resSousQuartiers = $this->connexionBdd->requete("select idSousQuartier, nom from sousQuartier where idQuartier = '" . $this->variablesPost['quartiers'] . "' order by nom"); while ($fetchSousQuartiers = mysql_fetch_assoc($resSousQuartiers)) { $selected = ""; if (isset($this->variablesPost['sousQuartiers']) && $this->variablesPost['sousQuartiers'] != '0' && $fetchSousQuartiers['idSousQuartier'] == $this->variablesPost['sousQuartiers']) { $selected = " selected"; } if ($fetchSousQuartiers['nom'] != 'autre') { if ($type == "personne") { } else { $t->assign_block_vars("isNotAjoutSousEvenement.sousQuartiers", array('id' => $fetchSousQuartiers['idSousQuartier'], 'nom' => $fetchSousQuartiers['nom'], 'selected' => $selected)); } } } } $numLigne = 0; if (isset($this->variablesPost['idUnique'])) { foreach ($this->variablesPost['idUnique'] as $indice => $valueIdUnique) { if (isset($this->variablesGet['supprAdresse']) && $this->variablesGet['supprAdresse'] == $valueIdUnique) { // } else { $arrayAdresse[$numLigne]['idAdresse'] = 0; $arrayAdresse[$numLigne]['txt'] = $this->variablesPost['ruetxt'][$valueIdUnique]; $arrayAdresse[$numLigne]['id'] = $this->variablesPost['rue'][$valueIdUnique]; $arrayAdresse[$numLigne]['numero'] = $this->variablesPost['numero'][$valueIdUnique]; $arrayAdresse[$numLigne]['indicatif'] = $this->variablesPost['indicatif'][$valueIdUnique]; $numLigne++; } } if (isset($this->variablesPost['ajouterAdresse'])) { $arrayAdresse[$numLigne]['idAdresse'] = 0; $arrayAdresse[$numLigne]['txt'] = ""; $arrayAdresse[$numLigne]['id'] = ""; $arrayAdresse[$numLigne]['numero'] = ""; $arrayAdresse[$numLigne]['indicatif'] = ""; $numLigne++; } if (count($this->variablesPost['idUnique']) == 1 && isset($this->variablesPost['enleverAdresse'])) { $arrayAdresse[$numLigne]['idAdresse'] = 0; $arrayAdresse[$numLigne]['txt'] = ""; $arrayAdresse[$numLigne]['id'] = ""; $arrayAdresse[$numLigne]['numero'] = ""; $arrayAdresse[$numLigne]['indicatif'] = ""; $numLigne++; } } else { $arrayAdresse[$numLigne]['idAdresse'] = 0; $arrayAdresse[$numLigne]['txt'] = ""; $arrayAdresse[$numLigne]['id'] = ""; $arrayAdresse[$numLigne]['numero'] = ""; $arrayAdresse[$numLigne]['indicatif'] = ""; $numLigne++; } $configArrayRetrieveCoordonneesGoogleMap = array(); for ($i = 0; $i < $numLigne; $i++) { // affichage des indicatifs pour chaque adresse if ($type == "personne") { } else { $t->assign_block_vars("isNotAjoutSousEvenement.adresses", array('idUnique' => $i, 'onClickBoutonChoixRue' => "document.getElementById('paramChampAppelantRue').value= 'rue" . $i . "';document.getElementById('iFrameRue').src='" . $this->creerUrl('', 'afficheChoixRue', array('noHeaderNoFooter' => 1)) . "&archiIdVille='+document.getElementById('ville').value+'&archiIdQuartier='+document.getElementById('quartiers').value+'&archiIdSousQuartier='+document.getElementById('sousQuartiers').value;document.getElementById('calqueRue').style.top=(getScrollHeight()+150)+'px';document.getElementById('calqueRue').style.display='block';", "nomRue" => $arrayAdresse[$i]["txt"], "rue" => $arrayAdresse[$i]["id"], "numero" => $arrayAdresse[$i]["numero"], "onClickBoutonSupprAdresse" => "document.getElementById('formAjoutDossier').action='" . $this->creerUrl('', 'ajoutNouveauDossier', array('supprAdresse' => $i)) . "'")); } // gestion des indicatifs de chaque adresse $reqIndicatif = "select idIndicatif, nom from indicatif"; $resIndicatif = $this->connexionBdd->requete($reqIndicatif); while ($fetchIndicatif = mysql_fetch_assoc($resIndicatif)) { $selected = ""; if (isset($this->variablesPost['indicatif' . $i]) && $this->variablesPost['indicatif' . $i] != '' && $this->variablesPost['indicatif' . $i] == $fetchIndicatif['idIndicatif']) { $selected = " selected"; } if ($type == "personne") { } else { $t->assign_block_vars("isNotAjoutSousEvenement.adresses.indicatifs", array("id" => $fetchIndicatif['idIndicatif'], "nom" => $fetchIndicatif['nom'], "selected" => $selected)); } } $configArrayRetrieveCoordonneesGoogleMap[$i] = array('nomChampLatitudeRetour' => 'latitude_' . $i, 'nomChampLongitudeRetour' => 'longitude_' . $i, 'getAdresseFromElementById' => true, 'jsAdresseValue' => "document.getElementById('numero" . $i . "').value+' '+document.getElementById('rue" . $i . "txt').value+' '+document.getElementById('villetxt').value", 'jsToExecuteIfNoAddressFound' => "document.getElementById('latitude_" . $i . "').value='';document.getElementById('longitude_" . $i . "').value='';"); } $jsToExecute = "document.getElementById('formAjoutDossier').action='" . $this->creerUrl('ajoutNouveauDossier', '') . "';testAdresseValideAndSubmit('formAjoutDossier');"; $arrayJsCoordonneesFromGoogleMap = $googleMap->getJSMultipleRetriveCoordonnees(array('jsToExecuteIfOK' => $jsToExecute), $configArrayRetrieveCoordonneesGoogleMap); $html .= $arrayJsCoordonneesFromGoogleMap['jsFunctionToExecute']; // ************************************************************************************** // *********************************************************************************** // liste des courants architecturaux $resCourants = $this->connexionBdd->requete("select idCourantArchitectural, nom from courantArchitectural order by nom"); $tableauHtml = new tableau(); while ($fetchCourants = mysql_fetch_assoc($resCourants)) { $checked = ""; if (isset($this->variablesPost["courantArchitectural"]) && in_array($fetchCourants["idCourantArchitectural"], $this->variablesPost["courantArchitectural"])) { $checked = " checked"; } $tableauHtml->addValue("<input type='checkbox' name='courantArchitectural[]' value='" . $fetchCourants["idCourantArchitectural"] . "' " . $checked . "> " . $fetchCourants['nom']); } $t->assign_vars(array('listeCourantsArchitecturaux' => $tableauHtml->createHtmlTableFromArray(3, 'white-space:nowrap;border:1px solid #000000;', 'listeCourantsArchitecturaux'))); if ($type == "adresse") { $t->assign_block_vars("afficheAjoutEvenement.isAddress", array()); // *********************************************************************************** // les des types de structures $resTypeStructure = $this->connexionBdd->requete("SELECT idTypeStructure, nom FROM typeStructure order by nom"); while ($fetchTypeStructure = mysql_fetch_assoc($resTypeStructure)) { $selected = ""; if ($typeStructure != '' && $typeStructure == $fetchTypeStructure["idTypeStructure"] || $typeStructure == "" && $fetchTypeStructure["idTypeStructure"] == $this->getIdTypeStructureImmeuble()) { $selected = " selected"; } if ($fetchTypeStructure["idTypeStructure"] > 0) { $t->assign_block_vars('afficheAjoutEvenement.isAddress.typesStructure', array('id' => $fetchTypeStructure["idTypeStructure"], 'nom' => $fetchTypeStructure["nom"], 'selected' => $selected)); } } } // *********************************************************************************** // le type de groupe d'evenement // 1 - culturel // 2 - travaux if ($groupeTypeEvenement == '2') { $t->assign_vars(array('checkedTypeEvenement2' => " checked")); $t->assign_vars(array('styleChampsSupplementaireCulturel' => "display:none;", 'styleChampsSupplementaireTravaux' => "display:block;")); } elseif ($groupeTypeEvenement == '1') { $t->assign_vars(array('checkedTypeEvenement1' => " checked")); $t->assign_vars(array('styleChampsSupplementaireCulturel' => "display:table-row;", 'styleChampsSupplementaireTravaux' => "display:none;")); } $t->assign_vars(array('onClickTypeEvenement1' => "appelAjax('" . $this->creerUrl('', 'afficheSelectTypeEvenement', array('noHeaderNoFooter' => 1, 'archiTypeGroupeEvenement' => '1')) . "', 'typeEvenement');document.getElementById('afficheChampsSupplementairesCulturel').style.display='block';document.getElementById('afficheChampsSupplementairesTravaux').style.display='none';")); $t->assign_vars(array('onClickTypeEvenement2' => "appelAjax('" . $this->creerUrl('', 'afficheSelectTypeEvenement', array('noHeaderNoFooter' => 1, 'archiTypeGroupeEvenement' => '2')) . "', 'typeEvenement');document.getElementById('afficheChampsSupplementairesTravaux').style.display='block';document.getElementById('afficheChampsSupplementairesCulturel').style.display='none';")); if ($type == "adresse") { // *********************************************************************************** // les type d'evenements // par defaut on selectionne le typeEvenement=2 (travaux) $resTypeEvenement = $this->connexionBdd->requete("SELECT idTypeEvenement, nom FROM typeEvenement where groupe = '" . $groupeTypeEvenement . "'"); while ($fetchTypeEvenement = mysql_fetch_assoc($resTypeEvenement)) { $selected = ""; if ($typeEvenement != "" && $typeEvenement == $fetchTypeEvenement["idTypeEvenement"]) { $selected = "selected"; } $t->assign_block_vars('afficheAjoutEvenement.isAddress.typesEvenement', array('id' => $fetchTypeEvenement['idTypeEvenement'], 'nom' => $fetchTypeEvenement['nom'], 'selected' => $selected)); } } // *********************************************************************************** // ISMH (inscrit au s des monuments historiques) // MH (monument historique) if ($ISMH) { $t->assign_vars(array('ISMHchecked' => ' checked')); } if ($MH) { $t->assign_vars(array('MHchecked' => ' checked')); } // *********************************************************************************** // *********************************************************************************** // autre cas pour l'affichage du champ numeroArchive , il faut que l'utilisateur soit autorisé à l'afficher => table utilisateur $utilisateur = new archiUtilisateur(); if ($utilisateur->canChangeNumeroArchiveField(array('idUtilisateur' => $authentification->getIdUtilisateur()))) { $t->assign_block_vars('afficheAjoutEvenement.canChangeNumeroArchive', array()); } else { $t->assign_block_vars('afficheAjoutEvenement.noChangeNumeroArchive', array()); } // *********************************************************************************** // idem champ dateFin if ($utilisateur->canChangeDateFinField(array('idUtilisateur' => $authentification->getIdUtilisateur()))) { $t->assign_block_vars('afficheAjoutEvenement.canChangeDateFin', array()); } else { $t->assign_block_vars('afficheAjoutEvenement.noChangeDateFin', array()); } $recherche = new archiRecherche(); $source = new archiSource(); $onClickBoutonValider = $type == "adresse" ? "affichePopupAttente();" . $arrayJsCoordonneesFromGoogleMap['jsFunctionCall'] : ""; $typeBoutonValidation = $type == "adresse" ? "button" : "submit"; $t->assign_vars(array('formAction' => $this->creerUrl($formAction), 'popupCalendrier' => $this->getPopupCalendrier(), 'popupVilles' => $this->getPopupChoixVille('nouveauDossier'), 'popupRues' => $this->getPopupChoixRue('nouveauDossier'), 'popupSources' => $recherche->getPopupChoixSource('nouveauDossier'), 'popupPersonnes' => $recherche->getPopupChoixPersonne('nouveauDossier'), 'onClickBoutonAjouterAdresse' => "document.getElementById('formAjoutDossier').action='" . $this->creerUrl('', 'ajoutNouveauDossier') . "'", 'onClickBoutonEnleverAdresse' => "document.getElementById('formAjoutDossier').action='" . $this->creerUrl('', 'ajoutNouveauDossier') . "'", 'onClickBoutonValider' => $onClickBoutonValider, 'typeBoutonValidation' => $typeBoutonValidation, 'onClickBoutonChoixVille' => "document.getElementById('paramChampAppelantVille').value='ville';document.getElementById('calqueVille').style.top=(getScrollHeight()+150)+'px';document.getElementById('calqueVille').style.display='block';", 'onChangeListeQuartier' => "appelAjax('" . $this->creerUrl('', 'afficheSelectSousQuartier', array('noHeaderNoFooter' => 1)) . "&archiIdQuartier='+document.getElementById('quartiers').value, 'listeSousQuartier')", 'onClickBoutonChoisirSource' => "document.getElementById('paramChampsAppelantSource').value='source';document.getElementById('calqueSource').style.top=(getScrollHeight()+150)+'px';document.getElementById('calqueSource').style.display='block';", 'onClickChoixPersonne' => "document.getElementById('paramChampsAppelantPersonne').value='personnes';document.getElementById('calquePersonne').style.top=(getScrollHeight()+150)+'px';document.getElementById('calquePersonne').style.display='block';", 'onClickDateDebut' => "document.getElementById('paramChampAppelantDate').value='dateDebut';document.getElementById('calqueDate').style.top=(getScrollHeight()+150)+'px';document.getElementById('calqueDate').style.display='block';", 'onClickDateFin' => "document.getElementById('paramChampAppelantDate').value='dateDebut';document.getElementById('calqueDate').style.top=(getScrollHeight()+150)+'px';document.getElementById('paramChampAppelantDate').value='dateFin';document.getElementById('calqueDate').style.display='block';", 'popupAttente' => $this->getPopupAttente())); //document.getElementById('formAjoutDossier').action='".$this->creerUrl('ajoutNouveauDossier', '')."';testAdresseValideAndSubmit('formAjoutDossier'); // ****************************************************************************************************************************** // on recupere les messages d'aide contextuelle et on les affiche : $helpMessages = $this->getHelpMessages("helpEvenement"); foreach ($helpMessages as $fieldName => $helpMessage) { $t->assign_vars(array($fieldName => $helpMessage)); } // ****************************************************************************************************************************** ob_start(); $t->pparse('nouveauDossier'); $html .= ob_get_contents(); ob_end_clean(); return $html; }
/** * Fonction permettant a l'administrateur de visualiser l'historique de l'image * * @param int $idImage ID de l'image * * @return string HTML * */ public function afficheHistoriqueImage($idImage = 0) { $u = new archiUtilisateur(); $html = ""; $req = "SELECT idHistoriqueImage, dateUpload, idImage, idUtilisateur, description, dateCliche, isDateClicheEnviron, idSource FROM historiqueImage WHERE idImage='" . $idImage . "'"; $res = $this->connexionBdd->requete($req); $t = new tableau(); $d = new dateObject(); $bb = new bbCodeObject(); $s = new archiSource(); $authentification = new archiAuthentification(); $droitsObject = new droitsObject(); $idProfilUtilisateur = $u->getIdProfilFromUtilisateur($authentification->getIdUtilisateur()); $isRegenerationPossible = false; if ($droitsObject->isAuthorized('image_regenerer', $idProfilUtilisateur)) { $isRegenerationPossible = true; } while ($fetch = mysql_fetch_assoc($res)) { //$html.="<img src='".$this->getUrlImage("moyen").$fetch['dateUpload']."/".$fetch['idHistoriqueImage'].".jpg"."'><br>"; $t->addValue("<img src='" . $this->getUrlImage("moyen") . $fetch['dateUpload'] . "/" . $fetch['idHistoriqueImage'] . ".jpg" . "'>", "valign=top"); $arrayInfosUtilisateur = $u->getArrayInfosFromUtilisateur($fetch['idUtilisateur'], array('listeChamps' => 'nom, prenom')); $libelleUtilisateur = $arrayInfosUtilisateur['nom'] . " " . $arrayInfosUtilisateur['prenom']; $dateCliche = " - "; if ($fetch['dateCliche'] != '0000-00-00') { $environ = ""; if ($fetch['isDateClicheEnviron'] == '1') { $environ = "Environ "; } $dateCliche = $environ . $d->toFrenchAffichage($fetch['dateCliche']); } $libelleSource = $s->getSourceLibelle($fetch['idSource']); if ($libelleSource != '') { $libelleSource = "<tr><td><b>source : </b>" . $libelleSource . "</td></tr>"; } $description = ""; if ($fetch['description'] != '') { $description = "<tr><td><b>description :</b><br>" . $bb->convertToDisplay(array('text' => $fetch['description'])) . "</td></tr>"; } $detailHistoriqueImage = "<table><tr><td>de <a href='" . $this->creerUrl('', 'detailProfilPublique', array('archiIdUtilisateur' => $fetch['idUtilisateur'])) . "'>" . $libelleUtilisateur . "</a> (le " . $d->toFrenchAffichage($fetch['dateUpload']) . ")</td></tr><tr><td><b>date cliché : </b>" . $dateCliche . "</td></tr>" . $description . "" . $libelleSource . "</table>"; $t->addValue($detailHistoriqueImage); if ($isRegenerationPossible) { $reqRegenerationAvailable = "SELECT idHistoriqueImage , idImage , cheminImageUploadee FROM imagesUploadeesPourRegeneration WHERE idHistoriqueImage = '" . $fetch['idHistoriqueImage'] . "' AND idImage='" . $idImage . "'"; $resRegenerationAvailable = $this->connexionBdd->requete($reqRegenerationAvailable); if (mysql_num_rows($resRegenerationAvailable) > 0) { $fetchRegenerationAvailable = mysql_fetch_assoc($resRegenerationAvailable); if (file_exists($this->getCheminPhysique() . "/images/uploadMultiple/" . $fetchRegenerationAvailable['cheminImageUploadee'])) { $t->addValue("<input type='button' name='regenere' value='régéréner les photos à partir de la source' onclick=\"location.href='" . $this->creerUrl('regenereImageFromUploadDir', 'imageDetail', array('archiIdHistoriqueImage' => $fetch['idHistoriqueImage'], 'archiIdImage' => $idImage)) . "';\">"); } else { $t->addValue("Enregistrement trouvé, mais fichier source de régénération inexistant."); } } else { $t->addValue("Pas de régénération possible"); } } } // En principe cette variable represente un idEvenement, a changer pour l'id evenementGroupeAdresse if (isset($this->variablesGet['archiRetourIdValue']) && $this->variablesGet['archiRetourIdValue'] != '') { $adresse = new archiAdresse(); $evenement = new archiEvenement(); $idEvenementGroupeAdresse = $evenement->getIdEvenementGroupeAdresseFromIdEvenement($this->variablesGet['archiRetourIdValue']); $html .= $adresse->afficherRecapitulatifAdresses($idEvenementGroupeAdresse); } $html .= "<h2>Historique de l'image {$idImage}</h2>"; if ($isRegenerationPossible) { $html .= $t->createHtmlTableFromArray(3, '', '', ''); } else { $html .= $t->createHtmlTableFromArray(2, '', '', ''); } return $html; }