Même fonction que la precedente ,  mais celle ci fonctionne a partir des coordonnees geographiques plutot que l'adresse
Récuperation des coordonnées par une boucle sur la fonction addAdresse

@return string HTML
495230
public function getHtmlFromAdressesNoPauseWithGeoLocalization()
    {
        $html="<div id='".$this->googleMapNameId."' style='width: ".$this->googleMapWidth."px; height: ".$this->googleMapHeight."px;'>Veuillez patienter pendant le chargement de la carte...</div>";

        $html.="<script  >";

        /*if (count($this->coordonnees)>0) {
            foreach ($this->coordonnees as $indice => $value) {
                if (isset($value['link'])) {
                    $html.="tabAdresses[".$indice."]=\"".$value['link']."\";\n";
                }
            }
        }*/

        $html.="</script>";
        //$html.="<div id='".$this->googleMapNameId."' style='width: ".$this->googleMapWidth."px; height: ".$this->googleMapHeight."px;'>Veuilliez patienter pendant le chargement de la carte...</div>";

        if ($this->debugMode)
            $displayDebug='block';
        else
            $displayDebug='none';

        //$html.="<div style='width:500px; height:300px;overflow:scroll;display:".$displayDebug.";' id='debugGoogleMap'></div>";
        $html.="<script>load();</script>";

        // fonction appelant les affichages de coordonnées ,  appels regroupées dans une fonction qui groupe les coordonnées par paquet ,  afin de ne pas trop en envoyer a la fois
        /*if (count($this->coordonnees)>0) {
            $html.="<script  >";
            $html.="var numPaquet=0;\n";
            $html.="var timer;\n";
            $html.="startTimerPaquets();\n";
            $html.="function startTimerPaquets()\n";
            $html.="{";
            $html.="afficheCoordonneesParPaquets();\n";
            $html.="timer = setInterval(\"afficheCoordonneesParPaquets()\", ".$this->setTimeOutPaquets.");\n";
            $html.="}\n";

            $html.="function afficheCoordonneesParPaquets(){\n";
            $i=0;
            $numPaquet = 0;
            foreach ($this->coordonnees as $indice => $value) {
                $image = ", \"http://www.google.com/mapfiles/marker.png\"";//
                if (isset($value['imageFlag']) && $value['imageFlag']!='') {
                    $image = ", \"".$value['imageFlag']."\"";
                }

                if ($i%10==0) {
                    $html.="if (numPaquet==".$numPaquet.")\n";
                    $html.="{\n";
                    $iDebut = $i;
                }

                $html.=" getCoordonnees(\"".$value['adresse']."\", ".$indice." ".$image.");\n";

                if ($i==$iDebut+9 || $i==count($this->coordonnees)-1 ) {
                    $html.="}\n";
                    $numPaquet++;
                }
                $i++;
            }


            $html.="if (numPaquet>".$numPaquet.")\n";
            $html.="{\n";
            $html.="clearInterval(timer);\n";
            $html.="}\n";
            $html.="numPaquet++;\n";
            $html.="}\n";
            $html.="</script>";
        }*/


        $html.="<script language = 'javascript'>";
        foreach ($this->coordonnees as $indice => $values) {
            if (isset($values['latitude']) && $values['latitude']!='' && isset($values['longitude']) && $values['longitude']!='') {
                $urlImage = $values['imageFlag'];
                if (!isset($values['imageHeight']) && !isset($values['imageWidth'])) {
                    list($imageSizeX,  $imageSizeY,  $typeImage,  $attrImage) = getimagesize($values['pathToImageFlag']);
                } else {
                    $imageSizeX = $values['imageWidth'];
                    $imageSizeY = $values['imageHeight'];
                }

                $html.="
                    var icon = new GIcon();
                    //icon.image = image;


                    icon.image = \"$urlImage\";
                    //icon.shadow = \"https://labs.google.com/ridefinder/images/mm_20_shadow.png\";
                    icon.iconSize = new GSize($imageSizeX,  $imageSizeY);
                    icon.shadowSize = new GSize(22,  20);
                    icon.iconAnchor = new GPoint(2,  24);
                    icon.infoWindowAnchor = new GPoint(5,  1);
                    var iconMarker = new GIcon(icon);";



                $html.="

                    point$indice = new GLatLng(".$values['latitude'].", ".$values['longitude'].");
                    marker$indice = new GMarker(point$indice, iconMarker);
                    overlay$indice = map.addOverlay(marker$indice);
                    //marker$indice.openInfoWindowHtml(\"".$values['link']."\");

                    ";

                $html.="
                            function onClickFunction$indice(overlay,  point){marker$indice.openInfoWindowHtml(\"".$values['link']."\");}";

                $html.="GEvent.addListener(marker$indice,  'click',  onClickFunction$indice);";
            }


        }

        $html.="</script>";



        if ($this->debugMode)
            $displayDebug='block';
        else
            $displayDebug='none';

        $html.="<div style='width:500px; height:300px;overflow:scroll;display:".$displayDebug.";' id='debugGoogleMap'></div>";
        return $html;
    }
660365
private function geocodeQueryString() {
      $queryString = array();

      // One of the following is required.
      $address = $this->getAddress();
      $latitudeLongitude = $this->getLatitudeLongitude();

      // If both are set for some reason, favor address to geocode.
      if ($address) {
        $queryString['address'] = $address;
      }
      elseif ($latitudeLongitude) {
        $queryString['latlng'] = $latitudeLongitude;
      }

      // Optional parameters.
      $queryString['bounds'] = $this->getBounds();
      $queryString['region'] = $this->getRegion();
      $queryString['language'] = $this->getLanguage();
      $queryString['result_type'] = $this->getResultTypeFormatted();
      $queryString['location_type'] = $this->getLocationTypeFormatted();

      // Required.
      $queryString['sensor'] = $this->getSensor();

      // Remove any unset parameters.
      $queryString = array_filter($queryString);

      // The signature is added later using the path + query string.
      if ($this->isBusinessClient()) {
        $queryString['client'] = $this->getClientId();
      }
      elseif ($this->getApiKey()) {
        $queryString['key'] = $this->getApiKey();
      }

      // Convert array to proper query string.
      return http_build_query($queryString);
    }
1221979
public function getHtmlFromAdresses()
    {
        $html="<div id='".$this->googleMapNameId."' style='width: ".$this->googleMapWidth."px; height: ".$this->googleMapHeight."px;'>Veuilliez patienter pendant le chargement de la carte...</div>";

        $html.="<script  >";

        if (count($this->coordonnees)>0) {
            foreach ($this->coordonnees as $indice => $value) {
                if (isset($value['link'])) {
                    $html.="tabAdresses[".$indice."]=\"".$value['link']."\";\n";
                }
            }
        }

        $html.="</script>";
        //$html.="<div id='".$this->googleMapNameId."' style='width: ".$this->googleMapWidth."px; height: ".$this->googleMapHeight."px;'>Veuilliez patienter pendant le chargement de la carte...</div>";

        if ($this->debugMode)
            $displayDebug='block';
        else
            $displayDebug='none';

        //$html.="<div style='width:500px; height:300px;overflow:scroll;display:".$displayDebug.";' id='debugGoogleMap'></div>";
        $html.="<script>load();</script>";

        // fonction appelant les affichages de coordonnées ,  appels regroupées dans une fonction qui groupe les coordonnées par paquet ,  afin de ne pas trop en envoyer a la fois
        if (count($this->coordonnees)>0) {
            $html.="<script>";
            $html.="var numPaquet=0;\n";
            $html.="var timer;\n";
            $html.="startTimerPaquets();\n";
            $html.="function startTimerPaquets()\n";
            $html.="{";
            $html.="afficheCoordonneesParPaquets();\n";
            $html.="timer = setInterval(\"afficheCoordonneesParPaquets()\", ".$this->setTimeOutPaquets.");\n";
            $html.="}\n";

            $html.="function afficheCoordonneesParPaquets(){\n";
            $i=0;
            $numPaquet = 0;
            foreach ($this->coordonnees as $indice => $value) {
                $image = ", \"https://www.google.com/mapfiles/marker.png\"";//
                if (isset($value['imageFlag']) && $value['imageFlag']!='') {
                    $image = ", \"".$value['imageFlag']."\"";
                }

                if ($i%10==0) {
                    $html.="if (numPaquet==".$numPaquet.")\n";
                    $html.="{\n";
                    $iDebut = $i;
                }

                $html.=" getCoordonnees(\"".$value['adresse']."\", ".$indice." ".$image.");\n";

                if ($i==$iDebut+9 || $i==count($this->coordonnees)-1 ) {
                    $html.="}\n";
                    $numPaquet++;
                }
                $i++;
            }


            $html.="if (numPaquet>".$numPaquet.")\n";
            $html.="{\n";
            $html.="clearInterval(timer);\n";
            $html.="}\n";
            $html.="numPaquet++;\n";
            $html.="}\n";
            $html.="</script>";
        }



        if ($this->debugMode)
            $displayDebug='block';
        else
            $displayDebug='none';

        $html.="<div style='width:500px; height:300px;overflow:scroll;display:".$displayDebug.";' id='debugGoogleMap'></div>";
        return $html;
    }
1291511
protected function getGeoCodeData()
    {
        $result = [];
        foreach ($this->userLocations as $data) {
            $result[] = [
                'country' => ArrayHelper::getValue($data['location'], 'country'),
                'address' => implode(',', ArrayHelper::getValue($data, 'location')),
                'htmlContent' => ArrayHelper::getValue($data, 'htmlContent'),
            ];
        }

        return $result;
    }
1155968
public function afficherFormulaire()
    {
        $html = '';
        $t = new Template('modules/archi/templates');
        $t->set_filenames(array('formulaire'=>'personneFormulaire.tpl'));

        $modeAffichage='';
        if (isset($this->variablesGet['modeAffichage']) && $this->variablesGet['modeAffichage']!='') {
            $modeAffichage = $this->variablesGet['modeAffichage'];
        }


        switch ($modeAffichage) {
            case 'nouveauDossier':
            case "modifEvenement":
                $t->assign_vars(array('urlAction'=>$this->creerUrl('ajouterPersonne', '', array('noHeaderNoFooter'=>1, 'modeAffichage'=>$modeAffichage))));
                $t->assign_vars(array('boutonAnnulation'=>"location.href='".$this->creerUrl('', 'personneListe', array('noHeaderNoFooter'=>1, 'modeAffichage'=>$modeAffichage))."';"));
                break;
            default:
                $t->assign_block_vars('allowAjouterMetier', array());
                break;
        }

        // récupération des métiers
        $sql = "SELECT nom,  idMetier FROM metier";
        $rep = $this->connexionBdd->requete($sql);
        while ($res = mysql_fetch_object($rep)) {
            $t->assign_block_vars('metier', array('valeur'=>$res->idMetier,  'nom'=>$res->nom));
        }

        if ($this->erreurs->tabFormExiste()) {
            foreach ($this->erreurs->getErreursFromFormulaire() as $name => $value) {
                if ($value['type']=='date') {
                     $val = $this->date->toFrench($this->date->toBdd($value['value']));
                } else {
                    $val = htmlspecialchars(stripslashes($value["value"]));
                }

                $t->assign_vars(array( $name => $val));
                if ($value["error"]!='') {
                    $t->assign_vars(array($name."-error" => $value["error"]));
                }
            }
        }

        ob_start();
        $t->pparse('formulaire');
        $html .= ob_get_contents();
        ob_end_clean();

        return $html;
    }
1268282
public function url(): string
    {
        //find a module providing the place hierarchy
        $module = app(ModuleService::class)
            ->findByComponent(ModuleListInterface::class, $this->tree, Auth::user())
            ->first(static function (ModuleInterface $module): bool {
                return $module instanceof PlaceHierarchyListModule;
            });
        
        if ($module instanceof PlaceHierarchyListModule) {
            return $module->listUrl($this->tree, [
                'parent' => $this->parts->reverse()->all(),
                'ged'    => $this->tree->name(),
            ]);
        }

        // The place-list module is disabled...
        return '#';
    }
326197
protected function address()
    {
        $user = eZUser::fetch( $this->UserID );
        if ( $user instanceof eZUser )
        {
            return $user->attribute( 'email' );
        }
        return '';
    }
52663
public function geocode()
    {
        // build query string
        $query = [];
        $query[] = $this->street       ?: '';
        $query[] = $this->street_extra ?: '';
        $query[] = $this->city         ?: '';
        $query[] = $this->state        ?: '';
        $query[] = $this->post_code    ?: '';
        $query[] = $this->getCountry() ?: '';

        // build query string
        $query = trim(implode(',', array_filter($query)));
        $query = str_replace(' ', '+', $query);

        if (! $query)
            return $this;

        // build url
        $url = 'https://maps.google.com/maps/api/geocode/json?address='. $query .'&sensor=false';

        // try to get geo codes
        if ($geocode = file_get_contents($url)) {
            $output = json_decode($geocode);

            if (count($output->results) && isset($output->results[0])) {
                if ($geo = $output->results[0]->geometry) {
                    $this->lat = $geo->location->lat;
                    $this->lng = $geo->location->lng;
                }
            }
        }

        return $this;
    }
1364431
public function getAdresseToDisplay($fetch = array(), $separateur = ' ')
    {
        $html='';
        $adresseArray =array();
        if ($fetch['idRue']!='0') {
            $adresseArray = $this->getAdresseComplete($fetch['idRue'], 'rue');
        } elseif ($fetch['idQuartier']!='0') {
            $adresseArray = $this->getAdresseComplete($fetch['idQuartier'], 'quartier');
        } elseif ($fetch['idSousQuartier']!='0') {
            $adresseArray = $this->getAdresseComplete($fetch['idSousQuartier'], 'sousQuartier');
        } elseif ($fetch['idVille']!='0') {
            $adresseArray = $this->getAdresseComplete($fetch['idVille'], 'ville');
        } elseif ($fetch['idPays']!='0') {
            $adresseArray = $this->getAdresseComplete($fetch['idPays'], 'pays');
        }

        if (count($adresseArray)>0) {
            $t=new Template('modules/archi/templates/');
            $t->set_filenames(array('adresseDetail'=>'adresseToDisplay.tpl'));
            $nomAdresse = '';
            if (empty($adresseArray['quartier'])) {
                $nomAdresse = 'Ville : ';
            } else if (empty($adresseArray['sousQuartier'])) {
                $nomAdresse = 'Quartier : ';
            } else if (empty($adresseArray['rue'])) {
                $nomAdresse = 'Ss-Quartier : ';
            } else if (empty($fetch['nom'])) {
                if ($fetch['numero']!='0') {
                    $nomAdresse .= $fetch['numero'].$separateur;
                }

                if ($fetch['etage']!='0') {
                    $nomAdresse .= 'Etage : '.$fetch['etage'].$separateur;
                }

                $nomAdresse .= 'Rue : ';
            } else {
                if ($fetch['numero']!='0') {
                    $nomAdresse .= 'N°'.$fetch['numero'].$separateur;
                }

                $nomAdresse .= $fetch['nom'];
            }

            if (!empty($adresseArray['sousQuartier'])) {
                $t->assign_block_vars('sousQuartier', array());
            }
            if (!empty($adresseArray['quartier'])) {
                $t->assign_block_vars('quartier', array());
            }

            $t->assign_vars(array(
                    'nom' => $nomAdresse,
                    'urlSousQuartier' => $this->creerUrl('', 'adresseListe', array('selection'=> 'sousQuartier', 'id'=>$fetch['idSousQuartier'], 'debut'=>0)),
                    'nomSousQuartier' => $adresseArray['sousQuartier'],
                    'urlQuartier' => $this->creerUrl('', 'adresseListe', array('selection'=> 'quartier', 'id'=>$fetch['idQuartier'], 'debut'=>0)),
                    'nomQuartier' => $adresseArray['quartier'],
                    'urlVille' => $this->creerUrl('', 'adresseListe', array('selection'=> 'ville', 'id'=>$fetch['idVille'], 'debut'=>0)),
                    'nomVille' => $adresseArray['ville'],
                    'urlPays'  => $this->creerUrl('', 'adresseListe', array('selection'=> 'pays',  'id'=>$fetch['idPays'], 'debut'=>0)),
                    'nomPays' => $adresseArray['pays']
            ));

            ob_start();
            $t->pparse('adresseDetail');
            $html .= ob_get_contents();
            ob_end_clean();
        }
        return $html;
    }
98653
public function afficheAjoutAdressesMultiple($idEvenementGroupeAdresse = 0)
    {
        $html="";
        $t=new Template('modules/archi/templates/');
        $t->set_filenames((array('ajoutAdressesMultiple'=>'nouveauDossier.tpl')));



        // initialisation de l'objet googlemap pour la recuperation des coordonnees
        $paramsGoogleMap = array('googleMapKey'=>$this->googleMapKey);

        $googleMap = new googleMap($paramsGoogleMap);

        $html.= $googleMap->getJsFunctions();
        $html.= $googleMap->getJSInitGeoCoder();

        /*$jsToExecute="document.getElementById('formAjoutDossier').action='".$this->creerUrl('enregistreGroupeAdresses','',array('archiIdEvenementGroupeAdresses'=>$idEvenementGroupeAdresse))."';testAdresseValideAndSubmit('formAjoutDossier');";

		$arrayJsCoordonneesFromGoogleMap = $googleMap->getJSRetriveCoordonnees(array(
				'nomChampLatitudeRetour'=>'latitude',
				'nomChampLongitudeRetour'=>'longitude',
				'getAdresseFromElementById'=>true,
				'jsAdresseValue'=>"document.getElementById('numero0').value+' '+document.getElementById('rue0txt').value+' '+document.getElementById('villetxt').value",
				'jsToExecuteIfOK'=>$jsToExecute,
				'jsToExecuteIfNoAddressFound'=>"document.getElementById('latitude').value='';document.getElementById('longitude').value='';".$jsToExecute
		));

		$html.= $arrayJsCoordonneesFromGoogleMap['jsFunctionToExecute'];
		*/

        // recapitulatif de(s) l'adresse(s) deja liee(s)
        $t->assign_block_vars('isNotAjoutNouvelleAdresse', array());
        $t->assign_vars(array('recapitulatifAdresse'=>$this->afficherRecapitulatifAdresses($idEvenementGroupeAdresse)));

        // affichage du block d'adresses
        $t->assign_block_vars('isNotAjoutSousEvenement', array());

        // recuperation des adresses de l'evenement groupe d'adresse
        $resAdresses = $this->getAdressesFromEvenementGroupeAdresses($idEvenementGroupeAdresse);




        $authentification = new archiAuthentification();

        if ($authentification->estAdmin()) {
            $t->assign_vars(array('displayQuartiers'=>'table-row'));
            $t->assign_vars(array('displaySousQuartiers'=>'table-row'));
        } else {
            $t->assign_vars(array('displayQuartiers'=>'none'));
            $t->assign_vars(array('displaySousQuartiers'=>'none'));
        }



        // parcours des adresses recuperées de la base de données pour voir si certaines viennent d'autres quartier , ville ou sousquartier ==> si c'est le cas il faudra gerer l'affichage plusieurs formulaire , un par groupe de sousquartier identiques
        if (mysql_num_rows($resAdresses)>0) {
            mysql_data_seek($resAdresses, 0);
        }

        $arrayVilles        =array();
        $arrayQuartiers     =array();
        $arraySousQuartiers =array();

        $i=0;
        while ($fetchAdressesVerif = mysql_fetch_assoc($resAdresses)) {
            $arrayVilles[]=$fetchAdressesVerif['idVille'];
            $arrayQuartiers[]=$fetchAdressesVerif['idQuartier'];
            $arraySousQuartiers[]=$fetchAdressesVerif['idSousQuartier'];

            // on en profite pour recuperer les coordonnées longitudes et latitudes
            if ($i==0) {
                $longitude = $fetchAdressesVerif['longitude'];
                $latitude = $fetchAdressesVerif['latitude'];
                // on les renseigne dans le formulaire
                $t->assign_vars(array('longitude'=>$longitude,'latitude'=>$latitude));
            }

            $i++;
        }

        $arrayVilles   = array_unique($arrayVilles);
        $arrayQuartiers = array_unique($arrayQuartiers);
        $arraySousQuartiers = array_unique($arraySousQuartiers);
        if (count($arrayVilles)>1 || count($arrayQuartiers)>1 || count($arraySousQuartiers)>1) {
            echo "Attention il y a des adresses qui ne font pas partie du même quartier.<br>";
            // affichage de plusieurs formulaires pour chaque adresse de rue qui n'appartient pas au meme ensemble
            // a faire ?? ou limiter les groupes d'adresses au adresses appartenant à la meme rue
        } else {
            // toutes les adresses appartiennent au meme quartier, sousQuartier,ville
            // on reprend le premier enregistrement de la requete pour chercher les infos ville, quartier, sousquartier a assigner au formulaire
            if (mysql_num_rows($resAdresses)>0) {
                mysql_data_seek($resAdresses, 0);
            }
            $fetchInfosAdresse = mysql_fetch_assoc($resAdresses);

            // l'adresse concerne t elle une rue, un quartier , un sous quartier, une ville ...
            // pour l'instant on considere que cela concerne une rue avec son numero
            if ($fetchInfosAdresse['idRue']!='0') {
            // recherche de la ville, du quartier et sous quartier

                $infosNomsAdresse   = $this->getAdresseComplete($fetchInfosAdresse['idRue'], 'rue');
                $infosIds           = $this->getArrayAdresseFrom($fetchInfosAdresse['idRue'], 'rue');

                $t->assign_vars(array(
                        'ville'=>$infosIds['ville'],
                        'villetxt'=>$infosNomsAdresse['ville']
                ));

                // assignation du quartier
                $resQuartiers=$this->connexionBdd->requete("SELECT idQuartier,nom FROM quartier WHERE idVille = '".$infosIds['ville']."' order by nom");
                while ($fetchQuartiers = mysql_fetch_assoc($resQuartiers)) {
                    $selected="";
                    if ($infosIds['quartier']==$fetchQuartiers['idQuartier']) {
                        $selected = " selected";
                    }

                    if ($fetchQuartiers['nom']!='autre') {
                        $t->assign_block_vars("isNotAjoutSousEvenement.quartiers", array(
                                'nom'=>$fetchQuartiers['nom'],
                                'id'=>$fetchQuartiers['idQuartier'],
                                'selected'=>$selected
                        ));
                    }
                }

                $t->assign_vars(array('onChangeListeQuartier'=>"appelAjax('".$this->creerUrl('', 'afficheSelectSousQuartier', array('noHeaderNoFooter'=>1))."&archiIdQuartier='+document.getElementById('quartiers').value,'listeSousQuartier')"));
                // assignation du sousQuartier
                $resSousQuartiers=$this->connexionBdd->requete("SELECT idSousQuartier,nom FROM sousQuartier WHERE idQuartier = '".$infosIds['quartier']."' order by nom");
                while ($fetchSousQuartiers = mysql_fetch_assoc($resSousQuartiers)) {
                    $selected="";
                    if ($infosIds['sousQuartier']==$fetchSousQuartiers['idSousQuartier']) {
                        $selected=" selected";
                    }

                    if ($fetchSousQuartiers['nom']!='autre') {
                        $t->assign_block_vars("isNotAjoutSousEvenement.sousQuartiers", array(
                                'nom'=>$fetchSousQuartiers['nom'],
                                'id'=>$fetchSousQuartiers['idSousQuartier'],
                                'selected'=>$selected
                        ));
                    }
                }
            } elseif ($fetchInfosAdresse['idSousQuartier']!='0') {
            // recherche de la ville, du quartier et sous quartier

                $infosNomsAdresse   = $this->getAdresseComplete($fetchInfosAdresse['idSousQuartier'], 'sousQuartier');
                $infosIds           = $this->getArrayAdresseFrom($fetchInfosAdresse['idSousQuartier'], 'sousQuartier');

                $t->assign_vars(array(
                        'ville'=>$infosIds['ville'],
                        'villetxt'=>$infosNomsAdresse['ville']
                ));

                // assignation du quartier
                $resQuartiers=$this->connexionBdd->requete("SELECT idQuartier,nom FROM quartier WHERE idVille = '".$infosIds['ville']."' order by nom");
                while ($fetchQuartiers = mysql_fetch_assoc($resQuartiers)) {
                    $selected="";
                    if ($infosIds['quartier']==$fetchQuartiers['idQuartier']) {
                        $selected = " selected";
                    }

                    if ($fetchQuartiers['nom']!='autre') {
                        $t->assign_block_vars("isNotAjoutSousEvenement.quartiers", array(
                                'nom'=>$fetchQuartiers['nom'],
                                'id'=>$fetchQuartiers['idQuartier'],
                                'selected'=>$selected
                        ));
                    }
                }

                $t->assign_vars(array('onChangeListeQuartier'=>"appelAjax('".$this->creerUrl('', 'afficheSelectSousQuartier', array('noHeaderNoFooter'=>1))."&archiIdQuartier='+document.getElementById('quartiers').value,'listeSousQuartier')"));
                // assignation du sousQuartier
                $resSousQuartiers=$this->connexionBdd->requete("SELECT idSousQuartier,nom FROM sousQuartier WHERE idQuartier = '".$infosIds['quartier']."' order by nom");
                while ($fetchSousQuartiers = mysql_fetch_assoc($resSousQuartiers)) {
                    $selected="";
                    if ($infosIds['sousQuartier']==$fetchSousQuartiers['idSousQuartier']) {
                        $selected=" selected";
                    }

                    if ($fetchSousQuartiers['nom']!='autre') {
                        $t->assign_block_vars("isNotAjoutSousEvenement.sousQuartiers", array(
                                'nom'=>$fetchSousQuartiers['nom'],
                                'id'=>$fetchSousQuartiers['idSousQuartier'],
                                'selected'=>$selected
                        ));
                    }
                }
            } elseif ($fetchInfosAdresse['idQuartier']!='0') {
            // recherche de la ville, du quartier et sous quartier

                $infosNomsAdresse   = $this->getAdresseComplete($fetchInfosAdresse['idQuartier'], 'quartier');
                $infosIds           = $this->getArrayAdresseFrom($fetchInfosAdresse['idQuartier'], 'quartier');

                $t->assign_vars(array(
                        'ville'=>$infosIds['ville'],
                        'villetxt'=>$infosNomsAdresse['ville']
                ));

                // assignation du quartier
                $resQuartiers=$this->connexionBdd->requete("SELECT idQuartier,nom FROM quartier WHERE idVille = '".$infosIds['ville']."' order by nom");
                while ($fetchQuartiers = mysql_fetch_assoc($resQuartiers)) {
                    $selected="";
                    if ($infosIds['quartier']==$fetchQuartiers['idQuartier']) {
                        $selected = " selected";
                    }

                    if ($fetchQuartiers['nom']!='autre') {
                        $t->assign_block_vars("isNotAjoutSousEvenement.quartiers", array(
                                'nom'=>$fetchQuartiers['nom'],
                                'id'=>$fetchQuartiers['idQuartier'],
                                'selected'=>$selected
                        ));
                    }
                }

                $t->assign_vars(array('onChangeListeQuartier'=>"appelAjax('".$this->creerUrl('', 'afficheSelectSousQuartier', array('noHeaderNoFooter'=>1))."&archiIdQuartier='+document.getElementById('quartiers').value,'listeSousQuartier')"));
                // assignation du sousQuartier
                $resSousQuartiers=$this->connexionBdd->requete("SELECT idSousQuartier,nom FROM sousQuartier WHERE idQuartier = '".$infosIds['quartier']."' order by nom");
                while ($fetchSousQuartiers = mysql_fetch_assoc($resSousQuartiers)) {
                    $selected="";
                    if ($infosIds['sousQuartier']==$fetchSousQuartiers['idSousQuartier']) {
                        $selected=" selected";
                    }

                    if ($fetchSousQuartiers['nom']!='autre') {
                        $t->assign_block_vars("isNotAjoutSousEvenement.sousQuartiers", array(
                                'nom'=>$fetchSousQuartiers['nom'],
                                'id'=>$fetchSousQuartiers['idSousQuartier'],
                                'selected'=>$selected
                        ));
                    }
                }
            } elseif ($fetchInfosAdresse['idVille']!='0') {
                $infosNomsAdresse   = $this->getAdresseComplete($fetchInfosAdresse['idVille'], 'ville');
                $infosIds           = $this->getArrayAdresseFrom($fetchInfosAdresse['idVille'], 'ville');

                $t->assign_vars(array(
                        'ville'=>$infosIds['ville'],
                        'villetxt'=>$infosNomsAdresse['ville']
                ));

                // assignation du quartier
                $resQuartiers=$this->connexionBdd->requete("SELECT idQuartier,nom FROM quartier WHERE idVille = '".$infosIds['ville']."' order by nom");
                while ($fetchQuartiers = mysql_fetch_assoc($resQuartiers)) {
                    $selected="";
                    if ($infosIds['quartier']==$fetchQuartiers['idQuartier']) {
                        $selected = " selected";
                    }

                    if ($fetchQuartiers['nom']!='autre') {
                        $t->assign_block_vars("isNotAjoutSousEvenement.quartiers", array(
                                'nom'=>$fetchQuartiers['nom'],
                                'id'=>$fetchQuartiers['idQuartier'],
                                'selected'=>$selected
                        ));
                    }
                }

                $t->assign_vars(array('onChangeListeQuartier'=>"appelAjax('".$this->creerUrl('', 'afficheSelectSousQuartier', array('noHeaderNoFooter'=>1))."&archiIdQuartier='+document.getElementById('quartiers').value,'listeSousQuartier')"));
                // assignation du sousQuartier
                $resSousQuartiers=$this->connexionBdd->requete("SELECT idSousQuartier,nom FROM sousQuartier WHERE idQuartier = '".$infosIds['quartier']."' order by nom");
                while ($fetchSousQuartiers = mysql_fetch_assoc($resSousQuartiers)) {
                    $selected="";
                    if ($infosIds['sousQuartier']==$fetchSousQuartiers['idSousQuartier']) {
                        $selected=" selected";
                    }

                    if ($fetchSousQuartiers['nom']!='autre') {
                        $t->assign_block_vars("isNotAjoutSousEvenement.sousQuartiers", array(
                                'nom'=>$fetchSousQuartiers['nom'],
                                'id'=>$fetchSousQuartiers['idSousQuartier'],
                                'selected'=>$selected
                        ));
                    }
                }
            }
        }


        // parcours des adresses

        $numLigne=0;
        if (isset($this->variablesPost['idUnique'])) {
            foreach ($this->variablesPost['idUnique'] as $indice => $valueIdUnique) {
                if ((isset($this->variablesGet['supprAdresse']) && $this->variablesGet['supprAdresse']==$valueIdUnique)) {
                    //
                } else {
                    $arrayAdresse[$numLigne]['idAdresse']   =0;
                    $arrayAdresse[$numLigne]['txt']         = $this->variablesPost['ruetxt'][$valueIdUnique];
                    $arrayAdresse[$numLigne]['id']          = $this->variablesPost['rue'][$valueIdUnique];
                    $arrayAdresse[$numLigne]['numero']      = $this->variablesPost['numero'][$valueIdUnique];
                    $arrayAdresse[$numLigne]['indicatif']   = $this->variablesPost['indicatif'][$valueIdUnique];
                    $arrayAdresse[$numLigne]['longitude']   = $this->variablesPost['longitude'][$valueIdUnique];
                    $arrayAdresse[$numLigne]['latitude']    = $this->variablesPost['latitude'][$valueIdUnique];
                    $numLigne++;
                }
            }

            if (isset($this->variablesPost['ajouterAdresse'])) {
                $arrayAdresse[$numLigne]['idAdresse']   =0;
                $arrayAdresse[$numLigne]['txt']         = "";
                $arrayAdresse[$numLigne]['id']          = "";
                $arrayAdresse[$numLigne]['numero']      = "";
                $arrayAdresse[$numLigne]['indicatif']   = "";
                $arrayAdresse[$numLigne]['longitude']   = "";
                $arrayAdresse[$numLigne]['latitude']    = "";
                $numLigne++;
            }

            if (count($this->variablesPost['idUnique'])==1 && isset($this->variablesPost['enleverAdresse'])) {
                $arrayAdresse[$numLigne]['idAdresse']   =0;
                $arrayAdresse[$numLigne]['txt']         = "";
                $arrayAdresse[$numLigne]['id']          = "";
                $arrayAdresse[$numLigne]['numero']      = "";
                $arrayAdresse[$numLigne]['indicatif']   = "";
                $arrayAdresse[$numLigne]['longitude']   = "";
                $arrayAdresse[$numLigne]['latitude']    = "";
                $numLigne++;
            }
        } else {
            $resAdresses = $this->getAdressesFromEvenementGroupeAdresses($idEvenementGroupeAdresse);
            if (mysql_num_rows($resAdresses)>0 && !isset($this->variablesPost['ajouterAdresse'])) {
                mysql_data_seek($resAdresses, 0);
                while ($fetchAdresses = mysql_fetch_assoc($resAdresses)) {
                    $arrayAdresse[$numLigne]['idAdresse']  =  $fetchAdresses['idAdresse'];
                    $arrayAdresse[$numLigne]['txt']         = $fetchAdresses['nomRue'];
                    $arrayAdresse[$numLigne]['id']          = $fetchAdresses['idRue'];
                    $arrayAdresse[$numLigne]['numero']      = $fetchAdresses['numero'];
                    $arrayAdresse[$numLigne]['indicatif']   = $fetchAdresses['idIndicatif'];
                    $arrayAdresse[$numLigne]['prefixe']     = $fetchAdresses['prefixeRue'];
                    $arrayAdresse[$numLigne]['longitude']   = $fetchAdresses['longitude'];
                    $arrayAdresse[$numLigne]['latitude']    = $fetchAdresses['latitude'];
                    $numLigne++;
                }
            } else {
                $arrayAdresse[$numLigne]['idAdresse']   =0;
                $arrayAdresse[$numLigne]['txt']         = "";
                $arrayAdresse[$numLigne]['id']          = "";
                $arrayAdresse[$numLigne]['numero']      = "";
                $arrayAdresse[$numLigne]['indicatif']   = "";
                $arrayAdresse[$numLigne]['prefixe']     = "";
                $arrayAdresse[$numLigne]['longitude']   = "";
                $arrayAdresse[$numLigne]['latitude']    = "";
                $numLigne++;
            }
        }

        $configArrayRetrieveCoordonneesGoogleMap = array();

        for ($i=0; $i<$numLigne; $i++) {
        // affichage des indicatifs pour chaque adresse
            $nomRue = $arrayAdresse[$i]["txt"];
            if (isset($arrayAdresse[$i]['prefixe']) && $arrayAdresse[$i]['prefixe']!='') {
                $nomRue = $arrayAdresse[$i]['prefixe'].' '.$arrayAdresse[$i]["txt"];
            }


            $coordonnees = $this->getCoordonneesFrom($arrayAdresse[$i]['idAdresse'], 'idAdresse');



            $t->assign_block_vars("isNotAjoutSousEvenement.adresses", array(
                    'idUnique'                  => $i,
                    'idAdresse'                 => $arrayAdresse[$i]['idAdresse'],
                    'onClickBoutonChoixRue'     => "document.getElementById('paramChampAppelantRue').value= 'rue".$i."';document.getElementById('iFrameRue').src='".$this->creerUrl('', 'afficheChoixRue', array('noHeaderNoFooter'=>1))."&archiIdVille='+document.getElementById('ville').value+'&archiIdQuartier='+document.getElementById('quartiers').value+'&archiIdSousQuartier='+document.getElementById('sousQuartiers').value;document.getElementById('calqueRue').style.display='block';document.getElementById('calqueRue').style.top=(getScrollHeight()+50)+'px'",
                    "onClickBoutonSupprAdresse" => "document.getElementById('formAjoutDossier').action='".$this->creerUrl('', 'formulaireGroupeAdresses', array('archiIdEvenementGroupeAdresses'=>$idEvenementGroupeAdresse,'supprAdresse'=>$i))."'",
                    "nomRue"                => $nomRue,
                    "rue"                   => $arrayAdresse[$i]["id"],
                    "numero"                => $arrayAdresse[$i]["numero"],
                    "longitude"             =>$coordonnees['longitude'],
                    "latitude"              =>$coordonnees['latitude']
            ));

            // gestion des indicatifs de chaque adresse
            $reqIndicatif = "select idIndicatif, nom from indicatif";
            $resIndicatif = $this->connexionBdd->requete($reqIndicatif);
            while ($fetchIndicatif = mysql_fetch_assoc($resIndicatif)) {
                $selected="";
                //(isset($this->variablesPost['indicatif'.$i]) && $this->variablesPost['indicatif'.$i]!='' && $this->variablesPost['indicatif'.$i]==$fetchIndicatif['idIndicatif'])     ||
                if (($arrayAdresse[$i]['indicatif']==$fetchIndicatif['idIndicatif'])) {
                    $selected = " selected";
                }
                $t->assign_block_vars("isNotAjoutSousEvenement.adresses.indicatifs", array(
                        "id"        =>  $fetchIndicatif['idIndicatif'],
                        "nom"       =>  $fetchIndicatif['nom'],
                        "selected"  =>  $selected
                ));
            }




            $configArrayRetrieveCoordonneesGoogleMap[$i] = array(
                    'nomChampLatitudeRetour'=>'latitude_'.$i,
                    'nomChampLongitudeRetour'=>'longitude_'.$i,
                    'getAdresseFromElementById'=>true,
                    'jsAdresseValue'=>"document.getElementById('numero".$i."').value+' '+document.getElementById('rue".$i."txt').value+' '+document.getElementById('villetxt').value",
                    'jsToExecuteIfNoAddressFound'=>""
            );
        }

        $jsToExecute="document.getElementById('formAjoutDossier').action='".$this->creerUrl('enregistreGroupeAdresses', '', array('archiIdEvenementGroupeAdresses'=>$idEvenementGroupeAdresse), false, false)."';testAdresseValideAndSubmit('formAjoutDossier');";
        $arrayJsCoordonneesFromGoogleMap = $googleMap->getJSMultipleRetriveCoordonnees(array('jsToExecuteIfOK'=>$jsToExecute,'jsCodeForWaitingWhileLocalization'=>"document.getElementById('popupAttente').style.top=(getScrollHeight()+200)+'px';document.getElementById('popupAttente').style.display='block';"), $configArrayRetrieveCoordonneesGoogleMap);
        $html.= $arrayJsCoordonneesFromGoogleMap['jsFunctionToExecute'];
        // ***********************************************************************************
        // assignation des boutons
        $t->assign_vars(array(
                'formAction'                    => $this->creerUrl('', 'formulaireGroupeAdresses', array('archiIdEvenementGroupeAdresses'=>$idEvenementGroupeAdresse)),

                'popupVilles'                   => $this->getPopupChoixVille('nouveauDossier'),

                'popupRues'                     => $this->getPopupChoixRue('nouveauDossier'),

                'onClickBoutonAjouterAdresse'           => "document.getElementById('formAjoutDossier').action='".$this->creerUrl('', 'formulaireGroupeAdresses', array('archiIdEvenementGroupeAdresses'=>$idEvenementGroupeAdresse))."'",
                'onClickBoutonEnleverAdresse'           => "document.getElementById('formAjoutDossier').action='".$this->creerUrl('', 'formulaireGroupeAdresses', array('archiIdEvenementGroupeAdresses'=>$idEvenementGroupeAdresse))."'",
                'onClickBoutonValider'                  => $arrayJsCoordonneesFromGoogleMap['jsFunctionCall'],

                'typeBoutonValidation'=>"button",

                'onClickBoutonChoixVille'       =>"document.getElementById('paramChampAppelantVille').value='ville';document.getElementById('calqueVille').style.display='block';",

                'onChangeListeQuartier'         =>"appelAjax('".$this->creerUrl('', 'afficheSelectSousQuartier', array('noHeaderNoFooter'=>1))."&archiIdQuartier='+document.getElementById('listeQuartier').value,'listeSousQuartiers')",
                'popupAttente'                  =>$this->getPopupAttente()
        ));


        // ***********************************************************************************
        // messages d'aide contextuelle
        $helpMessages = $this->getHelpMessages('helpAdresse');

        foreach ($helpMessages as $fieldName => $message) {
            $t->assign_vars(array($fieldName=>$message));
        }
        // ***********************************************************************************


        ob_start();
        $t->pparse('ajoutAdressesMultiple');
        $html.=ob_get_contents();
        ob_end_clean();

        return $html;
    }
1369198
public function getBillingAddress()
    {
        $address = ($this->Address1) ? $this->Address1 . ",\n" : '';
        $address .= ($this->Address2) ? $this->Address2 . ",\n" : '';
        $address .= ($this->City) ? $this->City . ",\n" : '';
        $address .= ($this->PostCode) ? $this->PostCode . ",\n" : '';
        $address .= ($this->Country) ? $this->Country : '';

        return $address;
    }
317991
public function afficheChoixAdresse($criteres = array())
    {
        $html="";
        $t=new Template('modules/archi/templates/');
        $t->set_filenames((array('choixAdresse'=>'choixAdresse.tpl')));
        $afficheNombreResultat = 0;

        $sqlWherePays ="";

        $urlAfficheInteret = "";
        isset($criteres['affichageInteret'])? $affichageInteret = $criteres['affichageInteret'] : $affichageInteret=0;
        if ($affichageInteret==0) {
            isset($this->variablesGet['affichageInteret'])? $affichageInteret = $this->variablesGet['affichageInteret'] : $affichageInteret=0;
        }

        // est ce que l'on affiche tous les champs de choix ou seulement ceux dont on a besoin ?
        $urlTypeNew='';
        $a = new archiAuthentification();
        $u = new archiUtilisateur();

        if (isset($this->variablesGet['typeNew'])) {
            switch ($this->variablesGet['typeNew']) {
                case 'rue':
                    $criteres['modeAffichage_rue']=1;
                    break;
                case 'sousQuartier':
                    $criteres['modeAffichage_sousQuartier']=1;
                    break;
                case 'quartier':
                    $criteres['modeAffichage_quartier']=1;
                    break;
                case 'ville':
                    $criteres['modeAffichage_ville']=1;
                    break;
                case 'pays':
                    $criteres['modeAffichage_pays']=1;
                    break;
            }
        }


        if (count($criteres)>0) {
            if (isset($criteres['modeAffichage_rue'])) {
                //$t->assign_block_vars('isRue',array());
                $t->assign_block_vars('isSousQuartier', array());
                $t->assign_block_vars('isQuartier', array());
                $t->assign_block_vars('isVille', array());
                $t->assign_block_vars('isPays', array());
                $urlTypeNew="+'&typeNew=rue'";
            }
            if (isset($criteres['modeAffichage_sousQuartier'])) {
            //$t->assign_block_vars('isSousQuartier',array());
                $t->assign_block_vars('isQuartier', array());
                $t->assign_block_vars('isVille', array());
                $t->assign_block_vars('isPays', array());
                $urlTypeNew="+'&typeNew=sousQuartier'";
            }
            if (isset($criteres['modeAffichage_quartier'])) {
            //$t->assign_block_vars('isQuartier',array());
                $t->assign_block_vars('isVille', array());
                $t->assign_block_vars('isPays', array());
                $urlTypeNew="+'&typeNew=quartier'";
            }
            if (isset($criteres['modeAffichage_ville'])) {
            //$t->assign_block_vars('isVille',array());
                $t->assign_block_vars('isPays', array());
                $urlTypeNew="+'&typeNew=ville'";
            }
            if (isset($criteres['modeAffichage_pays'])) {
            //$t->assign_block_vars('isPays',array());
                $urlTypeNew="+'&typeNew=pays'";
            }
        } else {
            $t->assign_block_vars('isRue', array());
            $t->assign_block_vars('isSousQuartier', array());
            $t->assign_block_vars('isQuartier', array());
            $t->assign_block_vars('isVille', array());
            $t->assign_block_vars('isPays', array());
        }
        if (isset($criteres['afficheNombreResultat'])) {
            $afficheNombreResultat = $criteres['afficheNombreResultat'];
            $t->assign_block_vars('isRue', array());
            $t->assign_block_vars('isSousQuartier', array());
            $t->assign_block_vars('isQuartier', array());
            $t->assign_block_vars('isVille', array());
            $t->assign_block_vars('isPays', array());
        }
        if ($afficheNombreResultat==1 || (isset($this->variablesGet['afficheNombreResultat']) && $this->variablesGet['afficheNombreResultat'] == 1)) {
            $afficheNombreResultat = 1;
            $urlAfficheNbResultat = "&afficheNombreResultat=1";
        }

        if ($affichageInteret==1) {
            $urlAfficheInteret = "&affichageInteret=1";
        }



        // initialisation des identifiants de pays, ville,quartier, sousquartier,rue selectionnés par l'utilisateur
        $idPaysChoixAdresse=0;
        if (isset($this->variablesGet['idPaysChoixAdresse'])) {
            $idPaysChoixAdresse=$this->variablesGet['idPaysChoixAdresse'];
        }

        $idVilleChoixAdresse=0;
        if (isset($this->variablesGet['idVilleChoixAdresse'])) {
            $idVilleChoixAdresse=$this->variablesGet['idVilleChoixAdresse'];
        }

        $idQuartierChoixAdresse=0;
        if (isset($this->variablesGet['idQuartierChoixAdresse'])) {
            $idQuartierChoixAdresse=$this->variablesGet['idQuartierChoixAdresse'];
        }

        $idSousQuartierChoixAdresse=0;
        if (isset($this->variablesGet['idSousQuartierChoixAdresse'])) {
            $idSousQuartierChoixAdresse=$this->variablesGet['idSousQuartierChoixAdresse'];
        }

        $idRueChoixAdresse=0;
        if (isset($this->variablesGet['idRueChoixAdresse'])) {
            $idRueChoixAdresse=$this->variablesGet['idRueChoixAdresse'];
        }




        $tabUrl['pays']="&idPaysChoixAdresse='+document.getElementById('pays').value";
        $tabUrl['ville']="+'&idVilleChoixAdresse='+document.getElementById('ville').value";
        $tabUrl['sousQuartier']="+'&idSousQuartierChoixAdresse='+document.getElementById('sousQuartier').value";
        $tabUrl['quartier']="+'&idQuartierChoixAdresse='+document.getElementById('quartier').value";
        $tabUrl['rue']="+'&idRueChoixAdresse='+document.getElementById('rue').value";


        //**********************************************************************************************************************************
        // gestion des favoris :
        // s'il n'y a pas de pays choisi ni de ville et qu'il existe une information sur les favoris dans la session de l'utilisateur connecté
        // et que les affichages ne sont ni des ajout de villes ni de pays , alors on assigne
        if ($idPaysChoixAdresse==0 && $idVilleChoixAdresse==0 && $this->session->isInSession('idVilleFavoris') && $this->session->isInSession('idPaysFavoris')) {
            if (!isset($criteres['modeAffichage_ville']) && !isset($criteres['modeAffichage_pays']) && $a->getIdProfil()==3) { // pas de selection par defaut des favoris si on est sur un affichage d'ajour de ville ou de pays
                // ici cas moderateur , on ne choisit pas de ville par defaut
            }

            if (!isset($criteres['modeAffichage_ville']) && !isset($criteres['modeAffichage_pays']) && $a->getIdProfil()==4) {
                $idPaysChoixAdresse     = $this->session->getFromSession('idPaysFavoris');
                $idVilleChoixAdresse    = $this->session->getFromSession('idVilleFavoris');
            }
        } elseif (isset($this->variablesGet) && $this->variablesGet['archiAffichage']=='rechercheAvancee') {
        // par defaut , on met strasbourg dans les choix de la recherche avancee , si l'utilisateur n'est pas connecté
            $idPaysChoixAdresse = 1; // france
            $idVilleChoixAdresse = 1; // strasbourg
        }


        //***********************************************************************************************************************************

        // --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
        // pays
        // --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

        if (!isset($criteres['modeAffichage_pays'])) {
            $t->assign_vars(array('paysOnChange'=>"appelAjax('index.php?archiAffichage=afficheChoixAdresse&noHeaderNoFooter=1".$urlAfficheNbResultat.$urlAfficheInteret.$tabUrl['pays'].$urlTypeNew.",'choixAdresse')"));
            if ($a->getIdProfil()==3) { // l'utilisateur est moderateur , on n'affiche seulements les pays des villes qu'il peut moderer et par defaut le pays = france
                $arrayVillesModerees = $u->getArrayVillesModereesPar($a->getIdUtilisateur());
                if (count($arrayVillesModerees)>0 &&  $this->variablesGet['affichageInteret']!=1) {
                    $arrayIdPays=array();
                    $reqPaysModeres = "SELECT distinct idPays FROM ville WHERE idVille in (".implode(",", $arrayVillesModerees).")";
                    $resPaysModeres = $this->connexionBdd->requete($reqPaysModeres);

                    if (mysql_num_rows($resPaysModeres)>0) {
                        while ($fetchPaysModeres=mysql_fetch_assoc($resPaysModeres)) {
                            $arrayIdPays[] = $fetchPaysModeres['idPays'];
                        }
                    }

                    if (count($arrayIdPays)>0) {
                        $sqlWherePays = " AND idPays in (".implode(",", $arrayIdPays).") ";
                    } else {
                        $sqlWherePays = " AND idPays=0 "; // si pas de pays trouvé , on empeche l'utilisateur de voir les autres pays
                    }
                }
            }

            $resPays=$this->connexionBdd->requete("select idPays,nom from pays where lower(nom)<>'autre' ".$sqlWherePays." order by nom");
            while ($fetchPays=mysql_fetch_array($resPays)) {
                if (!empty($fetchPays['nom'])) {
                    $selectedPays='';

                    // si l'utilisateur est un moderateur, on selectionne la france en pays par defaut
                    if ($a->getIdProfil()==3 && $idPaysChoixAdresse==0) {
                        $idPaysChoixAdresse = 1;
                    }


                    if ($idPaysChoixAdresse !=0 && $idPaysChoixAdresse==$fetchPays['idPays']) {
                        $selectedPays="selected='selected'";
                    }
                    if ($afficheNombreResultat==1) {
                        $resNombre = $this->connexionBdd->requete("select count(*) as nombre from historiqueAdresse where idPays = ".$fetchPays['idPays']);
                        $fetchNombre = mysql_fetch_assoc($resNombre);
                        $nombre = '('.$fetchNombre['nombre'].')';
                        $t->assign_block_vars('isPays.listePays', array('idPays'=>$fetchPays['idPays'], 'nomPays'=>$fetchPays['nom'], 'selected'=>$selectedPays , 'valeur' =>$nombre));
                    } else {
                        $t->assign_block_vars('isPays.listePays', array('idPays'=>$fetchPays['idPays'], 'nomPays'=>$fetchPays['nom'], 'selected'=>$selectedPays));
                    }
                }
            }
        }
        // --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
        // villes
        // --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
        if ($idPaysChoixAdresse!=0 && !isset($criteres['modeAffichage_ville'])) {
            $t->assign_vars(array('villeOnChange'=>"appelAjax('index.php?archiAffichage=afficheChoixAdresse&noHeaderNoFooter=1".$urlAfficheNbResultat.$urlAfficheInteret.$tabUrl['pays'].$tabUrl['ville'].$urlTypeNew.",'choixAdresse')"));

            $sqlWhereVilles="";
            if ($a->getIdProfil()==3) { // l'utilisateur est un moderateur , on limite a l'affichage des villes qu'il modere
                $arrayVillesModerees = $u->getArrayVillesModereesPar($a->getIdUtilisateur());
                if (count($arrayVillesModerees)>0 && $affichageInteret!=1) {
                    $sqlWhereVilles = " AND idVille IN (".implode(",", $arrayVillesModerees).") ";
                } elseif ($affichageInteret!=1) {
                    $sqlWhereVilles = " AND idVille = '0' ";
                }
            }

            $resVille=$this->connexionBdd->requete("select idVille, nom  from ville where idPays='".$idPaysChoixAdresse."' and lower(nom)<>'autre' ".$sqlWhereVilles." order by nom");
            while ($fetchVille=mysql_fetch_array($resVille)) {
                $selectedVille='';
                if ($idVilleChoixAdresse!='0' && $idVilleChoixAdresse==$fetchVille['idVille']) {
                    $selectedVille='selected';
                }
                if ($afficheNombreResultat) {
                    $resNombre = $this->connexionBdd->requete("select count(*) as nombre from historiqueAdresse where idVille = ".$fetchVille['idVille']);
                    $fetchNombre = mysql_fetch_assoc($resNombre);
                    $nombre = '('.$fetchNombre['nombre'].')';
                    $t->assign_block_vars('isVille.listeVilles', array('idVille'=>$fetchVille['idVille'],'nomVille'=>$fetchVille['nom'],'selected'=>$selectedVille,'valeur' =>$nombre));
                } else {
                    $t->assign_block_vars('isVille.listeVilles', array('idVille'=>$fetchVille['idVille'],'nomVille'=>$fetchVille['nom'],'selected'=>$selectedVille));
                }
            }
        }

        // --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
        // Quartier
        // --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
        if ($idVilleChoixAdresse!='0' && !isset($criteres['modeAffichage_quartier'])) {
            $t->assign_vars(array('quartierOnChange'=>"appelAjax('index.php?archiAffichage=afficheChoixAdresse&noHeaderNoFooter=1".$urlAfficheInteret.$urlAfficheNbResultat.$tabUrl['pays'].$tabUrl['ville'].$tabUrl['quartier'].$urlTypeNew.",'choixAdresse')"));

            $resQuartier = $this->connexionBdd->requete("select idQuartier, nom from quartier where idVille='".$idVilleChoixAdresse."' and lower(nom)<>'autre' order by nom");

            while ($fetchQuartier=mysql_fetch_array($resQuartier)) {
                $selectedQuartier='';
                if ($idQuartierChoixAdresse!='0' && $idQuartierChoixAdresse==$fetchQuartier['idQuartier']) {
                    $selectedQuartier='selected';
                }

                if ($afficheNombreResultat) {
                    $resNombre = $this->connexionBdd->requete("select count(*) as nombre from historiqueAdresse where idQuartier = ".$fetchQuartier['idQuartier']);
                    $fetchNombre = mysql_fetch_assoc($resNombre);
                    $nombre = '('.$fetchNombre['nombre'].')';
                    $t->assign_block_vars('isQuartier.listeQuartiers', array('idQuartier'=>$fetchQuartier['idQuartier'],'nomQuartier'=>$fetchQuartier['nom'],'selected'=>$selectedQuartier,'valeur' =>$nombre));
                } else {
                    $t->assign_block_vars('isQuartier.listeQuartiers', array('idQuartier'=>$fetchQuartier['idQuartier'],'nomQuartier'=>$fetchQuartier['nom'],'selected'=>$selectedQuartier));
                }
            }
        }

        // --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
        // Sous Quartier
        // --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
        if ($idQuartierChoixAdresse!=0 && !isset($criteres['modeAffichage_sousQuartier'])) {
            $t->assign_vars(array('sousQuartierOnChange'=>"appelAjax('index.php?archiAffichage=afficheChoixAdresse&noHeaderNoFooter=1".$urlAfficheNbResultat.$urlAfficheInteret.$tabUrl['pays'].$tabUrl['ville'].$tabUrl['quartier'].$tabUrl['sousQuartier'].$urlTypeNew.",'choixAdresse')"));

            $resSousQuartier = $this->connexionBdd->requete("select idSousQuartier, nom from sousQuartier where idQuartier='".$idQuartierChoixAdresse."' and lower(nom)<>'autre' order by nom");
            while ($fetchSousQuartier=mysql_fetch_array($resSousQuartier)) {
                $selectedSousQuartier='';
                if ($idSousQuartierChoixAdresse!='0' && $idSousQuartierChoixAdresse==$fetchSousQuartier['idSousQuartier']) {
                    $selectedSousQuartier='selected';
                }
                if ($afficheNombreResultat) {
                    $resNombre = $this->connexionBdd->requete("select count(*) as nombre from historiqueAdresse where idSousQuartier = ".$fetchSousQuartier['idSousQuartier']);
                    $fetchNombre = mysql_fetch_assoc($resNombre);
                    $nombre = '('.$fetchNombre['nombre'].')';
                    $t->assign_block_vars('isSousQuartier.listeSousQuartiers', array('idSousQuartier'=>$fetchSousQuartier['idSousQuartier'],'nomSousQuartier'=>$fetchSousQuartier['nom'],'selected'=>$selectedSousQuartier,'valeur' =>$nombre));
                } else {
                    $t->assign_block_vars('isSousQuartier.listeSousQuartiers', array('idSousQuartier'=>$fetchSousQuartier['idSousQuartier'],'nomSousQuartier'=>$fetchSousQuartier['nom'],'selected'=>$selectedSousQuartier));
                }
            }
        }

        // --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
        // Rue
        // --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
        if ($idSousQuartierChoixAdresse!='0' && !isset($criteres['modeAffichage_rue'])) {
        //$t->assign_vars(array('sousQuartierOnChange'=>"appelAjax('index.php?archiAffichage=afficheChoixAdresse&noHeaderNoFooter=1".$tabUrl['pays'].$tabUrl['ville'].$tabUrl['quartier'].$tabUrl['sousQuartier'].",'choixAdresse')"));

            $resRue = $this->connexionBdd->requete("select idRue, nom from rue where idSousQuartier='".$idSousQuartierChoixAdresse."'");
            while ($fetchRue=mysql_fetch_array($resRue)) {
                $selectedRue='';
                if ($idRueChoixAdresse!='0' && $idRueChoixAdresse==$fetchRue['idRue']) {
                    $selectedRue='selected';
                }
                if ($afficheNombreResultat) {
                    $resNombre = $this->connexionBdd->requete("select count(*) as nombre from historiqueAdresse where idSousQuartier = ".$fetchRue['idRue']);
                    $fetchNombre = mysql_fetch_assoc($resNombre);
                    $nombre = '('.$fetchNombre['nombre'].')';
                    $t->assign_block_vars('isRue.listeRues', array('idRue'=>$fetchRue['idRue'],'nomRue'=>$fetchRue['nom'],'selected'=>$selectedRue,'valeur' =>$nombre));
                } else {
                    $t->assign_block_vars('isRue.listeRues', array('idRue'=>$fetchRue['idRue'],'nomRue'=>$fetchRue['nom'],'selected'=>$selectedRue));
                }
            }
        }

        ob_start();
        $t->pparse('choixAdresse');
        $html=ob_get_contents();
        ob_end_clean();

        return $html;
    }
220466
public static function map()
    {
        return [
            AddressUpdated::class => 'application/vnd.cultuurnet.udb3-events.place-address-updated+json',
            AddressTranslated::class => 'application/vnd.cultuurnet.udb3-events.place-address-translated+json',
            GeoCoordinatesUpdated::class => 'application/vnd.cultuurnet.udb3-events.place-geocoordinates-updated+json',
            BookingInfoUpdated::class => 'application/vnd.cultuurnet.udb3-events.place-booking-info-updated+json',
            PriceInfoUpdated::class => 'application/vnd.cultuurnet.udb3-events.place-price-info-updated.json',
            ContactPointUpdated::class => 'application/vnd.cultuurnet.udb3-events.place-contact-point-updated+json',
            DescriptionTranslated::class => 'application/vnd.cultuurnet.udb3-events.place-description-translated+json',
            DescriptionUpdated::class => 'application/vnd.cultuurnet.udb3-events.place-description-updated+json',
            FacilitiesUpdated::class => 'application/vnd.cultuurnet.udb3-events.place-facilities-updated+json',
            ImageAdded::class => 'application/vnd.cultuurnet.udb3-events.place-image-added+json',
            ImageRemoved::class => 'application/vnd.cultuurnet.udb3-events.place-image-removed+json',
            ImageUpdated::class => 'application/vnd.cultuurnet.udb3-events.place-image-updated+json',
            LabelAdded::class => 'application/vnd.cultuurnet.udb3-events.place-label-added+json',
            LabelRemoved::class => 'application/vnd.cultuurnet.udb3-events.place-label-removed+json',
            MainImageSelected::class => 'application/vnd.cultuurnet.udb3-events.place-main-image-selected+json',
            MajorInfoUpdated::class => 'application/vnd.cultuurnet.udb3-events.place-major-info-updated+json',
            CalendarUpdated::class => 'application/vnd.cultuurnet.udb3-events.place-calendar-updated+json',
            OrganizerDeleted::class => 'application/vnd.cultuurnet.udb3-events.place-organizer-deleted+json',
            OrganizerUpdated::class => 'application/vnd.cultuurnet.udb3-events.place-organizer-updated+json',
            PlaceCreated::class => 'application/vnd.cultuurnet.udb3-events.place-created+json',
            PlaceDeleted::class => 'application/vnd.cultuurnet.udb3-events.place-deleted+json',
            PlaceImportedFromUDB2::class => 'application/vnd.cultuurnet.udb3-events.place-imported-from-udb2-actor+json',
            PlaceProjectedToJSONLD::class => 'application/vnd.cultuurnet.udb3-events.place-projected-to-jsonld+json',
            PlaceUpdatedFromUDB2::class => 'application/vnd.cultuurnet.udb3-events.place-updated-from-udb2+json',
            TitleTranslated::class => 'application/vnd.cultuurnet.udb3-events.place-title-translated+json',
            TitleUpdated::class => 'application/vnd.cultuurnet.udb3-events.place-title-updated+json',
            TypicalAgeRangeUpdated::class => 'application/vnd.cultuurnet.udb3-events.place-typical-age-range-updated+json',
            TypicalAgeRangeDeleted::class => 'application/vnd.cultuurnet.udb3-events.place-typical-age-range-deleted+json',
            TypeUpdated::class => 'application/vnd.cultuurnet.udb3-events.place-type-updated+json',
            ThemeUpdated::class => 'application/vnd.cultuurnet.udb3-events.place-theme-updated+json',
            // Moderation
            Published::class => 'application/vnd.cultuurnet.udb3-events.moderation.place-published+json',
            Approved::class => 'application/vnd.cultuurnet.udb3-events.moderation.place-approved+json',
            Rejected::class => 'application/vnd.cultuurnet.udb3-events.moderation.place-rejected+json',
            FlaggedAsDuplicate::class => 'application/vnd.cultuurnet.udb3-events.moderation.place-flagged-as-duplicate+json',
            FlaggedAsInappropriate::class => 'application/vnd.cultuurnet.udb3-events.moderation.place-flagged-as-inappropriate+json',
        ];
    }
292714
public function getHTML()
    {

            $html="<div id='".$this->googleMapNameId."' style='width: ".$this->googleMapWidth."px; height: ".$this->googleMapHeight."px; ".$this->divStyle."'>Veuilliez patienter pendant le chargement de la carte...</div>";

        //$html.="<script  >";
        /*
        if (count($this->coordonnees)>0) {
            foreach ($this->coordonnees as $indice => $value) {
                if (isset($value['link'])) {
                    $html.="tabAdresses[".$indice."]=\"".$value['link']."\";\n";
                }
            }
        }

        $html.="</script>";
        $html.="<div id='".$this->googleMapNameId."' style='width: ".$this->googleMapWidth."px; height: ".$this->googleMapHeight."px;'>Veuilliez patienter pendant le chargement de la carte...</div>";

        if ($this->debugMode)
            $displayDebug='block';
        else
            $displayDebug='none';

        $html.="<div style='width:500px; height:300px;overflow:scroll;display:".$displayDebug.";' id='debugGoogleMap'></div>";
        $html.="<script  >load();</script>";

        // fonction appelant les affichages de coordonnées ,  appels regroupées dans une fonction qui groupe les coordonnées par paquet ,  afin de ne pas trop en envoyer a la fois
        if (count($this->coordonnees)>0) {
            $html.="<script  >";
            $html.="var numPaquet=0;\n";
            $html.="var timer;\n";
            $html.="startTimerPaquets();\n";
            $html.="function startTimerPaquets()\n";
            $html.="{";
            $html.="afficheCoordonneesParPaquets();\n";
            $html.="timer = setInterval(\"afficheCoordonneesParPaquets()\", ".$this->setTimeOutPaquets.");\n";
            $html.="}\n";

            $html.="function afficheCoordonneesParPaquets(){\n";
            $i=0;
            $numPaquet = 0;
            foreach ($this->coordonnees as $indice => $value) {
                $image = ", \"http://www.google.com/mapfiles/marker.png\"";//
                if (isset($value['imageFlag']) && $value['imageFlag']!='') {
                    $image = ", \"".$value['imageFlag']."\"";
                }

                if ($i%10==0) {
                    $html.="if (numPaquet==".$numPaquet.")\n";
                    $html.="{\n";
                    $iDebut = $i;
                }

                $html.=" getCoordonnees(\"".$value['adresse']."\", ".$indice." ".$image.");\n";

                if ($i==$iDebut+9 || $i==count($this->coordonnees)-1 ) {
                    $html.="}\n";
                    $numPaquet++;
                }
                $i++;
            }


            $html.="if (numPaquet>".$numPaquet.")\n";
            $html.="{\n";
            $html.="clearInterval(timer);\n";
            $html.="}\n";
            $html.="numPaquet++;\n";
            $html.="}\n";
            $html.="</script>";
        }
        */

        /*
        if ($this->debugMode)
            $displayDebug='block';
        else
            $displayDebug='none';
            */
        //$html.="<div style='width:500px; height:300px;overflow:scroll;display:".$displayDebug.";' id='debugGoogleMap'></div>";
        $html.="<script  >load();</script>";
        $html.="<script  >";
        if (isset($params['urlImageIcon']) && isset($params['pathImageIcon'])) {
            $urlImage = $params['urlImageIcon'];

            list($imageSizeX,  $imageSizeY,  $typeImage,  $attrImage) = getimagesize($params['pathImageIcon']);

            $html.="
                var icon = new GIcon();
                //icon.image = image;


                icon.image = \"$urlImage\";
                //icon.shadow = \"https://labs.google.com/ridefinder/images/mm_20_shadow.png\";
                icon.iconSize = new GSize($imageSizeX,  $imageSizeY);
                icon.shadowSize = new GSize(22,  20);
                icon.iconAnchor = new GPoint(2,  24);
                icon.infoWindowAnchor = new GPoint(5,  1);
                var iconMarker = new GIcon(icon);
            ";
        } else {
            $html.="
                var icon = new GIcon();
                //icon.image = image;
                var iconMarker = new GIcon(icon);

                icon.image = \"https://labs.google.com/ridefinder/images/mm_20_red.png\";
                //icon.shadow = \"https://labs.google.com/ridefinder/images/mm_20_shadow.png\";
                icon.iconSize = new GSize(30,  24);
                icon.shadowSize = new GSize(22,  20);
                icon.iconAnchor = new GPoint(2,  24);
                icon.infoWindowAnchor = new GPoint(5,  1);
            ";
        }
        $html.="</script>";

        if (isset($params['listeCoordonnees'])) {
            $html.="<script  >";
            foreach ($params['listeCoordonnees'] as $indice => $values) {
                $html.="

                    point$indice = new GLatLng(".$values['latitude'].", ".$values['longitude'].");
                    marker$indice = new GMarker(point$indice, iconMarker);
                    overlay$indice = map.addOverlay(marker$indice);
                    //marker$indice.openInfoWindowHtml(\"".$values['libelle']."\");

                    ";

                if (isset($values['jsCodeOnClickMarker'])) {
                    $html.="
                            function onClickFunction$indice(overlay,  point){".$values['jsCodeOnClickMarker']."}";

                    $html.="GEvent.addListener(marker$indice,  'click',  onClickFunction$indice);";
                }

                if (isset($values['jsCodeOnMouseOverMarker'])) {
                    $html.="function onMouseOverFunction$indice(overlay, point){".$values['jsOnMouseOverMarker']."}";
                    $html.="GEvent.addListener(marker$indice, 'mouseover', onMouseOverFunction$indice);";

                }

                if (isset($values['jsCodeOnMouseOutMarker'])) {
                    $html.="function onMouseOutFunction$indice(overlay, point){".$values['jsCodeOnMouseOutMarker']."}";
                    $html.="GEvent.addListener(marker$indice, 'mouseout', onMouseOutFunction$indice);";

                }

            }
            $html.="</script>";
        }



        return $html;
    }
128788
public function getIntituleAdresse($fetch = array(), $params = array())
    {
        $idAdresse = 0;
        // pour pouvoir afficher plusieurs adresses d'un meme groupe d'adresse si c'est le cas , on verifie si le parametre est precisé, sinon on garde le parametre d'origine en le placant juste dans un tableau
        if (isset($params['arrayIdAdressesSurMemeGroupeAdresse']) && count($params['arrayIdAdressesSurMemeGroupeAdresse'])>0) {
            $arrayFetch = $params['arrayIdAdressesSurMemeGroupeAdresse'];
        } else {
            $arrayFetch[] = $fetch;
        }

        if (isset($params['idAdresseReference']) && $params['idAdresseReference']!=0) {
        // si on passe une adresse de reference en parametres (idAdresse de la page courante par exemple) , on a la regle suivante
            // si le quartier et la ville sont les memes que ceux de l'adresse de reference on affiche pas le quartier et la ville de l'adresse en sortie
            $arrayAdresse=$this->getArrayAdresseFromIdAdresse($params['idAdresseReference']);
            $idSousQuartierAdresseReference = $arrayAdresse['idSousQuartier'];
            $idQuartierAdresseReference = $arrayAdresse['idQuartier'];
            $idVilleAdresseReference = $arrayAdresse['idVille'];
        }

        $separatorAfterTitle ='';
        if (isset($params['setSeparatorAfterTitle'])) {
            $separatorAfterTitle = $params['setSeparatorAfterTitle'];
        }

        $titre="";
        $styleCSSTitre ='font-weight:bold;';
        $styleCSSAdresse ='';
        $classCSS='';
        if (isset($params['classCSSTitreAdresse'])) {
            $classCSS="class='".$params['classCSSTitreAdresse']."'";
        }


        if (isset($params['styleCSSTitreAdresse'])) {
            $styleCSSTitre = $params['styleCSSTitreAdresse'];
        }


        if (isset($params['styleCSSAdresse'])) {
            $styleCSSAdresse = $params['styleCSSAdresse'];
        }

        if (isset($params['displayFirstTitreAdresse']) && $params['displayFirstTitreAdresse']==true || (isset($params['ifTitreAfficheTitreSeulement']) && $params['ifTitreAfficheTitreSeulement']==true) || (isset($params['afficheTitreSiTitreSinonRien']) && $params['afficheTitreSiTitreSinonRien']==true)) {
            $sqlGroupeAdresse ="";
            if (isset($params['idEvenementGroupeAdresse']) && $params['idEvenementGroupeAdresse']!='' && $params['idEvenementGroupeAdresse']!='0') {
                $sqlGroupeAdresse = " AND ae.idEvenement = '".$params['idEvenementGroupeAdresse']."' ";
                $idAdresse = $this->getIdAdresseFromIdEvenementGroupeAdresse($params['idEvenementGroupeAdresse']);
            }

            if (isset($arrayFetch[0]['idAdresse'])) {
                $idAdresse = $arrayFetch[0]['idAdresse']; // on prend le premier idAdresse trouvé , en principe c'est toujours le cas
            }

            $trouve = false;


            // on regarde d'abord s'il existe un titre pour le groupe d'adresse
            // vu qu'un evenement groupe d'adresse est unique , on ne va pas grouper dans la requete
            $reqVerif = "
			SELECT idEvenementRecuperationTitre
			FROM evenements he
			LEFT JOIN _adresseEvenement ae ON ae.idAdresse = '$idAdresse'
			WHERE he.idEvenement = ae.idEvenement
			$sqlGroupeAdresse
			";

            $resVerif = $this->connexionBdd->requete($reqVerif);
            if (mysql_num_rows($resVerif)>0) {
                $fetchVerif = mysql_fetch_assoc($resVerif);
                if ($fetchVerif['idEvenementRecuperationTitre']=='0') {
                    $trouve=false;
                } elseif ($fetchVerif['idEvenementRecuperationTitre']=='-1') {
                    $params['ifTitreAfficheTitreSeulement']=true;
                    $titre='';
                    $trouve=true;
                } elseif ($fetchVerif['idEvenementRecuperationTitre']!='0') {
                    $reqTitre = "
							SELECT he1.titre as titre
							FROM evenements he2, evenements he1
							WHERE he2.idEvenement = he1.idEvenement
							AND he1.idEvenement = '".$fetchVerif['idEvenementRecuperationTitre']."'
									GROUP BY he1.idEvenement
									";
                    $resTitre = $this->connexionBdd->requete($reqTitre);

                    $fetchTitre = mysql_fetch_assoc($resTitre);
                    if (isset($params["noHTML"])) {
                        $titre=stripslashes($fetchTitre['titre']);
                    } else {
                        $titre = "<span $classCSS style='$styleCSSTitre'>".stripslashes($fetchTitre['titre'])."</span> ";
                    }
                    if (trim($fetchTitre['titre'])!='') {
                        $trouve=true;
                    } else {
                        $trouve=true; // meme si pas de titre , ceci va permettre d'afficher l'adresse
                        $titre='';
                    }
                }
            }

            if (!$trouve) {
            // avec ce parametre , on va aller chercher le premier titre rencontré sur la liste des evenements du groupe d'adresse de l'adresse

                $reqTitre = "
						SELECT he1.titre as titre
						FROM _adresseEvenement ae
						LEFT JOIN _evenementEvenement ee ON ee.idEvenement = ae.idEvenement
						LEFT JOIN evenements he1 ON he1.idEvenement = ee.idEvenementAssocie
						LEFT JOIN evenements he2 ON he2.idEvenement = he1.idEvenement
						WHERE he1.titre!=''
						AND ae.idAdresse = '".$idAdresse."'
						$sqlGroupeAdresse
						AND he1.idTypeEvenement <>'6'
						GROUP BY he1.idEvenement
						ORDER BY he1.dateDebut
						LIMIT 1

						";
                $resTitre = $this->connexionBdd->requete($reqTitre);
                if (mysql_num_rows($resTitre)==1) {
                    $fetchTitre = mysql_fetch_assoc($resTitre);
                    if (isset($params["noHTML"])) {
                        $titre=stripslashes($fetchTitre['titre']);
                    } else {
                        $titre = "<b $classCSS>".stripslashes($fetchTitre['titre'])."</b> ";
                    }
                    if (trim($fetchTitre['titre'])=='') {
                        $noTitreDetected=true;
                        $titre='';
                    }
                }
            }
        }



        $arrayNomAdresse = array();
        $arrayNomRue = array();
        $arrayNomSousQuartier = array();
        $arrayNomQuartier = array();
        $arrayNomVille = array();
        $arrayNomAdresseSansQuartierSsQuartierVilleRue=array();
        $arrayNomAdresseSansQuartierSsQuartierVille = array();
        $arrayAdressesRegroupees = array();
        $arrayNomQuartiersRegroupes = array();
        $arrayNomVillesRegroupes = array();
        $arrayNomSousQuartiersRegroupes = array();
        $htmlStyleDebut = "";
        $htmlStyleFin = "";

        $i=0;




        foreach ($arrayFetch as $indice => $fetch) {
            if ((isset($params['displayLibelleAdresseFromGroupeAdresseOnlyIdAdresse']) && $params['displayLibelleAdresseFromGroupeAdresseOnlyIdAdresse']==$fetch['idAdresse'] )|| !isset($params['displayLibelleAdresseFromGroupeAdresseOnlyIdAdresse'])) {
                $nomAdresse = "";
                if (isset($fetch['numero']) && $fetch['numero']!='' && $fetch['numero']!='0') {
                    $nomAdresse .= $fetch['numero'];
                }


                // recherche de l'indicatif
                if (isset($fetch['idIndicatif']) && $fetch['idIndicatif']!='0') {
                    $reqIndicatif = "SELECT nom FROM indicatif WHERE idIndicatif='".$fetch['idIndicatif']."'";
                    $resIndicatif = $this->connexionBdd->requete($reqIndicatif);
                    $fetchIndicatif = mysql_fetch_assoc($resIndicatif);

                    $nomAdresse .=$fetchIndicatif['nom'];
                    $fetch['indicatif'] = $fetchIndicatif['nom']; // pour le regroupement , pour avoir l'indicatif
                } else {
                    $fetch['indicatif'] = '';
                }

                    $arrayNomAdresseSansQuartierSsQuartierVilleRue[$i] = $nomAdresse;

                if (isset($fetch['prefixeRue'])) {
                    if (pia_substr($fetch['prefixeRue'], 0, pia_strlen($fetch['prefixeRue']))=="'") {
                            $nomAdresse.=' '.stripslashes($fetch['prefixeRue']).stripslashes(ucfirst($fetch['nomRue']));
                    } else {
                        $nomAdresse.=' '.stripslashes($fetch['prefixeRue']).' '.stripslashes(ucfirst($fetch['nomRue']));
                    }

                    $arrayNomRue[$i] = stripslashes($fetch['prefixeRue']).' '.stripslashes(ucfirst($fetch['nomRue']));
                }



                    $arrayNomAdresseSansQuartierSsQuartierVille[$i] = $nomAdresse;

                if (!isset($params['noSousQuartier']) || $params['noSousQuartier']==false) {
                    if (isset($fetch['nomSousQuartier']) && $fetch['nomSousQuartier']!='autre') {
                        if (isset($params['idAdresseReference']) && $params['idAdresseReference']!=0 && $idSousQuartierAdresseReference ==$fetch['idSousQuartier']) {
                            // on ne precise pas le sous quartier si c'est le meme que l'adresse de reference
                        } else {
                            $sousquartier=true;
                            if (!empty($fetch['nomSousQuartier'])) {
                                $nomAdresse .= ' ('.ucfirst($fetch['nomSousQuartier']);
                            }
                            $arrayNomSousQuartier[$i] = ucfirst($fetch['nomSousQuartier']);
                        }
                    }
                }

                if (isset($fetch['idSousQuartier'])) {
                    $arrayNomSousQuartiersRegroupes[$fetch['idSousQuartier'].$fetch['nomSousQuartier']][]=1;
                }


                if ((!isset($params['noQuartier']) || $params['noQuartier']==false) || (isset($params['noQuartier']) && $params['noQuartier']==true && (!isset($fetch['idSousQuartier']) ||$fetch['idSousQuartier']=='0') || (!isset($fetch['idRue']) || $fetch['idRue']=='0') && isset($fetch['idQuartier']) && $fetch['idQuartier']!='0')) {
                    if (isset($fetch['nomQuartier']) && $fetch['nomQuartier']!='autre') {
                        if (isset($params['noQuartierCentreVille']) && $params['noQuartierCentreVille']==true && pia_strtolower($fetch['nomQuartier'])=="centre ville") {
                            //$nomAdresse .= ' '.ucfirst($fetch['nomQuartier']);
                            if ($fetch['nomSousQuartier']=="autre") {
                                $nomAdresse .=" - ";
                            } else {
                                $nomAdresse .=") ";
                            }
                        } else {
                            if (isset($params['idAdresseReference']) && $params['idAdresseReference']!=0 && $idQuartierAdresseReference==$fetch['idQuartier']) {
                            // on ne precise pas le quartier si c'est le meme que l'adresse de reference ( si celle ci est précisée)
                                if ((!isset($fetch['idRue']) || $fetch['idRue']=='0')) { // sauf s'il n'y a pas d'idRue , sinon on afficherait rien
                                    $nomAdresse .= ' '.ucfirst($fetch['nomQuartier']);
                                    $arrayNomQuartier[$i] = ucfirst($fetch['nomQuartier']);
                                } elseif ($fetch['nomSousQuartier']!="Ellipse insulaire") {
                                    //$nomAdresse .=") ";
                                }
                            } else {
                                if (!empty($fetch['nomQuartier'])) {
                                    if (!empty($fetch['nomSousQuartier'])) {
                                        $nomAdresse .= isset($sousquartier)?' - ':' (';
                                    } else {
                                        $nomAdresse .= ' (';
                                    }
                                    $nomAdresse .= ucfirst($fetch['nomQuartier']).")";
                                }
                                $arrayNomQuartier[$i] = ucfirst($fetch['nomQuartier']);
                            }
                        }
                    }
                }

                if (isset($fetch['idQuartier'])) {
                    $arrayNomQuartiersRegroupes[$fetch['idQuartier'].$fetch['nomQuartier']][]=1;
                }





                if (!isset($params['noVille']) ||$params['noVille']==false) {
                    if (isset($fetch['nomVille'])) { //  && $fetch['nomVille']!='Strasbourg'
                        if (isset($params['idAdresseReference']) && $params['idAdresseReference']!=0 && $idVilleAdresseReference ==$fetch['idVille']) {
                            // on ne precise pas la ville si c'est la meme que la ville de l'adresse de reference
                        } else {
                            $nomAdresse.= ' '.ucfirst($fetch['nomVille']);
                            $arrayNomVille[$i] = ucfirst($fetch['nomVille']);
                        }
                    }
                }
                if (isset($fetch['idVille'])) {
                    $arrayNomVillesRegroupes[$fetch['idVille'].$fetch['nomVille']][]=1;
                }

                if (isset($params['isAfficheAdresseStyle']) && $titre!='' && !isset($noTitreDetected)) {
                    $nomAdresse="<span $styleCSSAdresse>".$nomAdresse."</span>";
                    $htmlStyleDebut = "<span $styleCSSAdresse>";
                    $htmlStyleFin = "</span>";
                }

                    $arrayNomAdresse[$i] = $nomAdresse;
                if (isset($arrayNomRue[$i])) {
                    $arrayAdressesRegroupees[$arrayNomRue[$i]][] = $fetch;
                }
                    $i++;
            }
        }




        $retour="";
        if (isset($params['afficheTitreSiTitreSinonRien']) && $params['afficheTitreSiTitreSinonRien']==true) {
            $retour = $titre;
        } else {
            if (isset($params['ifTitreAfficheTitreSeulement']) && $params['ifTitreAfficheTitreSeulement']==true && $titre!='') {
                $retour = $titre;
            } else {
                // on regarde si tous les quartiers et sous quartiers et villes des adresses du groupe d'adresse sont les memes , s'il y a plusieurs adresses , on factorises le quartier le sous quartier et la ville
                if (count($arrayNomAdresse)>1) {
                    $nomQuartierFactorise = "";
                    $nomVilleFactorise = "";
                    $nomSousQuartierFactorise = "";
                    foreach ($arrayAdressesRegroupees as $intituleRue => $fetchRues) {
                        foreach ($fetchRues as $indice => $fetchRue) {
                            if ($fetchRue['numero']=='0' ||$fetchRue['numero']=='') {
                                $retour.='';
                            } else {
                                $retour.= $fetchRue['numero'].$fetchRue['indicatif']."-";
                            }
                        }
                        $retour= pia_substr($retour, 0, -(pia_strlen("-")));
                        $retour.=" ";

                        // ici on rajoute le quartier et le sous quartier


                        $retour .= $intituleRue." ";

                        if ($fetchRue['nomSousQuartier']!='' && $fetchRue['nomSousQuartier']!='autre' && count($arrayNomSousQuartiersRegroupes)>1) {
                            $retour.= $fetchRue['nomSousQuartier']." ";
                        } else {
                            $nomSousQuartierFactorise = "";
                            if (isset($fetchRue['idSousQuartier']) && $fetchRue['nomSousQuartier']!='' && $fetchRue['nomSousQuartier']!='autre') {
                                $nomSousQuartierFactorise = "(".$fetch['nomSousQuartier']." ";
                            }
                        }

                        if ($fetchRue['nomQuartier']!='' && $fetchRue['nomQuartier']!='autre' && count($arrayNomQuartiersRegroupes)>1) {
                            $retour.= $fetchRue['nomQuartier'];
                        } else {
                            $nomQuartierFactorise = "";
                            if ($fetchRue['nomQuartier']!='' && $fetchRue['nomQuartier']!='autre') {
                                $nomQuartierFactorise = empty($nomSousQuartierFactorise)?"(":"- ";
                                $nomQuartierFactorise.=$fetchRue['nomQuartier'].") ";
                            } else {
                                $nomQuartierFactorise = ")";
                            }
                        }

                        if ($fetchRue['nomVille']!='' && count($arrayNomVillesRegroupes)>1) {
                            $retour.= $fetchRue['nomVille']." ";
                        } else {
                            $nomVilleFactorise = $fetchRue['nomVille']." ";
                        }

                        $retour.="/ ";
                    }

                    $retour= pia_substr($retour, 0, -(pia_strlen("/ ")));

                    if (count($arrayNomSousQuartiersRegroupes)==1) {
                        $retour .= $nomSousQuartierFactorise;
                    }

                    if (count($arrayNomQuartiersRegroupes)==1) {
                        $retour .= $nomQuartierFactorise;
                    }

                    if (count($arrayNomVillesRegroupes)==1) {
                        $retour .= $nomVilleFactorise;
                    }

                    $retour.="";

                    if ($titre!='') {
                        $retour = "<span style='$styleCSSTitre'>".$titre."</span>".$separatorAfterTitle.$htmlStyleDebut.$retour.$htmlStyleFin;
                    } else {
                        // retour = retour
                    }
                } else {
                    if ($titre!='') {
                        $retour = "<span style='$styleCSSTitre'>".$titre."</span>".$separatorAfterTitle.implode("/", $arrayNomAdresse);
                    } else {
                        $retour = implode("/", $arrayNomAdresse);
                    }
                }
            }
        }
        return $retour;
    }
786800
public function toUrl()
    {
        $post_data = $this->toPostdata();
        $out = $this->getNormalizedHttpUrl();
        if ($post_data) {
            $out .= '?' . $post_data;
        }
        
        return $out;
    }
334187
public function getGoogleMapAddressLanguage()
    {
        return $this->scopeConfig->getValue(
            self::XML_GOOGLE_MAP_ADDRESS_LANGUAGE,
            \Magento\Store\Model\ScopeInterface::SCOPE_STORE
        );
    }