Affichage du formulaire d'ajout/édition

@param array $params Paramètres

@return string HTML
3167
public function formulaireActualites($params = array())
    {
        $html = "";
        $f    = new formGenerator();
        $d    = new dateObject();
        $c    = new calqueObject();
        $this->addToJsHeader("<script>".$c->getJSScrollHeight()."</script>");
        $html                                    .= $c->getDiv(array('width'=>900, 'lienSrcIFrame'=>'', 'titre'=>'Prévisualisation'));
        $idActualite                              = 0;
        $boutonNouveau                            = "";
        $boutonSupprimer                          = "";
        $boutonPrevisualiser                      = "<input type='button' name='previsualisation' value='Prévisualisation' onclick=\"tinyMCE.triggerSave(true,true);document.getElementById('".$c->getJSDivId()."').style.top=(50+getScrollHeight())+'px';document.getElementById('".$c->getJSIFrameId()."').src='".$this->creerUrl('', 'previsualisationActualite', array())."';".$c->getJSOpenPopup()."\">";
        $boutonValiderEtEnvoiMailPrevisualisation = "<input type='button' name='valideEtEnvoi' id='valideEtEnvoi' value=\"Envoyer le mail tout de suite\" onclick=\"document.getElementById('formActu').action+='&previsualisationMail=1';document.getElementById('formActu').submit();\">
        <input type='button' name='valideEtPrev' id='valideEtPrev' value='"._("Prévisualiser le mail")."' onclick=\"document.getElementById('formActu').action+='&previsualisationMail=1&preview=1';document.getElementById('formActu').setAttribute('target', '_blank'); document.getElementById('formActu').submit();\">
        <input type='button' name='testMail' id='testMail' value='"._("Envoyer un mail de test")."' onclick=\"document.getElementById('formActu').action+='&previsualisationMail=1&preview=1&testMail=1';document.getElementById('formActu').setAttribute('target', '_blank'); document.getElementById('formActu').submit();\">
        ";
        if (isset($this->variablesGet['archiIdActualite']) && $this->variablesGet['archiIdActualite']!='') {
            $idActualite           = $this->variablesGet['archiIdActualite'];
            $reqActu               = "SELECT date,titre, sousTitre,photoIllustration, texte,urlFichier, fichierPdf, desactive,texteMailHebdomadaire,envoiMailHebdomadaire FROM actualites WHERE idActualite='".$idActualite."'";
            $resActu               = $this->connexionBdd->requete($reqActu);
            $fetchActu             = mysql_fetch_assoc($resActu);
            $date                  = $d->toFrenchAffichage($fetchActu['date']);
            $titre                 = $fetchActu['titre'];
            $sousTitre             = $fetchActu['sousTitre'];
            $illustration          = $fetchActu['photoIllustration'];
            $description           = $fetchActu['texte'];
            $urlFichier            = $fetchActu['urlFichier'];
            $fichierPdf            = $fetchActu['fichierPdf'];
            $isDesactivated        = $fetchActu['desactive'];
            $texteMailHebdomadaire = $fetchActu['texteMailHebdomadaire'];
            $isEnvoi               = $fetchActu['envoiMailHebdomadaire'];
            $formAction            = $this->creerUrl('modifierActu', 'adminActualites', array('archiIdActualite'=>$idActualite));
            $boutonNouveau         = "<input type='button' name='nouveauButton' value='Nouveau' onclick=\"location.href='".$this->creerUrl('', 'adminActualites', array())."'\">";
            $boutonSupprimer       = "<input type='button' name='supprimerBouton' value='Supprimer' onclick=\"location.href='".$this->creerUrl('supprimerActu', 'adminActualites', array("idActuSuppr"=>$idActualite))."'\">";
        } else {
            $date                  = date("d/m/Y");
            $titre                 = "";
            $sousTitre             = "";
            $illustration          = "";
            $description           = "";
            $urlFichier            = "";
            $fichierPdf            = "";
            $isDesactivated        = 0;
            $texteMailHebdomadaire = "";
            $isEnvoi               = 0;
            $formAction            = $this->creerUrl('ajouterActu', 'adminActualites', array('check'=>1));

            // check sert juste a ne pas avoir a gerer le ? ou le & dans l'url quand on rajoute un parametre en js
        }
        $idActualitePathImage = "";
        if ($idActualite!=0) {
            $idActualitePathImage = $idActualite;
        }

        // bibliotheques d'images
        $fileObject    = new fileObject();
        $arrayFiles    = $fileObject->getListeFichiersArrayFrom($this->getCheminPhysique()."images/actualites/".$idActualite."/");
        $listeFichiers = "";
        $t             = new tableau();
        foreach ($arrayFiles as $indiceFichier=>$fichier) {
            if (strtolower($fileObject->getExtensionFromFile($fichier))=='jpg' || strtolower($fileObject->getExtensionFromFile($fichier))=='gif' || strtolower($fileObject->getExtensionFromFile($fichier))=='png') {
                $t->addValue("<a onclick='injectInTinyMce(\"<img src=\\\"".$this->getUrlImage()."actualites/".$idActualite."/".str_replace("'", "\\\'", $fichier)."\\\" border=0>\");'><img src=\"".$this->getUrlImage()."actualites/".$idActualite."/".$fichier."\" border=0 width=100 height=100></a>");
                $t->addValue("$fichier");
            } else {
                $t->addValue("&nbsp;");
                $t->addValue("$fichier");
            }
        }
        $listeFichiers = $t->createTable(2);
        $gestionBibliothequeImages = "Bibliothèque d'images de l'actualité <span style='font-size:11px;'>(cliquez sur une image pour l'inserer à la position du curseur)</span> : <div id='listeFichiers' style='background-color:#87CEFF;width:300px;height:200px;overflow:scroll;'>".$listeFichiers."</div>";
        $this->addToJsHeader(
            "<script>
                function injectInTinyMce(txt)
                {
                    tinyMCE.execInstanceCommand('texte','mceInsertContent',false,txt);
                }
                
                function goRedim(idActualite)
                {
                    // validation du formulaire pour creer l'identifiant de l'actu et pouvoir ranger les photos
                    document.getElementById('formActu').submit();
                }
            </script>"
        );

        // on ne gere pas de timestamp , on assume que seul l'admin fera des mises a jour des actualités
        $applet       = $fileObject->getAppletUploadMultiple(array('cheminApplet'=>$this->getUrlRacine()."/includes/", 'uploadDirPart1'=>$this->getCheminPhysique()."images/", 'uploadDirPart2'=>"uploadMultipleActualites/", 'jsFunctionNameOnExit'=>"goRedim($idActualite)"));
        $configFields = array('idActualite'=>array('libelle'=>"idActualite", 'type'=>'hidden', 'required'=>true, 'value'=>'', 'forceValueTo'=>$idActualite, 'htmlCode'=>'', 'error'=>''), 'desactive'=>array('libelle'=>"désactiver", 'type'=>'singleCheckBox', 'required'=>false, 'value'=>'', 'forceValueTo'=>'1', 'isChecked'=>$isDesactivated, 'htmlCode'=>'', 'error'=>'', 'default'=>''), 'date'=>array('libelle'=>"date", 'withDatePicker'=>true, 'type'=>'date', 'required'=>true, 'value'=>'', 'forceValueTo'=>$date, 'htmlCode'=>'', 'error'=>''), 'titre'=>array('libelle'=>"titre", 'type'=>'text', 'required'=>false, 'value'=>'', 'forceValueTo'=>$titre, 'htmlCode'=>"style='width:300px;'", 'error'=>''), 'sousTitre'=>array('libelle'=>"sous-titre", 'type'=>'text', 'required'=>false, 'value'=>'', 'forceValueTo'=>$sousTitre, 'htmlCode'=>"style='width:300px;'", 'error'=>''), 'photoIllustration'=>array('libelle'=>"illustration", 'type'=>'uploadImage', 'required'=>false, 'value'=>'', 'forceValueTo'=>$illustration, 'physicalImagePathForTestExists'=>$this->getCheminPhysique()."images/actualites/".$idActualitePathImage."/", 'urlImagePathForDisplayInForm'=>$this->getUrlImage()."actualites/".$idActualitePathImage."/", 'htmlCode'=>'', 'error'=>''), 'texte'=>array('libelle'=>"description", 'type'=>'tinyMCE', 'required'=>false, 'value'=>'', 'forceValueTo'=>$description, 'htmlCode'=>"cols=80 rows=30", 'error'=>'', 'htmlCode2'=>$gestionBibliothequeImages."<div><a onclick=\"if(document.getElementById('divApplet').style.display=='none'){document.getElementById('divApplet').style.display='block';}else{document.getElementById('divApplet').style.display='none';}\" style='cursor:pointer;'>Voir/cacher ajouter une image</a></div><div id='divApplet' style='float:left;display:none'>".$applet."</div>"), 'urlFichier'=>array('libelle'=>"url redirection", 'type'=>'text', 'required'=>false, 'value'=>'', 'forceValueTo'=>$urlFichier, 'htmlCode'=>"style='width:300px;'", 'error'=>''), 'fichierPdf'=>array('libelle'=>"fichier pdf", 'type'=>'text', 'required'=>false, 'value'=>'', 'forceValueTo'=>$fichierPdf, 'htmlCode'=>"style='width:300px;'", 'error'=>''), 'texteMailHebdomadaire'=>array('libelle'=>"description mail hebdomadaire <span style='color:red;'>(ne pas oublier de préciser le titre)</span>", 'type'=>'tinyMCE', 'required'=>false, 'value'=>'', 'forceValueTo'=>$texteMailHebdomadaire, 'htmlCode'=>"cols=80 rows=30", 'error'=>''), 'envoiMailHebdomadaire'=>array('libelle'=>"envoi avec la newsletter hebdomadaire", 'type'=>'singleCheckBox', 'required'=>false, 'value'=>'', 'forceValueTo'=>'1', 'isChecked'=>$isEnvoi, 'htmlCode'=>'', 'error'=>'', 'default'=>''));
        $configForm   = array("fields"=>$configFields, 'formAction'=>$formAction, 'codeHtmlAfterSubmitButton'=>$boutonNouveau.$boutonSupprimer.$boutonPrevisualiser.$boutonValiderEtEnvoiMailPrevisualisation, 'formName'=>'formActu');
        $html        .= $f->afficherFromArray($configForm);
        return $html;
    }
1328776
public function ajouterParcours($params = array())
    {
        if (isset($this->variablesPost['libelleParcours']) && $this->variablesPost['libelleParcours']!='' && isset($this->variablesPost['dateAjoutParcours']) && $this->variablesPost['dateAjoutParcours']!='') {
            $d = new dateObject();
            $parcoursActif = '0';
            if (isset($this->variablesPost['isActif']) && $this->variablesPost['isActif']=='1') {
                $parcoursActif = '1';
            }
            $reqInsert  = "INSERT INTO parcoursArt (libelleParcours, isActif, dateAjoutParcours,commentaireParcours, idSource ) VALUES (";
            $reqInsert .= "\"".mysql_real_escape_string($this->variablesPost['libelleParcours'])."\",";
            $reqInsert .= "'".$parcoursActif."',";
            $reqInsert .= "'".$d->toBdd($this->variablesPost['dateAjoutParcours'])."',";
            $reqInsert .= "\"".mysql_real_escape_string($this->variablesPost['commentaireParcours'])."\",";
            $reqInsert .= "'".$this->variablesPost['idSource']."'";
            $reqInsert .= ")";
            $resInsert  = $this->connexionBdd->requete($reqInsert);
        }
    }
406959
function afficheAccueil($params=array())
	{
		$t = new Template($this->getCheminPhysique().$this->cheminTemplates);
		$t->set_filenames(array('accueil'=>'accueil.tpl'));
		$html = '';
		$infos = "";

		$calque = new calqueObject();
		$date = new dateObject();
		$auth = new archiAuthentification();

		
		
		if ($auth->estConnecte()) {
			$t->assign_block_vars('estConnecte', array());
		}

		$t->assign_vars(
				array(
						'urlAjoutAdresse'=>$this->creerUrl('', 'ajoutNouveauDossier')
				)
		);

		$adresses = new archiAdresse();

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

		switch($modeAffichage) {
			// **********************************************************************************************************************************
			// PROFIL
			// **********************************************************************************************************************************
			case 'profil':

				$t->assign_block_vars('afficheProfil', array());

				$t->assign_vars(
						array(
								'onglet1'=>"<a href='".$this->creerUrl('', 'afficheAccueil', array('modeAffichage'=>''))."'><font color='#FFFFFF'>"._("Nouveautés")."</font></a>",
								'onglet2'=>_("Mon Profil"),
								'onglet3'=>"<a href='".$this->creerUrl('', 'afficheAccueil', array('modeAffichage'=>'monArchi'))."'><font color='#FFFFFF'>"._("Mon Archi")."</font></a>"
						)
				);


				$u = new archiUtilisateur();
				$s = new objetSession();

				if ($s->isInSession('utilisateurConnecte'.$this->idSite)) {
					$profil = $u->afficher(array(), $s->getFromSession('utilisateurConnecte'.$this->idSite), 'utilisateurProfil');
				} else {
					//header('Location: ?archiAffichage=authentification&archiActionPrecedente=afficheProfil');
					$authentification = new ArchiAuthentification();
					echo $authentification->afficheFormulaireAuthentification();
				}


				$t->assign_vars(array('htmlProfil'=>$profil));
				break;
				//Mon Archi
			case 'monArchi':

				$t->assign_block_vars('afficheMonArchi', array());

				$t->assign_vars(
						array(
								'onglet1'=>"<a href='".$this->creerUrl('', 'afficheAccueil', array('modeAffichage'=>''))."'><font color='#FFFFFF'>"._("Nouveautés")."</font></a>",
								'onglet2'=>"<a href='".$this->creerUrl('', 'afficheAccueil', array('modeAffichage'=>'profil'))."'><font color='#FFFFFF'>"._("Mon Profil")."</font></a>",
								'onglet3'=>_("Mon Archi")
						)
				);

				$utilisateur = new archiUtilisateur();
				$adresse = new archiAdresse();


				$arrayInfosConnexions = $utilisateur->getInfosConnexions($auth->getIdUtilisateur());

				$arrayInfosModifs = $utilisateur->getInfosModifsPerso($auth->getIdUtilisateur());

				$monArchi="<table border=''><tr><td width=500><h2>"._("Mon Archi")."</h2></td></tr></table>";
				if (mysql_fetch_assoc($this->connexionBdd->requete("SELECT idImage FROM historiqueImage WHERE idUtilisateur = '".$auth->getIdUtilisateur()."' AND licence = '3'"))) {
					$monArchi.= "<strong>"._("Certaines de vos images ne sont pas librement réutilisables !")."</strong>";
					$monArchi.="<br/>";
					$monArchi.=_("Cliquez")." <a href='".$this->creerUrl("",  "batchLicence")."'>"._("ici")."</a> "._("pour les publier sous licence libre.");
					$monArchi.="<br/><br/>";
				}
				$monArchi.="<div style='font-size:12px;'>
						<b>"._("En tant qu'utilisateur vous pouvez :")."</b><ul>
						<li> <a href='".$this->creerUrl('', 'ajoutNouveauDossier')."' onmouseover=\"".$calque->getJsContextHelpOnMouseOver(_("En ajoutant votre adresse vous contribuez au développement du site. Mais d\'abord qu\'entend t-on par \"votre adresse\" ? Et bien cela peut être l\'immeuble ou la maison que vous occupez. Un immeuble que vous aimez mais que vous ne trouvez pas sur le site. Avec le développement des appareils photo numériques,  il devient très simple de prendre une photo,  et de la copier sur l\'ordinateur. Ajouter une adresse dans www.archi-strasbourg.org ne prend pas plus de 20 secondes. Copier la photo 10 secondes de plus..."))."\" onmouseout='".$calque->getJSContextHelpOnMouseOut()."'>"._("ajouter des adresses")."</a></li>
						<li> <span onmouseover=\"".$calque->getJsContextHelpOnMouseOver(_("Vous pouvez ajouter des photos afin d'illustrer une adresse."))."\" onmouseout=\"".$calque->getJSContextHelpOnMouseOut()."\"> "._("ajouter des photos à une adresse")."</span></li>
						<li> <span onmouseover=\"".$calque->getJsContextHelpOnMouseOver(_("Vous pouvez ajouter des évènements sur toute adresse qu'un autre utilisateur a créée."))."\" onmouseout=\"".$calque->getJSContextHelpOnMouseOut()."\">"._("ajouter des évènements à une adresse")."</span></li>
						<li> <span onmouseover=\"".$calque->getJsContextHelpOnMouseOver(_("En activant votre alerte mail sur les adresses,  vous serez prevenu de toute modification sur une adresse dont vous êtes l'auteur"))."\" onmouseout=\"".$calque->getJSContextHelpOnMouseOut()."\">"._("être prévenu par mail d'une modification de vos participations")."</span></li>
						<li> <span onmouseover=\"".$calque->getJsContextHelpOnMouseOver(_("En acceptant de recevoir les mails concernant les nouvelles adresses,  vous serez prévenu de l'ajout d'une nouvelle adresse sur le site."))."\" onmouseout=\"".$calque->getJSContextHelpOnMouseOut()."\">"._("être averti des nouvelles adresses")."</span></li>
						<li> <span onmouseover=\"".$calque->getJsContextHelpOnMouseOver(_("Grâce à l'alerte par mail sur les commentaires,  vous pouvez débattre avec les autres utilisateurs."))."\" onmouseout=\"".$calque->getJSContextHelpOnMouseOut()."\">"._("être averti des nouveaux commentaires ajoutés sur une adresse que vous avez créée.")."</span></li></ul>";
				$monArchi.="<b>"._("Vos statistiques :")."</b><br>";
				$monArchi.=""._("Vous vous êtes connecté :")." ".$arrayInfosConnexions['nbConnexions']." fois<br>";
				$monArchi.="&nbsp;&nbsp;&nbsp;"._("Date de votre dernière connexion :")." ".$this->date->toFrench($arrayInfosConnexions['derniereConnexion'])."<br>";

				$monArchi.="<p>
						&nbsp;&nbsp;&nbsp;"._("Nombre d'images modifiées :")." ".$arrayInfosModifs['nbModifImage']."<br />
						&nbsp;&nbsp;&nbsp;"._("Nombre d'images ajoutées :")." ".$arrayInfosModifs['nbAjoutImage']."<br />
						&nbsp;&nbsp;&nbsp;"._("Nombre d'évènements modifiés :")." ".$arrayInfosModifs['nbModifEvenement']."<br />
						&nbsp;&nbsp;&nbsp;"._("Nombre d'évènements ajoutés :")." ".$arrayInfosModifs['nbAjoutEvenement']."</p>";
				// ******************************************************************************************************************************************
				// liste des evenements ajoutés ou modifiés par l'utilisateur
				// ******************************************************************************************************************************************
				$paginationEvenements = new paginationObject();

				// calcul du nombre d'evenements ajoutes ou modifies pour la pagination
				$req = "
						SELECT distinct ha1.idAdresse, he1.dateCreationEvenement as dateCreationEvenement

						FROM evenements he2,  evenements he1
						LEFT JOIN _evenementEvenement ee1 ON ee1.idEvenementAssocie = he1.idEvenement
						LEFT JOIN _adresseEvenement ae ON ae.idEvenement = ee1.idEvenement
						LEFT JOIN historiqueAdresse ha1 ON ha1.idAdresse = ae.idAdresse
						LEFT JOIN historiqueAdresse ha2 ON ha2.idAdresse = ha1.idAdresse

						WHERE he2.idEvenement = he1.idEvenement
						AND he1.idUtilisateur = '".$auth->getIdUtilisateur()."'
								GROUP BY he1.idEvenement,  ha1.idAdresse,  ha1.idHistoriqueAdresse
								HAVING ha1.idHistoriqueAdresse = max(ha2.idHistoriqueAdresse)
								";
				$res = $this->connexionBdd->requete($req);

				//$fetchNbEvenements = mysql_fetch_assoc($res);

				$nbEnregistrementTotaux = mysql_num_rows($res);


				$nbEnregistrementsParPage=5;

				$arrayPaginationEvenements=$paginationEvenements->pagination(
						array(
								'nomParamPageCourante'=>'archiMonArchiEvenementPage',
								'nbEnregistrementsParPage'=>$nbEnregistrementsParPage,
								'nbEnregistrementsTotaux'=>$nbEnregistrementTotaux,
								'typeLiens'=>'noformulaire'
						)
				);



				$req = "
						SELECT distinct ha1.idAdresse as idAdresse, he1.dateCreationEvenement as dateCreationEvenement,  ha1.numero,  ha1.idRue,  ha1.idSousQuartier,  ha1.idQuartier,  ha1.idVille, ha1.idIndicatif,

						ha1.idAdresse as idAdresse,  ha1.numero,  ha1.idQuartier,  ha1.idVille, ind.nom,

						r.nom as nomRue,
						sq.nom as nomSousQuartier,
						q.nom as nomQuartier,
						v.nom as nomVille,
						p.nom as nomPays,
						ha1.numero as numeroAdresse,
						ha1.idRue,
						r.prefixe as prefixeRue,
						IF (ha1.idSousQuartier != 0,  ha1.idSousQuartier,  r.idSousQuartier) AS idSousQuartier,
						IF (ha1.idQuartier != 0,  ha1.idQuartier,  sq.idQuartier) AS idQuartier,
						IF (ha1.idVille != 0,  ha1.idVille,  q.idVille) AS idVille,
						IF (ha1.idPays != 0,  ha1.idPays,  v.idPays) AS idPays,

						ha1.numero as numero,
						ha1.idHistoriqueAdresse,
						ha1.idIndicatif as idIndicatif


						FROM evenements he2,  evenements he1
						LEFT JOIN _evenementEvenement ee1 ON ee1.idEvenementAssocie = he1.idEvenement
						LEFT JOIN _adresseEvenement ae ON ae.idEvenement = ee1.idEvenement
						LEFT JOIN historiqueAdresse ha1 ON ha1.idAdresse = ae.idAdresse
						LEFT JOIN historiqueAdresse ha2 ON ha2.idAdresse = ha1.idAdresse

						LEFT JOIN indicatif ind ON ind.idIndicatif = ha1.idIndicatif

						LEFT JOIN rue r         ON r.idRue = ha1.idRue
						LEFT JOIN sousQuartier sq    ON sq.idSousQuartier = if (ha1.idRue='0' and ha1.idSousQuartier!='0' , ha1.idSousQuartier , r.idSousQuartier )
						LEFT JOIN quartier q        ON q.idQuartier = if (ha1.idRue='0' and ha1.idSousQuartier='0' and ha1.idQuartier!='0' , ha1.idQuartier , sq.idQuartier )
						LEFT JOIN ville v        ON v.idVille = if (ha1.idRue='0' and ha1.idSousQuartier='0' and ha1.idQuartier='0' and ha1.idVille!='0' , ha1.idVille , q.idVille )
						LEFT JOIN pays p        ON p.idPays = if (ha1.idRue='0' and ha1.idSousQuartier='0' and ha1.idQuartier='0' and ha1.idVille='0' and ha1.idPays!='0' , ha1.idPays , v.idPays )


						WHERE he2.idEvenement = he1.idEvenement
						AND he1.idUtilisateur = '".$auth->getIdUtilisateur()."'
								GROUP BY he1.idEvenement,  ha1.idAdresse,  ha1.idHistoriqueAdresse
								HAVING ha1.idHistoriqueAdresse = max(ha2.idHistoriqueAdresse)
								ORDER BY he1.dateCreationEvenement DESC

								";

				$req = $paginationEvenements->addLimitToQuery($req);

				$res = $this->connexionBdd->requete($req);
				$monArchi.="<b>"._("Liste de vos derniers évènements créés :")."</b><br>";
				$monArchi.=$arrayPaginationEvenements['html'];
				$tableauEvenements = new tableau();
				if (mysql_num_rows($res)==0) {
					$monArchi.="<br>"._("Vous n'avez pas encore ajouté d'évènement.")."<br>";
				}
				while ($fetch = mysql_fetch_assoc($res)) {
					$tableauEvenements->addValue($date->toFrench($fetch['dateCreationEvenement']));
					$tableauEvenements->addValue("<a href='".$this->creerUrl('', 'adresseDetail', array('archiIdAdresse'=>$fetch['idAdresse']))."'>".stripslashes($adresse->getIntituleAdresse($fetch))."</a>");
				}

				$monArchi.= $tableauEvenements->createHtmlTableFromArray(2, "font-size:12px;");

				// ******************************************************************************************************************************************
				// liste des adresses ajoutés par l'utilisateur
				// ******************************************************************************************************************************************
				$paginationAdresses = new paginationObject();

				$nbEnregistrementsParPage=5;

				$req = "
						SELECT distinct ha1.idAdresse
						FROM historiqueAdresse ha2,  historiqueAdresse ha1
						LEFT JOIN indicatif ind ON ind.idIndicatif = ha1.idIndicatif
						WHERE ha2.idAdresse = ha1.idAdresse
						AND ha1.idUtilisateur = '".$auth->getIdUtilisateur()."'
								GROUP BY ha1.idAdresse ,  ha1.idHistoriqueAdresse
								HAVING ha1.idHistoriqueAdresse = max(ha2.idHistoriqueAdresse)
								ORDER BY ha1.date DESC
								";

				$res = $this->connexionBdd->requete($req);
				$nbEnregistrementTotaux=mysql_num_rows($res);
				$arrayPaginationAdresses=$paginationAdresses->pagination(
						array(
								'nomParamPageCourante'=>'archiMonArchiAdressesPage',
								'nbEnregistrementsParPage'=>$nbEnregistrementsParPage,
								'nbEnregistrementsTotaux'=>$nbEnregistrementTotaux,
								'typeLiens'=>'noformulaire'
						)
				);

				$req = "
						SELECT distinct ha1.idAdresse as idAdresse, ha1.date as date,  ha1.numero,  ha1.idRue,  ha1.idSousQuartier,  ha1.idQuartier,  ha1.idVille, ha1.idIndicatif,

						ha1.idAdresse as idAdresse,  ha1.numero,  ha1.idQuartier,  ha1.idVille, ind.nom,

						r.nom as nomRue,
						sq.nom as nomSousQuartier,
						q.nom as nomQuartier,
						v.nom as nomVille,
						p.nom as nomPays,
						ha1.numero as numeroAdresse,
						ha1.idRue,
						r.prefixe as prefixeRue,
						IF (ha1.idSousQuartier != 0,  ha1.idSousQuartier,  r.idSousQuartier) AS idSousQuartier,
						IF (ha1.idQuartier != 0,  ha1.idQuartier,  sq.idQuartier) AS idQuartier,
						IF (ha1.idVille != 0,  ha1.idVille,  q.idVille) AS idVille,
						IF (ha1.idPays != 0,  ha1.idPays,  v.idPays) AS idPays,

						ha1.numero as numero,
						ha1.idHistoriqueAdresse,
						ha1.idIndicatif as idIndicatif


						FROM historiqueAdresse ha2,  historiqueAdresse ha1

						LEFT JOIN indicatif ind ON ind.idIndicatif = ha1.idIndicatif

						LEFT JOIN rue r         ON r.idRue = ha1.idRue
						LEFT JOIN sousQuartier sq    ON sq.idSousQuartier = if (ha1.idRue='0' and ha1.idSousQuartier!='0' , ha1.idSousQuartier , r.idSousQuartier )
						LEFT JOIN quartier q        ON q.idQuartier = if (ha1.idRue='0' and ha1.idSousQuartier='0' and ha1.idQuartier!='0' , ha1.idQuartier , sq.idQuartier )
						LEFT JOIN ville v        ON v.idVille = if (ha1.idRue='0' and ha1.idSousQuartier='0' and ha1.idQuartier='0' and ha1.idVille!='0' , ha1.idVille , q.idVille )
						LEFT JOIN pays p        ON p.idPays = if (ha1.idRue='0' and ha1.idSousQuartier='0' and ha1.idQuartier='0' and ha1.idVille='0' and ha1.idPays!='0' , ha1.idPays , v.idPays )
						WHERE ha2.idAdresse = ha1.idAdresse
						AND ha1.idUtilisateur = '".$auth->getIdUtilisateur()."'
								GROUP BY ha1.idAdresse ,  ha1.idHistoriqueAdresse
								HAVING ha1.idHistoriqueAdresse = max(ha2.idHistoriqueAdresse)
								ORDER BY ha1.date DESC
								";
				$req = $paginationAdresses->addLimitToQuery($req);

				$res = $this->connexionBdd->requete($req);
				$monArchi.="<br><b>"._("Liste de vos adresses :")." </b><br>";
				$monArchi.=$arrayPaginationAdresses['html'];
				$tableauAdresse = new tableau();

				if (mysql_num_rows($res)==0) {
					$monArchi.="<br>"._("Vous n'avez pas encore ajouté d'adresse.")."<br>";
				}

				while ($fetch = mysql_fetch_assoc($res)) {
					$tableauAdresse->addValue($date->toFrench($fetch['date']));
					$tableauAdresse->addValue("<a href='".$this->creerUrl('', 'adresseDetail', array('archiIdAdresse'=>$fetch['idAdresse']))."'>".stripslashes($adresse->getIntituleAdresse($fetch))."</a>");
				}

				$monArchi.=$tableauAdresse->createHtmlTableFromArray(2, "font-size:12px;");

				// ******************************************************************************************************************************************
				// liste des adresses ou l'utilisateur a ajouté un commentaire
				// ******************************************************************************************************************************************
				$paginationCommentaires = new paginationObject();
				$nbEnregistrementsParPage=5;
				$req = "

						SELECT c.idCommentaire
						FROM commentaires c
						LEFT JOIN _adresseEvenement ae ON ae.idEvenement = c.idEvenementGroupeAdresse
						LEFT JOIN historiqueAdresse ha1 ON ha1.idAdresse = ae.idAdresse
						LEFT JOIN historiqueAdresse ha2 ON ha2.idAdresse = ha1.idAdresse
						WHERE c.idUtilisateur = '".$auth->getIdUtilisateur()."' OR c.email='".$utilisateur->getMailUtilisateur($auth->getIdUtilisateur())."'
								AND CommentaireValide=1
								GROUP BY ha1.idAdresse,  ha1.idHistoriqueAdresse
								HAVING ha1.idHistoriqueAdresse = max(ha2.idHistoriqueAdresse)
								ORDER BY c.date DESC
								";
				$res = $this->connexionBdd->requete($req);
				$nbEnregistrementTotaux=mysql_num_rows($res);
				$arrayPaginationCommentaires=$paginationCommentaires->pagination(
						array(
								'nomParamPageCourante'=>'archiMonArchiAdressesPage',
								'nbEnregistrementsParPage'=>$nbEnregistrementsParPage,
								'nbEnregistrementsTotaux'=>$nbEnregistrementTotaux,
								'typeLiens'=>'noformulaire'
						)
				);

				$req = "

						SELECT distinct ha1.idAdresse as idAdresse, c.date as dateCommentaire, ha1.date as date,  ha1.numero,  ha1.idRue,  ha1.idSousQuartier,  ha1.idQuartier,  ha1.idVille, ha1.idIndicatif,

						ha1.idAdresse as idAdresse,  ha1.numero,  ha1.idQuartier,  ha1.idVille, ind.nom,

						r.nom as nomRue,
						sq.nom as nomSousQuartier,
						q.nom as nomQuartier,
						v.nom as nomVille,
						p.nom as nomPays,
						ha1.numero as numeroAdresse,
						ha1.idRue,
						r.prefixe as prefixeRue,
						IF (ha1.idSousQuartier != 0,  ha1.idSousQuartier,  r.idSousQuartier) AS idSousQuartier,
						IF (ha1.idQuartier != 0,  ha1.idQuartier,  sq.idQuartier) AS idQuartier,
						IF (ha1.idVille != 0,  ha1.idVille,  q.idVille) AS idVille,
						IF (ha1.idPays != 0,  ha1.idPays,  v.idPays) AS idPays,

						ha1.numero as numero,
						ha1.idHistoriqueAdresse,
						ha1.idIndicatif as idIndicatif

						FROM commentaires c
						LEFT JOIN _adresseEvenement ae ON ae.idEvenement = c.idEvenementGroupeAdresse
						LEFT JOIN historiqueAdresse ha1 ON ha1.idAdresse = ae.idAdresse
						LEFT JOIN historiqueAdresse ha2 ON ha2.idAdresse = ha1.idAdresse

						LEFT JOIN indicatif ind ON ind.idIndicatif = ha1.idIndicatif

						LEFT JOIN rue r         ON r.idRue = ha1.idRue
						LEFT JOIN sousQuartier sq    ON sq.idSousQuartier = if (ha1.idRue='0' and ha1.idSousQuartier!='0' , ha1.idSousQuartier , r.idSousQuartier )
						LEFT JOIN quartier q        ON q.idQuartier = if (ha1.idRue='0' and ha1.idSousQuartier='0' and ha1.idQuartier!='0' , ha1.idQuartier , sq.idQuartier )
						LEFT JOIN ville v        ON v.idVille = if (ha1.idRue='0' and ha1.idSousQuartier='0' and ha1.idQuartier='0' and ha1.idVille!='0' , ha1.idVille , q.idVille )
						LEFT JOIN pays p        ON p.idPays = if (ha1.idRue='0' and ha1.idSousQuartier='0' and ha1.idQuartier='0' and ha1.idVille='0' and ha1.idPays!='0' , ha1.idPays , v.idPays )

						WHERE c.idUtilisateur = '".$auth->getIdUtilisateur()."' OR c.email='".$utilisateur->getMailUtilisateur($auth->getIdUtilisateur())."'
						AND CommentaireValide=1
						GROUP BY ha1.idAdresse,  ha1.idHistoriqueAdresse
						HAVING ha1.idHistoriqueAdresse = max(ha2.idHistoriqueAdresse)
						ORDER BY c.date DESC
								";

				$req = $paginationCommentaires->addLimitToQuery($req);

				$res = $this->connexionBdd->requete($req);
				$monArchi.="<br><b>"._("Liste de vos derniers commentaires :")." </b><br>";
				$monArchi.=$arrayPaginationCommentaires['html'];
				$tableauCommentaires = new tableau();

				if (mysql_num_rows($res)==0) {
					$monArchi.="<br>"._("Vous n'avez pas encore ajouté de commentaire.")."<br>";
				}

				while ($fetch = mysql_fetch_assoc($res)) {
					$tableauCommentaires->addValue($date->toFrench($fetch['dateCommentaire']));
					$tableauCommentaires->addValue("<a href='".$this->creerUrl('', 'adresseDetail', array('archiIdAdresse'=>$fetch['idAdresse']))."'>".stripslashes($adresse->getIntituleAdresse($fetch))."</a>");
				}

				$monArchi.=$tableauCommentaires->createHtmlTableFromArray(2, "font-size:12px;");
				
				
				$monArchi.="<a href=".$this->creerUrl('', 'mesInterets', array()).">Afficher mes interets </a>";

			
				$t->assign_vars(array('htmlMonArchi'=>$monArchi));
				$t->assign_vars(array('calqueHelp'=>$calque->getHtmlDivContextualHelp()));

				break;
				// **********************************************************************************************************************************
				// ACCUEIL
				// **********************************************************************************************************************************
			default:
				$params=array();
				$s = new objetSession();
				if (isset($this->variablesGet['archiIdVilleGeneral']) && $this->variablesGet['archiIdVilleGeneral']!=0 && $this->variablesGet['archiIdVilleGeneral']!='') {
					$params['idVille'] = $this->variablesGet['archiIdVilleGeneral'];
					$s->addToSession('archiIdVilleGeneral', $params['idVille']);
				} elseif ($s->isInSession('archiIdVilleGeneral') && $s->getFromSession('archiIdVilleGeneral')) {
					$params['idVille'] = $s->getFromSession('archiIdVilleGeneral');
					$s->addToSession('archiIdVilleGeneral', $params['idVille']);
				}
				if (isset($this->variablesGet['archiNomVilleGeneral'])
				&& $this->variablesGet['archiNomVilleGeneral']!=''
						) {
					$a = new archiAdresse();

					$params['idVille'] = $a->getIdVilleFromNomVille($this->variablesGet['archiNomVilleGeneral']);

					$_GET['archiIdVilleGeneral'] = $params['idVille'];

					// on place la ville general dans la session ,  ca simplifiera pas mal de choses

					$s->addToSession('archiIdVilleGeneral', $params['idVille']);

				}

				$news = $this->getLatestNewsInfo(1);
					
				//Simple templates
				$t->set_filenames(array('news' => 'accueil/news.tpl'));
				$t->set_filenames(array('derniereModfis' => 'accueil/lastmodifs.tpl'));
				$t->set_filenames(array('commentaire' => 'accueil/commentaire.tpl'));
				$t->set_filenames(array('favoris' => 'accueil/favoris.tpl'));
				$t->set_filenames(array('lastVisit' => 'accueil/lastVisit.tpl'));


				$news['titreCategory'] = 'Actualité de l\'association';
				$news['urlNewsList'] = $this->creerUrl('', 'toutesLesActualites', array());
				$t->assign_block_vars('newsAccueil', $news);
					

				//Gestion pour les commentaires
				$latestComments = $this->getLatestComments(2);
				$t->assign_vars(array(
						'commentaireSectionTitle'=>_("COMMENTAIRES RÉCENTS"),
						'urlListCommentaire' => $this->creerUrl('','tousLesCommentaires')
				));

				foreach ($latestComments as $com){
					$e = new archiEvenement();
					$commentaire = array(
							'date'=> $com['date'],
							'nom' =>  $com['nom'],
							'prenom' => $com['prenom'],
							'adresse' => $com['adresse'],
							'urlAdresse' => $com['urlAdresse'],
							'urlPersonne' => $com['urlPersonne'] ,
							'commentaire' => $com['commentaire']
					);
					$t->assign_block_vars('commentaire', $commentaire);
				}

				$lastModifs = $this->getLatestModification(8);
				foreach ( $lastModifs as $modif ) {
					if(isset($modif['idEvenement']) && $modif['idEvenement']){
						$idAdresse = $modif ['idAdresse'];
						$e = new archiEvenement ();
						$adresseArray = $e->getArrayAdresse ( $modif ['idEvenementGroupeAdresse'], 'idEvenementGroupeAdresse' );
						// Adresse
						$adresse = '';
						$adresse = $e->getAddressText ( $adresseArray );
						$infoImage = array ();
						// Image
						$a = new archiAdresse ();
						
						$reqImageEvtRelated = "				
							SELECT hi.idHistoriqueImage,hi.dateUpload,1 as priorite
							FROM historiqueImage hi
							LEFT JOIN _evenementImage ei on ei.idImage = hi.idImage
							WHERE ei.idEvenement = " . $modif ['idEvenement'] . "
					
									UNION
									
							SELECT hi.idHistoriqueImage,hi.dateUpload,2 as priorite
							FROM `evenements` evt
							LEFT JOIN _evenementEvenement ee ON ee.idEvenementAssocie = evt.idEvenement
							LEFT JOIN evenements evt2 ON evt2.idEvenement = ee.idEvenement
							LEFT JOIN historiqueImage hi on hi.idImage = evt2.idImagePrincipale
							LEFT JOIN _evenementImage ei ON ei.idImage = hi.idImage
							WHERE ee.idEvenement IS NOT NULL
							AND evt.idEvenement IS NOT NULL
							AND evt.idEvenement != 0
							AND ei.idEvenement =" . $modif ['idEvenement'] . "
							AND ee.idEvenement =" . $modif ['idEvenementGroupeAdresse'] . "
							
							ORDER BY priorite DESC
							LIMIT 1
							";
						$resImageEvtRelated = $this->connexionBdd->requete ( $reqImageEvtRelated );
						$arrayImage = mysql_fetch_assoc ( $resImageEvtRelated );
						if (isset ( $arrayImage ) && $arrayImage != '') {
							$infoImage = $arrayImage;
						} else {
							$reqImagePrincipale = "
						
							SELECT hi.idHistoriqueImage,hi.dateUpload
							FROM historiqueImage hi
							LEFT JOIN evenements evt on evt.idImagePrincipale = hi.idImage
							WHERE evt.idEvenement =" . $modif ['idEvenementGroupeAdresse'] . "
							LIMIT 1
							";
							$resImagePrincipale = $this->connexionBdd->requete ( $reqImagePrincipale );
							if (mysql_num_rows ( $reqImagePrincipale ) >= 1) {
								$infoImage = mysql_fetch_assoc ( $resImagePrincipale );
							} else {
								
								$reqOtherImage = "SELECT hi.idHistoriqueImage,hi.dateUpload
							FROM historiqueImage hi
							LEFT JOIN _evenementImage ei ON ei.idImage = hi.idImage
							LEFT JOIN _evenementEvenement ee on ee.idEvenementAssocie = ei.idEvenement
							WHERE ee.idEvenement IS NOT NULL
							AND ee.idEvenement =" . $modif ['idEvenementGroupeAdresse'] . "
							
							LIMIT 1
							";
								$resOtherImage = $this->connexionBdd->requete ( $reqOtherImage );
								if (mysql_num_rows ( $resOtherImage ) >= 1) {
									$infoImage = mysql_fetch_assoc ( $resOtherImage );
								}
							}
						}
						$urlImage = "";
						$urlEvenement = "";
						// Url Evenement
						$idEvenementGroupeAdresses = $e->getIdGroupeEvenement ( $modif ['idEvenement'] );
						if ($modif ['type'] == 'adresse') {
							$urlEvenement = $this->creerUrl ( '', '', array (
									'archiAffichage' => 'adresseDetail',
									'archiIdAdresse' => $idAdresse,
									'archiIdEvenementGroupeAdresse' => $idEvenementGroupeAdresses 
							) );
							// $urlImage = "resizeImage.php?id=".$infoImage['idHistoriqueImage']."&height=200&width=200";
							
							if (isset ( $infoImage ['dateUpload'] ) && isset ( $infoImage ['idHistoriqueImage'] ) && $infoImage ['idHistoriqueImage'] != '' && $infoImage ['dateUpload'] != '') {
								$urlImage = "images/grand/" . $infoImage ['dateUpload'] . "/" . $infoImage ['idHistoriqueImage'] . ".jpg";
							} else {
								$urlImage = "images/placeholder.jpg";
							}
						} else {
							$urlEvenement = $this->creerUrl ( '', '', array (
									'archiAffichage' => 'evenementListe',
									'selection' => "personne",
									'id' => $modif ['idPersonne'] 
							) );
							$urlImage = ArchiPersonne::getImage ( $modif ['idPersonne'], 'resized' );
						}
						
						// Description
						$so = new StringObject ();
						$bbcode = new bbCodeObject ();
						$description = $bbcode->stripBBCode ( $modif ['description'] );
						$description = $so->truncateStringToWord ( $description, 130, ' ', '...' );
						
						$t->assign_block_vars ( 'lastModif', array (
								'miniatureLabelLeft' => $modif ['typeEvenement'],
								'miniatureLabelRight' => $modif ['dateCreationEvenement'],
								'adresse' => ucfirst ( $adresse ),
								'ville' => ucfirst ( $adresseArray [0] ['nomVille'] ),
								'urlMiniature' => $urlImage,
								'urlEvenement' => $urlEvenement,
								'description' => $description,
								'titre' => $modif ['titre'] 
						) );
					}
					else{
						
					}
				}

				 

				//Gestion des dernieres visites
				$t->assign_vars(array('lastVisitTitle' => _("Dernières visites")));
				$lastVisitArray=$_SESSION['lastVisited'];
				if(empty($lastVisitArray)){
					$visite = array('content' => _("Vous n'avez visité aucune adresse pour le moment"));
					$t->assign_block_vars('lastVisitMessage', $visite);
				}
				else{
					foreach ($lastVisitArray as $lastVisit){
						$titre="";
						if($lastVisit['idAdresse'] != '' && $lastVisit['idEvenementGroupeAdresse']!=''){
							$idAdresse = $lastVisit['idAdresse'];
							$e = new archiEvenement();
							$adresseArray = $e->getArrayAdresse($lastVisit['idEvenementGroupeAdresse'], 'idEvenementGroupeAdresse');

							//Adresse
							$adresse = '';
							$adresse = $e->getAddressText($adresseArray);

							//Image
							$requeteImage = "
									SELECT hi.idHistoriqueImage ,hi.dateUpload, e.idEvenement
									FROM historiqueImage hi
									LEFT JOIN evenements e on e.idImagePrincipale = hi.idImage
									WHERE e.idEvenement = ".$lastVisit['idEvenementGroupeAdresse']."
									AND e.idImagePrincipale !=0 
									";
							$resultImage = $this->connexionBdd->requete($requeteImage);
							$array_image = mysql_fetch_assoc($resultImage);
							
								
							$a = new archiAdresse();
							if($array_image['idHistoriqueImage']==0 || !isset($array_image['idHistoriqueImage']) || $array_image['idHistoriqueImage']==''){
								$infoImage = $a->getUrlImageFromAdresse($idAdresse,'moyen');
								$image = new archiImage();
								$resImage = $image->getImagesEvenementsFromAdresse($idAdresse,  $lastVisit);
								$infoImage = mysql_fetch_assoc($resImage);
							}
							else{
								$infoImage=$array_image;
							}

							if(isset($infoImage['dateUpload']) && isset($infoImage['idHistoriqueImage'])&& $infoImage['idHistoriqueImage'] !='' && $infoImage['dateUpload'] !=''){
								$urlImage = "images/grand/".$infoImage['dateUpload']."/".$infoImage['idHistoriqueImage'].".jpg";
							}
							else{
								$urlImage="images/placeholder.jpg";
							}
								
							
							//Url Evenement
							$idEvenementGroupeAdresses = $lastVisit['idEvenementGroupeAdresse'];
							$urlEvenement = $this->creerUrl('', '', array('archiAffichage'=>'adresseDetail','archiIdAdresse'=>$idAdresse,'archiIdEvenementGroupeAdresse'=>$idEvenementGroupeAdresses));
								
								// Description
							$requeteDescription = "
									
									SELECT evt.description
									FROM evenements evt
									LEFT JOIN _evenementEvenement ee ON ee.idEvenementAssocie = evt.idEvenement
									LEFT JOIN positionsEvenements pe ON pe.idEvenementGroupeAdresse = ee.idEvenement
									WHERE ee.idEvenement =" . $lastVisit ['idEvenementGroupeAdresse'] . "
									ORDER BY pe.position
											";
							$resDescription = $this->connexionBdd->requete ( $requeteDescription );
							$arrayDescription = mysql_fetch_assoc($resDescription);
							$so = new StringObject();
							
							$description = $so->sansBalises($arrayDescription['description']);
							$description = stripslashes($description);
							$description = $so->truncateStringToWord($description, 80,' ','...');

							if(isset($lastVisit) && !empty($lastVisit) && isset($lastVisit['idEvenementGroupeAdresse'] )&& !empty($lastVisit['idEvenementGroupeAdresse']) && isset($lastVisit['idAdresse']) && !empty($lastVisit['idAdresse'])){
								//Titre
								$resTitre = $e->getIdEvenementTitre($lastVisit);
								$requeteTitre = "
										SELECT evt.titre
										FROM evenements evt
										WHERE evt.idEvenement = ".$resTitre."
												";
								$resTitre = $this->connexionBdd->requete($requeteTitre);
								$titreArray = mysql_fetch_array($resTitre);
								if($titreArray['titre'] != ''){
									//$titre = $adresse;
									$titre = $titreArray['titre'];
										
								}
								else{
								}
							}

							$visite = array(
									'adresse' => $adresse,
									'urlMiniature' => $urlImage,
									'urlEvenement' => $urlEvenement,
									'description' => $description,
									'titre' => $titre
							);
							$t->assign_block_vars('lastVisit', $visite);
						}
					}
				}


				$t->assign_vars(array(
						'lastModifTitle' => _("Dernières modifications"),
						'urlCustomNewsFeed'=>$this->creerUrl('', 'mesInterets', array())
				));


				//Associate template to the general template
				$t->assign_var_from_handle('news', 'news');
				$t->assign_var_from_handle('dernieresModifs', 'derniereModfis');
				$t->assign_var_from_handle('commentaires', 'commentaire');
				$t->assign_var_from_handle('lastVisits', 'lastVisit');
				
				break;
				

		}

		ob_start();
		$t->pparse('accueil');
		$html .= ob_get_contents();
		ob_end_clean();
		return $html;
	}
41703
public function getGoogleMapParcours($params = array())
    {
        $html="";
        $idParcours = 0;
        if (isset($this->variablesGet['archiIdParcours']) && $this->variablesGet['archiIdParcours']!='') {
            $idParcours = $this->variablesGet['archiIdParcours'];
        }

        if (isset($params['idParcours']) && $params['idParcours']!='') {
            $idParcours = $params['idParcours'];
        }

        $width=500;
        if (isset($params['width']) && $params['width']!='') {
            $width = $params['width'];
        }

        if ($idParcours!=0) {
            $gm = new googleMap(array('googleMapKey'=>$this->googleMapKey,'width'=>$width));
            $html.=$gm->getJsFunctions();


            $reqParcours = "SELECT idEtape,idEvenementGroupeAdresse,position FROM etapesParcoursArt WHERE idParcours='".$idParcours."' ORDER BY position ASC";
            $resParcours = $this->connexionBdd->requete($reqParcours);

            $numEtape=1;
            $arrayEtapes = array();
            $i=0;
            while ($fetchParcours = mysql_fetch_assoc($resParcours)) {
                $idAdresse = $this->getIdAdresseFromIdEvenementGroupeAdresse($fetchParcours['idEvenementGroupeAdresse']);
                $coordonnees = $this->getCoordonneesFrom($fetchParcours['idEvenementGroupeAdresse'], 'idEvenementGroupeAdresse');
                $intituleAdresse = $this->getIntituleAdresseFrom($fetchParcours['idEvenementGroupeAdresse'], 'idEvenementGroupeAdresse'); // attention ceci concernera une adresse parmi plusieurs possible dans le groupe d'adresse , a modifier
                $intituleAdresseRechercheGeo = $this->getIntituleAdresseFrom($fetchParcours['idEvenementGroupeAdresse'], 'idEvenementGroupeAdresse', array('noQuartier'=>true,'noSousQuartier'=>true));
                $arrayEtapes[$i]['latitude']=$coordonnees['latitude'];
                $arrayEtapes[$i]['longitude']=$coordonnees['longitude'];
                $arrayEtapes[$i]['libelle']='';
                $arrayEtapes[$i]['adresseForGeolocalisation'] = $intituleAdresseRechercheGeo;
                $arrayEtapes[$i]['label']=$intituleAdresse;
                $arrayEtapes[$i]['jsCodeOnMouseOverMarker'] = "currentLabel.show();";
                $arrayEtapes[$i]['jsCodeOnMouseOutMarker'] = "currentLabel.hide();";
                $arrayEtapes[$i]['jsCodeOnClickMarker'] = "location.href='".$this->creerUrl('', '', array('archiAffichage'=>'adresseDetail',"archiIdAdresse"=>$idAdresse,"archiIdEvenementGroupeadresse"=>$fetchParcours['idEvenementGroupeAdresse']), false, false)."';";
                $numEtape++;
                $i++;
            }

            if (isset($params['getCoordonneesParcours']) && $params['getCoordonneesParcours']==true) {
                $html.= $gm->getMap(array('idDivDisplayEtapesText'=>'parcoursDetail','travelMode'=>'walking','listeCoordonneesParcours'=>$arrayEtapes,'urlImageIcon'=>$this->getUrlImage()."pointGM.png",'pathImageIcon'=>$this->getCheminPhysique()."images/pointGM.png",'getCoordonneesParcours'=>true,'actionFormOnSubmitVertices'=>$this->creerUrl('', '', array()),'noDisplayParcoursGoogleAutomaticDescription'=>true));
            } else {
                $polyline=mysql_fetch_object($this->connexionBdd->requete("SELECT trace, levels FROM parcoursArt WHERE idParcours = '$idParcours'"));

                $html.= $gm->getMap(array('idDivDisplayEtapesText'=>'parcoursDetail','travelMode'=>'walking','listeCoordonneesParcours'=>$arrayEtapes,'urlImageIcon'=>$this->getUrlImage()."pointGM.png",'pathImageIcon'=>$this->getCheminPhysique()."images/pointGM.png", "polyline"=>$polyline->trace, "levels"=>$polyline->levels));
            }

            if (isset($this->variablesPost['submitVertices'])) {
            // on recupere donc les vertices du parcours
                // enregistrement dans la table et reperage des etapes

                // d'abord on supprime les valeurs precedentes
                $reqSupprVertices = "DELETE FROM verticesParcours WHERE idParcours='".$idParcours."'";
                $resSupprVertices = $this->connexionBdd->requete($reqSupprVertices);
                foreach ($this->variablesPost['longitudes'] as $indice => $valueLongitude) {
                    $valueLatitude = $this->variablesPost['latitudes'][$indice];

                    $reqAddVertices = "INSERT INTO verticesParcours (idParcours,idEtape,longitude,latitude,position) VALUES ('".$idParcours."','0','".$valueLongitude."','".$valueLatitude."','".($indice+1)."')";
                    $resAddVertices = $this->connexionBdd->requete($reqAddVertices);
                }

                // ensuite on affiche chacun des points avec des marqueurs deplacables
            }
        }

        return $html;
    }
1047381
final public static function fontawesomeless(array $params)
    {
        return ("<link href='".FEnv::get("host.web.components")."libs/font-awesome/less/".
            ((isset($params['name']))? $params['name'].".".
                ((isset($params['min']) && $params['min'] == "yes")? "min"."." : "") : "")."less' rel='stylesheet' />");
    }
607875
public function afficheSelectQuartier($params = array())
    {
        $html="";
        $t=new Template('modules/archi/templates/');
        $t->set_filenames((array('listeQuartiers'=>'listeQuartiers.tpl')));

        $a = new archiAuthentification();
        $u = new archiUtilisateur();


        $sqlWhereVillesModerees = "";
        if ($a->getIdProfil()==3) { // l'utilisateur est un moderateur , on affiche que les quartiers qu'il peut moderer suivant les villes qu'il peut moderer
            $arrayIdVilles = $u->getArrayVillesModereesPar($a->getIdUtilisateur());

            if (count($arrayIdVilles)>0) {
                $sqlWhereVillesModerees = " AND idVille IN (".implode(",", $arrayIdVilles).") ";
            } else {
                $sqlWhereVillesModerees = " AND idVille =0 "; // si le moderateur n'a pas de ville a moderer on affiche aucun quartier (sinon la requete les afficheraient tous)
            }
        }


        $fromVille="";
        if (isset($params['idVille']) && $params['idVille']!='') {
            $fromVille = " AND idVille='".$params['idVille']."' ";
        } elseif (isset($this->variablesGet['archiIdVille']) && $this->variablesGet['archiIdVille']!='') {
            $fromVille = " AND idVille='".$this->variablesGet['archiIdVille']."' ";
        } elseif (isset($this->variablesGet['idVille']) && $this->variablesGet['idVille']!='') {
            $fromVille = " AND idVille='".$this->variablesGet['idVille']."' ";
        }

        $resQuartiers=$this->connexionBdd->requete("select idQuartier,nom from quartier where 1=1 and nom<>'autre' ".$sqlWhereVillesModerees." ".$fromVille." order by nom");
        while ($fetchQuartiers = mysql_fetch_assoc($resQuartiers)) {
            $selected="";
            if (isset($params['idQuartier']) && $params['idQuartier']!='' && $params['idQuartier'] == $fetchQuartiers['idQuartier']) {
                $selected=" selected ";
            }

            $t->assign_block_vars("quartiers", array(
                    'nom'=>$fetchQuartiers['nom'],
                    'id'=>$fetchQuartiers['idQuartier'],
                    'selected'=>$selected
            ));
        }



        // on peut desactiver les mise a jour des elements
        $javascriptSousQuartier = "";
        if (!isset($params['noSousQuartier']) || $params['noSousQuartier']!=true) {
            $javascriptSousQuartier ="
					document.getElementById('sousQuartiers').innerHTML='<option value=0>Aucun</option>';
					document.getElementById('sousQuartiers').selectedIndex=0;
					appelAjax('".$this->creerUrl('', 'afficheSelectSousQuartier', array('noHeaderNoFooter'=>1))."&archiIdQuartier='+document.getElementById('quartiers').value,'champSousQuartier')
							";
        }

        $t->assign_vars(array('javascript'=>"
				function onChangeListeQuartier()
				{
				".$javascriptSousQuartier."
		"));

        $t->assign_vars(array('onChangeListeQuartier'=>"onChangeListeQuartier();"));



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

        return $html;
    }
1108532
protected function makeUrl( array$params ):string
	{
		$url= $this->url;

		foreach( $params['path']??[] as $key=>$value )
		{
			$url= str_replace( "{{$key}}", $value, $url );
		}

		if( $params['query']??null )
		{
			$url.= '?'.http_build_query( $params['query'] );
		}

		return $url;
	}
1066175
public function getIdEvenementTitre($params = array())
    {
        //debug("getIdEvenementTitre : retourner l'idEvenementRecuperationTitre de l'evenement dans la table evenements");
        //En pratique, ce n'est pas très intelligent, mais comme les données relatives à une adresses ont été stockées à la base dans les evenements ( ¯\_(ツ)_/¯)

        $retour = 0;
        $trouve=false;

        if (isset($params['idEvenementGroupeAdresse']) && $params['idEvenementGroupeAdresse']!='0') {
            $req = "SELECT idEvenementRecuperationTitre
					FROM evenements e
					LEFT JOIN _evenementEvenement ee on ee.idEvenementAssocie =e.idEvenement
					WHERE e.idEvenement=".$params['idEvenementGroupeAdresse'];
            $res = $this->connexionBdd->requete($req);
            $fetch = mysql_fetch_assoc($res);

            // on verifie que l'evenement existe, on ne sait jamais
            if ($fetch['idEvenementRecuperationTitre']=='-1') { // dans ce cas on affiche pas de titre mais l'adresse a la place
                $retour='-1';
                $trouve=true;
            } elseif (isset($fetch['idEvenementRecuperationTitre']) && $fetch['idEvenementRecuperationTitre']!='0') {
                $reqVerifEvenementTitre = "SELECT idEvenement from evenements WHERE idEvenement=".$fetch['idEvenementRecuperationTitre'];
                $resVerifEvenementTitre = $this->connexionBdd->requete($reqVerifEvenementTitre);
                if (mysql_num_rows($resVerifEvenementTitre)>0) {
                    $retour = $fetch['idEvenementRecuperationTitre'];
                    $trouve=true;
                }
            }
            if (!$trouve) {
            // on renvoi l'id du premier evenement qui a un titre
                // s'il n'y en a pas on renvoi 0
                $reqIdEvenementTitre="
						SELECT distinct he1.idEvenement as idEvenementTitre
						FROM evenements he2, evenements he1
						LEFT JOIN _evenementEvenement ee ON ee.idEvenement = ".$params['idEvenementGroupeAdresse']."
								WHERE he1.titre!=''
								AND he1.idTypeEvenement<>6
								AND he2.idEvenement = he1.idEvenement
								AND he1.idEvenement = ee.idEvenementAssocie
								GROUP BY he1.idEvenement
								ORDER BY he1.dateDebut
								LIMIT 1
								";

                $resIdEvenementTitre = $this->connexionBdd->requete($reqIdEvenementTitre);
                if (mysql_num_rows($resIdEvenementTitre)>0) {
                    $fetchIdEvenementTitre = mysql_fetch_assoc($resIdEvenementTitre);
                    $retour = $fetchIdEvenementTitre['idEvenementTitre'];
                }
            }
        }

        return $retour;
    }
353409
protected function prepareParams($params)
    {
        if (isset($params['settings']['charset'])) {
            if (false === strpos($params['dsn'], ';charset=')) {
                $params['dsn'] .= ';charset=' . $params['settings']['charset'];
                unset($params['settings']['charset']);
            }
        }

        return parent::prepareParams($params);
    }
340016
protected function getHeader(array $params)
	{
		// Prepare the function's header
		$header = "/**\n";
		foreach ($params as $paramName => $paramType)
		{
			$header .= '* @param {' . $paramType . '} ' . $paramName . "\n";
		}
		$header .= "*/\n";

		return $header;
	}
53078
final public static function jsiumio(array $params)
    {
        return ("<script type='text/javascript' src='".FEnv::get("host.web.components")."libs/iumio-framework/js/".
            ((isset($params['name']))? $params['name'].".".((isset($params['min']) && $params['min'] == "yes")?
                    "min"."." : "") : "")."js'></script>");
    }
1287765
public function build($selector, $function, ...$params)
    {
        $attributes = [];


        foreach($params as $p) {
            $attributes[] = $this->encode($p);
        }

        //n concatenation du json
        $attributes =  implode(',', $attributes);

        // gestion des functions
        $attributes = preg_replace('#\"(function\([^\{]+{.*\})\",#', '$1,', $attributes);

        return sprintf('$("%s").%s(%s);', $selector, $function, $attributes);
    }
52172
public function getFormulaireGestionDroits($params = array())
    {
        $d                          = new droitsObject();
        $arrayProfilCourant         = $d->getProfilCourantFormulaire();
        $retour                     = "<h1>Gestion des droits ".$arrayProfilCourant['libelle']."</h1>";
        $paramsUrl                  = array();
        $paramsUrl['archiIdProfil'] = $arrayProfilCourant['idProfil'];
        $retour                    .= "<form action='".$this->creerUrl('enregistreDroits', 'adminDroits', $paramsUrl)."' method='POST' enctype='multipart/form-data' name='formDroits'>";
        $arrayListeProfils          = $d->getArrayListeProfils();
        foreach ($arrayListeProfils as $idProfil=>$intitule) {
            $retour .= "<a href='".$this->creerUrl('', 'adminDroits', array('archiIdProfil'=>$idProfil))."'>".$intitule."</a> ";
        }
        $retour                  .= "<br><br>";
        $retour                  .= $d->getFormulaireGestionDroits($params);
        $retour                  .= "<input type='submit' name='submitDroits' value='Enregistrer'>";
        $retour                  .= "</form>";
        $reqUtilisateursCount     = "SELECT 0 FROM utilisateur WHERE idProfil = '".$arrayProfilCourant['idProfil']."'";
        $resUtilisateursCount     = $this->connexionBdd->requete($reqUtilisateursCount);
        $p                        = new paginationObject();
        $nbEnregistrementsParPage = 20;
        $arrayPagination          = $p->pagination(array('nomParamPageCourante'=>'archiPageCouranteVille', 'nbEnregistrementsParPage'=>$nbEnregistrementsParPage, 'nbEnregistrementsTotaux'=>mysql_num_rows($resUtilisateursCount), 'typeLiens'=>'noformulaire'));
        $reqUtilisateurs          = "SELECT nom, prenom, mail FROM utilisateur WHERE idProfil = '".$arrayProfilCourant['idProfil']."'";
        $reqUtilisateurs          = $p->addLimitToQuery($reqUtilisateurs);
        $resUtilisateurs          = $this->connexionBdd->requete($reqUtilisateurs);
        $t                        = new tableau();
        while ($fetchUtilisateurs = mysql_fetch_assoc($resUtilisateurs)) {
            $t->addValue($fetchUtilisateurs['nom']);
            $t->addValue($fetchUtilisateurs['prenom']);
            $t->addValue($fetchUtilisateurs['mail']);
        }
        if (mysql_num_rows($resUtilisateurs)>0) {
            $retour .= "<b>Liste des utilisateurs concernés :</b><br><br>".$arrayPagination['html']."<br>".$t->createTable(3);
        }
        return $retour;
    }
36544
public function getResult(...$params): string
    {
        $response = $this->getResponse(...$params);
        return $response->getBody()->getContents();
    }
83473
private function prepareQuery($params = []) {
		if(!is_array($params)) {
			return $params;
		}

		$query = [];

		foreach($params as $key => $value) {
			if(is_array($value)) {
				foreach($value as $element) {
					$query[] = sprintf(
						'%s[]=%s',
						$key,
						urlencode($element)
					);
				}
			} else {
				$query[] = sprintf(
					'%s=%s',
					$key,
					urlencode($value)
				);
			}
		}

		return implode("&",$query);
	}
1027899
protected function _params2string($params)
    {
        if (!count($params)) {
            return '';
        }
        $paramsPart = array();
        foreach ($params as $name => $value) {
            if (!$value && ('0' !== $value)) {
                continue;
            }
            $paramsPart[] = str_replace(array('{name}', '{value}'), array($name, urlencode($value)), $this->paramsPairStructure);
        }
        if (!count($paramsPart)) {
            return '';
        }
        return '/' . implode($this->paramsSeparator, $paramsPart);
    }
271373
public function getGoogleMapIframe($params = array())
    {
        $html='<link href="css/default.css" rel="stylesheet" type="text/css" />
    ';

        if (isset($this->variablesGet['longitude']) && $this->variablesGet['longitude']!='' && isset($this->variablesGet['latitude']) && $this->variablesGet['latitude']!='') {
            $ajax = new ajaxObject();
            $html.=$ajax->getAjaxFunctions();

            $longitude = $this->variablesGet['longitude'];
            $latitude = $this->variablesGet['latitude'];

            $listeCoords = array();

            // si archiIdAdresse est précisé , on remplace les coordonnées par celle de l'adresse ( car celle envoyée sont celle de la premiere du groupe d'adresse)
            $isCoordonneesAdresseCouranteValide = true;
            $isCoordonneesGroupeAdresseOK = false;

            if (isset($this->variablesGet['archiIdAdresse']) && $this->variablesGet['archiIdAdresse']!='' && isset($this->variablesGet['archiIdEvenementGroupeAdresse']) && $this->variablesGet['archiIdEvenementGroupeAdresse']!='') {
            // s'il existe des coordonnées pour le groupe d'adresse dans la table _adresseEvenement, on prend celles ci
                $reqCoordonneesGroupeAdresse = "SELECT longitudeGroupeAdresse,latitudeGroupeAdresse FROM _adresseEvenement WHERE idAdresse='".$this->variablesGet['archiIdAdresse']."' AND idEvenement='".$this->variablesGet['archiIdEvenementGroupeAdresse']."' AND longitudeGroupeAdresse<>'0' AND latitudeGroupeAdresse<>'0'";
                $resCoordonneesGroupeAdresse = $this->connexionBdd->requete($reqCoordonneesGroupeAdresse);
                if (mysql_num_rows($resCoordonneesGroupeAdresse)>0) {
                    $fetchCoordonneesGroupeAdresse = mysql_fetch_assoc($resCoordonneesGroupeAdresse);
                    $longitude = $fetchCoordonneesGroupeAdresse['longitudeGroupeAdresse'];
                    $latitude = $fetchCoordonneesGroupeAdresse['latitudeGroupeAdresse'];
                    $isCoordonneesGroupeAdresseOK = true;
                }
            }

            if (isset($this->variablesGet['archiIdAdresse']) && $this->variablesGet['archiIdAdresse']!='' && $this->variablesGet['archiIdAdresse']!='0' && !$isCoordonneesGroupeAdresseOK) {
                $reqCoordonnees = "
                    SELECT ha1.longitude as longitude, ha1.latitude as latitude
                    FROM historiqueAdresse ha2, historiqueAdresse ha1
                    WHERE ha2.idAdresse = ha1.idAdresse
                    AND ha1.idAdresse = '".$this->variablesGet['archiIdAdresse']."'
                    GROUP BY ha1.idAdresse, ha1.idHistoriqueAdresse
                    HAVING ha1.idHistoriqueAdresse = max(ha2.idHistoriqueAdresse)
                ";

                $resCoordonnees = $this->connexionBdd->requete($reqCoordonnees);

                if (mysql_num_rows($resCoordonnees)==1) {
                    $fetchCoordonnees = mysql_fetch_assoc($resCoordonnees);
                    if ($fetchCoordonnees['longitude']!='' && $fetchCoordonnees['latitude']!='' && $fetchCoordonnees['longitude']!='0' && $fetchCoordonnees['latitude']!='0') {
                        $longitude = $fetchCoordonnees['longitude'];
                        $latitude = $fetchCoordonnees['latitude'];
                    } else {
                        $isCoordonneesAdresseCouranteValide = false;
                    }
                }
            }

            $affichageCoordonneesVille = false;
            if ($longitude<0 || $latitude<0 || $longitude==0 || $latitude==0 || !$isCoordonneesAdresseCouranteValide) {
            // on detection une longitude ou latitude negative : il doit y avoir eu une erreur de detection des parametres
                // on va centrer la carte sur la ville

                if (isset($this->variablesGet['archiIdAdresse']) && $this->variablesGet['archiIdAdresse']!='' && $this->variablesGet['archiIdAdresse']!='0') {
                // recuperation de l'idville de l'adresse courante
                    $idVille = $this->getIdVilleFrom($this->variablesGet['archiIdAdresse'], 'idAdresse');
                    // coordonnees de la ville
                    $reqCoordonneesVille = "SELECT longitude,latitude,nom FROM ville WHERE idVille = '".$idVille."'";
                    $resCoordonneesVille = $this->connexionBdd->requete($reqCoordonneesVille);
                    $fetchCoordonneesVille = mysql_fetch_assoc($resCoordonneesVille);
                    $longitude = $fetchCoordonneesVille['longitude'];
                    $latitude = $fetchCoordonneesVille['latitude'];
                    $affichageCoordonneesVille = true;
                }
            }

            // rayon en metres
            if (isset($this->variablesGet['modeAffichage']) && $this->variablesGet['modeAffichage']=='popupDetailAdresse') {
             // dans le cas de l'affichage de la popup sur le detail de l'adresse on prend un rayon plus grand, donc plus d'adresses affichées
                $rayon = 200;
            } else {
                $rayon = 200;
            }

            $arrayGoogleMapCoord = $this->getArrayGoogleMapConfigCoordonneesFromCenter(array('longitude'=>$longitude,'latitude'=>$latitude,'rayon'=>$rayon));

            $listeCoords = $arrayGoogleMapCoord['arrayConfigCoordonnees'];
            // verification des droits
            $isAuthorizedToDrag = false;
            $widthGoogleMapModePopup = 650;
            if (isset($this->variablesGet['modeAffichage']) && $this->variablesGet['modeAffichage']=='popupDetailAdresse') {
                if (isset($this->variablesGet['archiIdAdresse']) && $this->variablesGet['archiIdAdresse']!='' && isset($this->variablesGet['archiIdEvenementGroupeAdresse']) && $this->variablesGet['archiIdEvenementGroupeAdresse']!='') {
                    $idAdresseCentree = $this->variablesGet['archiIdAdresse'];
                    $idEvenementGroupeAdresseCentre = $this->variablesGet['archiIdEvenementGroupeAdresse'];


                    $utilisateur = new archiUtilisateur();
                    $authentification = new archiAuthentification();

                    // verification des droits
                    if ($utilisateur->isAuthorized('googlemap_change_coordonnees', $authentification->getIdUtilisateur())) {
                        if ($utilisateur->getIdProfil($authentification->getIdUtilisateur())==4 || ($utilisateur->getIdProfil($authentification->getIdUtilisateur())==3
                            && $utilisateur->isModerateurFromVille($authentification->getIdUtilisateur(), $idAdresseCentree, 'idAdresse'))) {
                            $isAuthorizedToDrag = true;
                            $widthGoogleMapModePopup = 650;
                        }
                    }
                }
            }

            if (isset($this->variablesGet['modeAffichage']) && $this->variablesGet['modeAffichage']=='popupDetailAdresse') {
            // affichage pour la popup sur le detail d'une adresse
                if ($affichageCoordonneesVille) {
                    $gm = new googleMap(array('googleMapKey'=>$this->googleMapKey,'width'=>$widthGoogleMapModePopup,'height'=>500,'zoom'=>11,'noDisplayZoomSelectionSquare'=>true,'noDisplayZoomSlider'=>false,'zoomType'=>'mini','noDisplayEchelle'=>true,'noDisplayMapTypeButtons'=>false,'centerLong'=>$longitude,'centerLat'=>$latitude,'mapType'=>'G_SATELLITE_MAP'));
                } else {
                    $gm = new googleMap(array('googleMapKey'=>$this->googleMapKey,'width'=>$widthGoogleMapModePopup,'height'=>500,'zoom'=>17,'noDisplayZoomSelectionSquare'=>true,'noDisplayZoomSlider'=>false,'zoomType'=>'mini','noDisplayEchelle'=>true,'noDisplayMapTypeButtons'=>false,'centerLong'=>$longitude,'centerLat'=>$latitude,'mapType'=>'G_SATELLITE_MAP'));
                }
            } else {
                if ($affichageCoordonneesVille) {
                    $gm = new googleMap(array('googleMapKey'=>$this->googleMapKey,'width'=>275,'height'=>275,'zoom'=>10,'noDisplayZoomSelectionSquare'=>true,'noDisplayZoomSlider'=>false,'zoomType'=>'mini','noDisplayEchelle'=>true,'noDisplayMapTypeButtons'=>true,'centerLong'=>$longitude,'centerLat'=>$latitude,'mapType'=>'G_SATELLITE_MAP'));
                } else {
                    // affichage par defaut , s'affichage en haut de la page detail d'une adresse , a gauche de l'encars
                    $gm = new googleMap(array('googleMapKey'=>$this->googleMapKey,'width'=>275,'height'=>275,'zoom'=>16,'noDisplayZoomSelectionSquare'=>true,'noDisplayZoomSlider'=>false,'zoomType'=>'mini','noDisplayEchelle'=>true,'noDisplayMapTypeButtons'=>true,'centerLong'=>$longitude,'centerLat'=>$latitude,'mapType'=>'G_SATELLITE_MAP'));//,'divStyle'=>'margin-top:-17px;'
                }
            }
            $html.=$gm->getJsFunctions();
            //$html.="<script  >".$gm->setFunctionAddPointsCallableFromChild()."</script>";
            $html.=$gm->getMap(array('listeCoordonnees'=>$listeCoords,'urlImageIcon'=>$this->getUrlImage()."pointGM.png",'pathImageIcon'=>$this->getCheminPhysique()."images/pointGM.png"));

            // on ajoute le markeur central a la main
            $html.="<script  >
                var iconHome = new GIcon();
                iconHome.image = \"".$this->getUrlImage()."placeMarker.png\";
                //iconHome.shadow = \"https://labs.google.com/ridefinder/images/mm_20_shadow.png\";
                iconHome.iconSize = new GSize(19, 32);
                iconHome.shadowSize = new GSize(22, 20);
                iconHome.iconAnchor = new GPoint(5, 26);
                iconHome.infoWindowAnchor = new GPoint(5, 1);

                //var iconMarkerHome = new GIcon(iconHome);
                ";

            if (isset($this->variablesGet['modeAffichage']) && $this->variablesGet['modeAffichage']=='popupDetailAdresse' && $isAuthorizedToDrag) {
                $html.="markerHome = new GMarker(new GLatLng(".$latitude.",".$longitude."),{icon:iconHome, draggable: true});";
            } else {
                $html.="markerHome = new GMarker(new GLatLng(".$latitude.",".$longitude."),{icon:iconHome});";
            }

            $html.="map.addOverlay(markerHome);";

            if (isset($this->variablesGet['modeAffichage']) && $this->variablesGet['modeAffichage']=='popupDetailAdresse' && $isAuthorizedToDrag) {
                $html.="markerHome.enableDragging();";
            }

            if (isset($this->variablesGet['modeAffichage']) && $this->variablesGet['modeAffichage']=='popupDetailAdresse' && $isAuthorizedToDrag) {
                $html.="GEvent.addListener(markerHome,'drag',function(){parent.window.document.getElementById('latitudeUser').value=markerHome.getPoint().lat();parent.window.document.getElementById('longitudeUser').value=markerHome.getPoint().lng();parent.window.document.getElementById('validationCoordonnees').style.display='';});
                ";

                $html.="GEvent.addListener(
                            map,
                            'dragend',
                            function(){appelAjaxReturnJs('".html_entity_decode($this->creerUrl('', 'majGoogleMapNewCenter', array('noRefresh'=>1,'noHTMLHeaderFooter'=>1,'noHeaderNoFooter'=>1,'latitudeHome'=>$latitude,'longitudeHome'=>$longitude)))."&longitudeCenter='+map.getCenter().lng()+'&latitudeCenter='+map.getCenter().lat(),'divListeAdressesAjax')}
                            );";
            } else {
                    $html.="GEvent.addListener(
                            map,
                            'dragend',
                            function(){appelAjaxReturnJs('".html_entity_decode($this->creerUrl('', 'majGoogleMapNewCenter', array('noHTMLHeaderFooter'=>1,'noHeaderNoFooter'=>1,'latitudeHome'=>$latitude,'longitudeHome'=>$longitude)))."&longitudeCenter='+map.getCenter().lng()+'&latitudeCenter='+map.getCenter().lat(),'divListeAdressesAjax')}
                            );";
                    //$html.="GEvent.addListener(map,'dragend',function(){document.getElementById('iFrameMajCenter').src='".$this->creerUrl('','majGoogleMapNewCenter',array('noHeaderNoFooter'=>1,'latitudeHome'=>$latitude,'longitudeHome'=>$longitude))."&longitudeCenter='+map.getCenter().lng()+'&latitudeCenter='+map.getCenter().lat();});";
            }

            //$html.=$gm->setFunctionAddPointsCallableFromChild(array());

            $html.="</script>";
            //$html.="<div id='jsMiseAJourCenter' ><iframe id='iFrameMajCenter' src=''></iframe></div>";//style='position:absolute;left:0px;top:0px;'
        }

        return $html;

    }