public function afficherDetail($idAdresse = 0, $idEvenementGroupeAdresse = 0)
 {
     // attention s'il y a plusieurs evenement distinct (pas associes entre eux) reliés a l'adresse on les affichera a la suite
     if (isset($_GET["archiIdAdresse"])) {
         $address = $this->getArrayAdresseFromIdAdresse($_GET["archiIdAdresse"]);
     }
     $reqTitre = "\n\t\t\t\tSELECT he1.titre as titre\n\t\t\t\tFROM _adresseEvenement ae\n\t\t\t\tLEFT JOIN _evenementEvenement ee ON ee.idEvenement = ae.idEvenement\n\t\t\t\tLEFT JOIN evenements he1 ON he1.idEvenement = ee.idEvenementAssocie\n\t\t\t\tLEFT JOIN evenements he2 ON he2.idEvenement = he1.idEvenement\n\t\t\t\tWHERE he1.titre!=''\n\t\t\t\tAND ae.idAdresse = '" . $idAdresse . "'\n\t\t\t\tAND he1.idTypeEvenement <>'6'\n\t\t\t\tGROUP BY he1.idEvenement\n\t\t\t\tORDER BY he1.dateDebut,he1.idEvenement\n\t\t\t\tLIMIT 1\n\n\t\t\t\t";
     $resTitre = $this->connexionBdd->requete($reqTitre);
     if (mysql_num_rows($resTitre) == 1) {
         $fetchTitre = mysql_fetch_assoc($resTitre);
         $titre = stripslashes($fetchTitre['titre']);
         if (trim($fetchTitre['titre']) == '') {
             $noTitreDetected = true;
             $titre = '';
         }
     }
     //    }
     $html = "<div class='social_widgets'><div class='fb-like right' data-send='false' data-layout='button_count' data-show-faces='true' data-action='recommend'></div>\n        <a href='https://twitter.com/share' class='twitter-share-button right' data-via='ArchiStrasbourg' data-lang='fr' data-related='ArchiStrasbourg'>Tweeter</a>\n        <script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0];if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src='//platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js,fjs);}}(document,'script','twitter-wjs');</script></div>";
     $html .= "<h2>";
     $e = new archiEvenement();
     $archiIdEvenementGroupeAdresse = isset($_GET['archiIdEvenementGroupeAdresse']) ? $_GET['archiIdEvenementGroupeAdresse'] : $e->getIdEvenementGroupeAdresseFromIdEvenement($_GET["archiIdEvenement"]);
     $titre = $intituleAdresse = $this->getIntituleAdresseFrom($archiIdEvenementGroupeAdresse, "idEvenementGroupeAdresse", array("afficheTitreSiTitreSinonRien" => true, "noHTML" => true));
     if (isset($titre) && !empty($titre)) {
         if (isset($_GET['archiAffichage']) && $_GET['archiAffichage'] == 'adresseDetail') {
             $html .= "<span itemprop='name'>";
         }
         $html .= $titre;
         if (isset($_GET['archiAffichage']) && $_GET['archiAffichage'] == 'adresseDetail') {
             $html .= "</span>";
         }
         if (!empty($address["nomRue"])) {
             $html .= "&nbsp;-&nbsp;";
         }
     }
     if (isset($address)) {
         if (isset($_GET['archiAffichage']) && $_GET['archiAffichage'] == 'adresseDetail') {
             $html .= "<span itemprop='address' itemscope itemtype='http://schema.org/PostalAddress'><span itemprop='streetAddress'>";
         }
         if ($address["numero"] . " " != 0) {
             $html .= $address["numero"];
             if (isset($address['nomIndicatif'])) {
                 $html .= $address["nomIndicatif"];
             }
             $html .= ' ';
         }
         $html .= $address["prefixeRue"] . " " . $address["nomRue"];
         if (isset($_GET['archiAffichage']) && $_GET['archiAffichage'] == 'adresseDetail') {
             $html .= "</span>\n\t\t\t\t\t\t<meta itemprop='addressLocality' content='" . $address["nomVille"] . "'/>\n\t\t\t\t\t\t<meta itemprop='addressCountry' content='" . $address["nomPays"] . "'/>\n\t\t\t\t\t\t</span>";
         }
     }
     $html .= "</h2>";
     $evenement = new archiEvenement();
     // si le groupe d'adresse est precisé dans l'url , on ne va afficher que celui ci
     if (isset($this->variablesGet['archiIdEvenementGroupeAdresse']) && $this->variablesGet['archiIdEvenementGroupeAdresse'] != '') {
         if (isset($this->variablesGet['modeAffichage'])) {
             $modeAffichage = $this->variablesGet['modeAffichage'];
         } else {
             $modeAffichage = '';
         }
         $retourEvenement = $evenement->afficher($this->variablesGet['archiIdEvenementGroupeAdresse'], '', null, array());
         // cette fonction va afficher les evenements liés au groupe d'adresse
         $html .= $retourEvenement['html'];
         if (!archiPersonne::isPerson($this->variablesGet['archiIdEvenementGroupeAdresse']) && $this->variablesGet['archiIdEvenementGroupeAdresse'] != 0) {
             $html .= $evenement->getFormComment($this->variablesGet['archiIdEvenementGroupeAdresse'], $this->getCommentairesFields(), '');
             $html .= $this->getListeCommentaires($this->variablesGet['archiIdEvenementGroupeAdresse']);
         }
     } elseif ($idEvenementGroupeAdresse != '' && $idEvenementGroupeAdresse != '0') {
         $retourEvenement = $evenement->afficher($idEvenementGroupeAdresse, '', null, array());
         $html .= $retourEvenement['html'];
         if (!ArchiPersonne::isPerson($idEvenementGroupeAdresse)) {
             $html .= $evenement->getFormComment($this->variablesGet['archiIdEvenementGroupeAdresse'], $this->getCommentairesFields(), '');
             $html .= $this->getListeCommentaires($idEvenementGroupeAdresse);
         }
     } else {
         $resEvenements = $this->getIdEvenementsFromAdresse($idAdresse);
         //c'est l'evenement groupe d'adresse qui est relié a l'idAdresse donc on recupere un idEvenementGroupeAdresse en fait
         if (mysql_num_rows($resEvenements) == 1) {
             // un seul evenement groupe d'adresse correspond a l'adresse cliquée
             $fetchEvenements = mysql_fetch_assoc($resEvenements);
             $retourEvenement = $evenement->afficher($fetchEvenements['idEvenement'], '', null, array());
             // cette fonction va afficher les evenements liés au groupe d'adresse
             $html .= $retourEvenement['html'];
             if (!ArchiPersonne::isPerson($fetchEvenements['idEvenement'])) {
                 $html .= $evenement->getFormComment($fetchEvenements['idEvenement'], $this->getCommentairesFields(), '');
                 $html .= $this->getListeCommentaires($fetchEvenements['idEvenement']);
             }
         } else {
             // il y a plusieurs evenements groupes d'adresses qui correspondent a la meme adresse
             // on n'affiche que les evenements qui concernent la recherche
             // archiIdEvenementGroupeAdresse , correspond au groupe d'adresse de l'adresse resultat de la recherche
             if (isset($this->variablesGet['recherche_motcle'])) {
                 // on refait une recherche sur les evenements concernés par l'adresse correspondant a plusieurs evenements groupe adresse
                 $req = "\n\t\t\t\t\t\t\tSELECT ee.idEvenement as idEvenementGroupeAdresse, he1.idEvenement as idEvenement\n\t\t\t\t\t\t\tFROM evenements he2, evenements he1\n\t\t\t\t\t\t\tRIGHT JOIN _adresseEvenement ae ON ae.idAdresse = '" . $idAdresse . "'\n\t\t\t\t\t\t\tRIGHT JOIN _evenementEvenement ee ON ee.idEvenement = ae.idEvenement\n\t\t\t\t\t\t\tWHERE he2.idEvenement = he1.idEvenement\n\t\t\t\t\t\t\tAND he1.idEvenement = ee.idEvenementAssocie\n\t\t\t\t\t\t\tAND CONCAT_WS('',lower(he1.titre),lower(he1.description)) like \"%" . strtolower($this->variablesGet['recherche_motcle']) . "%\"\n\t\t\t\t\t\t\tGROUP BY he1.idEvenement\n\t\t\t\t\t\t\t";
                 $res = $this->connexionBdd->requete($req);
                 while ($fetch = mysql_fetch_assoc($res)) {
                     $retourEvenement = $evenement->afficher($fetch['idEvenementGroupeAdresse'], '', null, array(), array());
                     // cette fonction va afficher les evenements liés au groupe d'adresse
                     //'rechercheAdresseCalqueObject'=>$c
                     $html .= $retourEvenement['html'];
                 }
             } else {
                 $nbGroupesAdressesAffiches = 0;
                 while ($fetchEvenements = mysql_fetch_assoc($resEvenements)) {
                     $retourEvenement = $evenement->afficher($fetchEvenements['idEvenement'], '', null, array());
                     // cette fonction va afficher les evenements liés au groupe d'adresse
                     $html .= $retourEvenement['html'];
                     $nbGroupesAdressesAffiches += count($retourEvenement['listeGroupeAdressesAffichees']);
                     if (isset($retourEvenement['listeGroupeAdressesAffichees'][0])) {
                         $groupeAdresse = $retourEvenement['listeGroupeAdressesAffichees'][0];
                     }
                 }
                 if ($nbGroupesAdressesAffiches == 1) {
                     if (!ArchiPersonne::isPerson($groupeAdresse)) {
                         debug($groupeAdresse);
                         $html .= $evenement->getFormComment($groupeAdresse, $this->getCommentairesFields(), '');
                         $html .= $this->getListeCommentaires($groupeAdresse);
                     }
                 }
             }
         }
     }
     // popup pour la description de la source
     $s = new archiSource();
     $html .= $s->getPopupDescriptionSource();
     return $html;
 }
Exemplo n.º 2
0
     $a = new archiAdresse();
     echo $a->afficherDetail($_GET['archiIdAdresse']);
     break;
 case 'testAdresseDetail':
     $a = new archiAdresse();
     $e = new archiEvenement();
     echo $a->afficherDetailAdresse($_GET['idAdresse'], $_GET['idEvenementGroupeAdresse']);
     //afficherDetailAdresse
     break;
 case 'displayAddress':
     $a = new archiAdresse();
     echo $a->display();
     break;
 case 'evenement':
     $a = new archiEvenement();
     $retour = $a->afficher($_GET['idEvenement']);
     echo $retour['html'];
     break;
 case 'imageDetail':
     $a = new archiImage();
     echo $a->afficher($_GET['archiIdImage']);
     break;
 case 'imageListe':
     $a = new archiImage();
     echo $a->afficherListe();
     break;
 case 'afficheHistoriqueImage':
     $i = new archiImage();
     echo $i->afficheHistoriqueImage($_GET['archiIdImage']);
     break;
 case 'inscription':
 public function modifier()
 {
     set_time_limit(0);
     $mail = new mailObject();
     $authentifie = new archiAuthentification();
     $arrayListeIdImage = array();
     $dateDuJour = date("Y-m-d");
     //$authentifie->estConnecte() &&
     if (isset($this->variablesPost['listeId']) && $this->variablesPost['listeId'] != '') {
         $adresses = new archiAdresse();
         $arrayListeIdHistoriqueImage = explode(',  ', $this->variablesPost['listeId']);
         foreach ($arrayListeIdHistoriqueImage as $indice => $idHistorique) {
             if (isset($this->variablesPost['idCourant_' . $idHistorique])) {
                 $idCourant = $this->variablesPost['idCourant_' . $idHistorique];
             }
             if (isset($this->variablesPost['typeLiaisonImage_' . $idHistorique])) {
                 $typeLiaisonImage = $this->variablesPost['typeLiaisonImage_' . $idHistorique];
             }
             switch ($typeLiaisonImage) {
                 case 'adresse':
                     $listeChamps = array('nom', 'description', 'seSitue', 'prisDepuis', 'etage', 'hauteur', 'dateCliche', 'dateUpload', 'source', 'isDateClicheEnviron', "licence", "auteur", "tags");
                     break;
                 case 'evenement':
                     $listeChamps = array('nom', 'description', 'dateCliche', 'dateUpload', 'source', 'isDateClicheEnviron', 'numeroArchive', "licence", "auteur", "tags");
                     break;
                 default:
                     $listeChamps = array('nom', 'description', 'dateCliche', 'dateUpload', 'source', 'isDateClicheEnviron', 'numeroArchive', "licence", "auteur", "tags");
                     break;
             }
             $idImage = $this->variablesPost['idImage_' . $idHistorique];
             $arrayListeIdImage[] = $idImage;
             // **********************************************************************
             // upload des photos remplacantes s'il y a lieu
             if (isset($_FILES['fichierRemplace' . $idHistorique]['name']) && $_FILES['fichierRemplace' . $idHistorique]['name'] != '') {
                 $authentifie = new archiAuthentification();
                 //$authentifie->estConnecte() &&
                 if (extension_loaded('gd')) {
                     // nommage de l'image en fonction de l'id
                     // recuperation du type de fichier
                     // et conversion en jpg s'il le faut
                     // ajout d'un nouvel id dans l'historique image
                     $resAjout = $this->connexionBdd->requete('
                         insert into historiqueImage (idImage, dateUpload, idUtilisateur)
                         values ("' . $idImage . '",  "' . $dateDuJour . '",  "' . $authentifie->getIdUtilisateur() . '")
                         ');
                     $nouvelIdHistoriqueImage = mysql_insert_id();
                     // creation des repertoires a la date du jour s'ils n'existent pas
                     if (!is_dir($this->getCheminPhysiqueImage("originaux") . $dateDuJour)) {
                         mkdir($this->getCheminPhysiqueImage("originaux") . $dateDuJour) or die('erreur création : ' . $this->getCheminPhysiqueImage("originaux") . $dateDuJour);
                         chmod($this->getCheminPhysiqueImage("originaux") . $dateDuJour, 0777) or die('erreur chmod : ' . $this->getCheminPhysiqueImage("originaux") . $dateDuJour);
                     }
                     if (!is_dir($this->getCheminPhysiqueImage("mini") . $dateDuJour)) {
                         mkdir($this->getCheminPhysiqueImage("mini") . $dateDuJour) or die('erreur création : ' . $this->getCheminPhysiqueImage("mini") . $dateDuJour);
                         chmod($this->getCheminPhysiqueImage("mini") . $dateDuJour, 0777) or die('erreur chmod : ' . $this->getCheminPhysiqueImage("mini") . $dateDuJour);
                     }
                     if (!is_dir($this->getCheminPhysiqueImage("moyen") . $dateDuJour)) {
                         mkdir($this->getCheminPhysiqueImage("moyen") . $dateDuJour) or die('erreur création : ' . $this->getCheminPhysiqueImage("moyen") . $dateDuJour);
                         chmod($this->getCheminPhysiqueImage("moyen") . $dateDuJour, 0777) or die('erreur chmod : ' . $this->getCheminPhysiqueImage("moyen") . $dateDuJour);
                     }
                     if (!is_dir($this->getCheminPhysiqueImage("grand") . $dateDuJour)) {
                         mkdir($this->getCheminPhysiqueImage("grand") . $dateDuJour) or die('erreur création : ' . $this->getCheminPhysiqueImage("grand") . $dateDuJour);
                         chmod($this->getCheminPhysiqueImage("grand") . $dateDuJour, 0777) or die('erreur chmod : ' . $this->getCheminPhysiqueImage("grand") . $dateDuJour);
                     }
                     // conversion en jpeg quelque soit le format géré
                     // 1- l'image est sauvegardee tel quel  (0 pour le redimensionnement)
                     $this->redimension($_FILES['fichierRemplace' . $idHistorique]['tmp_name'], pia_substr(strtolower($_FILES['fichierRemplace' . $idHistorique]['name']), -3), $this->getCheminPhysiqueImage("originaux") . $dateDuJour . "/" . $nouvelIdHistoriqueImage . ".jpg", 0);
                     // 2- redimensionnement au format mini
                     $this->redimension($_FILES['fichierRemplace' . $idHistorique]['tmp_name'], pia_substr(strtolower($_FILES['fichierRemplace' . $idHistorique]['name']), -3), $this->getCheminPhysiqueImage("mini") . $dateDuJour . "/" . $nouvelIdHistoriqueImage . ".jpg", $this->getFormatImageMini());
                     // 3- redimensionnement au format moyen
                     $this->redimension($_FILES['fichierRemplace' . $idHistorique]['tmp_name'], pia_substr(strtolower($_FILES['fichierRemplace' . $idHistorique]['name']), -3), $this->getCheminPhysiqueImage("moyen") . $dateDuJour . "/" . $nouvelIdHistoriqueImage . ".jpg", $this->getFormatImageMoyen());
                     // 4- redimensionnement au format grand
                     $this->redimension($_FILES['fichierRemplace' . $idHistorique]['tmp_name'], pia_substr(strtolower($_FILES['fichierRemplace' . $idHistorique]['name']), -3), $this->getCheminPhysiqueImage("grand") . $dateDuJour . "/" . $nouvelIdHistoriqueImage . ".jpg", $this->getFormatImageGrand());
                     if (file_exists($_FILES['fichierRemplace' . $idHistorique]['tmp_name'])) {
                         echo "le fichier est uploadé<br>";
                     } else {
                         echo "Erreur::le fichier ne figure pas sur le serveur !!<br>";
                     }
                     unlink($_FILES['fichierRemplace' . $idHistorique]['tmp_name']);
                 } else {
                     echo "Il s'est produit une erreur lors de l'upload,  la session est terminée ou la bibliothèque gd n'est pas installé sur le serveur.<br>";
                 }
             }
             // **********************************************************************
             // enregistrement des infos de l'image dans la base
             // recuperation des champs par une image
             $tableauChamps = array();
             // contient les infos d'une image
             foreach ($listeChamps as $indice => $name) {
                 if ($name == 'isDateClicheEnviron') {
                     if (isset($this->variablesPost[$name . "_" . $idHistorique]) && $this->variablesPost[$name . "_" . $idHistorique] == '1') {
                         $tableauChamps[$name] = 1;
                     } else {
                         $tableauChamps[$name] = 0;
                     }
                 } else {
                     $tableauChamps[$name] = isset($this->variablesPost[$name . "_" . $idHistorique]) ? $this->variablesPost[$name . "_" . $idHistorique] : "";
                 }
             }
             $idImage = $this->variablesPost['idImage_' . $idHistorique];
             // il y a 0000-00-00 dans la base de donnée si la date n'est pas fournie dans le formulaire
             $dateCliche = $tableauChamps['dateCliche'];
             if ($tableauChamps['dateCliche'] == '') {
                 $dateCliche = '0000-00-00';
             }
             // est ce que les proprietes de l'image dans la base sont les memes que celles qui ont ete validees dans le formulaire
             // si oui => pas de modif
             // sinon => ajout a l'historique de l'image
             $resCompareImage = $this->connexionBdd->requete("\n                    SELECT\n                        idHistoriqueImage\n                    FROM historiqueImage\n                    WHERE idHistoriqueImage = '" . mysql_real_escape_string($idHistorique) . "'\n                    AND dateUpload = '" . mysql_real_escape_string($this->date->toBdd($tableauChamps['dateUpload'])) . "'\n                    AND dateCliche = '" . mysql_real_escape_string($this->date->toBdd($this->date->convertYears($dateCliche))) . "'\n                    AND description = '" . mysql_real_escape_string($tableauChamps['description']) . "'\n                    AND isDateClicheEnviron = '" . mysql_real_escape_string($tableauChamps['isDateClicheEnviron']) . "'\n                    AND nom = '" . mysql_real_escape_string($tableauChamps['nom']) . "'\n                    AND idSource = '" . mysql_real_escape_string($tableauChamps['source']) . "'\n                    AND licence = '" . mysql_real_escape_string($tableauChamps["licence"]) . "'\n                    AND auteur = '" . mysql_real_escape_string($tableauChamps["auteur"]) . "'\n                    AND tags = '" . mysql_real_escape_string($tableauChamps["tags"]) . "'\n                    AND numeroArchive=\"" . mysql_real_escape_string($tableauChamps['numeroArchive']) . "\"\n                ");
             if (mysql_num_rows($resCompareImage) == 0) {
                 // l'image avec des proprietes identiques n'existe pas  donc on en deduit que les proprietes de l'image ont changés ,  on ajoute donc un nouvel historiqueImage et on modifie les données dans la table de liaison
                 $resImage = $this->connexionBdd->requete("\n                        INSERT INTO historiqueImage (idImage,  nom,  dateUpload,  dateCliche,  description,  idUtilisateur,  idSource, isDateClicheEnviron, auteur, licence, tags, numeroArchive)\n                        VALUES\n                        ('" . mysql_real_escape_string($idImage) . "',\n                            '" . mysql_real_escape_string($tableauChamps['nom']) . "',\n                            '" . mysql_real_escape_string($this->date->toBdd($tableauChamps['dateUpload'])) . "',\n                            '" . mysql_real_escape_string($this->date->toBdd($this->date->convertYears($dateCliche))) . "',\n                            '" . mysql_real_escape_string($tableauChamps['description']) . "',\n                            '" . mysql_real_escape_string($authentifie->getIdUtilisateur()) . "',\n                            '" . mysql_real_escape_string($tableauChamps['source']) . "',\n                            '" . mysql_real_escape_string($tableauChamps['isDateClicheEnviron']) . "',\n                            '" . mysql_real_escape_string($tableauChamps["auteur"]) . "',\n                            '" . mysql_real_escape_string($tableauChamps["licence"]) . "',\n                            '" . mysql_real_escape_string($tableauChamps["tags"]) . "',\n                            \"" . mysql_real_escape_string($tableauChamps['numeroArchive']) . "\"\n                        )\n                    ");
                 // end debug fabien  17/12/2011
                 echo "L'image a été modifiée";
                 $newIdHistoriqueImage = mysql_insert_id();
                 $idHistoriqueImagePrecedent = $idHistorique;
                 // ancienne code qui ne marche plus avec php 5.3.3 .... bizzare !
                 //symlink("./".$idHistoriqueImagePrecedent.'.jpg',  $this->getCheminPhysiqueImage("mini").$this->date->toBdd($tableauChamps['dateUpload']).'/'.$newIdHistoriqueImage.'.jpg');
                 exec(" ln -s " . "./" . $idHistoriqueImagePrecedent . '.jpg' . " " . $this->getCheminPhysiqueImage("mini") . $this->date->toBdd($tableauChamps['dateUpload']) . '/' . $newIdHistoriqueImage . '.jpg');
                 /*                    $erreurcode=symlink($this->getCheminPhysiqueImage("mini").$this->date->toBdd($tableauChamps['dateUpload']).'/'.$idHistoriqueImagePrecedent.'.jpg',  $this->getCheminPhysiqueImage("mini").$this->date->toBdd($tableauChamps['dateUpload']).'/'.$newIdHistoriqueImage.'.jpg');
                                     symlink("./".$idHistoriqueImagePrecedent.'.jpg',  "./".$newIdHistoriqueImage.'.jpg');
                 
                                     mkdir("/home/vhosts/fabien/archi-strasbourg-v2/images/mini/2011-12-18/tutu",  0777);   // fonctionne !!
                 
                                     echo " <br> idHistoriqueImagePrecedent : ./" . $idHistoriqueImagePrecedent . ".jpg"."<br>";
                 
                                     echo symlink("/home/vhosts/fabien/archi-strasbourg-v2/images/mini/2011-12-18/44143.jpg",  "/home/vhosts/fabien/archi-strasbourg-v2/images/mini/2011-12-18/XXXX.jpg");
                 
                                     echo $this->getCheminPhysiqueImage("mini").$this->date->toBdd($tableauChamps['dateUpload']).'/'.$idHistoriqueImagePrecedent.'.jpg';
                 
                                     echo "\n\n";
                 
                                     echo $this->getCheminPhysiqueImage("mini").$this->date->toBdd($tableauChamps['dateUpload']).'/'.$newIdHistoriqueImage.'.jpg';
                 */
                 // debug fabien  17/12/2011
                 //                    echo "ERR " . $erreurcode . "ERR";
                 //                    exit;
                 exec(" ln -s " . "./" . $idHistoriqueImagePrecedent . '.jpg' . " " . $this->getCheminPhysiqueImage("moyen") . $this->date->toBdd($tableauChamps['dateUpload']) . '/' . $newIdHistoriqueImage . '.jpg');
                 exec(" ln -s " . "./" . $idHistoriqueImagePrecedent . '.jpg' . " " . $this->getCheminPhysiqueImage("grand") . $this->date->toBdd($tableauChamps['dateUpload']) . '/' . $newIdHistoriqueImage . '.jpg');
                 exec(" ln -s " . "./" . $idHistoriqueImagePrecedent . '.jpg' . " " . $this->getCheminPhysiqueImage("originaux") . $this->date->toBdd($tableauChamps['dateUpload']) . '/' . $newIdHistoriqueImage . '.jpg');
                 // ne fonctionne plus avec php 5.3.3
                 /*                    symlink("./".$idHistoriqueImagePrecedent.'.jpg',  $this->getCheminPhysiqueImage("moyen").$this->date->toBdd($tableauChamps['dateUpload']).'/'.$newIdHistoriqueImage.'.jpg');
                                     symlink("./".$idHistoriqueImagePrecedent.'.jpg',  $this->getCheminPhysiqueImage("grand").$this->date->toBdd($tableauChamps['dateUpload']).'/'.$newIdHistoriqueImage.'.jpg');
                                     symlink("./".$idHistoriqueImagePrecedent.'.jpg',  $this->getCheminPhysiqueImage("originaux").$this->date->toBdd($tableauChamps['dateUpload']).'/'.$newIdHistoriqueImage.'.jpg');
                 */
             }
             // ****************************************************************
             // LIAISON DE L'IMAGE ET DES ADRESSES (vueSur et prisDepuis)
             // on enregistre les informations des adresses liees à la photo
             // ****************************************************************
             // on recupere d'abord les zones existantes pour ne pas les perdres ,  on les replacera ensuite sur les liaisons inserees
             $tabRecupZonesPrisDepuis = array();
             $reqRecupZones = "SELECT * FROM _adresseImage WHERE idImage = '" . $idImage . "' AND prisDepuis='1' AND coordonneesZoneImage<>'' AND largeurBaseZoneImage<>'' AND longueurBaseZoneImage<>''";
             $resRecupZones = $this->connexionBdd->requete($reqRecupZones);
             while ($fetchRecupZones = mysql_fetch_assoc($resRecupZones)) {
                 $tabRecupZonesPrisDepuis[$fetchRecupZones['idAdresse']] = array('idAdresse' => $fetchRecupZones['idAdresse'], 'idEvenementGroupeAdresse' => $fetchRecupZones['idEvenementGroupeAdresse'], 'idImage' => $fetchRecupZones['idImage'], 'coordonneesZoneImage' => $fetchRecupZones['coordonneesZoneImage'], 'largeurBaseZoneImage' => $fetchRecupZones['largeurBaseZoneImage'], 'longueurBaseZoneImage' => $fetchRecupZones['longueurBaseZoneImage']);
             }
             //prisDepuis
             // on supprime d'abord les informations des adresses liées à la photo afin de pouvoir ajouter les nouvelles adresses
             $reqDeletePrisDepuis = "delete from _adresseImage where idImage = '" . $idImage . "' AND prisDepuis='1'";
             $resDeletePrisDepuis = $this->connexionBdd->requete($reqDeletePrisDepuis);
             // enregistrement des liaisons
             if (isset($this->variablesPost['prisDepuis' . $idHistorique]) && count($this->variablesPost['prisDepuis' . $idHistorique]) > 0) {
                 foreach ($this->variablesPost['prisDepuis' . $idHistorique] as $indice => $value) {
                     $arrayAdresseGroupeAdresseImage = explode("_", $value);
                     $idAdresse = $arrayAdresseGroupeAdresseImage[0];
                     $idEvenementGroupeAdresse = $arrayAdresseGroupeAdresseImage[1];
                     // verification que l'enregistrement n'existe pas deja
                     $reqVerifPrisDepuis = "SELECT idImage FROM _adresseImage WHERE idImage = '" . $idImage . "' AND idAdresse = '" . $idAdresse . "' AND idEvenementGroupeAdresse='" . $idEvenementGroupeAdresse . "' AND prisDepuis ='1';";
                     $resVerifPrisDepuis = $this->connexionBdd->requete($reqVerifPrisDepuis);
                     if (mysql_num_rows($resVerifPrisDepuis) == 0) {
                         $champs = "";
                         $values = "";
                         if (isset($tabRecupZonesPrisDepuis[$value]) && count($tabRecupZonesPrisDepuis[$value]) > 0) {
                             $champs = ",  coordonneesZoneImage,  largeurBaseZoneImage,  longueurBaseZoneImage";
                             $values = ",  '" . $tabRecupZonesPrisDepuis[$value]['coordonneesZoneImage'] . "',  '" . $tabRecupZonesPrisDepuis[$value]['largeurBaseZoneImage'] . "',  '" . $tabRecupZonesPrisDepuis[$value]['longueurBaseZoneImage'] . "' ";
                         }
                         $reqPrisDepuis = "\n                            \t\tINSERT INTO _adresseImage (idImage,  idAdresse, idEvenementGroupeAdresse,  prisDepuis {$champs})\n                            \t\tVALUES ('" . $idImage . "',  '" . $idAdresse . "',  '" . $idEvenementGroupeAdresse . "',  '1' {$values})\n                            ";
                         $resPrisDepuis = $this->connexionBdd->requete($reqPrisDepuis);
                     }
                 }
             }
             // vueSur
             // on recupere d'abord les zones existantes pour ne pas les perdres ,  on les replacera ensuite sur les liaisons inserees
             $tabRecupZonesVuesSur = array();
             $reqRecupZones = "SELECT * FROM _adresseImage WHERE idImage = '" . $idImage . "' AND vueSur='1' AND coordonneesZoneImage<>'' AND largeurBaseZoneImage<>'' AND longueurBaseZoneImage<>''";
             $resRecupZones = $this->connexionBdd->requete($reqRecupZones);
             while ($fetchRecupZones = mysql_fetch_assoc($resRecupZones)) {
                 $tabRecupZonesVuesSur[$fetchRecupZones['idAdresse'] . "_" . $fetchRecupZones['idEvenementGroupeAdresse']] = array('idAdresse' => $fetchRecupZones['idAdresse'], 'idEvenementGroupeAdresse' => $fetchRecupZones['idEvenementGroupeAdresse'], 'idImage' => $fetchRecupZones['idImage'], 'coordonneesZoneImage' => $fetchRecupZones['coordonneesZoneImage'], 'largeurBaseZoneImage' => $fetchRecupZones['largeurBaseZoneImage'], 'longueurBaseZoneImage' => $fetchRecupZones['longueurBaseZoneImage']);
             }
             $reqDeleteVueSur = "delete from _adresseImage where idImage='" . $idImage . "' AND vueSur='1'";
             $resDeleteVueSur = $this->connexionBdd->requete($reqDeleteVueSur);
             if (isset($this->variablesPost['vueSur' . $idHistorique]) && count($this->variablesPost['vueSur' . $idHistorique]) > 0) {
                 foreach ($this->variablesPost['vueSur' . $idHistorique] as $indice => $value) {
                     $arrayAdresseGroupeAdresseImage = explode("_", $value);
                     $idAdresse = $arrayAdresseGroupeAdresseImage[0];
                     $idEvenementGroupeAdresse = $arrayAdresseGroupeAdresseImage[1];
                     // verification que l'enregistrement n'existe pas deja
                     $reqVerifVueSur = "SELECT idImage FROM _adresseImage WHERE idImage = '" . $idImage . "' AND idAdresse = '" . $idAdresse . "' AND idEvenementGroupeAdresse='" . $idEvenementGroupeAdresse . "' AND vueSur ='1';";
                     $resVerifVueSur = $this->connexionBdd->requete($reqVerifVueSur);
                     if (mysql_num_rows($resVerifVueSur) == 0) {
                         $champs = "";
                         $values = "";
                         if (isset($tabRecupZonesVuesSur[$value]) && count($tabRecupZonesVuesSur[$value]) > 0) {
                             $champs = ",  coordonneesZoneImage,  largeurBaseZoneImage,  longueurBaseZoneImage";
                             $values = ",  '" . $tabRecupZonesVuesSur[$value]['coordonneesZoneImage'] . "',  '" . $tabRecupZonesVuesSur[$value]['largeurBaseZoneImage'] . "',  '" . $tabRecupZonesVuesSur[$value]['longueurBaseZoneImage'] . "' ";
                         }
                         $reqVueSur = "INSERT INTO _adresseImage (idImage,  idAdresse, idEvenementGroupeAdresse,  vueSur {$champs})\n                            VALUES ('" . $idImage . "',  '" . $idAdresse . "',  '" . $idEvenementGroupeAdresse . "',  '1' {$values})";
                         $resVueSur = $this->connexionBdd->requete($reqVueSur);
                     }
                 }
             }
             // ****************************************************************
             // LIAISON DE L'IMAGE ET DES EVENEMENTS
             // on enregistre les informations des evenements lies à la photo
             // ****************************************************************
             // on lie les evenements selectionnés avec l'adresse
             if (isset($this->variablesPost['listeEvenements_' . $idHistorique])) {
                 $arrayListeEvenements = array_unique($this->variablesPost['listeEvenements_' . $idHistorique]);
                 foreach ($arrayListeEvenements as $indice => $valueIdEvenement) {
                     $resPos = $this->connexionBdd->requete("SELECT position from _evenementImage where idImage = '" . $idImage . "' AND idEvenement = '" . $valueIdEvenement . "'");
                     $pos = mysql_fetch_row($resPos);
                     // On supprime les informations des evenements lies à la photo afin de pouvoir ajouter les nouveaux evenements
                     $resDeleteEvenements = $this->connexionBdd->requete("delete from _evenementImage where idImage = '" . $idImage . "' AND idEvenement = '" . $valueIdEvenement . "'");
                     $reqInsertEvenements = $this->connexionBdd->requete("INSERT INTO _evenementImage (idImage, idEvenement, position) VALUES ('" . $idImage . "',  '" . $valueIdEvenement . "', '" . $pos[0] . "')\n                        ");
                 }
             }
         }
     }
     // envoi d'un mail aux administrateurs
     $message = "";
     foreach ($arrayListeIdImage as $indice => $idImageModifiee) {
         if ($idPerson = archiPersonne::isPerson($this->getIdEvenementGroupeAdresseFromImage(array("idImage" => $idImageModifiee, "type" => "personne")))) {
             $archiRetourIdValue = $this->getIdEvenementGroupeAdresseFromImage(array("idImage" => $idImageModifiee, "type" => "personne"));
         } else {
             $archiRetourIdValue = $this->getIdEvenementGroupeAdresseFromImage(array('idImage' => $idImageModifiee));
         }
         $message .= "<a href='" . $this->creerUrl('', 'imageDetail', array('archiIdImage' => $idImageModifiee, 'archiRetourAffichage' => 'evenement', 'archiRetourIdName' => 'idEvement', 'archiRetourIdValue' => $archiRetourIdValue)) . "'>Image " . $idImageModifiee . "</a><br>";
     }
     // recuperation d'une adresse sur laquelle ont ete liées les images ( c'est un formulaire capable de traiter des images d'adresses différentes,  mais cela n'arrive pas)
     $intituleAdresse = "";
     if ($idImageModifiee != '0' && $idImageModifiee != '') {
         $a = new archiAdresse();
         $intituleAdresse = $a->getIntituleAdresseFrom($idImageModifiee, 'idImage');
     }
     $message = "Images modifiées : {$intituleAdresse}<br>" . $message;
     // recuperation des infos sur l'utilisateur qui fais la modif
     $utilisateur = new archiUtilisateur();
     $arrayInfosUtilisateur = $utilisateur->getArrayInfosFromUtilisateur($this->session->getFromSession('utilisateurConnecte' . $this->idSite));
     $message .= "<br>" . $arrayInfosUtilisateur['nom'] . " - " . $arrayInfosUtilisateur['prenom'] . " - " . $arrayInfosUtilisateur['mail'] . "<br>";
     $mail->sendMailToAdministrators($mail->getSiteMail(), "Modification d'images - " . $intituleAdresse, $message, " AND alerteAdresses='1' ", true);
     $utilisateur->ajouteMailEnvoiRegroupesAdministrateurs(array('contenu' => $message, 'idTypeMailRegroupement' => 12, 'criteres' => " and alerteAdresses='1' "));
     // *************************************************************************************************************************************************************
     // envoi mail aussi au moderateur si ajout sur adresse de ville que celui ci modere
     $u = new archiUtilisateur();
     $adresse = new archiAdresse();
     $arrayVilles = array();
     $arrayVilles[] = $adresse->getIdVilleFrom($this->getIdAdresseFromIdImage($idImageModifiee), 'idAdresse');
     $arrayVilles = array_unique($arrayVilles);
     $arrayListeModerateurs = $u->getArrayIdModerateursActifsFromVille($arrayVilles[0], array("sqlWhere" => " AND alerteAdresses='1' "));
     if (count($arrayListeModerateurs) > 0) {
         foreach ($arrayListeModerateurs as $indice => $idModerateur) {
             if ($idModerateur != $this->session->getFromSession('utilisateurConnecte' . $this->idSite)) {
                 if ($u->isMailEnvoiImmediat($idModerateur)) {
                     $mailModerateur = $u->getMailUtilisateur($idModerateur);
                     $mail->sendMail($mail->getSiteMail(), $mailModerateur, "Modification d'images - " . $intituleAdresse, $message, true);
                 } else {
                     $u->ajouteMailEnvoiRegroupes(array('contenu' => $message, 'idDestinataire' => $idModerateur, 'idTypeMailRegroupement' => 12));
                 }
             }
         }
     }
     // *************************************************************************************************************************************************************
     //archiAffichage=imageDetail&archiIdImage=28940&archiRetourAffichage=evenement&archiRetourIdName=idEvenement&archiRetourIdValue=18149
     $idEvenementGroupeAdresse = $this->getIdEvenementGroupeAdresseFromImage(array("idImage" => $idImageModifiee, "type" => "personne"));
     if ($idPerson = archiPersonne::isPerson($idEvenementGroupeAdresse)) {
         header("Location: " . $this->creerUrl("", "evenementListe", array("selection" => "personne", "id" => $idPerson), false, false));
     }
     // ************************************************************************************************************************************************
     // envoi d'un mail pour l'auteur de l'adresse
     // ************************************************************************************************************************************************
     $mail = new mailObject();
     $utilisateur = new archiUtilisateur();
     foreach ($arrayListeIdImage as $indice => $idImage) {
         $arrayUtilisateurs[] = $utilisateur->getCreatorsFromAdresseFrom($idImage, 'idImage');
     }
     foreach ($arrayUtilisateurs as $indice => $tabUtilImage) {
         if ($tabUtilImage[0]['idUtilisateur'] != $authentifie->getIdUtilisateur()) {
             $infosUtilisateur = $utilisateur->getArrayInfosFromUtilisateur($tabUtilImage[0]['idUtilisateur']);
             if ($infosUtilisateur['alerteAdresses'] == '1' && $infosUtilisateur['idProfil'] != '4' && $infosUtilisateur['compteActif'] == '1') {
                 $idEvenementGroupeAdresseRetour = $this->getIdEvenementGroupeAdresseFromImage(array('idImage' => $idImageModifiee));
                 $message = "Un utilisateur a modifié une image sur une adresse ou vous avez participé.";
                 $message .= "Pour vous rendre sur l'évènement : <a href='" . $this->creerUrl('', '', array('archiAffichage' => 'adresseDetail', 'archiIdEvenementGroupeAdresse' => $idEvenementGroupeAdresseRetour, 'archiIdAdresse' => $tabUtilImage[0]['idAdresse'])) . "'>" . $adresse->getIntituleAdresseFrom($tabUtilImage[0]['idAdresse'], "idAdresse") . "</a><br>";
                 $message .= $this->getMessageDesabonnerAlerteMail();
                 if ($utilisateur->isMailEnvoiImmediat($tabUtilImage[0]['idUtilisateur'])) {
                     $mail->sendMail($mail->getSiteMail(), $infosUtilisateur['mail'], 'Modification d\'une image sur une adresse sur laquelle vous avez participé - ' . $intituleAdresse, $message, true);
                 } else {
                     $utilisateur->ajouteMailEnvoiRegroupes(array('contenu' => $message, 'idDestinataire' => $tabUtilImage[0]['idUtilisateur'], 'idTypeMailRegroupement' => 12));
                 }
             }
         }
     }
     // ************************************************************************************************************************************************
     if (isset($this->variablesPost['formulaireRetour']) && $this->variablesPost['formulaireRetour'] != '') {
         switch ($this->variablesPost['formulaireRetour']) {
             case 'evenement':
                 $evenement = new archiEvenement();
                 echo $evenement->afficher($idCourant);
                 break;
         }
     } else {
         if (isset($this->variablesGet['archiIdEvenementGroupeAdresseAffichageAdresse']) && $this->variablesGet['archiIdEvenementGroupeAdresseAffichageAdresse'] != '') {
             $idEvenementGroupeAdresseRetour = $this->variablesGet['archiIdEvenementGroupeAdresseAffichageAdresse'];
         } else {
             $idEvenementGroupeAdresseRetour = $this->getIdEvenementGroupeAdresseFromImage(array('idImage' => $idImageModifiee));
         }
         if ($idEvenementGroupeAdresseRetour != 0) {
             $a = new archiAdresse();
             echo $a->afficherDetail(0, $idEvenementGroupeAdresseRetour);
         } else {
             echo $this->afficher($idImageModifiee);
         }
     }
 }