コード例 #1
0
 /**
  * Affiche le detail de l'adresse avec le listing des événements associés
  *
  * @param unknown $idAdresse : Id de l'adresse a afficher
  *
  * @return HTML du contenu principal de la page
  */
 public function afficherDetailAdresse($idAdresse, $idEvenementGroupeAdresse)
 {
     /*
      * Etape :
      * Afficher la google map
      * Afficher le sommaire des evenements
      * Récupérer la liste des evenements et les afficher un par un
      *
      */
     //Template loading
     $this->messages->display();
     $t = new Template('modules/archi/templates/evenement');
     $t->set_filenames(array('index' => 'index.tpl'));
     $title = $this->displayTitle();
     //Init auth var to check furtherly user state (connected or not)
     $authentification = new archiAuthentification();
     //Setting idAdresse
     if (isset($idAdresse) && $idAdresse != '') {
         //Setting idEvenementGroupeAdresse
         if (isset($idEvenementGroupeAdresse) != 1 || $idEvenementGroupeAdresse == '') {
             $requete = "SELECT idEvenement FROM _adresseEvenement WHERE idAdresse = " . $idAdresse;
             $result = $this->connexionBdd->requete($requete);
             $fetch = mysql_fetch_assoc($result);
             $oldIdEvt = $idEvenementGroupeAdresse;
             $idEvenementGroupeAdresse = $fetch['idEvenement'];
         }
     }
     //Getting coordo for the current address
     $requete = "SELECT latitude , longitude FROM historiqueAdresse WHERE idAdresse = " . $idAdresse;
     $result = $this->connexionBdd->requete($requete);
     $fetch = mysql_fetch_assoc($result);
     $coordonnees['longitude'] = $fetch['longitude'];
     $coordonnees['latitude'] = $fetch['latitude'];
     //Displaying google map
     $e = new archiEvenement();
     //Should be moved to archiUtils
     $calqueGoogleMap = new calqueObject(array('idPopup' => 10));
     $contenuIFramePopup = $e->getContenuIFramePopupGoogleMap(array('idAdresseCourante' => $idAdresse, 'calqueObject' => $calqueGoogleMap, 'idEvenementGroupeAdresseCourant' => $idEvenementGroupeAdresse));
     $t->assign_block_vars('CarteGoogle', array('src' => $this->creerUrl('', 'afficheGoogleMapIframe', array('noHeaderNoFooter' => 1, 'longitude' => $coordonnees['longitude'], 'latitude' => $coordonnees['latitude'], 'archiIdAdresse' => $idAdresse, 'archiIdEvenementGroupeAdresse' => $idEvenementGroupeAdresse)), 'lienVoirCarteGrand' => "<a href='#' onclick=\"" . $calqueGoogleMap->getJsOpenPopupNoDraggableWithBackgroundOpacity() . "document.getElementById('iFrameDivPopupGM').src='" . $this->creerUrl('', 'afficheGoogleMapIframe', array('longitude' => $coordonnees['longitude'], 'latitude' => $coordonnees['latitude'], 'noHeaderNoFooter' => true, 'archiIdAdresse' => $idAdresse, 'archiIdEvenementGroupeAdresse' => $idEvenementGroupeAdresse, 'modeAffichage' => 'popupDetailAdresse')) . "';\" class='bigger' style='font-size:11px;'>" . _("Voir la carte en + grand") . "</a>", 'popupGoogleMap' => $calqueGoogleMap->getDivNoDraggableWithBackgroundOpacity(array('top' => 20, 'lienSrcIFrame' => '', 'contenu' => $contenuIFramePopup))));
     //Getting neighborhood addresses
     $arrayEncartAdresses = $this->getArrayEncartAdressesImmeublesAvantApres(array('idEvenementGroupeAdresse' => $idEvenementGroupeAdresse));
     $urlAutreBiens = $this->getArrayRetourLiensVoirBatiments($idAdresse);
     $t->assign_block_vars('listeAdressesVoisines', array('content' => $arrayEncartAdresses['html'], 'urlAutresBiensRue' => $urlAutreBiens['urlAutresBiensRue'], 'urlAutresBiensQuartier' => $urlAutreBiens['urlAutresBiensQuartier']));
     $t->assign_block_vars('sommaireEvenements', array());
     //Preparing the loop on all related event to the current address
     $requeteIdEvenements = "\n\t\t\t\tSELECT DISTINCT ee.idEvenementAssocie as idEvenement\n\t\t\t\tFROM _evenementEvenement ee\n\t\t\t\tLEFT JOIN positionsEvenements pe on pe.idEvenement = ee.idEvenementAssocie\n\t\t\t\tWHERE ee.idEvenement = {$idEvenementGroupeAdresse}\n\t\t\t\tORDER BY IF(pe.position IS NULL,0, pe.position) ASC\n\t\t\t\t";
     $resultIdEvenements = $this->connexionBdd->requete($requeteIdEvenements);
     //Add actions buttons
     //Ajouter sous evenement
     $t->assign_block_vars('actionsSommaire', array('urlAction' => $this->creerUrl('', 'ajouterSousEvenement', array('idAdresse' => $idAdresse, 'archiIdEvenement' => $idEvenementGroupeAdresse)), 'labelAction' => 'Ajouter un événement'));
     // Selection des images
     // Copy/paste code from old function
     $afficheSelectionImages = 1;
     if ($authentification->estConnecte() && isset($this->variablesGet['afficheSelectionImage']) && $this->variablesGet['afficheSelectionImage'] == '1') {
         $afficheSelectionImages = 0;
     }
     if ($authentification->estConnecte()) {
         if ($authentification->estAdmin()) {
             $t->assign_block_vars('actionsSommaire', array('urlAction' => $this->creerUrl('', 'evenement', array('idEvenement' => $idEvenementGroupeAdresse, 'archiIdAdresse' => $idAdresse, 'afficheSelectionImage' => $afficheSelectionImages)), 'labelAction' => 'Sélectionner des images'));
         }
     }
     // Selection de l'image principale
     $afficheSelectionImagePrincipale = 1;
     /*
     if ($authentification->estConnecte () && isset ( $this->variablesGet ['afficheSelectionImagePrincipale'] ) && $this->variablesGet ['afficheSelectionImagePrincipale'] == '1') {
     	$afficheSelectionImagePrincipale = 0;
     }
     */
     if ($authentification->estConnecte()) {
         if ($authentification->estAdmin()) {
             $t->assign_block_vars('actionsSommaire', array('urlAction' => $this->creerUrl('', 'evenement', array('idEvenement' => $idEvenementGroupeAdresse, 'archiIdAdresse' => $idAdresse, 'afficheSelectionImagePrincipale' => $afficheSelectionImagePrincipale)), 'labelAction' => 'Sélectionner l\'image principale'));
         }
     }
     // Selection du titre
     $afficheSelectionTitre = 1;
     /*
     if ($authentification->estConnecte () && isset ( $this->variablesGet ['afficheSelectionTitre'] ) && $this->variablesGet ['afficheSelectionTitre'] == '1') {
     	$afficheSelectionTitre = 0;
     }
     */
     if ($authentification->estConnecte()) {
         if ($authentification->estAdmin()) {
             $t->assign_block_vars('actionsSommaire', array('urlAction' => $this->creerUrl('', 'evenement', array('idEvenement' => $idEvenementGroupeAdresse, 'archiIdAdresse' => $idAdresse, 'afficheSelectionTitre' => $afficheSelectionTitre)), 'labelAction' => 'Sélectionner un titre'));
         }
     }
     // Repositionner les evenements
     $affichePositionnementEvenements = 1;
     if ($authentification->estConnecte() && isset($this->variablesGet['affichePositionnementEvenements']) && $this->variablesGet['affichePositionnementEvenements'] == '1') {
         $affichePositionnementEvenements = 0;
         $a = new archiEvenement();
         $imageObject = new imageObject();
         // objet image du framework
         $a->addToJsHeader($imageObject->getJSFunctionsDragAndDrop(array('withBalisesScript' => true)));
         // rajoute les fonctions de deplacement d'elements dans le header du formulaire
     }
     if ($authentification->estConnecte()) {
         if ($authentification->estAdmin()) {
             $t->assign_block_vars('actionsSommaire', array('urlAction' => $this->creerUrl('', 'evenement', array('archiIdAdresse' => $idAdresse, 'idEvenement' => $idEvenementGroupeAdresse, 'archiIdAdresse' => $idAdresse, 'affichePositionnementEvenements' => $affichePositionnementEvenements)), 'labelAction' => 'Repositionner les événements'));
         }
     }
     //Loop on all evenet related to this idAdresse specified in argument of this function
     while ($fetch = mysql_fetch_assoc($resultIdEvenements)) {
         //Getting all the infos with this method
         $evenement = $e->getEventInfos($fetch['idEvenement']);
         $result = $e->displaySingleEvent($evenement);
         $t->assign_block_vars('event', array('content' => $result));
         //Filling the template with the infos
         $t->assign_block_vars('evenement', $evenement['evenementData']);
         $titre = stripslashes($evenement['evenementData']['titre']);
         if (isset($evenement['evenementData']['titre']) && $evenement['evenementData']['titre'] != "") {
             $titre .= " - ";
         }
         $ancre = "#evenement" . $evenement['evenementData']['idEvenement'];
         $t->assign_block_vars('sommaireEvenements.sommaireItem', array('ancre' => $ancre, 'titre' => $titre, 'date' => $evenement['evenementData']['dates']));
     }
     //Getting all the miscellaneous images (vueSur / prisDepuis)
     $image = new archiImage();
     $idVueSur = $image->getIdImageVueSur($idEvenementGroupeAdresse);
     $idPrisDepuis = $image->getidImagePrisDepuis($idEvenementGroupeAdresse);
     if (!empty($idVueSur)) {
         $evenementVueSur = $image->getEventInfosMiscImage($idVueSur, $idAdresse, "Autres vues sur");
         $t->assign_block_vars('evenement', $evenementVueSur);
     }
     if (!empty($idPrisDepuis)) {
         $evenementPrisDepuis = $image->getEventInfosMiscImage($idPrisDepuis, $idAdresse, "Vues prises depuis");
         $t->assign_block_vars('evenement', $evenementPrisDepuis);
     }
     $listeCommentaires = $this->getListeCommentaires($idEvenementGroupeAdresse);
     $formulaireCommentaire = $e->getFormComment($idEvenementGroupeAdresse, $this->getCommentairesFields(), '');
     $s = new archiSource();
     $t->assign_vars(array('title' => $title, 'listeCommentairesAdresse' => $listeCommentaires, 'formulaireCommentaireAdresse' => $formulaireCommentaire, 'popupDescriptionSource' => $s->getPopupDescriptionSource()));
     ob_start();
     $t->pparse('index');
     $html .= ob_get_contents();
     ob_end_clean();
     return $html;
 }
コード例 #2
0
ファイル: index.php プロジェクト: archi-strasbourg/archi-wiki
 * 
 * */
$t = new Template('modules/header/templates/');
$t->set_filenames(array('header' => 'header.tpl'));
$authentification = new archiAuthentification();
$recherche = new archiRecherche();
$config = new ArchiConfig();
$adresse = new archiAdresse();
$evenement = new archiEvenement();
$image = new archiImage();
$ajax = new ajaxObject();
$calque = new calqueObject();
$string = new stringObject();
$utilisateur = new archiUtilisateur();
$session = new objetSession();
$i = new imageObject();
if (!isset($jsHeader)) {
    // variables récupérée de chaque fonction des classes du site permettant de mettre du javascript recupéré , dans le header , plutot qu'en plein milieu de la page ou dans le bas de page s'il faut qu'il soit executé a la fin
    $jsHeader = "";
}
if (!isset($jsFooter)) {
    $jsFooter = "";
}
$titreSite = $config->titreSite;
$titre = _("Archi-Wiki. Tous architectes ! Partageons la ville, ses bâtiments, ses lieux.");
$description = $config->descSite;
$motsCle = "";
if ($session->isInSession('archiIdVilleGeneral') && $session->getFromSession('archiIdVilleGeneral') != '' && $session->getFromSession('archiIdVilleGeneral') != '1' && !empty($_SESSION["archiIdVilleGeneral"])) {
    //$titreSite = "photos-immeubles.org";
    $infosVille = $adresse->getInfosVille($session->getFromSession('archiIdVilleGeneral'), array("fieldList" => "v.nom as nomVille"));
    $titre = _("Archi-Wiki. Tous architectes ! Partageons la ville, ses bâtiments, ses lieux.");
コード例 #3
0
 public function modifier()
 {
     $authentification = new archiAuthentification();
     $majOK = false;
     $formulaire = new formGenerator();
     $mail = new mailObject();
     $avatarFile = new fileObject();
     $image = new imageObject();
     // suppression de l'avatar si la checkbox est cochée
     if (isset($this->variablesPost['supprFichierAvatar']) && $this->variablesPost['supprFichierAvatar'] == '1') {
         if (file_exists($this->getCheminPhysique() . "images/avatar/" . $this->variablesPost['idUtilisateurModif'] . "/avatar.jpg")) {
             unlink($this->getCheminPhysique() . "images/avatar/" . $this->variablesPost['idUtilisateurModif'] . "/avatar.jpg");
         }
         if (file_exists($this->getCheminPhysique() . "images/avatar/" . $this->variablesPost['idUtilisateurModif'] . "/original.jpg")) {
             unlink($this->getCheminPhysique() . "images/avatar/" . $this->variablesPost['idUtilisateurModif'] . "/original.jpg");
         }
     }
     // gestion de l'image de l'avatar
     if (isset($this->variablesPost['idUtilisateurModif']) && $this->variablesPost['idUtilisateurModif'] != '' && isset($_FILES['fichierAvatar']['name']) && $_FILES['fichierAvatar']['name'] != '') {
         if (pia_strtolower($avatarFile->getExtensionFromFile($_FILES['fichierAvatar']['name'])) == 'jpg') {
             if (!file_exists($this->getCheminPhysique() . "images/avatar/" . $this->variablesPost['idUtilisateurModif'] . "/")) {
                 if (!$avatarFile->creerRepertoire($this->getCheminPhysique() . "images/avatar/" . $this->variablesPost['idUtilisateurModif'] . "/")) {
                     echo "archiUtilisateur::modifier => erreur de création du répertoire pour l'image avatar<br>";
                 }
             }
             $avatarFile->handleUploadedFileSimpleMoveTo(array('inputFileName' => 'fichierAvatar', 'renameFileTo' => 'original.jpg', 'repertoireDestination' => $this->getCheminPhysique() . "images/avatar/" . $this->variablesPost['idUtilisateurModif'] . "/"));
             // ensuite on redimensionne l'image
             $image->redimension($this->getCheminPhysique() . "images/avatar/" . $this->variablesPost['idUtilisateurModif'] . "/original.jpg", 'jpg', $this->getCheminPhysique() . "images/avatar/" . $this->variablesPost['idUtilisateurModif'] . "/avatar.jpg", 120);
         } else {
             echo "Le fichier de l'avatar doit être au format jpg.";
         }
     }
     // gestion infos du compte
     if ($authentification->estConnecte()) {
         if ($authentification->estAdmin()) {
             // cas d'un utilisateur connecté et admin et dans l'admin
             if (isset($this->variablesGet['modeAffichage']) && $this->variablesGet['modeAffichage'] == 'utilisateurDetail') {
                 $tabForm = $this->getUtilisateurFieldsForAdmin();
             } elseif (isset($this->variablesGet['modeAffichage']) && $this->variablesGet['modeAffichage'] == 'profil') {
                 $tabForm = $this->getUtilisateurFieldsForAdminProfil();
             }
             $errors = $formulaire->getArrayFromPost($tabForm);
             if (count($errors) == 0) {
                 $sqlChampDisplayNumeroArchiveField = "";
                 $sqlChampDisplayDateFinField = "";
                 if (isset($this->variablesGet['modeAffichage']) && $this->variablesGet['modeAffichage'] == 'utilisateurDetail') {
                     $sqlChampDisplayNumeroArchiveField = ", displayNumeroArchiveFieldInSaisieEvenement=\"" . $tabForm['displayNumeroArchiveField']['value'] . "\"";
                     $sqlChampDisplayDateFinField = ", displayDateFinFieldInSaisieEvenement=\"" . $tabForm['displayDateFinField']['value'] . "\"";
                 }
                 // test sur le mot de passe
                 if ($tabForm['mdp1']['value'] != '') {
                     // un mot de passe a ete entré ,  donc si pas d'erreur ,  on peut faire l'ajout a la base
                     $reqUpdate = 'update utilisateur 
                             set nom="' . $tabForm['nom']['value'] . '", 
                                 prenom="' . $tabForm['prenom']['value'] . '", 
                                 mail="' . $tabForm['mail']['value'] . '", 
                                 motDePasse="' . md5($tabForm['mdp1']['value']) . '", 
                                 urlSiteWeb="' . $tabForm['urlSiteWeb']['value'] . '", 
                                 idProfil="' . $tabForm['idProfil']['value'] . '", 
                                 alerteMail="' . $tabForm['alerteMail']['value'] . '", 
                                 idVilleFavoris="' . $tabForm['ville']['value'] . '", 
                                 canCopyright="' . $tabForm['canCopyright']['value'] . '", 
                                 canModifyTags="' . $tabForm['canModifyTags']['value'] . '", 
                                 canAddWithoutStreet="' . $tabForm['canAddWithoutStreet']['value'] . '", 
                                 alerteCommentaires="' . $tabForm['alerteCommentaires']['value'] . '", 
                                 idPeriodeEnvoiMailsRegroupes="' . $tabForm['idPeriodeEnvoiMailsRegroupes']['value'] . '", 
                                 alerteAdresses="' . $tabForm['alerteAdresses']['value'] . '", 
                                 displayProfilContactForm="' . $tabForm['afficheFormulaireContactPersoProfilPublic']['value'] . '"
                                 ' . $sqlChampDisplayNumeroArchiveField . '
                                 ' . $sqlChampDisplayDateFinField . '
                             where idUtilisateur="' . $this->variablesPost['idUtilisateurModif'] . '"
                         ';
                     if ($resUpdate = $this->connexionBdd->requete($reqUpdate)) {
                         $majOK = true;
                     }
                 } else {
                     //aucun mot de passe entré ,  on ne le met pas a jour
                     $reqUpdate = 'update utilisateur 
                             set nom="' . $tabForm['nom']['value'] . '", 
                                 prenom="' . $tabForm['prenom']['value'] . '", 
                                 mail="' . $tabForm['mail']['value'] . '", 
                                 urlSiteWeb="' . $tabForm['urlSiteWeb']['value'] . '", 
                                 idProfil="' . $tabForm['idProfil']['value'] . '", 
                                 alerteMail="' . $tabForm['alerteMail']['value'] . '", 
                                 idVilleFavoris="' . $tabForm['ville']['value'] . '", 
                                 canCopyright="' . $tabForm['canCopyright']['value'] . '", 
                                 canModifyTags="' . $tabForm['canModifyTags']['value'] . '", 
                                 canAddWithoutStreet="' . $tabForm['canAddWithoutStreet']['value'] . '", 
                                 idPeriodeEnvoiMailsRegroupes="' . $tabForm['idPeriodeEnvoiMailsRegroupes']['value'] . '", 
                                 alerteCommentaires="' . $tabForm['alerteCommentaires']['value'] . '", 
                                 alerteAdresses="' . $tabForm['alerteAdresses']['value'] . '", 
                                 displayProfilContactForm="' . $tabForm['afficheFormulaireContactPersoProfilPublic']['value'] . '"
                                 ' . $sqlChampDisplayNumeroArchiveField . '
                                 ' . $sqlChampDisplayDateFinField . '
                             where idUtilisateur="' . $this->variablesPost['idUtilisateurModif'] . '"
                         ';
                     if ($resUpdate = $this->connexionBdd->requete($reqUpdate)) {
                         $majOK = true;
                     }
                 }
                 if (isset($this->variablesGet['modeAffichage']) && $this->variablesGet['modeAffichage'] == 'utilisateurDetail') {
                     // Si un utilisateur est banni,  on inactive son compte et on met le champs compteBanni à 1
                     $this->majBannissementUtilisateur(array('idUtilisateur' => $this->variablesPost['idUtilisateurModif'], 'champsBanissementApresValidationFormulaire' => $tabForm['bannirUtilisateur']['value']));
                 }
             }
         } elseif ($this->getIdProfilFromUtilisateur($authentification->getIdUtilisateur()) == '3') {
             // cas d'un utilisateur connecté moderateurs
             $tabForm = $this->getUtilisateurFieldsForModerators();
             $errors = $formulaire->getArrayFromPost($tabForm);
             if (count($errors) == 0) {
                 // test sur le mot de passe
                 if ($tabForm['mdp1']['value'] != '') {
                     // un mot de passe a ete entré ,  donc si pas d'erreur ,  on peut faire l'ajout a la base
                     $reqUpdate = 'update utilisateur 
                             set nom="' . $tabForm['nom']['value'] . '", 
                                 prenom="' . $tabForm['prenom']['value'] . '", 
                                 mail="' . $tabForm['mail']['value'] . '", 
                                 motDePasse="' . md5($tabForm['mdp1']['value']) . '", 
                                 urlSiteWeb="' . $tabForm['urlSiteWeb']['value'] . '", 
                                 idVilleFavoris="' . $tabForm['ville']['value'] . '", 
                                 idPeriodeEnvoiMailsRegroupes="' . $tabForm['idPeriodeEnvoiMailsRegroupes']['value'] . '", 
                                 alerteCommentaires="' . $tabForm['alerteCommentaires']['value'] . '", 
                                 alerteAdresses="' . $tabForm['alerteAdresses']['value'] . '", 
                                 alerteMail="' . $tabForm['alerteMail']['value'] . '", 
                                 displayProfilContactForm="' . $tabForm['afficheFormulaireContactPersoProfilPublic']['value'] . '"
                             where idUtilisateur="' . $this->variablesPost['idUtilisateurModif'] . '"
                         ';
                     if ($resUpdate = $this->connexionBdd->requete($reqUpdate)) {
                         $majOK = true;
                     }
                 } else {
                     //aucun mot de passe entré ,  on ne le met pas a jour
                     $reqUpdate = 'update utilisateur 
                             set nom="' . $tabForm['nom']['value'] . '", 
                                 prenom="' . $tabForm['prenom']['value'] . '", 
                                 mail="' . $tabForm['mail']['value'] . '", 
                                 idVilleFavoris="' . $tabForm['ville']['value'] . '", 
                                 urlSiteWeb="' . $tabForm['urlSiteWeb']['value'] . '", 
                                 alerteCommentaires="' . $tabForm['alerteCommentaires']['value'] . '", 
                                 alerteAdresses="' . $tabForm['alerteAdresses']['value'] . '", 
                                 idPeriodeEnvoiMailsRegroupes="' . $tabForm['idPeriodeEnvoiMailsRegroupes']['value'] . '", 
                                 alerteMail="' . $tabForm['alerteMail']['value'] . '", 
                                 displayProfilContactForm="' . $tabForm['afficheFormulaireContactPersoProfilPublic']['value'] . '"
                             where idUtilisateur="' . $this->variablesPost['idUtilisateurModif'] . '"
                         ';
                     if ($resUpdate = $this->connexionBdd->requete($reqUpdate)) {
                         $majOK = true;
                     }
                 }
             }
         } else {
             // cas d'un utilisateur connecté non admin
             $tabForm = $this->getUtilisateurFieldsNotAdmin();
             $errors = $formulaire->getArrayFromPost($tabForm);
             if (count($errors) == 0) {
                 // test sur le mot de passe
                 if ($tabForm['mdp1']['value'] != '') {
                     // un mot de passe a ete entré ,  donc si pas d'erreur ,  on peut faire l'ajout a la base
                     $reqUpdate = 'update utilisateur 
                             set nom="' . $tabForm['nom']['value'] . '", 
                                 prenom="' . $tabForm['prenom']['value'] . '", 
                                 mail="' . $tabForm['mail']['value'] . '", 
                                 urlSiteWeb="' . $tabForm['urlSiteWeb']['value'] . '", 
                                 motDePasse="' . md5($tabForm['mdp1']['value']) . '", 
                                 idVilleFavoris="' . $tabForm['ville']['value'] . '", 
                                 alerteCommentaires="' . $tabForm['alerteCommentaires']['value'] . '", 
                                 alerteAdresses="' . $tabForm['alerteAdresses']['value'] . '", 
                                 alerteMail="' . $tabForm['alerteMail']['value'] . '", 
                                 displayProfilContactForm="' . $tabForm['afficheFormulaireContactPersoProfilPublic']['value'] . '"
                             where idUtilisateur="' . $this->variablesPost['idUtilisateurModif'] . '"
                         ';
                     if ($resUpdate = $this->connexionBdd->requete($reqUpdate)) {
                         $majOK = true;
                     }
                 } else {
                     //aucun mot de passe entré ,  on ne le met pas a jour
                     $reqUpdate = 'update utilisateur 
                             set nom="' . $tabForm['nom']['value'] . '", 
                                 prenom="' . $tabForm['prenom']['value'] . '", 
                                 mail="' . $tabForm['mail']['value'] . '", 
                                 urlSiteWeb="' . $tabForm['urlSiteWeb']['value'] . '", 
                                 idVilleFavoris="' . $tabForm['ville']['value'] . '", 
                                 alerteCommentaires="' . $tabForm['alerteCommentaires']['value'] . '", 
                                 alerteAdresses="' . $tabForm['alerteAdresses']['value'] . '", 
                                 alerteMail="' . $tabForm['alerteMail']['value'] . '", 
                                 displayProfilContactForm="' . $tabForm['afficheFormulaireContactPersoProfilPublic']['value'] . '"
                             where idUtilisateur="' . $this->variablesPost['idUtilisateurModif'] . '"
                         ';
                     if ($resUpdate = $this->connexionBdd->requete($reqUpdate)) {
                         $majOK = true;
                     }
                 }
             }
         }
     } else {
         echo "Vous n'êtes pas connecté.<br>";
     }
     if ($majOK && !$authentification->estAdmin()) {
         echo "La mise à jour a été effectuée";
         // envoi d'un mail a l'admin
         $message = "";
         $message .= "Un utilisateur a modifié son compte ,  pour vérifier : <a href='" . $this->creerUrl('', 'utilisateurDetail', array('idUtilisateur' => $this->variablesPost['idUtilisateurModif'])) . "'>Cliquez ici</a>";
         $mail->sendMailToAdministrators($mail->getSiteMail(), "Un utilisateur a modifié son compte", $message, '', true);
         $this->ajouteMailEnvoiRegroupesAdministrateurs(array('contenu' => $message, 'idTypeMailRegroupement' => 7, 'criteres' => ""));
         // on met a jour la session contenant la ville favorite ,  si on est soi meme l'utilisateur courant
         if ($this->variablesPost['idUtilisateurModif'] == $authentification->getIdUtilisateur()) {
             $this->session->addToSession("idVilleFavoris", $tabForm['ville']['value']);
         }
     } elseif ($authentification->estAdmin()) {
         echo "La mise à jour a été effectuée";
         if ($this->variablesPost['idUtilisateurModif'] == $authentification->getIdUtilisateur()) {
             $this->session->addToSession("idVilleFavoris", $tabForm['ville']['value']);
         }
     } else {
         echo "La mise à jour n'a pas pu être effectuée.";
     }
     //echo $this->afficher($tabForm, $this->variablesPost['idUtilisateurModif']);
 }
コード例 #4
0
    public function afficher($idEvenement = null, $modeAffichage = '', $idHistoriqueEvenement = null, $paramChampCache = array(), $params = array())
    {
        $authentification = new ArchiAuthentification();
        $estConnecte = $authentification->estConnecte();
        $estAdmin = $authentification->estAdmin();
        $estModerateur = $authentification->estModerateur();
        $userId = $authentification->getIdUtilisateur();
        $html = '';
        $erreurObject = new objetErreur();
        $t = new Template('modules/archi/templates/');
        $t->set_filenames(array('ev' => 'evenement.tpl'));
        $isMH = false;
        $isISMH = false;
        $isAffichageSingleEvenement = false;
        $listeGroupeAdressesAffichees = array();
        // liste des groupes d'adresses reellement affichés , donc dans cette liste ne figure pas les groupe d'adresses ou il n'y a pas d'evenements liés
        $u = new archiUtilisateur();
        // on renvoi le nom de type de structure ( ceci sert a voir si on affiche aussi le type de structure sur l'evenement suivant du groupe d'adresse (pour eviter les redondances) )
        $retourIdTypeStructure = "";
        // on renvoi le titre de l'evenement pour l'affichage des ancres
        $retourTitreAncre = "";
        $retourNomTypeEvenement = "";
        $retourDate = "";
        $retourDateFin = "";
        $nomTable = "evenements";
        $adresse = new archiAdresse();
        $imageObject = new imageObject();
        // objet image du framework
        $idAdresseCourante = 0;
        if (isset($this->variablesGet['archiIdAdresse']) && $this->variablesGet['archiIdAdresse'] != '') {
            $idAdresseCourante = $this->variablesGet['archiIdAdresse'];
        }
        $t->assign_vars(array("divDisplayMenuAction" => "none"));
        if (!isset($idEvenement) || $idEvenement == null || $idEvenement == '') {
            if (isset($this->variablesGet['archiIdEvenement']) && $this->variablesGet['archiIdEvenement'] != '') {
                if ($modeAffichage != 'consultationHistoriqueEvenement') {
                    $idEvenement = $this->variablesGet['archiIdEvenement'];
                }
            }
        }
        // fabrication de la requete en fonction des parametres
        $sqlEvenementsAdressesLiees = "";
        if (empty($idEvenement)) {
            if ($modeAffichage == 'consultationHistoriqueEvenement') {
                // on affiche les idHistoriqueEvenement de l'evenement choisi
                $isAffichageSingleEvenement = true;
                $sqlWhere = 'hE.idHistoriqueEvenement=' . $idHistoriqueEvenement;
                $nomTable = "historiqueEvenement";
            }
            if (isset($this->variablesGet['modeAffichage']) && $this->variablesGet['modeAffichage'] == 'comparaisonEvenement') {
                // debug pour eviter un message d'erreur si l'evenement n'existe pas dans l'affichage de la comparaison d'evenement ancien/nouveau
            }
        } else {
            if ($modeAffichage == 'simple') {
                // l'idEvenement en parametre correspond a l'evenement enfant a afficher
                $sqlWhere = 'hE.idEvenement=' . $idEvenement;
            } else {
                // l'idEvenement en parametres correspond a un evenement enfant on va donc chercher l'evenement parent qui correspond au groupe d'adresses
                $sqlWhere = '(hE.idEvenement=
						IF (
						(SELECT _eE.idEvenement FROM _evenementEvenement _eE
						LEFT JOIN evenements USING (idEvenement)
						LEFT JOIN typeEvenement tE USING (idTypeEvenement) WHERE idEvenementAssocie=' . $idEvenement . ' LIMIT 1),
						(SELECT _eE.idEvenement FROM _evenementEvenement _eE
						LEFT JOIN evenements USING (idEvenement)
						LEFT JOIN typeEvenement tE USING (idTypeEvenement) WHERE idEvenementAssocie=' . $idEvenement . ' LIMIT 1),
						' . $idEvenement . ')) ';
                // si on est en mode de deplacement d'image
                // ou de selection de titre
                // on rajoute le formulaire sur la page
                if ($estConnecte && (isset($this->variablesGet['afficheSelectionImage']) && $this->variablesGet['afficheSelectionImage'] == '1' || isset($this->variablesGet['afficheSelectionTitre']) && $this->variablesGet['afficheSelectionTitre'] == '1')) {
                    $html .= "<form action='' name='formulaireEvenement' method='POST' enctype='multipart/form-data' id='formulaireEvenement'>\n\t\t\t\t\t\t\t<input type='hidden' name='actionFormulaireEvenement' id='actionFormulaireEvenement' value=''>";
                }
            }
        }
        if (isset($sqlWhere)) {
            /*
             **  REQUÊTE
             */
            // recuperation des données de l'evenement groupe d'adresses
            // on ne fait pas de group by   having
            // on prend simplement le dernier enregistrement classé selon l'idHistoriqueEvenement
            // et donc le nombre de resultats de la requete permet de recuperer le nombre d'historiques sur l'evenement dans la foulée
            $sql = 'SELECT  hE.idEvenement,
					hE.titre, hE.idSource,
					hE.idTypeStructure,
					hE.idTypeEvenement,
					hE.description,
					hE.dateDebut,
					hE.dateFin,
					hE.dateDebut,
					hE.dateFin,
					tE.nom AS nomTypeEvenement,
					tS.nom AS nomTypeStructure,
					s.nom AS nomSource,
					u.nom AS nomUtilisateur,
					u.prenom as prenomUtilisateur,
					tE.groupe,
					hE.ISMH ,
					hE.MH,
					date_format(hE.dateCreationEvenement,"' . _("%e/%m/%Y à %kh%i") . '") as dateCreationEvenement,
					hE.isDateDebutEnviron as isDateDebutEnviron,
					u.idUtilisateur as idUtilisateur,
					hE.numeroArchive as numeroArchive

					FROM ' . $nomTable . ' hE
					LEFT JOIN source s      ON s.idSource = hE.idSource
					LEFT JOIN typeStructure tS  ON tS.idTypeStructure = hE.idTypeStructure
					LEFT JOIN typeEvenement tE  ON tE.idTypeEvenement = hE.idTypeEvenement
					LEFT JOIN utilisateur u     ON u.idUtilisateur = hE.idUtilisateur
					WHERE ' . $sqlWhere . '
			ORDER BY hE.idEvenement DESC';
            $rep = $this->connexionBdd->requete($sql);
        } else {
            echo "<p><strong>Cette fiche n'existe plus, merci de <a href='" . $this->creerUrl("", "contact") . "'>contacter un administrateur</a>.</strong></p>";
        }
        // lien vers le formulaire d'ajout d'une adresse pour un evenement parent
        // recherche de l'evenement parent
        $idEvenementGroupeAdresse = $this->getParent($idEvenement);
        if ($idEvenementGroupeAdresse == 0) {
            $idEvenementGroupeAdresse = $idEvenement;
            // pas de parent trouvé , donc l'evenement est lui meme un parent
        }
        // ***************************
        // gestion mode deplacement d'images
        // ***************************
        $styleColorDeplacementActif = "";
        $afficheSelectionImages = 1;
        if ($estConnecte && isset($this->variablesGet['afficheSelectionImage']) && $this->variablesGet['afficheSelectionImage'] == '1') {
            $styleColorDeplacementActif = "color:red;";
            $afficheSelectionImages = 0;
        }
        $t->assign_vars(array('urlLierAdresseAEvenement' => $this->creerUrl('', 'formulaireGroupeAdresses', array('archiIdEvenementGroupeAdresses' => $idEvenementGroupeAdresse)), 'urlAjouterEvenement' => $this->creerUrl('', 'ajouterSousEvenement', array('archiIdEvenement' => $idEvenementGroupeAdresse)), 'urlDeplacerImages' => $this->creerUrl('', 'evenement', array('idEvenement' => $idEvenementGroupeAdresse, 'afficheSelectionImage' => $afficheSelectionImages)), 'styleModeDeplacementImageActif' => "{$styleColorDeplacementActif};"));
        // **********************************
        // gestion selection du titre du groupe d'adresse
        // **********************************
        $styleColorSelectionTitreActif = "";
        $afficheSelectionTitre = 1;
        if ($estConnecte && isset($this->variablesGet['afficheSelectionTitre']) && $this->variablesGet['afficheSelectionTitre'] == '1') {
            $styleColorSelectionTitreActif = "color:red;";
            $afficheSelectionTitre = 0;
        }
        $t->assign_vars(array('urlSelectionTitreAdresse' => $this->creerUrl('', 'evenement', array('idEvenement' => $idEvenementGroupeAdresse, 'afficheSelectionTitre' => $afficheSelectionTitre)), 'styleModeChoixTitre' => $styleColorSelectionTitreActif));
        // *******************************************
        // gestion selection de l'image principale du groupe d'adresse
        // *******************************************
        $styleColorSelectionImagePrincipaleActif = "";
        $afficheSelectionImagePrincipale = 1;
        if ($estConnecte && isset($this->variablesGet['afficheSelectionImagePrincipale']) && $this->variablesGet['afficheSelectionImagePrincipale'] == '1') {
            $styleColorSelectionImagePrincipaleActif = "color:red";
            $afficheSelectionImagePrincipale = 0;
        }
        $t->assign_vars(array('urlSelectionImagePrincipale' => $this->creerUrl('', 'evenement', array('idEvenement' => $idEvenementGroupeAdresse, 'afficheSelectionImagePrincipale' => $afficheSelectionImagePrincipale)), 'styleModeSelectionImagePrincipale' => $styleColorSelectionImagePrincipaleActif));
        // *******************************************
        // gestion positionnement evenements
        // *******************************************
        $styleColorPositionnementEvenements = "";
        $affichePositionnementEvenements = 1;
        if ($estConnecte && isset($this->variablesGet['affichePositionnementEvenements']) && $this->variablesGet['affichePositionnementEvenements'] == '1') {
            $styleColorPositionnementEvenements = "color:red";
            $affichePositionnementEvenements = 0;
            $this->addToJsHeader($imageObject->getJSFunctionsDragAndDrop(array('withBalisesScript' => true)));
            // rajoute les fonctions de deplacement d'elements dans le header du formulaire
        }
        $t->assign_vars(array('urlPositionnementEvenements' => $this->creerUrl('', 'evenement', array('archiIdAdresse' => $idAdresseCourante, 'idEvenement' => $idEvenementGroupeAdresse, 'affichePositionnementEvenements' => $affichePositionnementEvenements)), 'styleModePositionnementEvenements' => $styleColorPositionnementEvenements));
        if (isset($sqlWhere) && mysql_num_rows($rep) > 0) {
            $nbHistorique = mysql_num_rows($rep) - 1;
            // on ne compte pas le groupe d'adresse qui a le meme idEvenement
            $res = mysql_fetch_object($rep);
            $idEvenement = $res->idEvenement;
            // si c'est un groupe d'adresse, on n'affiche pas le détail de l'événement, juste ses événements enfants
            if ($res->groupe != 3) {
                if ($modeAffichage === 'simple' || $modeAffichage == 'consultationHistoriqueEvenement') {
                    $t->assign_block_vars('simple', array());
                    // si l'evenement est un evenement externe au groupe d'adresse , on affiche un menu different a droite
                    if (isset($params['isLieFromOtherAdresse']) && $params['isLieFromOtherAdresse'] == true) {
                        // on recupere d'abord l'idAdresse de cet evenement externe
                        $reqAdresses = $adresse->getIdAdressesFromIdEvenement(array('idEvenement' => $idEvenement));
                        $resAdresses = $this->connexionBdd->requete($reqAdresses);
                        $fetchAdressesExternes = mysql_fetch_assoc($resAdresses);
                        $intituleAdresse = $adresse->getIntituleAdresseFrom($fetchAdressesExternes['idAdresse'], 'idAdresse');
                        //$t->assign_vars(array("divDisplayMenuAction"=>"none"));
                        $ancrePositionAdresseLiee = "";
                        $positionSurAdresseOrigine = $adresse->getPositionFromEvenement($idEvenement);
                        if ($positionSurAdresseOrigine != '' && $positionSurAdresseOrigine != '0') {
                            $ancrePositionAdresseLiee = "#" . $positionSurAdresseOrigine;
                        }
                        $t->assign_vars(array("urlEvenementExterne" => "<small>" . _("Adresse d'origine :") . " <a href='" . $this->creerUrl('', 'adresseDetail', array('archiIdAdresse' => $fetchAdressesExternes['idAdresse'])) . $ancrePositionAdresseLiee . "'>" . $intituleAdresse . "</a></small>"));
                    } else {
                        if ($modeAffichage != 'consultationHistoriqueEvenement') {
                            $t->assign_vars(array("divDisplayMenuAction" => "table"));
                        }
                    }
                    if ($estConnecte) {
                        $t->assign_block_vars('simple.menuAction', array());
                        if ($modeAffichage != 'consultationHistoriqueEvenement') {
                            if (isset($params['isLieFromOtherAdresse']) && $params['isLieFromOtherAdresse'] == true) {
                                $t->assign_vars(array("divDisplayMenuAction" => "none"));
                                // si un utilisateur est connecté , et que l'evenement est un evenement lie , on affiche pas le menu d'action
                            } else {
                                $t->assign_vars(array("divDisplayMenuAction" => "table"));
                                // si un utilisateur est connecté et que l'evenement n'est pas un evenement lié, on affiche le menu d'action
                            }
                        } else {
                            $t->assign_vars(array("divDisplayMenuAction" => "none"));
                            // si on est en mode d'affichage de l'historique d'un evenement, on ne propose pas de menu action
                        }
                        if ($u->isAuthorized('evenement_lier_adresses', $userId)) {
                            if (!archiPersonne::isPerson($idEvenementGroupeAdresse) && ($u->getIdProfil($userId) == 4 || $u->isModerateurFromVille($userId, $idEvenementGroupeAdresse, 'idEvenementGroupeAdresse'))) {
                                $t->assign_block_vars('simple.menuAction.afficheElementMenuLierAdresse', array());
                            }
                        }
                    }
                    if ($estAdmin) {
                        $t->assign_block_vars('simple.menuAction.isAdmin', array());
                    }
                    if ($u->isAuthorized('evenement_supprimer', $userId)) {
                        $isModerateurFromVilleCourante = false;
                        if ($authentification->getIdProfil() == 3) {
                            //moderateur
                            $arrayVillesModerees = $u->getArrayVillesModereesPar($userId);
                            $idVilleAdresseCourante = $adresse->getIdVilleFrom($idEvenement, 'idEvenement');
                            if (in_array($idVilleAdresseCourante, $arrayVillesModerees)) {
                                $isModerateurFromVilleCourante = true;
                            }
                        }
                        if ($authentification->getIdProfil() == 4 || $isModerateurFromVilleCourante) {
                            // est on administrateur ou moderateur de la ville ?
                            $t->assign_block_vars('simple.menuAction.isAdminOrModerateurFromVille', array());
                            if ($estConnecte && $estAdmin && isset($this->variablesGet['afficheSelectionImage']) && $this->variablesGet['afficheSelectionImage'] == '1') {
                                $t->assign_block_vars('simple.menuAction.isAdmin.isAffichageSelectionImages', array());
                            }
                        }
                    }
                    if (!archiPersonne::isPerson($idEvenementGroupeAdresse) && $u->isAuthorized('evenement_deplacer', $userId)) {
                        $t->assign_block_vars('simple.menuAction.afficheElementMenuDeplacerEvenement', array());
                    }
                    if ($estConnecte && $estAdmin && isset($this->variablesGet['afficheSelectionImage']) && $this->variablesGet['afficheSelectionImage'] == '1') {
                        //$t->assign_block_vars('simple.menuAction.isAdminOrModerateurFromVille',array());
                    }
                }
                // ******************************************************************************************************
                // Affichage des dates
                $dateTxt = "";
                $environDateDebutTxt = "";
                if ($res->isDateDebutEnviron == '1') {
                    $environDateDebutTxt = "environ ";
                }
                switch (strtolower($res->nomTypeEvenement)) {
                    case 'information (nouveautés)':
                    case 'extension':
                    case 'inauguration':
                    case 'exposition':
                        $articleAvantTypeEvenement = "de l'";
                        break;
                    default:
                        $articleAvantTypeEvenement = "de";
                        break;
                }
                if (substr($res->dateDebut, 5) == "00-00") {
                    $datetime = substr($res->dateDebut, 0, 4);
                } else {
                    $datetime = $res->dateDebut;
                }
                if ($res->nomTypeEvenement == 'Construction') {
                    if ($res->dateDebut != '0000-00-00') {
                        $dateTxt = _("Année de construction :") . " <time itemprop='startDate' datetime='" . $datetime . "'>" . $environDateDebutTxt . $this->date->toFrenchAffichage($res->dateDebut) . "</time>";
                    }
                    if ($res->dateFin != '0000-00-00') {
                        $dateTxt .= " (-> " . $this->date->toFrenchAffichage($res->dateFin) . ")";
                        $retourDateFin = " (-> " . $this->date->toFrenchAffichage($res->dateFin) . ")";
                    }
                } else {
                    if ($res->dateDebut != '0000-00-00') {
                        if ($res->MH != '1' && $res->ISMH != '1') {
                            if (pia_strlen($this->date->toFrench($res->dateDebut)) <= 4) {
                                if (archiPersonne::isPerson($idEvenementGroupeAdresse)) {
                                    $nomTypeEvenement = "début";
                                } else {
                                    $nomTypeEvenement = strtolower($res->nomTypeEvenement);
                                }
                                $dateTxt = _("Année") . " " . $articleAvantTypeEvenement . " <time itemprop='startDate' datetime='" . $datetime . "'>" . $nomTypeEvenement . " : {$environDateDebutTxt}" . $this->date->toFrenchAffichage($res->dateDebut) . "</time>";
                            } else {
                                if (archiPersonne::isPerson($idEvenementGroupeAdresse)) {
                                    $typeEvenement = "";
                                } else {
                                    $typeEvenement = $articleAvantTypeEvenement . " " . strtolower($res->nomTypeEvenement);
                                }
                                $dateTxt = _("Date") . " <time itemprop='startDate' datetime='" . $datetime . "'>" . $typeEvenement . " : {$environDateDebutTxt}" . $this->date->toFrenchAffichage($res->dateDebut) . "</time>";
                            }
                        }
                        if ($res->MH == '1') {
                            $dateTxt = "<b>" . _("Classement Monument Historique") . "</b> {$environDateDebutTxt} le " . $this->date->toFrenchAffichage($res->dateDebut);
                            $isMH = true;
                        }
                        if ($res->ISMH == '1') {
                            $dateTxt = "<b>" . _("Inscription à l'Inventaire Supplémentaire des Monuments Historiques") . "</b> {$environDateDebutTxt} : " . $this->date->toFrenchAffichage($res->dateDebut);
                            if ($res->MH == '1') {
                                $dateTxt .= "<br><b>" . _("Classement Monument Historique") . "</b> {$environDateDebutTxt} : " . $this->date->toFrenchAffichage($res->dateDebut);
                            }
                            $isISMH = true;
                        }
                    }
                    if ($res->dateFin != '0000-00-00') {
                        if (pia_strlen($this->date->toFrench($res->dateFin)) <= 4) {
                            $dateTxt .= " " . _("à") . " " . $this->date->toFrenchAffichage($res->dateFin);
                        } else {
                            $dateTxt .= " " . _("au") . " " . $this->date->toFrenchAffichage($res->dateFin);
                        }
                    }
                }
                // ******************************************************************************************************
                // on renseigne la variable nomTypeStructure pour la renvoyer au retour de la fonction
                $retourIdTypeStructure = $res->idTypeStructure;
                // idem pour le titre qui sera affiché en resume pour le tableau de liens
                $retourTitreAncre = "";
                if (stripslashes($res->titre) != '') {
                    $retourTitreAncre .= htmlspecialchars(stripslashes($res->titre));
                } else {
                    $retourTitreAncre .= _("Sans titre");
                }
                $retourNomTypeEvenement = $res->nomTypeEvenement;
                $retourDate = $environDateDebutTxt . " " . $this->date->toFrench($res->dateDebut);
                $dateDebut = $res->dateDebut;
                if (isset($paramChampCache['idTypeStructurePrecedent']) && $res->idTypeStructure == $paramChampCache['idTypeStructurePrecedent']) {
                    $typeStructure = '';
                } else {
                    if (archiPersonne::isPerson($idEvenementGroupeAdresse)) {
                        $typeStructure = "";
                    } else {
                        $typeStructure = "Structure : <a href='" . $this->creerUrl('', 'evenementListe', array('selection' => 'typeStructure', 'id' => $res->idTypeStructure)) . "'>" . $res->nomTypeStructure . "</a><br>";
                    }
                }
                $source = "";
                if ($res->idSource != 0) {
                    $source = "Source : <a href='" . $this->creerUrl('', 'listeAdressesFromSource', array('source' => $res->idSource, 'submit' => 'Rechercher')) . "' onmouseover=\"document.getElementById('calqueDescriptionSource').style.top=(getScrollHeight()+150)+'px';\n\t\t\t\t\t\t\t\t\tdocument.getElementById('calqueDescriptionSource').style.display='block';\n\t\t\t\t\t\t\t\t\tdocument.getElementById('iframe').src='" . $this->creerUrl('', 'descriptionSource', array('archiIdSource' => $res->idSource, 'noHeaderNoFooter' => 1)) . "';\"\n\t\t\t\t\t\t\t\t\t>" . stripslashes($res->nomSource) . "</a><br>";
                } else {
                    // exception temporaire (?)
                    if ($res->numeroArchive != '') {
                        // s'il y a un numero d'archive et pas de source précisée , on dit que la source est "archives municipales" (voir fabien)
                        $reqSourceStatic = "SELECT nom as nomSource FROM source WHERE idSource='24'";
                        $resSourceStatic = $this->connexionBdd->requete($reqSourceStatic);
                        $fetchSourceStatic = mysql_fetch_assoc($resSourceStatic);
                        $source = "Source : <a href='" . $this->creerUrl('', 'listeAdressesFromSource', array('submit' => 'Rechercher', 'source' => 24)) . "' onmouseover=\"document.getElementById('calqueDescriptionSource').style.top=(getScrollHeight()+150)+'px';document.getElementById('calqueDescriptionSource').style.display='block';document.getElementById('iframe').src='" . $this->creerUrl('', 'descriptionSource', array('archiIdSource' => 24, 'noHeaderNoFooter' => 1)) . "';\" onmouseout=\"document.getElementById('calqueDescriptionSource').style.display='none';\">" . stripslashes($fetchSourceStatic['nomSource']) . "</a><br>";
                    }
                }
                // DESCRIPTION ---
                $bbCode = new bbCodeObject();
                $description = $bbCode->convertToDisplay(array('text' => $res->description));
                $description = empty($description) ? "" : "<div itemprop='description' class='desc'>" . $description . "</div>";
                // --
                // numeroArchive
                $numeroArchive = "";
                if ($res->numeroArchive != '') {
                    // modif fabien du 15/04/2011 suite mail directrice Archives de Strasbourg Mme Perry Laurence
                    $numeroArchive = "Cote Archives de Strasbourg : " . $res->numeroArchive . "<br>";
                }
                $adressesLieesHTML = $this->getAdressesLieesAEvenement(array('modeRetour' => 'affichageSurDetailEvenement', 'idEvenement' => $idEvenement));
                if ($adressesLieesHTML != '') {
                    $adressesLieesHTML = "<b>" . _("Liste des adresses liées :") . "</b> <br>" . $adressesLieesHTML;
                }
                // recherche s'il y a un historique sur l'evenement courant ( plusieurs mises à jour)
                $lienHistoriqueEvenementCourant = "";
                $labelHistorique = "";
                if ($estConnecte && $this->getNbEvenementsInHistorique(array('idEvenement' => $idEvenement)) > 1 && $modeAffichage != 'consultationHistoriqueEvenement' && (!isset($params['isLieFromOtherAdresse']) || $params['isLieFromOtherAdresse'] != true)) {
                    $labelHistorique = _("(Consulter l'historique)");
                    $lienHistoriqueEvenementCourant = $this->creerUrl('', 'consultationHistoriqueEvenement', array('archiIdEvenement' => $idEvenement));
                }
                $onClickEvenementDeplacerVersGA = "";
                if ($estConnecte && $u->isAuthorized('evenement_deplacer', $userId) && $modeAffichage != 'consultationHistoriqueEvenement' && isset($params['calquePopupDeplacerEvenement'])) {
                    $onClickEvenementDeplacerVersGA = "document.getElementById('" . $params['calquePopupDeplacerEvenement']->getJSIFrameId() . "').src='" . $this->creerUrl('', 'recherche', array('noHeaderNoFooter' => 1, 'modeAffichage' => "popupDeplacerEvenementVersGroupeAdresse", "idEvenementADeplacer" => $res->idEvenement)) . "';document.getElementById('" . $params['calquePopupDeplacerEvenement']->getJSDivId() . "').style.display='block';";
                }
                $dateEnvoi = "";
                $txtEnvoi = _("envoyé");
                if (!$this->isFirstIdHistoriqueEvenementFromHistorique($res->idEvenement)) {
                    $txtEnvoi = _("modifié");
                }
                $dateEnvoi = _("le") . " " . $res->dateCreationEvenement;
                $arrayIdAdresseToUrl = array();
                if (isset($this->variablesGet['archiIdAdresse']) && $this->variablesGet['archiIdAdresse'] != '') {
                    $arrayIdAdresseToUrl = array('archiIdAdresse' => $this->variablesGet['archiIdAdresse']);
                }
                $resTypeEvenement = $this->connexionBdd->requete("SELECT idTypeEvenement,nom FROM typeEvenement where groupe = '" . $this->getGroupeFromTypeEvenement($res->idTypeEvenement) . "'");
                $fetchTypeEvenement = mysql_fetch_assoc($resTypeEvenement);
                if (archiPersonne::isPerson($idEvenementGroupeAdresse)) {
                    $typeEvenement = _("Biographie");
                    $urlTypeEvenement = "";
                } else {
                    $typeEvenement = $res->nomTypeEvenement;
                    $urlTypeEvenement = $this->creerUrl('', 'evenementListe', array('selection' => 'typeEvenement', 'id' => $res->idTypeEvenement));
                }
                $titre = empty($res->titre) ? "<meta itemprop='name' content='" . $fetchTypeEvenement['nom'] . "' />" : "<h3 itemprop='name'>" . htmlspecialchars(stripslashes($res->titre)) . "</h3>";
                $user = new archiUtilisateur();
                $user->setUserId($res->idEvenement);
                $urlProfilPic = $user->getImageAvatar(array('idUtilisateur' => $res->idUtilisateur));
                $utilisateur = "<a href='" . $this->creerUrl('', 'detailProfilPublique', array('archiIdUtilisateur' => $res->idUtilisateur, 'archiIdEvenementGroupeAdresseOrigine' => $idEvenementGroupeAdresse)) . "'>" . $res->nomUtilisateur . " " . $res->prenomUtilisateur . "</a>";
                $t->assign_vars(array('txtEnvoi' => $txtEnvoi, 'dateEnvoi' => $dateEnvoi, 'titre' => $titre, 'utilisateur' => "<a href='" . $this->creerUrl('', 'detailProfilPublique', array('archiIdUtilisateur' => $res->idUtilisateur, 'archiIdEvenementGroupeAdresseOrigine' => $idEvenementGroupeAdresse)) . "'>" . $res->nomUtilisateur . " " . $res->prenomUtilisateur . "</a>", 'dates' => $dateTxt, 'typeEvenement' => $typeEvenement, 'typeStructure' => $typeStructure, 'idSource' => $res->idSource, 'source' => $source, 'description' => $description, 'urlTypeEvenement' => $urlTypeEvenement, 'urlTypeStructure' => $this->creerUrl('', 'evenementListe', array('selection' => 'typeStructure', 'id' => $res->idTypeStructure)), 'ajouterEvenement' => '', 'supprimerEvenement' => $this->creerUrl('supprimerEvenement', '', array('archiIdEvenement' => $res->idEvenement)), 'supprimerHistoriqueEvenement' => $this->creerUrl('supprimerHistoriqueEvenement', '', array('archiIdHistoriqueEvenement' => $res->idHistoriqueEvenement)), 'ajouterImage' => $this->creerUrl('', 'ajoutImageEvenement', array('archiIdEvenement' => $res->idEvenement)), 'modifierImage' => $this->creerUrl('', 'modifierImageEvenement', array('archiIdEvenement' => $res->idEvenement)), 'modifierEvenement' => $this->creerUrl('', 'modifierEvenement', array_merge(array('archiIdEvenement' => $res->idEvenement, 'archiIdEvenementGroupeAdresse' => $idEvenementGroupeAdresse), $arrayIdAdresseToUrl)), 'urlImporterImage' => "#", 'onClickImporterImage' => "document.getElementById('formulaireEvenement').action='" . $this->creerUrl('deplacerImagesSelectionnees', 'evenement', array('idEvenement' => $idEvenement)) . "&deplacerVersIdEvenement=" . $res->idEvenement . "';document.getElementById('actionFormulaireEvenement').value='deplacerImages';if(confirm('Voulez-vous vraiment déplacer ces images ?')){document.getElementById('formulaireEvenement').submit();}", 'urlSupprimerImage' => "#", 'onClickSupprimerImage' => "document.getElementById('formulaireEvenement').action='" . $this->creerUrl('supprimerImagesSelectionnees', 'evenement', array('idEvenement' => $idEvenement)) . "';document.getElementById('actionFormulaireEvenement').value='supprimerImages';if(confirm('Voulez-vous vraiment supprimer ces images ?')){document.getElementById('formulaireEvenement').submit();}", 'urlLierAdresses' => $this->creerUrl('', 'afficheFormulaireEvenementAdresseLiee', array('idEvenement' => $res->idEvenement)), 'listeAdressesLiees' => $adressesLieesHTML, 'lienHistoriqueEvenementCourant' => $lienHistoriqueEvenementCourant, 'urlDeplacerVersNouveauGroupeAdresse' => $this->creerUrl('deplacerEvenementVersNouveauGA', 'evenement', array('idEvenement' => $res->idEvenement)), 'onClickDeplacerVersAdresses' => $onClickEvenementDeplacerVersGA, 'numeroArchive' => $numeroArchive, 'idEvenement' => $res->idEvenement, 'urlProfilPic' => $urlProfilPic, 'infoTitre' => $utilisateur . " a " . $txtEnvoi . " un événement", 'txtEnvoi' => $txtEnvoi, 'labelLienHistorique' => $labelHistorique));
                $idEvenement = $res->idEvenement;
                // affichage des images de l'evenement
                if ($modeAffichage != 'consultationHistoriqueEvenement') {
                    $images = new archiImage();
                    $arrayImagesVuesSurByDate = array();
                    if (isset($params['imagesVuesSurLinkedByDate']) && count($params['imagesVuesSurLinkedByDate']) > 0) {
                        $arrayImagesVuesSurByDate = $params['imagesVuesSurLinkedByDate'];
                    }
                    $t->assign_vars(array('imagesLiees' => $images->afficherFromEvenement($idEvenement, array('withoutImagesVuesSurPrisesDepuis' => true, 'imagesVuesSurLinkedByDate' => $arrayImagesVuesSurByDate, 'idGroupeAdresseEvenementAffiche' => $idEvenementGroupeAdresse))));
                }
                if (($idPerson = archiPersonne::isPerson($idEvenementGroupeAdresse)) && isset($params["nextEvent"])) {
                    $req = "\n\t\t\t\t\t\t\tSELECT dateDebut\n\t\t\t\t\t\t\tFROM evenements\n\t\t\t\t\t\t\tWHERE idEvenement = '" . $params["nextEvent"] . "'\n\t\t\t\t\t\t\t\t\tORDER BY idEvenement DESC LIMIT 1\n\t\t\t\t\t\t\t\t\t";
                    $res = $this->connexionBdd->requete($req);
                    $date2 = mysql_fetch_object($res);
                    $linkedEventsHTML = archiPersonne::displayEvenementsLies($idPerson, $dateDebut, $date2->dateDebut);
                    $t->assign_vars(array("evenementsLiesPersonne" => $linkedEventsHTML));
                } elseif ($idPerson = archiPersonne::isPerson($idEvenementGroupeAdresse)) {
                    $linkedEventsHTML = archiPersonne::displayEvenementsLies($idPerson, $dateDebut, 3000);
                    $t->assign_vars(array("evenementsLiesPersonne" => $linkedEventsHTML));
                }
                /*
                 * COURANTS ARCHI
                 */
                $rep = $this->connexionBdd->requete('
						SELECT  cA.idCourantArchitectural, cA.nom
						FROM _evenementCourantArchitectural _eA
						LEFT JOIN courantArchitectural cA  ON cA.idCourantArchitectural  = _eA.idCourantArchitectural
						WHERE _eA.idEvenement=' . $idEvenement . '
						ORDER BY cA.nom ASC');
                if (mysql_num_rows($rep) > 0) {
                    $t->assign_block_vars('simple.isCourantArchi', array());
                    while ($res = mysql_fetch_object($rep)) {
                        $t->assign_block_vars('simple.isCourantArchi.archi', array('url' => $this->creerUrl('', 'evenementListe', array('selection' => 'courant', 'id' => $res->idCourantArchitectural)), 'nom' => $res->nom));
                    }
                }
                /*
                 **  PERSONNES
                 */
                $rep = $this->connexionBdd->requete('
						SELECT  p.idPersonne, m.nom as metier, p.nom, p.prenom
						FROM _evenementPersonne _eP
						LEFT JOIN personne p ON p.idPersonne = _eP.idPersonne
						LEFT JOIN metier m ON m.idMetier = p.idMetier
						WHERE _eP.idEvenement=' . $idEvenement . '
						ORDER BY p.nom DESC');
                $metier = "";
                while ($res = mysql_fetch_object($rep)) {
                    if (isset($res->metier) && $res->metier != '') {
                        $metier = $res->metier . ' : ';
                    }
                    $t->assign_block_vars('simple.pers', array('urlDetail' => $this->creerUrl('', 'personne', array('idPersonne' => $res->idPersonne)), 'urlEvenement' => $this->creerUrl('', 'evenementListe', array('selection' => 'personne', 'id' => $res->idPersonne)), 'nom' => stripslashes($res->nom), 'prenom' => stripslashes($res->prenom), 'metier' => stripslashes($metier), 'idPerson' => $res->idPersonne, 'idEvent' => $idEvenement));
                    if ($estConnecte) {
                        $t->assign_block_vars('simple.pers.connected', array());
                    }
                }
                //*
                //**    Historique
                //*/
                $t->assign_vars(array('nbHistorique' => $nbHistorique));
                if ($nbHistorique > 0) {
                    $t->assign_block_vars('histo', array('url' => $this->creerUrl('', 'historiqueEvenement', array('idEvenement' => $idEvenement))));
                }
            }
            // *************************************************************************************************************************************
            // affichage des adresses et evenements lies dans la partie supérieur du detail
            // que l'événement soit un groupe d'adresse ou non, on affiche les enfants
            // *************************************************************************************************************************************
            if ($modeAffichage != 'simple' && $modeAffichage != 'consultationHistoriqueEvenement') {
                $tabIdEvenementsLies = $this->getEvenementsLies($idEvenement);
                // recherche des sous evenements (idEvenementAssocie) du groupe d'adresse
                if (count($tabIdEvenementsLies) > 0) {
                    $listeGroupeAdressesAffichees[] = $idEvenement;
                    $t->assign_block_vars('noSimple', array());
                    // vu que la fonction afficher est recursive , on affiche cette partie uniquement en affichant 'non simple'
                    //=> affichage simple = affichage de l'evenement => affichage non simple = affichage de la page ...
                    if ($modeAffichage == "personne") {
                    } else {
                        $retourAdresse = $adresse->afficherListe(array('archiIdEvenement' => $idEvenement, 'useTemplateFile' => 'listeAdressesDetailEvenement.tpl'), "listeDesAdressesDuGroupeAdressesSurDetailAdresse");
                        // modeAffichage => listeDesAdressesDuGroupeAdressesSurDetailAdresse
                    }
                    $idAdresseCourante = 0;
                    if (isset($this->variablesGet['archiIdAdresse']) && $this->variablesGet['archiIdAdresse'] != '') {
                        $idAdresseCourante = $this->variablesGet['archiIdAdresse'];
                    }
                    if ($modeAffichage != "personne") {
                        // ************************************************************************************************************************
                        // affichage carte googlemap dans une iframe
                        $coordonnees = $adresse->getCoordonneesFrom($idEvenement, 'idEvenementGroupeAdresse');
                        //$retourAdresse['arrayIdAdresses'][0]
                        // si pas de coordonnees , on va chercher les coordonnees de la ville courante
                        if ($coordonnees['longitude'] == 0 && $coordonnees['latitude'] == 0) {
                            $idVilleAdresseCourante = $adresse->getIdVilleFrom($idAdresseCourante, 'idAdresse');
                            $coordonnees = $adresse->getCoordonneesFrom($idVilleAdresseCourante, 'idVille');
                        }
                        $calqueGoogleMap = new calqueObject(array('idPopup' => 10));
                        $contenuIFramePopup = $this->getContenuIFramePopupGoogleMap(array('idAdresseCourante' => $idAdresseCourante, 'calqueObject' => $calqueGoogleMap, 'idEvenementGroupeAdresseCourant' => $idEvenement));
                        // ********************************************************************************************************************************
                        $t->assign_block_vars('noSimple.isCarteGoogle', array('src' => $this->creerUrl('', 'afficheGoogleMapIframe', array('noHeaderNoFooter' => 1, 'longitude' => $coordonnees['longitude'], 'latitude' => $coordonnees['latitude'], 'archiIdAdresse' => $idAdresseCourante, 'archiIdEvenementGroupeAdresse' => $idEvenement)), 'lienVoirCarteGrand' => "<a href='#' onclick=\"" . $calqueGoogleMap->getJsOpenPopupNoDraggableWithBackgroundOpacity() . "document.getElementById('iFrameDivPopupGM').src='" . $this->creerUrl('', 'afficheGoogleMapIframe', array('longitude' => $coordonnees['longitude'], 'latitude' => $coordonnees['latitude'], 'noHeaderNoFooter' => true, 'archiIdAdresse' => $idAdresseCourante, 'archiIdEvenementGroupeAdresse' => $idEvenement, 'modeAffichage' => 'popupDetailAdresse')) . "';\" class='bigger' style='font-size:11px;'>" . _("Voir la carte en + grand") . "</a>", 'popupGoogleMap' => $calqueGoogleMap->getDivNoDraggableWithBackgroundOpacity(array('top' => 20, 'lienSrcIFrame' => '', 'contenu' => $contenuIFramePopup))));
                        //'popupGoogleMap'=>$calqueGoogleMap->getDiv(array('width'=>550,'height'=>570,'lienSrcIFrame'=>''))."<script  >".$calqueGoogleMap->getJsToDragADiv()."</script>"
                        $t->assign_vars(array('largeurTableauResumeAdresse' => 415, 'hauteurRecapAdresse' => '270'));
                        // ************************************************************************************************************************
                        // affichage de l'encars des adresses avec les photos avant et apres l'adresse courante
                        $arrayEncartAdresses = $adresse->getArrayEncartAdressesImmeublesAvantApres(array('idEvenementGroupeAdresse' => $idEvenementGroupeAdresse));
                        $t->assign_block_vars('noSimple.adresses', array('adressesLiees' => $arrayEncartAdresses['html']));
                        $t->assign_vars(array('urlAutresBiensRue' => $retourAdresse['arrayRetourLiensVoirBatiments']['urlAutresBiensRue'], 'urlAutresBiensQuartier' => $retourAdresse['arrayRetourLiensVoirBatiments']['urlAutresBiensQuartier']));
                        if ($estConnecte) {
                            $t->assign_block_vars('noSimple.isConnected', array());
                            $t->assign_block_vars('noSimple.adresses.isConnected', array());
                        }
                        if ($retourAdresse['nbAdresses'] == 0) {
                            $t->assign_vars(array('intituleActionAdresses' => _("Ajouter une adresse")));
                        } else {
                            $t->assign_vars(array('intituleActionAdresses' => _("Modifier")));
                        }
                        if ($estConnecte && $estAdmin) {
                            // si l'utilisateur est connecté et est admin, on affiche le lien pour selectionner des images
                            $t->assign_block_vars('noSimple.isConnected.afficheLienSelectionImages', array());
                        }
                        if ($estConnecte && $u->isAuthorized('affiche_menu_evenement_choix_titre', $userId)) {
                            if ($u->getIdProfil($userId) == 4 || $u->isModerateurFromVille($userId, $idEvenementGroupeAdresse, 'idEvenementGroupeAdresse')) {
                                // tout utilisateur autorisé (admin+moderateur de la ville)  peut changer le titre par defaut du groupe d'adresse en selectionnant l'evenement de son choix ( le titre est récupéré de cet evenement),si l'autorisation est faite dans la gestion des droites de l'admin du site
                                $t->assign_block_vars('noSimple.isConnected.afficheLienSelectionTitre', array());
                            }
                        }
                        if ($estConnecte && $u->isAuthorized('affiche_menu_evenement_choix_image_principale', $userId)) {
                            if ($u->getIdProfil($userId) == 4 || $u->isModerateurFromVille($userId, $idEvenementGroupeAdresse, 'idEvenementGroupeAdresse')) {
                                // un utilisateur moderateur de la ville de l'adresse courant ou un admin peuvent selectionner ou changer l'image principale du groupe d'adresse,si l'autorisation est faite dans la gestion des droites de l'admin du site
                                $t->assign_block_vars('noSimple.isConnected.afficheLienSelectionImagePrincipale', array());
                            }
                        }
                        if ($estConnecte && $u->isAuthorized('affiche_menu_evenement_positionnement_evenements', $userId)) {
                            if ($u->getIdProfil($userId) == 4 || $u->isModerateurFromVille($userId, $idEvenementGroupeAdresse, 'idEvenementGroupeAdresse')) {
                                // un utilisateur moderateur de la ville courante ou admin peuvent changer la position des evenements, independemment de la date de debut de l'evenement ,si l'autorisation est faite dans la gestion des droites de l'admin du site
                                $t->assign_block_vars('noSimple.isConnected.afficheLienPositionnementEvenements', array());
                            }
                        }
                    }
                    //popup pour la recherche d'adresse dans le cas d'un deplacement d'evenement
                    if ($estConnecte && $u->isAuthorized('evenement_deplacer', $userId)) {
                        $c = new calqueObject(array('idPopup' => "divPopupDeplacerEvenementVersGA" . $idEvenementGroupeAdresse));
                        $t->assign_vars(array('divDeplacerEvenementVersGA' => $c->getDiv(array('lienSrcIFrame' => $this->creerUrl('', 'recherche', array('noHeaderNoFooter' => 1, 'modeAffichage' => 'popupDeplacerEvenementVersGroupeAdresse')), 'titrePopup' => _("Recherche d'adresses"), 'width' => 700))));
                        $params['calquePopupDeplacerEvenement'] = $c;
                    }
                    $images = new archiImage();
                    // **********************************************************************************************************************************************************
                    // recherche des images en rapport avec l'adresse courante
                    $resAdressesCourantes = $adresse->getAdressesFromEvenementGroupeAdresses($idEvenement);
                    $listeAdressesFromEvenement = array();
                    while ($fetchAdressesCourantes = mysql_fetch_assoc($resAdressesCourantes)) {
                        $listeAdressesFromEvenement[] = $fetchAdressesCourantes['idAdresse'];
                    }
                    if ($modeAffichage == "personne") {
                    } else {
                        $arrayCorrespondancesVuesSur = $this->getArrayCorrespondancesIdImageVuesSurAndEvenementByDateFromGA($idEvenementGroupeAdresse);
                        $arrayNoDiplayIdImageVueSur = array();
                        foreach ($arrayCorrespondancesVuesSur as $indice => $values) {
                            foreach ($values as $indice => $value) {
                                $arrayNoDiplayIdImageVueSur[] = $value['idImage'];
                            }
                        }
                    }
                    if (count($listeAdressesFromEvenement) > 0) {
                        $arrayAutresVuesSur = $images->getAutresPhotosVuesSurAdresse($listeAdressesFromEvenement, 'moyen', array('noDiplayIdImage' => $arrayNoDiplayIdImageVueSur, 'idEvenementGroupeAdresse' => $idEvenementGroupeAdresse, 'idGroupeAdresseEvenementAffiche' => $idEvenementGroupeAdresse, 'setZoomOnImageZone' => true));
                        $autresVuesSurHTML = $arrayAutresVuesSur['htmlVueSur'];
                        $codeARajouterALaFin = $arrayAutresVuesSur['htmlZonesDivMapJs'];
                        $autresPrisesDepuisHTML = $images->getAutresPhotosPrisesDepuisAdresse($listeAdressesFromEvenement, 'moyen', array('idEvenementGroupeAdresse' => $idEvenementGroupeAdresse, 'idGroupeAdresseEvenementAffiche' => $idEvenementGroupeAdresse));
                        if ($autresVuesSurHTML != '') {
                            $t->assign_block_vars('noSimple.autresVuesSur', array('value' => $autresVuesSurHTML));
                        }
                        if ($autresPrisesDepuisHTML != '') {
                            $t->assign_block_vars('noSimple.autresPrisesDepuis', array('value' => $autresPrisesDepuisHTML));
                        }
                        $arrayLiens = array();
                        if ($modeAffichage != "personne") {
                            $arrayListeAdressesCourantes = array_unique($retourAdresse['arrayIdAdresses']);
                        }
                        //foreach($arrayListeAdressesCourantes as $indice => $idAdresseCourante)
                        //{
                        $arrayLiens[] = "<a href='" . $this->creerUrl('', '', array('archiAffichage' => 'adresseDetail', 'archiIdAdresse' => $idAdresseCourante, 'archiIdEvenementGroupeAdresse' => $idEvenementGroupeAdresse)) . "'>" . $adresse->getIntituleAdresseFrom($idEvenementGroupeAdresse, 'idEvenementGroupeAdresse', array("noQuartier" => true, "noVille" => true, "noSousQuartier" => true, "ifTitreAfficheTitreSeulement" => true)) . "</a>";
                        //}
                        $t->assign_vars(array('listeAdressesCourantes' => implode(" / ", $arrayLiens)));
                    }
                    // **********************************************************************************************************************************************************
                    // **********************************************************************************************************************************************************
                    // **********************************************************************************************************************************************************
                    // affichage des evenements de l'evenement groupe d'adresses
                    // **********************************************************************************************************************************************************
                    $champsCacheTransmis = array();
                    //
                    $idEvenementWhereIsTitre = $this->getIdEvenementTitre(array("idEvenementGroupeAdresse" => $idEvenementGroupeAdresse));
                    $idAdresse = $adresse->getIdAdresseFromIdEvenementGroupeAdresse($idEvenementGroupeAdresse);
                    // initialisation des variables pour la creation du tableau de configuration de la liste triable par glisser deposer des evenements dans l'onglet historique des evenements
                    if (isset($this->variablesGet['affichePositionnementEvenements']) && $this->variablesGet['affichePositionnementEvenements'] == '1') {
                        $arrayConfigPositionnementEvenement = array();
                        $indicePositionnement = 0;
                    }
                    $i = 0;
                    // parcours des evenements
                    foreach ($tabIdEvenementsLies as $indice => $value) {
                        $params['isLieFromOtherAdresse'] = $value['isLieFromOtherAdresse'];
                        $params['imagesVuesSurLinkedByDate'] = array();
                        if (isset($tabIdEvenementsLies[$i + 1]["idEvenementAssocie"])) {
                            $params["nextEvent"] = $tabIdEvenementsLies[$i + 1]["idEvenementAssocie"];
                        } else {
                            $params["nextEvent"] = null;
                        }
                        if (isset($arrayCorrespondancesVuesSur[$value['idEvenementAssocie']])) {
                            $params['imagesVuesSurLinkedByDate'] = $arrayCorrespondancesVuesSur[$value['idEvenementAssocie']];
                        }
                        // le type de structure est le meme que l'evenement precedent , on ne l'affiche pas, c'est pour cela qu'on le transmet a la fonction d'affichage
                        $retourEvenement = $this->afficher($value['idEvenementAssocie'], 'simple', null, $champsCacheTransmis, $params);
                        $champsCacheTransmis = array('idTypeStructurePrecedent' => $retourEvenement['idTypeStructure']);
                        $titreAncre = $retourEvenement['titreAncre'];
                        if ($titreAncre == 'Sans titre' && ($retourEvenement['isMH'] || $retourEvenement['isISMH'])) {
                            if ($retourEvenement['isMH']) {
                                $titreAncre = "<b>" . _("Classement aux Monuments Historiques") . "</b>";
                            }
                            if ($retourEvenement['isISMH']) {
                                $titreAncre = "<b>" . _("Inscription à l'Inventaire Supplémentaire des Monuments Historiques") . "</b>";
                            }
                        } elseif ($titreAncre != _("Sans titre") && ($retourEvenement['isMH'] || $retourEvenement['isISMH'])) {
                            if ($retourEvenement['isMH']) {
                                $titreAncre .= " <b>(MH)</b>";
                            }
                            if ($retourEvenement['isISMH']) {
                                $titreAncre .= " <b>(ISMH)</b>";
                            }
                        }
                        if ($retourEvenement['nomTypeEvenement'] != '') {
                            $titreAncre .= " - " . $retourEvenement['nomTypeEvenement'];
                        }
                        if ($retourEvenement['date'] != '') {
                            $titreAncre .= " - " . $retourEvenement['date'];
                        }
                        if ($retourEvenement['dateFin'] != '') {
                            $titreAncre .= " " . $retourEvenement['dateFin'];
                        }
                        if (isset($this->variablesGet['affichePositionnementEvenements']) && $this->variablesGet['affichePositionnementEvenements'] == '1') {
                            // si on est en mode de positionnement des evenements manuellement
                            $arrayConfigPositionnementEvenement[$indicePositionnement]['idEvenement'] = array('value' => $value['idEvenementAssocie'], 'type' => 'identifiant');
                            $arrayConfigPositionnementEvenement[$indicePositionnement]['illustration'] = array('value' => "<img src='" . $this->urlImages . "doubleFlechesVerticales.jpg' border=0>", 'type' => 'free');
                            $arrayConfigPositionnementEvenement[$indicePositionnement]['titre'] = array('value' => $titreAncre, 'type' => 'free', 'styleColonneDonnees' => 'font-size:12px;');
                            $indicePositionnement++;
                            /*$t->assign_block_vars('noSimple.modePositionnementEvenements',array());
                            
                            							$t->assign_block_vars('noSimple.modePositionnementEvenements.titresEvenements',array(
                            									'imagesIllustrationGlisserDeposer'=>$this->urlImages."",
                            									'titre' => $titreAncre
                            
                            							));
                            							*/
                            //'url'=> $this->creerUrl('selectTitreAdresse','adresseDetail',array('archiIdAdresse'=>$idAdresse,'idEvenementTitreSelection'=>$value['idEvenementAssocie'],'archiIdEvenementGroupeAdresse'=>$idEvenementGroupeAdresse))
                        } elseif (isset($this->variablesGet['afficheSelectionTitre']) && $this->variablesGet['afficheSelectionTitre'] == '1') {
                            // si on est en mode de selection d'un titre le titre courant s'affiche en rouge
                            if ($idEvenementWhereIsTitre == $value['idEvenementAssocie']) {
                                $titreAncre = "<span style='color:red;'>" . $titreAncre . "</span>";
                            }
                            $t->assign_block_vars('noSimple.ancres', array('titre' => $titreAncre, 'url' => $this->creerUrl('selectTitreAdresse', 'adresseDetail', array('archiIdAdresse' => $idAdresse, 'idEvenementTitreSelection' => $value['idEvenementAssocie'], 'archiIdEvenementGroupeAdresse' => $idEvenementGroupeAdresse))));
                        } else {
                            $t->assign_block_vars('noSimple.ancres', array('titre' => $titreAncre, 'url' => "#" . $indice));
                        }
                        if ($this->variablesGet['selection'] == 'personne') {
                            $formulaireCommentaire = $this->getFormComment($value['idEvenementAssocie'], $this->getCommentairesFields('personne', $this->variablesGet['id']), 'personne');
                            $listeCommentaires = $this->getListCommentairesEvenements($value['idEvenementAssocie']);
                        } else {
                            $formulaireCommentaire = $this->getFormComment($value['idEvenementAssocie'], $this->getCommentairesFields('evenement'), 'evenement');
                            $listeCommentaires = $this->getListCommentairesEvenements($value['idEvenementAssocie']);
                        }
                        $t->assign_block_vars('evenementLie', array('evenement' => $retourEvenement['html'], 'numeroAncre' => $indice, 'listeCommentaires' => $listeCommentaires, 'formulaireCommentaire' => $formulaireCommentaire));
                        $i++;
                    }
                    // affichage de la liste triable a la place de l'historique des evenements, quand on est en mode positionnement d'evenements
                    if (isset($this->variablesGet['affichePositionnementEvenements']) && $this->variablesGet['affichePositionnementEvenements'] == '1') {
                        $t->assign_block_vars('noSimple.modePositionnementEvenements', array());
                        // affiche le bloc
                        $t->assign_vars(array('sortableFormListe' => $imageObject->createSortableFormListeFromArray($arrayConfigPositionnementEvenement, array('noEntetesTableau' => true)) . $imageObject->getJSInitAfterListDragAndDrop('slideshow0', array('onlyHiddenFormField' => true)), 'onClickValidationPositionnementEvenement' => $imageObject->getJSSubmitDragAndDrop() . "document.getElementById('formPositionnementEvenements').submit();", 'formActionPositionnementEvenements' => $this->creerUrl('enregistrerPositionnementEvenements', 'adresseDetail', array('archiIdAdresse' => $idAdresseCourante, 'archiIdEvenementGroupeAdresse' => $idEvenementGroupeAdresse))));
                        // ajout du code d'initialisation au niveau de la fin de la page (footer)
                        $this->addToJsFooter($imageObject->getJSInitAfterListDragAndDrop('slideshow0', array('onlyJavascriptInitCode' => true)));
                    }
                    // ajout de la possibilité de préciser que l'on ne veut pas de titre , l'adresse s'affichera donc pour l'evenement a la place d'un titre
                    if (isset($this->variablesGet['afficheSelectionTitre']) && $this->variablesGet['afficheSelectionTitre'] == '1') {
                        $titreAncre = "Pas de titre";
                        if ($idEvenementWhereIsTitre == -1) {
                            $titreAncre = "<span style='color:red;'>Pas de titre</span>";
                        }
                        $t->assign_block_vars('noSimple.choixEvenementSansTitre', array('titre' => $titreAncre, 'url' => $this->creerUrl('selectTitreAdresse', 'adresseDetail', array('archiIdAdresse' => $idAdresse, 'idEvenementTitreSelection' => -1, 'archiIdEvenementGroupeAdresse' => $idEvenementGroupeAdresse))));
                    }
                    // affichage de la liste des historiques de nom de rue pour l'adresse si celle ci ne concerne qu'une rue , sans numero de rue.
                    $infosAdresseCourante = $adresse->getArrayAdresseFromIdAdresse($idAdresse);
                    if (($infosAdresseCourante['numero'] == '0' || $infosAdresseCourante['numero'] == '') && ($infosAdresseCourante['idRue'] != '' || $infosAdresseCourante['idRue'] != '0')) {
                        $d = new dateObject();
                        // dans ce cas on va chercher les infos de l'historique de la rue
                        $reqHistoriqueNomRue = "SELECT * FROM historiqueNomsRues WHERE idRue = '" . $infosAdresseCourante['idRue'] . "' ORDER BY annee";
                        $resHistoriqueNomRue = $this->connexionBdd->requete($reqHistoriqueNomRue);
                        if (mysql_num_rows($resHistoriqueNomRue) > 0) {
                            $t->assign_block_vars("noSimple.isHistoriqueNomsRue", array());
                            while ($fetchHistoriqueNomRue = mysql_fetch_assoc($resHistoriqueNomRue)) {
                                if ($fetchHistoriqueNomRue['prefixe'] != '') {
                                    $nomRue = stripslashes($fetchHistoriqueNomRue['prefixe']) . " " . stripslashes($fetchHistoriqueNomRue['nomRue']);
                                } else {
                                    $nomRue = stripslashes($fetchHistoriqueNomRue['nomRue']);
                                }
                                $t->assign_block_vars("noSimple.listeHistoriqueNomsRue", array("annee" => $d->toFrenchAffichage($fetchHistoriqueNomRue['annee']), "nomRue" => $nomRue, "commentaire" => stripslashes($fetchHistoriqueNomRue['commentaire'])));
                            }
                        }
                    }
                    $a = new archiAdresse();
                    $listeCommentaires = $a->getListeCommentaires($idEvenementGroupeAdresse);
                    $formulaireCommentaire = $this->getFormComment($idEvenementGroupeAdresse, $this->getCommentairesFields(), '');
                    if (!ArchiPersonne::isPerson($idEvenementGroupeAdresse)) {
                        $t->assign_block_vars('commentairesAdresse', array('formulaireCommentaire' => $formulaireCommentaire, 'listeCommentaires' => $listeCommentaires));
                    }
                    $t->assign_vars(array('nbEvenements' => count($tabIdEvenementsLies) + 1));
                } else {
                }
            }
            // *************************************************************************************************************************************
        } else {
            echo 'aucun résultat !';
        }
        ob_start();
        $t->pparse('ev');
        $html .= ob_get_contents();
        ob_end_clean();
        if (isset($codeARajouterALaFin)) {
            $html .= $codeARajouterALaFin;
            // a cause du JS executé a la fin sinon il ne trouve pas certains divs
        }
        // on ferme le formulaire s'il a ete ouvert
        if ($modeAffichage != 'simple' && $modeAffichage != 'consultationHistoriqueEvenement') {
            if ($estConnecte && (isset($this->variablesGet['afficheSelectionImage']) && $this->variablesGet['afficheSelectionImage'] == '1' || isset($this->variablesGet['afficheSelectionTitre']) && $this->variablesGet['afficheSelectionTitre'] == '1')) {
                $html .= "</form>";
            }
        }
        $s = new archiSource();
        $html .= $s->getPopupDescriptionSource();
        return array('html' => $html, 'idTypeStructure' => $retourIdTypeStructure, 'titreAncre' => $retourTitreAncre, 'nomTypeEvenement' => $retourNomTypeEvenement, 'date' => $retourDate, 'isMH' => $isMH, 'isISMH' => $isISMH, 'listeGroupeAdressesAffichees' => $listeGroupeAdressesAffichees, 'dateFin' => $retourDateFin);
    }
コード例 #5
0
ファイル: watermarker.php プロジェクト: phill104/branches
 isset($_GET['font']) ? $font = $_GET['font'] : ($font = $CONFIG['wm_font']);
 $rotation = 360 - $rotation;
 //check which image-editor to use
 switch ($CONFIG['thumb_method']) {
     case "im":
         require "include/imageObjectIM.class.php";
         break;
     case "gd1":
         require "include/imageObjectGD.class.php";
         break;
     case "gd2":
         require "include/imageObjectGD.class.php";
         break;
 }
 //create the preview
 $preview = new imageObject("", "img.jpg");
 if ($what == "text") {
     //watermark with text
     $preview->watermarkText($text, $font, $c, $size, $left, $top, $rotation);
     echo $preview->preview;
 } else {
     //watermark with image
     //get the actual watermark image if it was converted for use with the configurator
     if (file_exists("watermarker/images/" . substr($image_url, 0, strlen($image_url) - 4))) {
         $image_url = "watermarker/images/" . substr($image_url, 0, strlen($image_url) - 4);
     } else {
         $image_url = "watermarker/images/" . $image_url;
     }
     echo "<img src='" . $image_url . "'/>";
     $preview->watermarkImage($image_url, $left, $top, $rotation, $transparency = 100);
     echo $preview->preview;
コード例 #6
0
 public function ajouter($parametres = array(), $liaisonsExternes = array())
 {
     $html = "";
     $this->fields = array();
     $reqFieldsListe = "SHOW COLUMNS FROM " . $parametres['tableName'] . ";";
     $resFieldsListe = $this->connexionBdd->requete($reqFieldsListe);
     // fabrication de la chaine requete d'ajout
     $arrayFields = array();
     $primaryKeyField = "";
     while ($fetchFields = mysql_fetch_assoc($resFieldsListe)) {
         if ($fetchFields['Key'] != 'PRI') {
             //$requeteModification.=$fetchFields['Field']."='".$this->variablesPost[$fetchFields['Field']]."'";
             $arrayFields[] = $fetchFields['Field'];
             if (preg_match("/date/i", $fetchFields['Type'])) {
                 $d = new dateObject();
                 if ((pia_ereg("/", $this->variablesPost[$fetchFields['Field']]) || pia_strlen($this->variablesPost[$fetchFields['Field']]) > 3) && !pia_ereg("-", $this->variablesPost[$fetchFields['Field']])) {
                     $arrayValues[] = $d->toBdd($d->convertYears($this->variablesPost[$fetchFields['Field']]));
                 } else {
                     $arrayValues[] = $this->variablesPost[$fetchFields['Field']];
                 }
             } else {
                 $arrayValues[] = $this->variablesPost[$fetchFields['Field']];
             }
         } else {
             $primaryKeyField = $fetchFields['Field'];
         }
     }
     $listeFields = implode(', ', $arrayFields);
     $listeValues = implode('", "', $arrayValues);
     $requeteAjout = "insert into " . $parametres['tableName'] . " (" . $listeFields . ") VALUES (\"" . $listeValues . "\")";
     $this->connexionBdd->requete($requeteAjout);
     $idNouvelElement = mysql_insert_id();
     // gestion des champs supplementaires du formulaire qui ne sont pas des champs de la base de donnée
     if (isset($parametres['fieldsNotInBdd']) && is_array($parametres['fieldsNotInBdd']) && count($parametres['fieldsNotInBdd']) > 0) {
         foreach ($parametres['fieldsNotInBdd'] as $indice => $valuesFields) {
             // traitement specifiques aux champs qui ne sont pas liés a la base de donnée
             switch ($valuesFields['type']) {
                 case 'uploadImageLiee':
                     // ce cas d'upload n'ajoute pas de nom de fichier dans la base ,  on va en principe se referer a l'identifiant de la table courante
                     // exemple ,  on ajoute une image sur un personne,  l'image aura donc pour nom de fichier "idPersonne".jpg par exemple en fonction du parametrage
                     if (isset($_FILES[$valuesFields['name']]) && $_FILES[$valuesFields['name']]['error']) {
                         switch ($_FILES[$valuesFields['name']]['error']) {
                             case 1:
                                 // UPLOAD_ERR_INI_SIZE
                                 echo "Le fichier dépasse la limite autorisée par le serveur !";
                                 break;
                             case 2:
                                 // UPLOAD_ERR_FORM_SIZE
                                 echo "Le fichier dépasse la limite autorisée dans le formulaire HTML !";
                                 break;
                             case 3:
                                 // UPLOAD_ERR_PARTIAL
                                 echo "L'envoi du fichier a été interrompu pendant le transfert !";
                                 break;
                             case 4:
                                 // UPLOAD_ERR_NO_FILE
                                 echo "Le fichier que vous avez envoyé a une taille nulle !";
                                 break;
                         }
                     } else {
                         // pas d'erreur d'upload
                         $i = new imageObject();
                         // classe image du framework
                         $f = new fileObject();
                         if (isset($valuesFields['redimFilesAndSizesConfig']) && is_array($valuesFields['redimFilesAndSizesConfig']) && count($valuesFields['redimFilesAndSizesConfig']) > 0) {
                             foreach ($valuesFields['redimFilesAndSizesConfig'] as $indiceConfigRedims => $valueConfigRedims) {
                                 $fichierParametre = "";
                                 // on remplace le parametre par une valeur s'il y en a un
                                 $valueReplacementBdd = "";
                                 // valeur que va prendre la parametre a remplacer
                                 $matches = array();
                                 preg_match("/\\#\\#\\#bddField\\[(.+)\\]\\#\\#\\#/", $valueConfigRedims['nomFichierDestinationParametre'], $matches);
                                 // on detecte si il y a un parametre a remplacer par une valeur de la base de donnée ou pas
                                 if (count($matches) > 0) {
                                     $req = "SELECT " . $matches[1] . " FROM " . $parametres['tableName'] . " WHERE " . $primaryKeyField . "='" . $idNouvelElement . "'";
                                     $res = $this->connexionBdd->requete($req);
                                     $fetchValeurCouranteBdd = mysql_fetch_assoc($res);
                                     $valueReplacementBdd = $fetchValeurCouranteBdd[$matches[1]];
                                     $fichierParametre = str_replace($matches[0], $valueReplacementBdd, $valueConfigRedims['nomFichierDestinationParametre']);
                                 }
                                 $imageType = strtolower($f->getExtensionFromFile($_FILES[$valuesFields['name']]['name']));
                                 if (file_exists($valueConfigRedims['repertoireDestination'] . $fichierParametre)) {
                                     // si un fichier du meme nom existe ,  on l'efface
                                     unlink($valueConfigRedims['repertoireDestination'] . $fichierParametre);
                                 }
                                 if ($fichierParametre != '') {
                                     if (isset($valueConfigRedims['taille'])) {
                                         $i->redimension($_FILES[$valuesFields['name']]['tmp_name'], $imageType, $valueConfigRedims['repertoireDestination'] . $fichierParametre, $valueConfigRedims['taille'], array('redimOnlyIfFileSizesSuperiorToRedimValue' => true));
                                     }
                                 } else {
                                     echo "Le fichier n'a pu être redimensionné. Erreur de parametrage dans la fonction du framework formGenerator::modifier()<br>";
                                 }
                             }
                             unlink($_FILES[$valuesFields['name']]['tmp_name']);
                         }
                     }
                     break;
             }
         }
     }
     return $html;
 }
コード例 #7
0
 public function handleUploadedFileSimpleMoveTo($params = array())
 {
     if (isset($params['inputFileName']) && $params['inputFileName'] != '') {
         if (isset($_FILES[$params['inputFileName']]) && count($_FILES[$params['inputFileName']]) > 0) {
             if ($_FILES[$params['inputFileName']]['error']) {
                 switch ($_FILES[$params['inputFileName']]['error']) {
                     case 1:
                         // UPLOAD_ERR_INI_SIZE
                         echo "Le fichier dépasse la limite autorisée par le serveur.";
                         break;
                     case 2:
                         // UPLOAD_ERR_FORM_SIZE
                         echo "Le fichier dépasse la limite autorisée dans le formulaire HTML.";
                         break;
                     case 3:
                         // UPLOAD_ERR_PARTIAL
                         echo "L'envoi du fichier a été interrompu pendant le transfert.";
                         break;
                     case 4:
                         // UPLOAD_ERR_NO_FILE
                         echo "Le fichier que vous avez envoyé a une taille nulle.";
                         break;
                 }
             } else {
                 // pas d'erreur , on deplace le fichier temporaire vers la destination voulue
                 if (isset($params['redimensionneImageConfig']) && is_array($params['redimensionneImageConfig']) && count($params['redimensionneImageConfig']) > 0) {
                     $i = new imageObject();
                     foreach ($params['redimensionneImageConfig'] as $tailleMax => $configRedim) {
                         $i->redimension($_FILES[$params['inputFileName']]['tmp_name'], $this->getExtensionFromFile($_FILES[$params['inputFileName']]['name']), $configRedim['destination'], $tailleMax);
                     }
                 } elseif (isset($params['repertoireDestination']) && $params['repertoireDestination'] != '') {
                     $fileNameDestination = $_FILES[$params['inputFileName']]['name'];
                     if (isset($params['renameFileTo']) && $params['renameFileTo'] != '') {
                         $fileNameDestination = $params['renameFileTo'];
                     }
                     move_uploaded_file($_FILES[$params['inputFileName']]['tmp_name'], $params['repertoireDestination'] . "/" . $fileNameDestination);
                 } else {
                     echo "parametre manquant => framework/fileObject::handleUploadedFileSimpleMoveTo<br>";
                 }
             }
         }
     }
 }
コード例 #8
0
 /**
  * Enregistre les positions de l'image
  *
  * @return void
  * */
 public function enregistrePositionImages()
 {
     $imageObj = new imageObject();
     $liste = $imageObj->getArrayFromPostDragAndDrop();
     foreach ($liste as $position => $idHistoriqueImage) {
         $reqIdImage = "\n                            SELECT idImage\n                            FROM historiqueImage\n                            WHERE\n                                idHistoriqueImage = '" . $idHistoriqueImage . "'\n                        ";
         $resIdImage = $this->connexionBdd->requete($reqIdImage);
         $fetchIdImage = mysql_fetch_assoc($resIdImage);
         $this->connexionBdd->requete("UPDATE _evenementImage SET position='" . $position . "' WHERE idImage='" . $fetchIdImage['idImage'] . "'");
     }
 }
コード例 #9
0
 /**
  * Enregistrer l'ordre des étapes d'un parcours
  * 
  * @param array $params Paramètres
  * 
  * @return void
  * */
 public function enregistrerOrdresEtapes($params = array())
 {
     $imObj = new imageObject();
     $ordreArray = $imObj->getArrayFromPostDragAndDrop();
     $i = 1;
     foreach ($ordreArray as $indice => $idEtape) {
         // l'indice commence a 1
         $reqUpdate = "UPDATE etapesParcoursArt SET position='" . $i . "' WHERE idEtape='" . $idEtape . "'";
         $resUpdate = $this->connexionBdd->requete($reqUpdate);
         $i++;
     }
 }