Afficher la liste des personnes par ordre alphabétique

@param string $affichage      ?
@param string $lettreCourante Lettre en cours
@param array  $tableauLettres Liste de l'alphabet

@return string HTML
420296
public function afficherListeAlphabetique($affichage = '', $lettreCourante = 'a', $tableauLettres = array())
    {
        $html="";
        $t = new Template('modules/archi/templates/');
        $t->set_filenames((array('listeAlpha'=>'listeAlphabetique.tpl')));

        //$liste = array('a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z');
        $liste = $tableauLettres;

        foreach ($liste as $indice => $value) {
            $t->assign_block_vars('lettres', array('url'=>$this->creerUrl('', '', array_merge($this->variablesGet, array('archiAction'=>'',  'alphaPersonne'=>$value, 'archiPagePersonne'=>'1', 'archiAffichage'=>$affichage))), 'lettre'=>$value));
        }

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

        return $html;
    }
309505
public function getAdminListeRues()
    {
        $html     = "";
        $a        = new archiAuthentification();
        $u        = new archiUtilisateur();
        $sqlWhere = "";

        // si l'utilisateur est un moderateur on le limite a la gestion des rues des villes qu'il modere
        if ($a->getIdProfil()==3) {
            $arrayVillesFromModerateur = $u->getArrayVillesModereesPar($a->getIdUtilisateur());
            if (count($arrayVillesFromModerateur)>0) {
                $sqlWhere = " AND r.idSousQuartier in (SELECT idSousQuartier FROM sousQuartier WHERE idQuartier IN (SELECT idQuartier FROM quartier WHERE idVille in (".implode(",", $arrayVillesFromModerateur)."))) ";
            } else {
                $sqlWhere = " AND r.idRue='0' ";
            }
        }

        // recherche
        $objetDeLaRecherche = "";
        $sqlRecherche = "";
        if (isset($this->variablesPost['validationFormulaireAdministration']) && $this->variablesPost['validationFormulaireAdministration']=='rechercheAdministration' && $this->variablesPost['rechercheFormulaireAdministration']!='') {
            $objetDeLaRecherche = stripslashes($this->variablesPost['rechercheFormulaireAdministration']);
            $sqlRecherche = " AND LOWER(CONCAT_WS(' ',prefixe,r.nom,sq.nom,q.nom,v.nom)) LIKE \"%".pia_strtolower($objetDeLaRecherche)."%\" ";
        }

        // suppression
        // on verifie les dependances
        if (isset($this->variablesPost['validationFormulaireAdministration']) && $this->variablesPost['validationFormulaireAdministration']=='suppression') {
            // gestion de la suppression
            if (isset($this->variablesPost['selection']) && count($this->variablesPost['selection'])>0) {
                //nom de champ identifiant
                $champIdentifiant = "idRue";
                $dependances[0]   = array('table'=>'historiqueAdresse', 'champLie'=>'idRue', 'message'=>"Attention il existe des dépendances au niveau de la table historiqueAdresse");
                $erreurObj        = new objetErreur();
                if (count($dependances)>0) {
                    foreach ($dependances as $indice=>$dependance) {
                        $reqVerifDependance = "SELECT * FROM ".$dependance['table']." WHERE ".$dependance['champLie']." in (".implode(",", $this->variablesPost['selection']).")";
                        $resVerifDependance = $this->connexionBdd->requete($reqVerifDependance);
                        if (mysql_num_rows($resVerifDependance)>0) {
                            $erreurObj->ajouter($dependance['message']);
                        }
                    }
                    if ($erreurObj->getNbErreurs()>0) {
                        $erreurObj->ajouter("La suppression n'a pu être effectuée, veuillez contacter l'administrateur de la base de données");
                    }
                    $html .= $erreurObj->afficher();
                }
                if ($erreurObj->getNbErreurs()==0) {
                    $reqDelete = "delete from rue where ".$champIdentifiant." in (".implode(",", $this->variablesPost['selection']).")";
                    $resDelete = $this->connexionBdd->requete($reqDelete);
                    echo "suppression effectuée<br>";
                }
            }
        }
        $reqCount        = "SELECT r.idRue as idRue, r.nom as nomRue, r.prefixe as prefixe, sq.nom as nomSousQuartier, q.nom as nomQuartier,v.nom as nomVille
            FROM rue r
            LEFT JOIN sousQuartier sq ON sq.idSousQuartier = r.idSousQuartier
            LEFT JOIN quartier q ON q.idQuartier = sq.idQuartier
            LEFT JOIN ville v ON v.idVille = q.idVille
            WHERE 1=1
            $sqlWhere
            $sqlRecherche
            ";
        $resCount        = $this->connexionBdd->requete($reqCount);
        $nbLignesTotales = mysql_num_rows($resCount);

        // pagination
        $nbEnregistrementsParPage = 20;
        $pagination               = new paginationObject();
        $arrayPagination          = $pagination->pagination(array('nomParamPageCourante'=>'pageCourantePagination', 'nbEnregistrementsParPage'=>$nbEnregistrementsParPage, 'nbEnregistrementsTotaux'=>$nbLignesTotales, 'typeLiens'=>'formulaire', 'idFormulaire'=>'formListe', 'champPageCourante'=>'pageCourantePagination', 'nomChampActionFormulaireOnSubmit'=>'validationFormulaireAdministration', 'nomActionFormulaireOnSubmit'=>'rechercheAdministration'));
        $req                      = "
        
            SELECT r.idRue as idRue, r.nom as nomRue, r.prefixe as prefixe, sq.nom as nomSousQuartier, q.nom as nomQuartier,v.nom as nomVille
            FROM rue r
            LEFT JOIN sousQuartier sq ON sq.idSousQuartier = r.idSousQuartier
            LEFT JOIN quartier q ON q.idQuartier = sq.idQuartier
            LEFT JOIN ville v ON v.idVille = q.idVille
            WHERE 1=1 $sqlWhere $sqlRecherche
            LIMIT ".$arrayPagination['limitSqlDebut'].",".$nbEnregistrementsParPage;
        $res                      = $this->connexionBdd->requete($req);
        $tableau                  = new tableau();
        $tableau->addValue("Sélection");
        $tableau->addValue("idRue");
        $tableau->addValue("prefixe");
        $tableau->addValue("nom de la rue");
        $tableau->addValue("localisation");
        while ($fetch = mysql_fetch_assoc($res)) {
            if ($fetch['idRue']!=0) {
                $tableau->addValue("<input type='checkbox' name='selection[]' value='".$fetch['idRue']."'>");
                $tableau->addValue("<a href='".$this->creerUrl('', 'adminAdresseDetail', array('tableName'=>'rue', 'idModification'=>$fetch['idRue']))."'>".$fetch['idRue']."</a>");
                $tableau->addValue(stripslashes($fetch['prefixe']));
                $tableau->addValue(stripslashes($fetch['nomRue']));
                $localisation = array();
                if ($fetch['nomSousQuartier']!='' && $fetch['nomSousQuartier']!='autre') {
                    $localisation[] = $fetch['nomSousQuartier'];
                }
                if ($fetch['nomQuartier']!='' && $fetch['nomQuartier']!='autre') {
                    $localisation[] = $fetch['nomQuartier'];
                }
                if ($fetch['nomVille']!='' && $fetch['nomVille']!='autre') {
                    $localisation[] = $fetch['nomVille'];
                }
                $tableau->addValue(stripslashes(implode(" - ", $localisation)));
            }
        }
        $html .= "<form name='formListe' id='formListe' enctype='multipart/form-data' method='POST'>";
        $html .= "Recherche : <input type='text' name='rechercheFormulaireAdministration' id='rechercheFormulaireAdministration' value='".$objetDeLaRecherche."'>";
        $html .= "<input type='submit' onclick=\"document.getElementById('validationFormulaireAdministration').value='rechercheAdministration';\"><br>";
        $html .= $arrayPagination['html'].'<br>';
        $html .= "<input type='hidden' name='pageCourantePagination' id='pageCourantePagination' value=''>";
        $html .= "<input type='hidden' name='validationFormulaireAdministration' id='validationFormulaireAdministration' value=''>";
        $html .= $tableau->createHtmlTableFromArray(5);
        $html .= "<input type='submit' value='Supprimer la selection' onclick=\"document.getElementById('validationFormulaireAdministration').value='suppression';\" name='supprimer'>";
        $html .= "<input type='button' name='ajouter' value='ajouter' onclick=\"location.href='".$this->creerUrl('', 'ajoutNouvelleAdresse')."';\">";
        $html .= "</form>";
        return $html;
    }
1038491
public function afficherHistorique($idEvenement)
    {
        //
        // affiche la liste des modifications faites sur un événement
        //
        $html = '';
        $formulaire = new formGenerator();
        $string = new stringObject();
        if ($formulaire->estChiffre($idEvenement)) {
            $sqlHistorique = 'SELECT titre, description, dateCreationEvenement, idHistoriqueEvenement FROM historiqueEvenement WHERE idEvenement='.$idEvenement.' ORDER BY dateCreationEvenement DESC';
            if ($rep = $this->connexionBdd->requete($sqlHistorique)) {
                $t = new Template('modules/archi/templates');
                $t->set_filenames(array('historiqueEvenement'=>'historiqueEvenement.tpl'));
                while ($res = mysql_fetch_object($rep)) {
                    $t->assign_block_vars('historique', array(
                            'titre'      => htmlspecialchars($res->titre),
                            'description'=> pia_substr($string->sansBalises($res->description), 0, 50),
                            'url'        => $this->creerUrl('', 'historiqueEvenementDetail', array('idHistoriqueEvenement'=>$res->idHistoriqueEvenement)),
                            'dateModif'  => $this->date->toFrench($res->dateCreationEvenement)));
                }
                ob_start();
                $t->pparse('historiqueEvenement');
                $html .= ob_get_contents();
                ob_end_clean();
            }
        } else {
            $html .= 'erreur chiffre';
        }

        return $html;
    }
1315399
public function translate($arrayKeys = []) {
        $result = [];
        
        // Transposition pour les libelles
        foreach ($arrayKeys as $key => $value) {
            
            // Indexed numeric array
            if (is_numeric($key)){
                $fromDictionnary = $this->getString($value);
                $result[] = (false === $fromDictionnary) ?  ucwords($value) : $fromDictionnary;
            }
            else{
                $result[] = $value;
            }
        }
        return $result;
    }
1279652
public function getIdEvenementsFromRecherche($criteres = array(), $templateName = 'listeEvenement.tpl', $modeAffichage = '')
    {
        $html = '';
        $sqlJoin = '';
        $tabParametresAutorises = array('ordre', 'tri', 'debut', 'selection', 'id');

        $arrayIdEvenements=array();

        foreach ($tabParametresAutorises as $param) {
            if (isset($this->variablesGet[$param]) and !isset($criteres[$param])) {
                $criteres[$param] = $this->variablesGet[$param];
            }
        }

        //
        // si c'est une recherche alors on ne cherche pas dans les type d'événements étant des groupes d'adresses
        // !!!!! ATTENTION à l'ID du type d'événement en cas de vidage et changement des ID
        // !!!!! ATTENTION à l'ID du type d'événement en cas de vidage et changement des ID
        // !!!!! ATTENTION à l'ID du type d'événement en cas de vidage et changement des ID
        // !!!!! ATTENTION à l'ID du type d'événement en cas de vidage et changement des ID
        //$tabSqlWhere[] = 'hE.idTypeEvenement!=3';



        if (!empty($criteres['recherche_motcle'])) {
            $tabMotCle = explode(' ', $criteres['recherche_motcle']);
            foreach ($tabMotCle as $motcle) {
                $motcle = mysql_escape_string($motcle);
                $tabSqlWhere[]= "(hE.titre LIKE '%".$motcle."%' OR hE.description LIKE '%".$motcle."%')";
            }
        }

        if (!empty($criteres['recherche_courant'])) {
            $courant = implode("','", $criteres['recherche_courant']);
            $tabSqlWhere[] = '_eCA.idCourantArchitectural IN (\''.$courant.'\')';
            $tabSqlJoin[]  = 'LEFT JOIN _evenementCourantArchitectural _eCA USING (idEvenement) ';
        }

        if (!empty($criteres['recherche_typeStructure'])) {
            $tabSqlWhere[] = 'hE.idTypeStructure='.$criteres['recherche_typeStructure'];
        }

        if (!empty($criteres['recherche_typeEvenement'])) {
            $tabSqlWhere[] = 'hE.idTypeEvenement='.$criteres['recherche_typeEvenement'];
        }

        if (!empty($criteres['recherche_source'])) {
            $tabSqlWhere[] = 'hE.idSource='.$criteres['recherche_source'];
        }

        if (!empty($criteres['recherche_personnes'])) {
            $personnes = implode("','", $criteres['recherche_personnes']);
            $tabSqlWhere[] = '_eP.idPersonne IN (\''.$personnes.'\')';
            $tabSqlJoin[]  = 'LEFT JOIN _evenementPersonne _eP USING (idEvenement)';
        }

        if (isset($criteres['recherche_anneeDebut']) && $criteres['recherche_anneeDebut']!='') {
            $tabSqlWhere[] = '(extract(YEAR FROM hE.dateDebut)>='.$criteres['recherche_anneeDebut'].')';
        }

        if (isset($criteres['recherche_anneeFin']) && $criteres['recherche_anneeDebut']!='') {
            $tabSqlWhere[] = '(extract(YEAR FROM hE.dateDebut)<='.$criteres['recherche_anneeFin'].')';
        }

        if (isset($criteres['recherche_MH']) && $criteres['recherche_MH']=='1' && isset($criteres['recherche_ISMH']) && $criteres['recherche_ISMH']=='1') {
        // ATTENTION, si les deux cases sont cochées , on fait un "OU" entre les deux champs pour le résultat de la recherche
            $tabSqlWhere[] = "(hE.MH='1' OR hE.ISMH='1')";
        } else {
            if (isset($criteres['recherche_MH']) && $criteres['recherche_MH']=='1') {
                $tabSqlWhere[] = "hE.MH='1'";
            }

            if (isset($criteres['recherche_ISMH']) && $criteres['recherche_ISMH']=='1') {
                $tabSqlWhere[] = "hE.ISMH='1'";
            }
        }




        if (!isset($criteres['ordre'])) {
            $sqlOrdre = 'hE.titre';
        } else {
            switch ($criteres['ordre']) {
                case 'description':
                    $sqlOrdre = 'hE.description';
                    break;
                case 'source':
                    $sqlOrdre = 's.nom';
                    break;
                case 'structure':
                    $sqlOrdre = 'tS.nom';
                    break;
                case 'titre':
                    $sqlOrdre = 'hE.titre';
                    break;
                case 'type':
                    $sqlOrdre = 'tE.nom';
                    break;
                case 'dateCreation':
                    $sqlOrdre = 'hE.dateCreationEvenement';
                    break;
                default:
                    $sqlOrdre = 'hE.titre';
            }
        }

        if (!isset($criteres['debut']) or !is_numeric($criteres['debut']) or $criteres['debut'] < 1) {
            $criteres['debut'] = 0;
            $sqlLimit = '0, 10';
            $valDebutSuivant = 0;
            $valDebutPrecedent = 0;
        } else {
            $sqlLimit = $criteres['debut'].', 10';
            if ($criteres['debut'] > 9) {
                $valDebutPrecedent = $criteres['debut'] -10;
            } else {
                $valDebutPrecedent = 0;
            }
            $valDebutSuivant = $criteres['debut'];
        }

        if (isset($criteres['selection']) and is_numeric($criteres['id'])) {
            switch ($criteres['selection']) {
                case 'typeStructure':
                    $tabSqlWhere[] = 'hE.idTypeStructure='.$criteres['id'];
                    break;
                case 'typeEvenement':
                    $tabSqlWhere[] = 'hE.idTypeEvenement='.$criteres['id'];
                    break;
                case 'source':
                    $tabSqlWhere[] = 'hE.idSource='.$criteres['id'];
                    break;
                case 'utilisateurAjout':
                    $tabSqlWhere[] = 'hE.idUtilisateur='.$criteres['id'];
                    break;
                case 'personne':
                    $tabSqlWhere[] = '_eP.idPersonne='.$criteres['id'];
                    $tabSqlJoin[]  = 'LEFT JOIN _evenementPersonne _eP USING (idEvenement) ';
                    break;
                case 'courant':
                    $tabSqlWhere[] = '_eCA.idCourantArchitectural='.$criteres['id'];
                    $tabSqlJoin[]  = 'LEFT JOIN _evenementCourantArchitectural _eCA USING (idEvenement) ';
                    break;
            }
        }


        if (isset($criteres['tri'])) {
            if ($criteres['tri'] == 'desc') {
                $sqlTri = 'DESC';
            } else {
                $sqlTri = 'ASC';
            }
        } else {
            $sqlTri = 'ASC';
        }

        $sqlWhere = '';
        if (isset($tabSqlWhere) && count($tabSqlWhere)>0) {
            $sqlWhere = implode(' AND ', $tabSqlWhere);
        } else {
            $sqlWhere ='1';
        }

        if (isset($tabSqlJoin)) {
            foreach ($tabSqlJoin as $val) {
                $sqlJoin .= ' '.$val;
            }
        }

        $sqlCount = 'SELECT hE.idEvenement
				FROM evenements hE2, evenements hE
				'.$sqlJoin.'
				WHERE '. $sqlWhere .' AND hE.idEvenement = hE2.idEvenement
				GROUP BY hE.idEvenement
				ORDER BY '.$sqlOrdre.' '.$sqlTri;

        $result = $this->connexionBdd->requete($sqlCount);

        if (( mysql_num_rows($result) - $valDebutSuivant ) > 10) {
            $valDebutSuivant += 10;
        }
        $nbReponses = mysql_num_rows($result);

        // requête
        $sql = 'SELECT hE.idEvenement
				FROM evenements hE2, evenements hE
				LEFT JOIN source s ON hE.idSource = s.idSource
				LEFT JOIN typeStructure tS ON hE.idTypeStructure = tS.idTypeStructure
				LEFT JOIN typeEvenement tE ON hE.idTypeEvenement = tE.idTypeEvenement
				'.$sqlJoin.'
				WHERE '. $sqlWhere .' AND hE.idEvenement = hE2.idEvenement
				GROUP BY hE.idEvenement
				ORDER BY '.$sqlOrdre.' '.$sqlTri;//.' LIMIT '.$sqlLimit.' ' // modif laurent , pas de limite dans cette requetes sinon on n'affichera pas tous les resultats
        //hE.titre, hE.idSource, hE.idTypeStructure, hE.idTypeEvenement, hE.description AS description, s.nom as nomSource, hE.dateCreationEvenement, // modif laurent pour accelerer la recherche
        //tS.nom as nomTypeStructure, tE.nom as nomTypeEvenement


        $result  = $this->connexionBdd->requete($sql);

        $t=new Template('modules/archi/templates/');
        $t->set_filenames((array('ev'=>$templateName)));

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


        if (mysql_num_rows($result) > 0) {
        // **********************************************************************
            // boucle sur les resultats de la requete
            // **********************************************************************
            while ($rep = mysql_fetch_object($result)) {
                $arrayIdEvenements[]=$rep->idEvenement;
            }
        }

        return $arrayIdEvenements;
    }
150963
public function afficheResumeSondage($params = array())
	{
		$html="";
		if (isset($params['idSondage']) && $params['idSondage']!='') {
			// a deja participe
			// affichage des resultats
			$reqNbVotants = "SELECT DISTINCT ip FROM sondagesResultats WHERE idSondage='".$params['idSondage']."'";
			$resNbVotants = $this->connexionBdd->requete($reqNbVotants);
			$nbVotants = mysql_num_rows($resNbVotants);
			$html.="<table border=''  style='margin:0;padding:0;font-size:12px;'><tr><td style='margin:0;padding:0;'><h3>"._("Statistiques à ce jour")."</h3>"._("Nombre de participants :")." ".$nbVotants."</td></tr></table>";
			$reqCountParProposition = "
					SELECT p.idProposition, p.libelleProposition as libelleProposition, count(r.ip) as nbVotes
					FROM sondagesPropositions p
					LEFT JOIN sondagesResultats r ON r.idProposition = p.idProposition
					WHERE p.idSondage = '".$params['idSondage']."'
							GROUP BY p.idProposition, r.idProposition
							";

			$resCountParProposition = $this->connexionBdd->requete($reqCountParProposition);


			$reqCountVotes = "SELECT idResultat FROM sondagesResultats WHERE idSondage='1'";
			$resCountVotes = $this->connexionBdd->requete($reqCountVotes);
			$nbVotes = mysql_num_rows($resCountVotes);

			$tableau = new tableau();
			while ($fetchCountParProposition = mysql_fetch_assoc($resCountParProposition)) {
				$tableau->addValue($fetchCountParProposition['libelleProposition']."&nbsp;", "style='margin:0;padding:0;font-size:11px;'");
				$tableau->addValue(round($fetchCountParProposition['nbVotes']*100/$nbVotes)."%", "style='margin:0;padding:0;font-size:11px;'");
				$tableau->addValue("<table style='margin:0;padding:0; position:relative;' border=''><tr><td style='background-color:red; position:absolute; font-size:3px;width:".round($fetchCountParProposition['nbVotes']*100/$nbVotes)."%'>&nbsp;</td></tr></table>", "style='margin:0;padding:0;font-size:11px;'");
				$tableau->addValue("&nbsp;", "style='margin:0;padding:0;font-size:11px;'");
			}

			$html.=$tableau->createHtmlTableFromArray(2, 'margin:0;padding:0;', '', '', " border=''");
		}

		return $html;

	}
1023919
public function afficheHistoriqueEvenement($params = array())
    {
        $html="";
        $adresse = new archiAdresse();
        if (isset($params['idEvenement'])) {
            $req = "SELECT idHistoriqueEvenement FROM historiqueEvenement WHERE idEvenement=".$params['idEvenement']." order by dateCreationEvenement ASC";
            $res = $this->connexionBdd->requete($req);

            $idEvenementGroupeAdresse = $this->getIdEvenementGroupeAdresseFromIdEvenement($params['idEvenement']);
            if ($idPerson=archiPersonne::isPerson($idEvenementGroupeAdresse)) {
                $person= new archiPersonne();
                $infos=$person->getInfosPersonne($idPerson);
                $html.="<h2 class='h1'><a href='".$this->creerUrl('', '', array('archiAffichage'=>'evenementListe', 'selection'=>"personne", 'id'=>$idPerson))."'>".$infos["prenom"]." ".$infos["nom"]."</a></h2>";
            } else {
                $html.=$adresse->afficherRecapitulatifAdresses($idEvenementGroupeAdresse);
            }
            $html.=$this->afficherRecapitulatifAncres($idEvenementGroupeAdresse, $params['idEvenement']);
            $html.="<h2>"._("Historique de mise à jour")."</h2><br>";

            while ($fetch = mysql_fetch_assoc($res)) {
                $arrayAfficher = $this->afficher(null, 'consultationHistoriqueEvenement', $fetch['idHistoriqueEvenement']);
                $html.="<div class='divConsultationHistoriqueEvenement'>".$arrayAfficher['html']."</div>";
                //$html.=$this->getListCommentairesEvenements($fetch['idHistoriqueEvenement']);
                //$html.=$this->getFormulaireCommentairesHistorique($fetch['idHistoriqueEvenement'],$this->getCommentairesFields());
            }
        }

        return $html;
    }
1117067
public function displayMyInterest(){
		$auth = new archiAuthentification();
		if($auth->estConnecte()){
			
		
			$html ="";
			$formulaire = new formGenerator();
			$utils = new archiUtils();
			$ajax = new ajaxObject();
			$html.=$ajax->getAjaxFunctions();
	
			$t = new Template($this->getCheminPhysique().$this->cheminTemplates."interest/");
			$t->set_filenames(array('myinterests'=>'myinterests.tpl'));
	
	
			$a = new archiAdresse();
	
			//Generate address form
			$formParam = array(
					'afficheNombreResultat' => 1,
					'modeAffichage_rue'=>1,
					'modeAffichage_sousQuartier'=>1,
					'modeAffichage_quartier'=>1,
					'modeAffichage_ville'=>1,
					'modeAffichage_pays='>1
			);
			
			$formAddressAddInterest=$a->afficheChoixAdresse(array('afficheNombreResultat' => 1,'affichageInteret'=>1));
			$paramsFields= array();
			$paramsFields[] = array('table' => 'pays' ,'value' => 'idPays','title'=>'nom');
			$paramsFields[] = array('table' => 'ville' ,'value' => 'idVille','title'=>'nom');
			$paramsFields[] = array('table' => 'quartier' ,'value' => 'idQuartier','title'=>'nom');
			$paramsFields[] = array('table' => 'sousQuartier' ,'value' => 'idSousQuartier','title'=>'nom');
			$paramsFields[] = array('table' => 'rue' ,'value' => 'idRue','title'=>'nom');
	
	
	
			$formActionUrl = $this->creerUrl('','saveInterest',array());
	
			foreach ($paramsFields as $params){
				$options[] = $this->getAllField($params);
			}
	
	
			$paramsRequest[]=array('table'=> '_interetRue','field' =>'idRue' , 'associateTable' => 'rue');
			$paramsRequest[]=array('table'=> '_interetSousQuartier','field' =>'idSousQuartier', 'associateTable' => 'sousQuartier');
			$paramsRequest[]=array('table'=> '_interetQuartier','field' =>'idQuartier', 'associateTable' => 'quartier');
			$paramsRequest[]=array('table'=> '_interetVille','field' =>'idVille', 'associateTable' => 'ville');
			$paramsRequest[]=array('table'=> '_interetPays','field' =>'idPays', 'associateTable' => 'pays');
	
			$userInterest = $this->getAllInterest($paramsRequest);
			/*
			 * Array of EVERY interest  by categories : street country address etc..
			 */
			foreach ($userInterest as $interestByCat){
				if(!isset($interestByCat[0]['vide'])){
					$t->assign_block_vars('interestList',array('title'=>'Liste des '.$interestByCat[0]['titre'].' dans les centres d\'intérêt','CSSclass'=>'interestList'));
					/*
					 * Interest of each category
					 */
					foreach ($interestByCat as $interest){
						/*
						 * Process fields for delete link
						 */
						$table = $interest['table'];
						$fieldId = $interest['field'];
						$userId = $interest['idUtilisateur'];
						$interestId = $interest[$fieldId];
						
						
						$paramsDelete = array(
							$table,
							$fieldId,
							$userId,
							$interestId
						);
						
						$deleteUrl = $this->creerUrl('', 'deleteInterest', array('params' => $paramsDelete));
						switch ($interest['associateTable']){
							case 'personne':
								$t->assign_block_vars('interestList.interests',array(
								'name'=>$interest['nom']." ".$interest['prenom'],
								'deleteUrl' => $deleteUrl
								));
								break;
							default:
								$t->assign_block_vars('interestList.interests',array(
								'name'=>$interest['nom'],
								'deleteUrl' => $deleteUrl
								));
						}
					}
				}
				else{
					$t->assign_block_vars('interestList',array('vide'=>'Aucun résultat','title'=>'Liste des '.$interestByCat[0]['titre'].' dans les centres d\'intérêt','CSSclass'=>'interestList'));
				}
					
			}
	
			$t->assign_vars(array(
					'formAddInterest' => $formAddressAddInterest,
					'formActionUrl' => $formActionUrl,
					'nameForm'=>'saveInterest'
			));
	
			ob_start();
			$t->pparse('myinterests');
			$html .= ob_get_contents();
			ob_end_clean();
		return $html;
		}
		else{
			$this->messages->addError("Veuillez vous connecter pour personnaliser votre flux");
			$this->messages->display();
			$auth = new ArchiAuthentification();
			return $auth->afficheFormulaireAuthentification();
		}
	}
349047
public function afficherLiensModificationEvenement($idEvenement = 0)
    {
        $html="";
        $t = new Template('modules/archi/templates/');
        $t->set_filenames((array('liensOngletsEvenement'=>'liensOngletsEvenement.tpl')));

        $couleur = "";

        $liens = array( "Ajouter des images" => array('url'=>$this->creerUrl('', 'ajoutImageEvenement', array('archiIdEvenement'=>$idEvenement)),'archiAffichage'=>'ajoutImageEvenement'),
                "Modifier les images"=>array('url'=>$this->creerUrl('', 'modifierImageEvenement', array('archiIdEvenement'=>$idEvenement)),'archiAffichage'=>'modifierImageEvenement'),
                "Position des images"=>array('url'=>$this->creerUrl('', 'modifierPositionsImages', array('archiIdEvenement'=>$idEvenement)),'archiAffichage'=>'modifierPositionsImages'),
                "Modifier l'événement"=>array('url'=>$this->creerUrl('', 'modifierEvenement', array('archiIdEvenement'=>$idEvenement)),'archiAffichage'=>'modifierEvenement')

        );

        foreach ($liens as $titre => $elementsLiens) {
            $couleur = "";
            if (isset($this->variablesGet['archiAffichage']) && $this->variablesGet['archiAffichage']==$elementsLiens['archiAffichage']) {
                $couleur = "current";
            }
            $t->assign_block_vars("liens", array("couleur"=>$couleur,"titre"=>$titre,"url"=>$elementsLiens['url']));
        }

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

        return $html;
    }
203866
public function getListeCommentaires($idEvenementGroupeAdresse = 0)
    {
        $bbCode = new bbCodeObject();
        $u = new archiUtilisateur();
        $html="";
        $t = new Template('modules/archi/templates/');
        $t->set_filenames((array('listeCommentaires'=>'listeCommentaires.tpl')));

        $req = "SELECT c.idCommentaire as idCommentaire,c.nom as nom,c.prenom as prenom,c.email as email,DATE_FORMAT(c.date,'"._("%d/%m/%Y à %kh%i")."') as dateF,c.commentaire as commentaire,c.idUtilisateur as idUtilisateur, u.urlSiteWeb as urlSiteWeb
        		 ,date_format( c.date, '%Y%m%d%H%i%s' ) AS dateTri
        		FROM commentaires c
        		LEFT JOIN utilisateur u ON u.idUtilisateur = c.idUtilisateur
        		WHERE c.idEvenementGroupeAdresse = '".$idEvenementGroupeAdresse."'
        				AND CommentaireValide=1
        				ORDER BY DateTri DESC
        				";

        $res = $this->connexionBdd->requete($req);
        if (mysql_num_rows($res)>0) {
            $t->assign_vars(array(
                    'tableHtmlCode'=>"  ",
                    'titre'=>_("Liste des commentaires concernant l'adresse")
            ));

            $authentification = new archiAuthentification();

            // si l'utilisateur est administrateur, on affiche le bouton de suppression d'un commentaire
            $isAdmin=false;
            if ($authentification->estConnecte() && $authentification->estAdmin()) {
                $isAdmin=true;
            }

            while ($fetch = mysql_fetch_assoc($res)) {
                $adresseMail = "";
                $boutonSupprimer="";
                $urlSiteWeb = "";
                $urlProfilePic = $u->getImageAvatar(array('idUtilisateur'=>$fetch['idUtilisateur']));
                if ($fetch['urlSiteWeb']!='') {
                    $urlSiteWeb = "<br><a itemprop='url' href='".$fetch['urlSiteWeb']."' target='_blank'><span style='font-size:9px;color:#FFFFFF;'>".$fetch['urlSiteWeb']."</span></a>";
                }

                $so = new StringObject();

                $t->assign_block_vars('commentaires', array(
                    'htmlId'=>'commentaireAdresse'.$fetch['idCommentaire'],
                    'adresseMail'=>$adresseMail,
                    'commentaire'=>$bbCode->convertToDisplay(array('text'=>stripslashes($fetch['commentaire']),'type'=>'commentaire')),
                    'boutonSupprimer'=>$boutonSupprimer,
                    'urlProfilPic'=>$urlProfilePic,
                    'prenom' => $fetch['prenom'],
                    'nom'=> $fetch['nom'],
                    'labelCommentAction' => _("a ajouté un commentaire"),
                    'date' =>$fetch['dateF'],
                    'urlSupprimer'=>$urlSupprimer

                ));
                if ($isAdmin) {
                    $archiIdAdresse='';
                    if (isset($this->variablesGet['archiIdAdresse'])) {
                        $archiIdAdresse = $this->variablesGet['archiIdAdresse'];
                    }
                    $urlSupprimer = $this->creerUrl('supprimerCommentaire', '', array('archiIdCommentaire'=>$fetch['idCommentaire'],'archiIdAdresse'=>$archiIdAdresse, 'archiIdEvenementGroupeAdresse' => $idEvenementGroupeAdresse));
                    $adresseMail = "<br><a style='font-size:9px;color:#FFFFFF;' itemprop='email' href='mailto:".$fetch['email']."'>".$fetch['email']."</a>";
                    $t->assign_block_vars('commentaires.supprimer', array(
                            'urlSupprimer'=>$urlSupprimer
                    ));
                }
            }
            ob_start();
            $t->pparse('listeCommentaires');
            $html .= ob_get_contents();
            ob_end_clean();
            return $html;
        }
    }
1352628
public function afficheMenu()
    {
        $html                                    = "";
        $t                                       = new Template('modules/archi/templates/');
        $t->set_filenames((array('administration'=>'administration.tpl')));
        $menu                                    = array();
        $u                                       = new archiUtilisateur();
        $a                                       = new archiAuthentification();
        $idUtilisateur                           = $a->getIdUtilisateur();
        if ($u->isAuthorized('admin_droits', $idUtilisateur)) {
            $menu = array_merge($menu, array(_("Droits")=>$this->creerUrl('', 'adminDroits')));
        }
        if ($u->isAuthorized('admin_actualites', $idUtilisateur)) {
            $menu = array_merge($menu, array(_("Actualités")=>$this->creerUrl('', 'adminActualites')));
        }
        $menu[_("Pages")] = $this->creerUrl('', 'adminPages', array());
        if ($u->isAuthorized('admin_actualites', $idUtilisateur)) {
            $menu = array_merge($menu, array(_("Compteur de dons")=>$this->creerUrl('', 'adminCompteur')));
        }
        if ($u->isAuthorized('admin_sources', $idUtilisateur)) {
            $menu = array_merge($menu, array(_("Sources")=>$this->creerUrl('', 'administration', array('tableName'=>'source'))));
        }
        if ($u->isAuthorized('admin_types_sources', $idUtilisateur)) {
            $menu = array_merge($menu, array(_("Types de sources")=>$this->creerUrl('', 'administration', array('tableName'=>'typeSource'))));
        }
        if ($u->isAuthorized('admin_types_structures', $idUtilisateur)) {
            $menu = array_merge($menu, array(_("Types de structures")=>$this->creerUrl('', 'administration', array('tableName'=>'typeStructure'))));
        }
        if ($u->isAuthorized('admin_courants_architecturaux', $idUtilisateur)) {
            $menu = array_merge($menu, array(_("Courant architecturaux")=>$this->creerUrl('', 'administration', array('tableName'=>'courantArchitectural'))));
        }
        $menu[_("Gestion des personnes")] = array();
        if ($u->isAuthorized('admin_metiers', $idUtilisateur)) {
            $menu[_("Gestion des personnes")] = array_merge($menu[_("Gestion des personnes")], array(_("Métiers")=>$this->creerUrl('', 'administration', array('tableName'=>'metier'))));
        }
        if ($u->isAuthorized('admin_personnes', $idUtilisateur)) {
            $menu[_("Gestion des personnes")] = array_merge($menu[_("Gestion des personnes")], array(_("Modifier une personne")=>$this->creerUrl('', 'adminPersonne', array())));
        }
        $menu[_("Gestion des adresses")] = array();
        if ($u->isAuthorized('admin_adresses', $idUtilisateur)) {
            $menu[_("Gestion des adresses")] = array_merge($menu[_("Gestion des adresses")], array(_("Ajout d'éléments d'adresse (rue, sous-quartier, quartier, ville, pays)")=>$this->creerUrl('', 'ajoutNouvelleAdresse', array())));
        }
        if ($u->isAuthorized('admin_rues', $idUtilisateur)) {
            $menu[_("Gestion des adresses")] = array_merge($menu[_("Gestion des adresses")], array(_("Gérer les rues")=>$this->creerUrl('', 'adminElementAdresse', array('tableName'=>'rue'))));
        }
        if ($u->isAuthorized('admin_sousQuartiers', $idUtilisateur)) {
            $menu[_("Gestion des adresses")] = array_merge($menu[_("Gestion des adresses")], array(_("Gérer les sous-quartiers")=>$this->creerUrl('', 'adminElementAdresse', array('tableName'=>'sousQuartier'))));
        }
        if ($u->isAuthorized('admin_quartiers', $idUtilisateur)) {
            $menu[_("Gestion des adresses")] = array_merge($menu[_("Gestion des adresses")], array(_("Gérer les quartiers")=>$this->creerUrl('', 'adminElementAdresse', array('tableName'=>'quartier'))));
        }
        if ($u->isAuthorized('admin_villes', $idUtilisateur)) {
            $menu[_("Gestion des adresses")] = array_merge($menu[_("Gestion des adresses")], array(_("Gérer les villes")=>$this->creerUrl('', 'adminElementAdresse', array('tableName'=>'ville'))));
        }
        if ($u->isAuthorized('admin_pays', $idUtilisateur)) {
            $menu[_("Gestion des adresses")] = array_merge($menu[_("Gestion des adresses")], array(_("Gérer les pays")=>$this->creerUrl('', 'adminElementAdresse', array('tableName'=>'pays'))));
        }
        if ($u->isAuthorized('admin_affiche_resultats_sondages', $idUtilisateur)) {
            $menu = array_merge($menu, array(_("Voir les statistiques des sondages")=>$this->creerUrl('', 'adminSondages', array())));
        }
        if ($u->isAuthorized('admin_parcours', $idUtilisateur)) {
            $menu = array_merge($menu, array(_("Gérer les parcours")=>$this->creerUrl('', 'adminListeParcours', array())));
        }
        if ($u->isAuthorized('admin_traduction', $idUtilisateur)) {
            $menu[_("Traduction")] = array(_("Traduction")=>$this->tradLink, _("Détecter les nouvelles chaines à traduire")=>"script/updateTranslation.php", _("Appliquer les nouvelles traductions")=>"script/applyTranslation.php");;
            //$menu[_("Détecter les nouvelles chaines à traduire")] = "script/updateTranslation.php";
            //$menu[_("Appliquer les nouvelles traductions")] = "script/applyTranslation.php";
        }
        foreach ($menu as $nom=>$url) {
            if (is_array($url)) {
                $menuHTML=$nom._(" :");
                $menuHTML.="<ul>";
                foreach ($url as $subName=>$subURL) {
                    $menuHTML.="<li><a href='".$subURL."'>".$subName."</a></li>";
                }
                $menuHTML.="</ul>";
            } else {
                $menuHTML="<a href='".$url."'>".$nom."</a>";
                //<a href="{listeMenu.url}">{listeMenu.nom}</a>
            }
            $t->assign_block_vars('listeMenu', array("menu"=>$menuHTML));
        }
        ob_start();
        $t->pparse('administration');
        $html = ob_get_contents();
        ob_end_clean();
        return $html;
    }
738473
public function getIntituleAdresseAccueil($fetch = array(), $params = array())
    {
        $titre="";
        $sqlGA="";
        $classCSS="";
        if (isset($fetch['idEvenementGroupeAdresse']) && $fetch['idEvenementGroupeAdresse']!='' && $fetch['idEvenementGroupeAdresse']!='0') {
            $sqlGA="AND ae.idEvenement = ".$fetch['idEvenementGroupeAdresse'];
        }

        if (isset($params['displayFirstTitreAdresse']) && $params['displayFirstTitreAdresse']==true || (isset($params['ifTitreAfficheTitreSeulement']) && $params['ifTitreAfficheTitreSeulement']==true)) {
            $classCSS='';
            if (isset($params['classCSSTitreAdresse'])) {
                $classCSS="class='".$params['classCSSTitreAdresse']."'";
            }

            // avec ce parametre , on va aller chercher le premier titre rencontré sur la liste des evenements du groupe d'adresse de l'adresse
            $idAdresse = $fetch['idAdresse'];


            $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
			$sqlGA
			";


            $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' && $fetchVerif['idEvenementRecuperationTitre']!='-1') {
                    $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);
                    $titre = "<span $classCSS>".stripslashes($fetchTitre['titre'])."</span> ";
                    $trouve=true;
                }
            }

            if (!$trouve) {
                $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 he1.idTypeEvenement <>'6'
						AND ae.idAdresse = '".$idAdresse."'
						$sqlGA
						GROUP BY he1.idEvenement
						ORDER BY he1.dateDebut,he1.idEvenement
						LIMIT 1

						";
                $resTitre = $this->connexionBdd->requete($reqTitre);
                if (mysql_num_rows($resTitre)==1) {
                    $fetchTitre = mysql_fetch_assoc($resTitre);
                    $titre = "<span $classCSS>".stripslashes($fetchTitre['titre'])."</span> ";
                }
            }
        }



        $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'];
        }

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

        if ((!isset($params['noQuartier']) || $params['noQuartier']==false) && $fetch['nomRue']=='') {
            if (isset($fetch['nomQuartier']) && $fetch['nomQuartier']!='autre') {
                if (isset($params['noQuartierCentreVille']) && $params['noQuartierCentreVille']==true && pia_strtolower($fetch['nomQuartier'])=="centre ville") {
                    //$nomAdresse .= ' '.ucfirst($fetch['nomQuartier']);
                } else {
                    $nomAdresse .= ' '.ucfirst($fetch['nomQuartier']);
                }
            }
        }

        if ((!isset($params['noSousQuartier']) || $params['noSousQuartier']==false) && $fetch['nomRue']=='') {
            if (isset($fetch['nomSousQuartier']) && $fetch['nomSousQuartier']!='autre') {
                $nomAdresse .= ' '.ucfirst($fetch['nomSousQuartier']);
            }
        }

        if (isset($fetch['nomVille']) && $fetch['nomRue']=='') { //  && $fetch['nomVille']!='Strasbourg'
            $nomAdresse.= ' '.ucfirst($fetch['nomVille']);
        }

        $nomAdresse = trim($nomAdresse);

        $retour="";
        if (isset($params['ifTitreAfficheTitreSeulement']) && $params['ifTitreAfficheTitreSeulement']==true && $titre!='' && $titre!="<span $classCSS></span> ") {
            $retour = $titre;
        } else {
            if ($titre=="<span $classCSS></span> ") {
                $titre = "";
            }
            $retour = $titre.$nomAdresse;
        }


        return $retour;
    }
234185
public function createHtmlDivsFromArray($params=array())
	{
		$html="";
		

		$nbValues = count($this->tabValues);
		$styleDivs = "";
		if(isset($params['styleDivs']))
			$styleDivs = $params['styleDivs'];
		
		
		if(isset($params['nbColonnes']))
			$nbColonnes=$params['nbColonnes'];
		
		$widthLigne="";
		if(isset($params['largeurLigne']))
		{
			// peut eviter des problemes de rafraichissement a rajouter avec firefox
			$widthLigne = "width:".$params['largeurLigne']."px;";
		}
		
		for($i=0 ; $i<$nbValues	; $i++)
		{
			if(isset($nbColonnes) && $i==0)
			{
				$html.="<div style='display:table;$widthLigne'>";
			}
			elseif(isset($nbColonnes) && $i%$nbColonnes==0)
			{
				$html.="</div><div style='clear:both;'></div><div style='display:table;$widthLigne'>";
			}
			
			$width="";
			if(isset($this->tabProperties[$i]) && isset($this->tabProperties[$i]['x'])) // utile par exemple si on affiche des images , afin que la largeur du div s'adapte a la largeur des images
			{
				$width="width:".$this->tabProperties[$i]['x']."px;";
			}
			$html.="<div style='$width".$styleDivs."'>".$this->tabValues[$i]."</div>";
			
			if(isset($nbColonnes) && ($i==$nbValues-1))
			{
				$html.="</div>";
			}
		}
		
		return $html;
	}
544736
public function addValuesFromArrayLinked($arrayValues,$nbColonnes=3,$styleCellHaut='',$styleCellBas='')
	{
		
		$nbValsTotal = count($arrayValues);

		$i=1;
		$tabTemp = array();
		$indice = 0;
		$nbCols= $nbColonnes;
		$ligneCourante = 1;
		
		for($s=0 ; $s<$nbValsTotal ; $s++)
		{
		
			$this->addValue($arrayValues[$s]['celluleHaut'],$styleCellHaut);
			
			$tabTemp[$indice] = $arrayValues[$s]['celluleBas'];
			
			
			if(($i%$nbColonnes==0 || $i==$nbValsTotal))
			{
			
				if(($nbColonnes-count($tabTemp))>0)
				{
					// il y a moins de photos que le max de la ligne
					$nbACompleter = $nbColonnes-count($tabTemp);
					for($iComplet=0 ; $iComplet < $nbACompleter ; $iComplet++)
					{
						$this->addValue('&nbsp;');
					}
				}
			
				for($j=0 ; $j<$nbColonnes ; $j++)
				{
					if(isset($tabTemp[$j]))
					{
						$this->addValue($tabTemp[$j],$styleCellBas);
					}
					else
					{
						$this->addValue('&nbsp;');
					}
				}
				$tabTemp=array();
				$indice=0;
			}
			else
			{
				$indice++;
			}
			
			$i++;
		}
	}
185386
public function afficheChoixVille($lettre = 'a')
    {

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

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


        $html="";
        $t=new Template('modules/archi/templates/');
        $t->set_filenames((array('listeVille'=>'listeVille.tpl')));


        $reqNbVille = "
				select 0
				from ville
				where lower(substr(nom,1,1))='".$lettre."'
						and nom<>'autre'
						order by nom
						";
        $resNbVille = $this->connexionBdd->requete($reqNbVille);

        $nbEnregistrementTotaux = mysql_num_rows($resNbVille);


        if ($nbEnregistrementTotaux ==0) {
        // recherche de la premiere lettre ou il y a des resultats
            $reqNbVilleNew = "
					select lower(substr(v.nom,1,1)) as lettre
					from ville v
					WHERE 1=1
					and nom<>'autre'
					order by lettre ASC
					LIMIT 1
					";
            $resNbVilleNew = $this->connexionBdd->requete($reqNbVilleNew);
            $nbEnregistrementTotaux = mysql_num_rows($resNbVilleNew);// nombre d'enregistrements pour la nouvelle lettre courante
            // recuperation de la nouvelle lettre courante
            $fetchNewLettre = mysql_fetch_assoc($resNbVilleNew);
            $lettre = $fetchNewLettre['lettre'];
        }


        // nombre d'images affichées sur une page
        $nbEnregistrementsParPage = 5;
        $arrayPagination=$this->pagination(array(
                'nomParamPageCourante'=>'archiPageCouranteVille',
                'nbEnregistrementsParPage'=>$nbEnregistrementsParPage,
                'nbEnregistrementsTotaux'=>$nbEnregistrementTotaux,
                'typeLiens'=>'noformulaire'
        ));



        // affichage des villes de france
        $reqVille = "
				select idVille,nom,codepostal, lower(substr(nom,1,1)) as lettre
				from ville
				where lower(substr(nom,1,1))='".$lettre."'
						and nom<>'autre'
						order by nom,lettre ASC
						LIMIT ".$arrayPagination['limitSqlDebut'].",".$nbEnregistrementsParPage;

        $resVille=$this->connexionBdd->requete($reqVille);


        $html .= $this->afficheListeAlphabetique(array('champ'=>'nom','table'=>'ville','where'=>" and nom<>'autre' "), $modeAffichage);

        $html .=$arrayPagination['html']."<br>";

        if (mysql_num_rows($resVille)>0) {
            mysql_data_seek($resVille, 0); // on replace le curseur au debut de la liste des enregistrements
        } else {
            echo "Pas de résultat.";
        }



        while ($fetchVille = mysql_fetch_assoc($resVille)) {
            switch ($modeAffichage) {
                case 'nouveauDossier':
                case 'modifUtilisateur':
                default:
                    $t->assign_block_vars('villes', array(
                    'url'=>"#",
                    'onclick'=>"parent.document.getElementById(parent.document.getElementById('paramChampAppelantVille').value+'txt').value='".addslashes($fetchVille['nom'])."';parent.document.getElementById(parent.document.getElementById('paramChampAppelantVille').value).value='".$fetchVille['idVille']."';parent.document.getElementById('calqueVille').style.display='none';parent.appelAjax('".$this->creerUrl('', 'afficheSelectQuartier', array('noHeaderNoFooter'=>1))."&archiIdVille='+parent.document.getElementById(parent.document.getElementById('paramChampAppelantVille').value).value,'listeQuartier',true);parent.document.getElementById('sousQuartiers').innerHTML='<option value=0>Aucun</option>';",
                    'nom'=>$fetchVille['nom']
                    ));
                    break;
            }
        }

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

        return $html;
    }
677435
function getHTML()
    {
        $html="";
        if ($this->getCountOnglets()>0) {
            /*
             * assignation des styles en dur : a changer à terme,
             * les styles sont les memes que pour le site en ligne
             * => a ajouter dans la feuille de style
             * */
            if (isset($this->stylesOnglets) && $this->stylesOnglets!='') {
                $html=$this->stylesOnglets;
            }

            if (!isset($this->hauteurEtiquettes)) {
                $this->hauteurEtiquettes=25;
            }
            
            if (!isset($this->styleTable)) {
                $this->styleTable="";
            }
            
            if (!isset($this->styleTableEtiquettes)) {
                $this->styleTableEtiquettes ="";
            }
            
            if (!isset($this->styleBorderHautContenu)) {
                $this->styleBorderHautContenu
                    ="style='border-bottom:1px solid #000000;'";
            }
                
            $html.="<a name='onglet'></a>";
            $html.="<table width='".$this->largeurTotale.
            "' cellspacing=0 cellpadding=0 border=0><tr><td height=".
            $this->hauteurEtiquettes." ".$this->styleTable.">";            
            $html.="<table cellspacing=0 cellpadding=0 border=0 ".
            $this->styleTableEtiquettes."><tr class='onglets'>";
            // construction du tableau contenant les intitules
            $i=0;
            $largeurGauche = 0;
            if (isset($this->largeurGauche)) {
                    $largeurGauche = $this->largeurGauche;
                    $html.="<td height=".$this->hauteurEtiquettes." ".
                    $this->styleBorderHautContenu." width='".
                    $this->largeurGauche."'>&nbsp;</td>";
            }
            
            foreach ($this->ongletsArray as $fieldName => $fieldValue) {
                $className='OngletOff';
                if ($i==$this->numOngletSelected) {
                    $className='OngletOn';
                }
                
                $link = "";
                if ($this->isAncreOnglet==true) {
                    $link = "href='#onglet'";
                }
                
                $link="";
                switch($this->typeOngletsArray[$fieldName]) {
                case 'link':
                    $link = "href='".$this->optionsOngletParType[$fieldName]."'";
                    break;
                default:
                    $link = "onclick=\"".$this->createJSDivCalls($i);
                    /* lien le champs hiddenCourant est un champs cache
                    du formulaire permettant de stocker l'onglet actif courant
                    * */
                    if (isset($this->champHiddenCourant)
                        && $this->champHiddenCourant<>""
                    ) {
                        $link.="document.getElementById('".
                        $this->champHiddenCourant."').value='".$i."';";
                    }
                    $link.="\"";
                    break;
                }
                
                $spaces="";
                if ($this->isSpaceInLibelle == true) {
                    $spaces = "&nbsp;&nbsp;&nbsp;";
                }
                
                $html.="<td height='".$this->hauteurEtiquettes."' width='".
                $this->largeurEtiquette."' id='".
                $this->convertIntituleOnglet($fieldName.$i).$this->idOngletBuilder.
                "_onglet' class='".$className."' >".$spaces.
                "<a style='cursor:pointer;' ".$link;
                $html.=">".$fieldName."</a>".$spaces.
                "</td><td width='4' height='".$this->hauteurEtiquettes.
                "' ".">&nbsp</td>";
                $i++;
                
            }
            // dernier td => pour affichage du border //
            
            
            $html.="<td height='".$this->hauteurEtiquettes."' width='".
            ( $this->largeurTotale - ($i * ($this->largeurEtiquette+4))
            -$largeurGauche).
            "' >&nbsp;</td>";
            
            $styleContours = "";
            if ($this->isContours==true) {
                if (isset($this->styleContoursContenu)) {
                    $styleContours = $this->styleContoursContenu;
                } else {
                    $styleContours = "style='border-left:1px solid #000000;".
                    "border-right:1px solid #000000;".
                    "border-bottom:1px solid #000000;'";
                }
            }
            
            $html.="</tr></table></td></tr><tr><td class='event ".$styleContours.">";
            
            
            // construction des contenus
            $i=0;
            foreach ($this->ongletsArray as $fieldName => $fieldValue) {
                if ($i==$this->numOngletSelected) {
                    $styleDisplay='block';
                    
                } else {
                    $styleDisplay='none';    
                }
                $testedFieldValue=="<table cellspacing='0' cellpadding='0' ".
                "border='0'></table>";
                // cas ou il n'y a pas de photo dans la liste
                if ($fieldValue==$testedFieldValue) {
                    $fieldValue="<table cellspacing='0' width='100%' ".
                    "cellpadding='0'".
                    " border='1'><tr><td><br><center>Pas de document</center>".
                    "</br></td></tr></table>";
                }
                
                $html.="<div id='".$this->convertIntituleOnglet($fieldName.$i).
                $this->idOngletBuilder."' style='display:".$styleDisplay.
                ";'>".$fieldValue."</div>";
                $i++;
            }
            
            
            $html.="</td></tr></table>";
        }
        return $html;
        
    }
546740
protected function getOptions() {

        $published = $this->element['published'] ? (string)$this->element['published'] : array(0, 1);
        $table = $this->element['table'] ? (string)$this->element['table'] : false;

        $db    = $this->form->getDb();
        $query = $db->getQuery(true)
                    ->select('DISTINCT a.id AS value, a.path, a.title AS text, a.level')
                    ->from('#__tags AS a')
                    ->join('LEFT', '#__tags AS b ON a.lft > b.lft AND a.rgt < b.rgt');

        $query->where('a.lft > 0');
        // Filtre par état de publication
        if (is_numeric($published)) {
            $query->where('a.published = ' . (int)$published);
        } elseif (is_array($published)) {
            ArrayHelper::toInteger($published);
            $query->where('a.published IN (' . implode(',', $published) . ')');
        }

        // Filtre par association.
        if ($table) {
            $query->leftJoin('#__tags_map AS c ON c.tag_id = a.id');
            $query->where('c.table_name = ' . $db->quote($table));
        }

        $query->order('a.lft ASC');
        $db->setQuery($query);

        try {
            $options = $db->loadObjectList();
        } catch (\RuntimeException $e) {
            return false;
        }

        // On bloque la possibilité de définir un tag comme son propre parent.
        if ($this->form->getName() == 'tag') {
            $id = (int)$this->form->getValue('id', 0);

            foreach ($options as $option) {
                if ($option->value == $id) {
                    $option->disable = true;
                }
            }
        }

        // On fusionne les options additionnelles venant du XML.
        $options = array_merge(parent::getOptions(), $options);

        // On prépare les options imbriquées.
        if ($this->isNested()) {
            $this->prepareOptionsNested($options);
        } else {
            $options = $this->convertPathsToNames($options);
        }

        return $options;
    }