Exemplo n.º 1
0
 case 'contact':
     $nom = "";
     $prenom = "";
     $email = "";
     if ($authentification->estConnecte()) {
         $utilisateur = new archiUtilisateur();
         $arrayUtilisateur = $utilisateur->getArrayInfosFromUtilisateur($authentification->getIdUtilisateur());
         $nom = $arrayUtilisateur['nom'];
         $prenom = $arrayUtilisateur['prenom'];
         $email = $arrayUtilisateur['mail'];
     }
     $fieldsContactForm['nom']['default'] = $nom;
     $fieldsContactForm['prenom']['default'] = $prenom;
     $fieldsContactForm['email']['default'] = $email;
     $configFormContact['fields'] = $fieldsContactForm;
     $contact = new formGenerator();
     echo $contact->afficherFromArray($configFormContact);
     break;
 case 'affichePopupAttente':
     echo "<div style='text-align:center;" . "border:1px solid #000000;height:148px;'>";
     echo "<div style='padding-top:20px;'>" . "<img src='images/indicator.gif'></div>";
     echo "<div style='padding-top:20px;'>" . "Veuillez patienter, le chargement est en cours...</div>";
     echo "</div>";
     break;
 case 'afficherListeRelative':
     $a = new archiAdresse();
     echo $a->getAdressesMemeLocalite($_GET['archiIdAdresse'], $_GET['archiTypeLocalite']);
     break;
 case 'listeAdressesFromRue':
     $r = new archiRecherche();
     if (isset($_GET['debut'])) {
 public function getFormulaireCommentairesHistorique($idHistoriqueAdresse = 0, $fieldsCommentaires = array(), $type = 'evenement', $id = null)
 {
     $html = "";
     //$e = new archiEvenement();
     //$idHistoriqueAdresse = $e->getIdEvenementGroupeAdresseFromIdEvenement($idHistoriqueAdresse);
     $fieldsCommentaires["idEvenementGroupeAdresse"]['default'] = $idHistoriqueAdresse;
     // si un utilisateur est connecté , on renseigne directement ces infos , mais on lui laisse la possibilité de modifier
     $authentification = new archiAuthentification();
     if ($authentification->estConnecte()) {
         $idUtilisateur = $authentification->getIdUtilisateur();
         $utilisateur = new archiUtilisateur();
         $fetchUtilisateur = $utilisateur->getArrayInfosFromUtilisateur($idUtilisateur);
         // patchs pour que l'on reaffiche les nom prenom et mail une fois le formulaire validé et le commentaire enregistré
         if (isset($this->variablesPost['nom'])) {
             unset($this->variablesPost['nom']);
             unset($_POST['nom']);
         }
         if (isset($this->variablesPost['prenom'])) {
             unset($this->variablesPost['prenom']);
             unset($_POST['prenom']);
         }
         if (isset($this->variablesPost['email'])) {
             unset($this->variablesPost['email']);
             unset($_POST['email']);
         }
         $fieldsCommentaires['nom']['default'] = stripslashes($fetchUtilisateur['nom']);
         $fieldsCommentaires['prenom']['default'] = stripslashes($fetchUtilisateur['prenom']);
         $fieldsCommentaires['email']['default'] = $fetchUtilisateur['mail'];
         $fieldsCommentaires['nom']['type'] = 'hidden';
         $fieldsCommentaires['prenom']['type'] = 'hidden';
         $fieldsCommentaires['email']['type'] = 'hidden';
         unset($fieldsCommentaires['captcha']);
         // pas de captcha quand on est connecté
         $titre = "";
         $type = $fieldsCommentaires['type']['default'];
         switch ($type) {
             case 'evenement':
                 $titre = _("Ajouter un commentaire concernant l'événement");
                 break;
             case 'personne':
                 $titre = _("Ajouter un commentaire concernant la personne");
                 break;
             default:
                 $titre = _("Ajouter un commentaire");
         }
     }
     $help = $this->getHelpMessages('helpEvenement');
     $bbMiseEnFormBoutons = "<div style=''><input type=\"button\" value=\"b\" style=\"width:50px;font-weight:bold\" onclick=\"bbcode_ajout_balise('b', 'formAjoutCommentaireEvenement', 'commentaire');bbcode_keyup(this,'apercu');\" onMouseOver=\"getContextHelp('" . $help["msgGras"] . "');\" onMouseOut=\"closeContextHelp();\"/>\n\t\t\t\t<input type=\"button\" value=\"i\" style=\"width:50px;font-style:italic\" onclick=\"bbcode_ajout_balise('i', 'formAjoutCommentaireEvenement', 'commentaire');bbcode_keyup(this,'apercu');\" onMouseOver=\"getContextHelp('" . $help["msgItalic"] . "');\" onMouseOut=\"closeContextHelp();\"/>\n\t\t\t\t<input type=\"button\" value=\"u\" style=\"width:50px;text-decoration:underline;\" onclick=\"bbcode_ajout_balise('u', 'formAjoutCommentaireEvenement', 'commentaire');bbcode_keyup(this,'apercu');\" onMouseOver=\"getContextHelp('" . $help["msgUnderline"] . "');\" onMouseOut=\"closeContextHelp();\"/>\n\t\t\t\t<input type=\"button\" value=\"quote\" style=\"width:50px\" onclick=\"bbcode_ajout_balise('quote', 'formAjoutCommentaireEvenement', 'commentaire');bbcode_keyup(this,'apercu');\" onMouseOver=\"getContextHelp('" . $help["msgQuotes"] . "');\" onMouseOut=\"closeContextHelp();\"/>\n\t\t\t\t<!--<input type=\"button\" value=\"code\" style=\"width:50px\" onclick=\"bbcode_ajout_balise('code', 'formAjoutCommentaireEvenement', 'commentaire');bbcode_keyup(this,'apercu');\" onMouseOver=\"getContextHelp('{msgCode}');\" onMouseOut=\"closeContextHelp();\" onkeyup=\"bbcode_keyup(this,'apercu');\"/>-->\n\t\t\t\t<input type=\"button\" value=\"url interne\"  style=\"width:75px\" onclick=\"bbcode_ajout_balise('url',  'formAjoutCommentaireEvenement', 'commentaire');bbcode_keyup(this,'apercu');\" onMouseOver=\"getContextHelp('Insérer une adresse WEB interne à archi-strasbourg.org');\" onMouseOut=\"closeContextHelp();\" onkeyup=\"bbcode_keyup(this,'apercu');\"/>\n\t\t\t\t<input type=\"button\" value=\"url externe\"  style=\"width:80px\" onclick=\"bbcode_ajout_balise('urlExterne',  'formAjoutCommentaireEvenement', 'commentaire');bbcode_keyup(this,'apercu');\" onMouseOver=\"getContextHelp('Insérer une adresse WEB externe à archi-strasbourg.org');\" onMouseOut=\"closeContextHelp();\" onkeyup=\"bbcode_keyup(this,'apercu');\"/></div>";
     //$fieldsCommentaires['commentaire']['htmlCodeBeforeField'] = $bbMiseEnFormBoutons;
     $tabCommentaires = array('titrePage' => $titre, 'formName' => 'formAjoutCommentaireEvenement', 'formAction' => $this->creerUrl('enregistreCommentaireEvenement', '', array()), 'tableHtmlCode' => " class='formComment'", 'fields' => $fieldsCommentaires, 'type' => $type);
     $formulaire = new formGenerator();
     $bbCode = new bbCodeObject();
     $jsPop = "\n\t\t\t\t<script>\n\t\t\t\t(function(\$) {\n\t\t\t\t\$(function(){\n\t\t\t\t\$('.addCommentButton').on('click',function(e){\n\t\t\t\te.preventDefault();\n\t\t\t\t\$(e.target).next().next().toggleClass('formComment');\n\t\t\t\t\$(e.target).next().next().toggleClass('activeForm');\n\t});\n\t});\n\t})(jQuery);\n\t\t\t\t</script>\n\t\t\t\t";
     //formAjoutCommentaireEvenement
     //$this->addToJsHeader($jsPop);
     $this->addToJsFooter($jsPop);
     $html .= '<a href="#" class="addCommentButton">Ajouter un commentaire</a>';
     $html .= $formulaire->afficherFromArray($tabCommentaires);
     return $html;
 }
 public function afficheFormulaireModificationElementAdresse($parametres = array())
 {
     // verification des droits
     $a = new archiAuthentification();
     $u = new archiUtilisateur();
     $html = "";
     if ($a->estAdmin() || $u->isAuthorized('admin_rues', $a->getIdUtilisateur()) && $u->isAuthorized('admin_quartiers', $a->getIdUtilisateur()) && $u->isAuthorized('admin_sousQuartiers', $a->getIdUtilisateur())) {
         $htmlDependances = "";
         $t = new Template('modules/archi/templates/');
         $idRue = 0;
         $idQuartier = 0;
         $idSousQuartier = 0;
         $idVille = 0;
         $idPays = 0;
         switch ($parametres['tableName']) {
             case 'rue':
                 $t->set_filenames(array('modificationElementAdresse' => 'modificationElementAdresseRue.tpl'));
                 $idRue = $parametres['id'];
                 $req = "\n                            SELECT r.nom as nomRue, r.prefixe as prefixeRue,sq.idSousQuartier as idSousQuartier,\n                                    q.idQuartier as idQuartier, v.idVille as idVille, p.idPays as idPays\n                            FROM rue r\n                            LEFT JOIN sousQuartier sq ON sq.idSousQuartier = r.idSousQuartier\n                            LEFT JOIN quartier q ON q.idQuartier = sq.idQuartier\n                            LEFT JOIN ville v ON v.idVille = q.idVille\n                            LEFT JOIN pays p ON p.idPays = v.idPays\n                            WHERE idRue = '" . $idRue . "'";
                 $res = $this->connexionBdd->requete($req);
                 if (mysql_num_rows($res) == 1) {
                     $fetch = mysql_fetch_assoc($res);
                     $t->assign_vars(array('intitule' => stripslashes($fetch['nomRue']), 'complement' => stripslashes($fetch['prefixeRue']), 'sousQuartierField' => $this->afficheSelectSousQuartier(array('idQuartier' => $fetch['idQuartier'], 'idSousQuartier' => $fetch['idSousQuartier'])), 'quartierField' => $this->afficheSelectQuartier(array('idVille' => $fetch['idVille'], 'idQuartier' => $fetch['idQuartier'])), 'villeField' => $this->afficheSelectVille(array('idPays' => $fetch['idPays'], 'idVille' => $fetch['idVille'])), 'paysField' => $this->afficheSelectPays(array('idPays' => $fetch['idPays'])), 'idRue' => $idRue));
                 }
                 // ************************************************************************************************************************
                 // affichage des dependances liées a la rue:
                 // ************************************************************************************************************************
                 $htmlDependances .= "<h3>Dependances sur les adresses affichées sur le site</h3>";
                 $arrayDependances = $this->getDependancesFrom($idRue, 'idRue');
                 $lienSupprRue = "";
                 if ($arrayDependances['nbDependances'] == 0) {
                     $lienSupprRue = "<a href='" . $this->creerUrl('supprimerRueFromAdminRue', 'adminElementAdresse', array('tableName' => 'rue', 'idRueSuppr' => $idRue)) . "'>Supprimer la rue</a>";
                 }
                 $htmlDependances .= "nombre de dépendances = " . $arrayDependances['nbDependances'] . " {$lienSupprRue}<br>";
                 $tableau = new tableau();
                 $tableau->addValue("adresses", "style='font-weight:bold'");
                 $tableau->addValue("nombre d'evenements associés", "style='font-weight:bold'");
                 foreach ($arrayDependances['arrayDependances'] as $indice => $value) {
                     $lienSupprAdresse = "";
                     if ($value['nbEvenementsAssocies'] == 0) {
                         $lienSupprAdresse = "&nbsp;&nbsp;&nbsp;<a href='" . $this->creerUrl('supprimerAdresseFromAdminRue', 'adminAdresseDetail', array('tableName' => 'rue', 'idModification' => $idRue, 'idAdresseSuppr' => $value['idAdresse'])) . "'>Supprimer l'adresse</a>";
                     }
                     $tableau->addValue("<a href='" . $this->creerUrl('', 'adresseDetail', array('archiIdAdresse' => $value['idAdresse'])) . "'>" . $this->getIntituleAdresseFrom($value['idAdresse'], 'idAdresse') . "</a>");
                     $tableau->addValue($value['nbEvenementsAssocies'] . $lienSupprAdresse);
                 }
                 $htmlDependances .= $tableau->createHtmlTableFromArray(2);
                 break;
             case 'sousQuartier':
                 $t->set_filenames(array('modificationElementAdresse' => 'modificationElementAdresseSousQuartier.tpl'));
                 $idSousQuartier = $parametres['id'];
                 $req = "\n                        SELECT sq.nom as nomSousQuartier, sq.idSousQuartier as idSousQuartier,\n                                    q.idQuartier as idQuartier, v.idVille as idVille, p.idPays as idPays\n                        FROM sousQuartier sq\n                        LEFT JOIN quartier q ON q.idQuartier = sq.idQuartier\n                        LEFT JOIN ville v ON v.idVille = q.idVille\n                        LEFT JOIN pays p ON p.idPays = v.idPays\n                        WHERE sq.idSousQuartier= '" . $idSousQuartier . "'";
                 $res = $this->connexionBdd->requete($req);
                 if (mysql_num_rows($res) == 1) {
                     $fetch = mysql_fetch_assoc($res);
                     $t->assign_vars(array('intitule' => stripslashes($fetch['nomSousQuartier']), 'quartierField' => $this->afficheSelectQuartier(array('idVille' => $fetch['idVille'], 'idQuartier' => $fetch['idQuartier'], 'noSousQuartier' => true)), 'villeField' => $this->afficheSelectVille(array('idPays' => $fetch['idPays'], 'idVille' => $fetch['idVille'], 'noSousQuartier' => true)), 'paysField' => $this->afficheSelectPays(array('idPays' => $fetch['idPays'], 'noSousQuartier' => true)), 'idSousQuartier' => $idSousQuartier));
                 }
                 // ************************************************************************************************************************
                 // affichage des dependances liées au sous quartier
                 // ************************************************************************************************************************
                 $htmlDependances .= "<h3>Dependances sur les sous quartiers</h3>";
                 $arrayDependances = $this->getDependancesFrom($idSousQuartier, 'idSousQuartier');
                 $htmlDependances .= "nombre de dépendances = " . $arrayDependances['nbDependances'] . "<br>";
                 $tableauAdresses = new tableau();
                 $tableauRues = new tableau();
                 $tableauAdresses->addValue("adresses", "style='font-weight:bold'");
                 $tableauAdresses->addValue("nombre d'evenements associés", "style='font-weight:bold'");
                 $tableauRues->addValue("rues dépendantes de ce sous quartier", "style='font-weight:bold'");
                 foreach ($arrayDependances['arrayDependances'] as $indice => $value) {
                     if (isset($value['idAdresse'])) {
                         $tableauAdresses->addValue("<a href='" . $this->creerUrl('', 'adresseDetail', array('archiIdAdresse' => $value['idAdresse'])) . "'>" . $this->getIntituleAdresseFrom($value['idAdresse'], 'idAdresse') . "</a>");
                         $tableauAdresses->addValue($value['nbEvenementsAssocies']);
                     }
                     if (isset($value['idRue'])) {
                         $intituleRue = $this->getAdresseComplete($value['idRue'], 'rue', array('miseEnForme' => true));
                         $tableauRues->addValue("<a href='" . $this->creerUrl('', 'adminAdresseDetail', array('tableName' => 'rue', 'idModification' => $value['idRue'])) . "'>" . $intituleRue . "</a>");
                     }
                 }
                 $htmlDependances .= $tableauAdresses->createHtmlTableFromArray(2);
                 $htmlDependances .= $tableauRues->createHtmlTableFromArray(1);
                 break;
             case 'quartier':
                 $t->set_filenames(array('modificationElementAdresse' => 'modificationElementAdresseQuartier.tpl'));
                 $idQuartier = $parametres['id'];
                 $req = "\n                            SELECT q.nom as nomQuartier,v.idVille as idVille, p.idPays as idPays\n                            FROM quartier q\n                            LEFT JOIN ville v ON v.idVille = q.idVille\n                            LEFT JOIN pays p ON p.idPays = v.idPays\n                            WHERE q.idQuartier = '" . $idQuartier . "'\n                    ";
                 $res = $this->connexionBdd->requete($req);
                 if (mysql_num_rows($res) == 1) {
                     $fetch = mysql_fetch_assoc($res);
                     $t->assign_vars(array('intitule' => stripslashes($fetch['nomQuartier']), 'villeField' => $this->afficheSelectVille(array('idPays' => $fetch['idPays'], 'idVille' => $fetch['idVille'], 'noSousQuartier' => true, 'noQuartier' => true)), 'paysField' => $this->afficheSelectPays(array('idPays' => $fetch['idPays'], 'noSousQuartier' => true, 'noQuartier' => true)), 'idQuartier' => $idQuartier));
                 }
                 // ************************************************************************************************************************
                 // affichage des dependances liées au  quartier
                 // ************************************************************************************************************************
                 $htmlDependances .= "<h3>Dependances sur quartiers</h3>";
                 $arrayDependances = $this->getDependancesFrom($idQuartier, 'idQuartier');
                 $htmlDependances .= "nombre de dépendances = " . $arrayDependances['nbDependances'] . "<br>";
                 $tableauAdresses = new tableau();
                 $tableauRues = new tableau();
                 $tableauSousQuartiers = new tableau();
                 $tableauAdresses->addValue("adresses", "style='font-weight:bold'");
                 $tableauAdresses->addValue("nombre d'evenements associés", "style='font-weight:bold'");
                 $tableauRues->addValue("rues dépendantes de ce quartier", "style='font-weight:bold'");
                 $tableauSousQuartiers->addValue("sous quartiers dépendants de ce quartier", "style='font-weight:bold'");
                 foreach ($arrayDependances['arrayDependances'] as $indice => $value) {
                     if (isset($value['idAdresse'])) {
                         $tableauAdresses->addValue("<a href='" . $this->creerUrl('', 'adresseDetail', array('archiIdAdresse' => $value['idAdresse'])) . "'>" . $this->getIntituleAdresseFrom($value['idAdresse'], 'idAdresse') . "</a>");
                         $tableauAdresses->addValue($value['nbEvenementsAssocies']);
                     }
                     if (isset($value['idRue'])) {
                         $intituleRue = $this->getAdresseComplete($value['idRue'], 'rue', array('miseEnForme' => true));
                         $tableauRues->addValue("<a href='" . $this->creerUrl('', 'adminAdresseDetail', array('tableName' => 'rue', 'idModification' => $value['idRue'])) . "'>" . $intituleRue . "</a>");
                     }
                     if (isset($value['idSousQuartier'])) {
                         $intituleSousQuartier = $this->getAdresseComplete($value['idSousQuartier'], 'sousQuartier', array('miseEnForme' => true));
                         $tableauSousQuartiers->addValue("<a href='" . $this->creerUrl('', 'adminAdresseDetail', array('tableName' => 'sousQuartier', 'idModification' => $value['idSousQuartier'])) . "'>" . $intituleSousQuartier . "</a>");
                     }
                 }
                 $htmlDependances .= $tableauAdresses->createHtmlTableFromArray(2);
                 $htmlDependances .= $tableauRues->createHtmlTableFromArray(1);
                 $htmlDependances .= $tableauSousQuartiers->createHtmlTableFromArray(1);
                 break;
             case 'ville':
                 $googleMap = new googleMap(array('googleMapKey' => $this->googleMapKey));
                 $jsGoogleMap = "";
                 $jsGoogleMap .= $googleMap->getJsFunctions();
                 $jsGoogleMap .= $googleMap->getJSInitGeoCoder();
                 $jsToExecute = "document.getElementById('formModif').action='" . $this->creerUrl('adminEnregistreModifAdresse', '', $parametres) . "';document.getElementById('formModif').submit();";
                 $arrayJsCoordonneesFromGoogleMap = $googleMap->getJSRetriveCoordonnees(array('nomChampLatitudeRetour' => 'latitude', 'nomChampLongitudeRetour' => 'longitude', 'getAdresseFromElementById' => true, 'jsAdresseValue' => "document.getElementById('intituleVille').value+' '+document.getElementById('pays').options[document.getElementById('pays').selectedIndex].innerHTML", 'jsToExecuteIfOK' => $jsToExecute, 'jsToExecuteIfNoAddressFound' => "document.getElementById('latitude').value='';document.getElementById('longitude').value='';" . $jsToExecute));
                 $jsGoogleMap .= $arrayJsCoordonneesFromGoogleMap['jsFunctionToExecute'];
                 $t->set_filenames(array('modificationElementAdresse' => 'modificationElementAdresseVille.tpl'));
                 $idVille = $parametres['id'];
                 $req = "\n                            SELECT v.nom as nomVille,v.codepostal as codePostal, p.idPays as idPays,v.longitude as longitude, v.latitude as latitude\n                            FROM ville v\n                            LEFT JOIN pays p ON p.idPays = v.idPays\n                            WHERE v.idVille = '" . $idVille . "'\n                    ";
                 $res = $this->connexionBdd->requete($req);
                 if (mysql_num_rows($res) == 1) {
                     $fetch = mysql_fetch_assoc($res);
                     $t->assign_vars(array('jsGoogleMap' => $jsGoogleMap, 'intitule' => stripslashes($fetch['nomVille']), 'codePostal' => $fetch['codePostal'], 'paysField' => $this->afficheSelectPays(array('idPays' => $fetch['idPays'], 'noSousQuartier' => true, 'noQuartier' => true, 'noVille' => true)), 'latitude' => $fetch['latitude'], 'longitude' => $fetch['longitude'], 'idVille' => $idVille));
                 }
                 // ************************************************************************************************************************
                 // affichage des dependances liées a la ville
                 // ************************************************************************************************************************
                 $htmlDependances .= "<h3>Dependances sur la ville</h3>";
                 $arrayDependances = $this->getDependancesFrom($idVille, 'idVille');
                 $htmlDependances .= "nombre de dépendances = " . $arrayDependances['nbDependances'] . "<br>";
                 $tableauAdresses = new tableau();
                 $tableauRues = new tableau();
                 $tableauSousQuartiers = new tableau();
                 $tableauQuartiers = new tableau();
                 $tableauAdresses->addValue("adresses", "style='font-weight:bold'");
                 $tableauAdresses->addValue("nombre d'evenements associés", "style='font-weight:bold'");
                 $tableauRues->addValue("rues dépendantes de cette ville", "style='font-weight:bold'");
                 $tableauSousQuartiers->addValue("sous quartiers dépendants de cette ville", "style='font-weight:bold'");
                 $tableauQuartiers->addValue("quartiers dépendants de cette ville", "style='font-weight:bold'");
                 foreach ($arrayDependances['arrayDependances'] as $indice => $value) {
                     if (isset($value['idAdresse'])) {
                         $tableauAdresses->addValue("<a href='" . $this->creerUrl('', 'adresseDetail', array('archiIdAdresse' => $value['idAdresse'])) . "'>" . $this->getIntituleAdresseFrom($value['idAdresse'], 'idAdresse') . "</a>");
                         $tableauAdresses->addValue($value['nbEvenementsAssocies']);
                     }
                     if (isset($value['idRue'])) {
                         $intituleRue = $this->getAdresseComplete($value['idRue'], 'rue', array('miseEnForme' => true));
                         $tableauRues->addValue("<a href='" . $this->creerUrl('', 'adminAdresseDetail', array('tableName' => 'rue', 'idModification' => $value['idRue'])) . "'>" . $intituleRue . "</a>");
                     }
                     if (isset($value['idSousQuartier'])) {
                         $intituleSousQuartier = $this->getAdresseComplete($value['idSousQuartier'], 'sousQuartier', array('miseEnForme' => true));
                         $tableauSousQuartiers->addValue("<a href='" . $this->creerUrl('', 'adminAdresseDetail', array('tableName' => 'sousQuartier', 'idModification' => $value['idSousQuartier'])) . "'>" . $intituleSousQuartier . "</a>");
                     }
                     if (isset($value['idQuartier'])) {
                         $intituleQuartier = $this->getAdresseComplete($value['idQuartier'], 'quartier', array('miseEnForme' => true));
                         $tableauQuartiers->addValue("<a href='" . $this->creerUrl('', 'adminAdresseDetail', array('tableName' => 'quartier', 'idModification' => $value['idQuartier'])) . "'>" . $intituleQuartier . "</a>");
                     }
                 }
                 $htmlDependances .= $tableauAdresses->createHtmlTableFromArray(2);
                 $htmlDependances .= $tableauRues->createHtmlTableFromArray(1);
                 $htmlDependances .= $tableauSousQuartiers->createHtmlTableFromArray(1);
                 $htmlDependances .= $tableauQuartiers->createHtmlTableFromArray(1);
                 break;
             case 'pays':
                 $t->set_filenames(array('modificationElementAdresse' => 'modificationElementAdressePays.tpl'));
                 $idPays = $parametres['id'];
                 $req = "\n                            SELECT p.nom as nomPays\n                            FROM pays p\n                            WHERE p.idPays = '" . $idPays . "'\n                    ";
                 $res = $this->connexionBdd->requete($req);
                 if (mysql_num_rows($res) == 1) {
                     $fetch = mysql_fetch_assoc($res);
                     $t->assign_vars(array('intitule' => stripslashes($fetch['nomPays']), 'idPays' => $idPays));
                 }
                 // ************************************************************************************************************************
                 // affichage des dependances liées a la ville
                 // ************************************************************************************************************************
                 $htmlDependances .= "<h3>Dependances sur le pays</h3>";
                 $arrayDependances = $this->getDependancesFrom($idPays, 'idPays');
                 $htmlDependances .= "nombre de dépendances = " . $arrayDependances['nbDependances'] . "<br>";
                 $tableauAdresses = new tableau();
                 $tableauRues = new tableau();
                 $tableauSousQuartiers = new tableau();
                 $tableauQuartiers = new tableau();
                 $tableauVilles = new tableau();
                 $tableauAdresses->addValue("adresses", "style='font-weight:bold'");
                 $tableauAdresses->addValue("nombre d'evenements associés", "style='font-weight:bold'");
                 $tableauRues->addValue("rues dépendantes de ce pays", "style='font-weight:bold'");
                 $tableauSousQuartiers->addValue("sous quartiers dépendants de ce pays", "style='font-weight:bold'");
                 $tableauQuartiers->addValue("quartiers dépendants de ce pays", "style='font-weight:bold'");
                 $tableauVilles->addValue("villes dépendantes de ce pays", "style='font-weight:bold'");
                 foreach ($arrayDependances['arrayDependances'] as $indice => $value) {
                     if (isset($value['idAdresse'])) {
                         $tableauAdresses->addValue("<a href='" . $this->creerUrl('', 'adresseDetail', array('archiIdAdresse' => $value['idAdresse'])) . "'>" . $this->getIntituleAdresseFrom($value['idAdresse'], 'idAdresse') . "</a>");
                         $tableauAdresses->addValue($value['nbEvenementsAssocies']);
                     }
                     if (isset($value['idRue'])) {
                         $intituleRue = $this->getAdresseComplete($value['idRue'], 'rue', array('miseEnForme' => true));
                         $tableauRues->addValue("<a href='" . $this->creerUrl('', 'adminAdresseDetail', array('tableName' => 'rue', 'idModification' => $value['idRue'])) . "'>" . $intituleRue . "</a>");
                     }
                     if (isset($value['idSousQuartier'])) {
                         $intituleSousQuartier = $this->getAdresseComplete($value['idSousQuartier'], 'sousQuartier', array('miseEnForme' => true));
                         $tableauSousQuartiers->addValue("<a href='" . $this->creerUrl('', 'adminAdresseDetail', array('tableName' => 'sousQuartier', 'idModification' => $value['idSousQuartier'])) . "'>" . $intituleSousQuartier . "</a>");
                     }
                     if (isset($value['idQuartier'])) {
                         $intituleQuartier = $this->getAdresseComplete($value['idQuartier'], 'quartier', array('miseEnForme' => true));
                         $tableauQuartiers->addValue("<a href='" . $this->creerUrl('', 'adminAdresseDetail', array('tableName' => 'quartier', 'idModification' => $value['idQuartier'])) . "'>" . $intituleQuartier . "</a>");
                     }
                     if (isset($value['idVille'])) {
                         $intituleVille = $this->getAdresseComplete($value['idVille'], 'ville', array('miseEnForme' => true));
                         $tableauVilles->addValue("<a href='" . $this->creerUrl('', 'adminAdresseDetail', array('tableName' => 'ville', 'idModification' => $value['idVille'])) . "'>" . $intituleVille . "</a>");
                     }
                 }
                 $htmlDependances .= $tableauAdresses->createHtmlTableFromArray(2);
                 $htmlDependances .= $tableauRues->createHtmlTableFromArray(1);
                 $htmlDependances .= $tableauSousQuartiers->createHtmlTableFromArray(1);
                 $htmlDependances .= $tableauQuartiers->createHtmlTableFromArray(1);
                 $htmlDependances .= $tableauVilles->createHtmlTableFromArray(1);
                 break;
         }
         switch ($parametres['tableName']) {
             case 'ville':
                 // on adapte le bouton modifier pour que la recherche googleMap des coordonnees se lance a la validation du formulaire
                 $typeButtonModifier = "button";
                 $onClickButtonModifier = $arrayJsCoordonneesFromGoogleMap['jsFunctionCall'];
                 break;
             default:
                 $typeButtonModifier = "submit";
                 $onClickButtonModifier = "document.getElementById('formModif').action='" . $this->creerUrl('adminEnregistreModifAdresse', '', $parametres) . "';";
                 break;
         }
         $t->assign_vars(array('typeElement' => $parametres['tableName'], 'typeButtonModifier' => $typeButtonModifier, 'onClickBoutonModifier' => $onClickButtonModifier, 'onClickBoutonRetour' => "location.href='" . $this->creerUrl('', 'adminElementAdresse', array('tableName' => $parametres['tableName'])) . "';"));
         ob_start();
         $t->pparse('modificationElementAdresse');
         $html .= ob_get_contents();
         $html .= "<br><br><h2>Dependances</h2>";
         $html .= "(concernant les adresses, deux evenements différents peuvent afficher la meme adresse , dans ce cas l'adresse est liée a deux groupes d'adresses différents.<br><br>";
         $html .= $htmlDependances;
         ob_end_clean();
         // dans le cas de la rue , on affiche un onglet pour l'historique des noms de rue
         if ($parametres['tableName'] == 'rue') {
             $d = new dateObject();
             $reqVals = "SELECT * FROM historiqueNomsRues WHERE idRue = '" . $parametres['id'] . "'";
             $resVals = $this->connexionBdd->requete($reqVals);
             $valsIdHistoriques = array();
             $valsIdRues = array();
             $valsAnnees = array();
             $valsNomsRues = array();
             $valsCommentaires = array();
             $valsPrefixes = array();
             $i = 0;
             while ($fetchVals = mysql_fetch_assoc($resVals)) {
                 $valsIdHistoriques[$i] = $fetchVals['idHistoriqueNomRue'];
                 $valsIdRues[$i] = $fetchVals['idRue'];
                 $valsAnnees[$i] = $d->toFrench($fetchVals['annee']);
                 $valsNomsRues[$i] = $fetchVals['nomRue'];
                 $valsCommentaires[$i] = $fetchVals['commentaire'];
                 $valPrefixes[$i] = $fetchVals['prefixe'];
                 $i++;
             }
             if ($i == 0) {
                 $valsIdHistoriques[$i] = '';
                 $valsIdRues[$i] = '';
                 $valsAnnees[$i] = '';
                 $valsNomsRues[$i] = '';
                 $valsCommentaires[$i] = '';
                 $valPrefixes[$i] = '';
             }
             $configForm = array("idHistoriqueNomRue" => array("type" => "hidden", "libelle" => "idHistoriqueNomRue", "defaultValues" => $valsIdHistoriques, "error" => "", "default" => ""), "annee" => array("type" => "date", "libelle" => "annee", "defaultValues" => $valsAnnees, "error" => "", "default" => ""), "prefixe" => array("type" => "text", "libelle" => "prefixe", "defaultValues" => $valPrefixes, "error" => "", "default" => ""), "nomRue" => array("type" => "text", "libelle" => "nomRue", "defaultValues" => $valsNomsRues, "error" => "", "default" => ""), "commentaire" => array("type" => "bigText", "libelle" => "commentaire", "defaultValues" => $valsCommentaires, "error" => "", "default" => ""));
             $f = new formGenerator();
             $arrayFormulaireMultiLignes = $f->getFormulaireMultiLignes(array("configForm" => $configForm, "formAction" => $this->creerUrl('enregistreHistoriqueNomsRues', 'adminAdresseDetail', array("tableName" => 'rue', "idModification" => $parametres['id']))));
             $htmlHistoriqueNomRue = $arrayFormulaireMultiLignes['html'];
             $onglets = new ongletObject();
             $onglets->init(0);
             $onglets->setStyleTable("style='margin:0px;padding:0px;'");
             $onglets->setStyleTableEtiquettes("style='margin:0px;padding:0px;'");
             $onglets->addContent("Modifier un élément de rue ", $html);
             $onglets->addContent("Historique du nom de la rue", $htmlHistoriqueNomRue);
             $html = $onglets->getHTML();
             $html .= $arrayFormulaireMultiLignes['jsAfterMultiLigneArray'];
         }
     } else {
         $erreurObj = new objetErreur();
         $erreurObj->ajouter("Vous n'avez pas les droits pour accéder à cette partie du site");
         echo $erreurObj->afficher();
     }
     return $html;
 }
 /**
  * Affiche une source
  * 
  * @param int $id ID de la source
  * 
  * @return string HTML
  * */
 public function afficher($id)
 {
     $html = '';
     $formulaire = new formGenerator();
     $bbCode = new bbCodeObject();
     if ($formulaire->estChiffre($id) == 1) {
         $sqlId = $id;
     } else {
         echo _("Erreur,  l'id n'est pas valide ! Id automatiquement défini");
         $sqlId = '(SELECT MAX(idSource) FROM source)';
     }
     $sql = "SELECT s.idSource,  s.nom AS nomSource,  s.idTypeSource,  s.description,  tS.nom AS nomTypeSource\n            FROM source s \n            LEFT JOIN typeSource tS USING (idTypeSource) \n            WHERE idSource = " . $sqlId . " LIMIT 1";
     if ($rep = $this->connexionBdd->requete($sql)) {
         $res = mysql_fetch_object($rep);
         $t = new Template('modules/archi/templates/');
         $t->set_filenames(array('ev' => 'source.tpl'));
         $e = new archiEvenement();
         $retourEvenement = $e->afficherListe(array('selection' => 'source', 'id' => $res->idSource));
         $t->assign_vars(array('nom' => stripslashes($res->nomSource), 'nomType' => $res->nomTypeSource, 'description' => stripslashes($res->description), 'urlAjout' => $this->creerUrl('ajouterSource'), 'evenementLies' => $retourEvenement['html']));
         ob_start();
         $t->pparse('ev');
         $html .= ob_get_contents();
         ob_end_clean();
     } else {
         echo _("Erreur,  aucun résultat");
     }
     return $html;
 }
 private function getUserFormMail($idUtilisateur)
 {
     $infosArray = $this->getArrayInfosFromUtilisateur($idUtilisateur);
     $mail = new mailObject();
     if ($infosArray['displayProfilContactForm'] == '1' && $infosArray['mail'] != '' && $mail->isMail($infosArray['mail'])) {
         $authentification = new archiAuthentification();
         $mailUtilisateurConnecte = "";
         if ($authentification->estConnecte()) {
             $idUtilisateurConnecte = $authentification->getIdUtilisateur();
             $mailUtilisateurConnecte = $this->getMailUtilisateur($idUtilisateurConnecte);
             if (!$mail->isMail($mailUtilisateurConnecte)) {
                 $mailUtilisateurConnecte = "";
             }
         }
         $f = new formGenerator();
         $bb = new bbCodeObject();
         $configBoutonsBBCode = array('formName' => 'messagePrive', 'fieldName' => 'message', 'noUrlInterneButton' => true);
         $help = $this->getHelpMessages('helpEvenement');
         foreach ($help as $index => $value) {
             $configBoutonsBBCode[$index] = $value;
         }
         $configBoutonsBBCode["msgQuote"] = "Selectionnez une partie de votre texte pour le mettre entre quotes";
         $configBoutonsBBCode["msgUrlExterne"] = "Tapez une url commencant par http:// ,  et selectionnez la pour en faire un lien";
         $arrayBBCode = $bb->getBoutonsMiseEnFormeTextArea($configBoutonsBBCode);
         if ($authentification->estConnecte()) {
             $configFieldsContact = array('idUtilisateurDestinataire' => array('type' => 'hidden', 'value' => '', 'forceValueTo' => $idUtilisateur, 'htmlCode' => '', 'default' => '', 'error' => '', 'required' => true), 'mailEnvoyeur' => array('type' => 'email', 'value' => '', 'forceValueTo' => $mailUtilisateurConnecte, 'htmlCode' => '', 'default' => '', 'libelle' => 'Votre mail', 'error' => '', 'required' => true), 'message' => array('type' => 'bigText', 'value' => '', 'htmlCode' => "style='width:400px;height:100px;'", 'default' => '', 'libelle' => 'Votre message', 'error' => '', 'required' => true, 'htmlCodeBeforeField' => $arrayBBCode['boutonsHTML']));
         } else {
             $configFieldsContact = array('idUtilisateurDestinataire' => array('type' => 'hidden', 'value' => '', 'forceValueTo' => $idUtilisateur, 'htmlCode' => '', 'default' => '', 'error' => '', 'required' => true), 'mailEnvoyeur' => array('type' => 'email', 'value' => '', 'forceValueTo' => $mailUtilisateurConnecte, 'htmlCode' => '', 'default' => '', 'libelle' => 'Votre mail', 'error' => '', 'required' => true), 'message' => array('type' => 'bigText', 'value' => '', 'htmlCode' => "style='width:400px;height:100px;'", 'default' => '', 'libelle' => 'Votre message', 'error' => '', 'required' => true, 'htmlCodeBeforeField' => $arrayBBCode['boutonsHTML']), 'captcha' => array('type' => 'captcha', 'value' => '', 'htmlCode' => "", 'default' => '', 'libelle' => 'Vérification', 'error' => '', 'required' => true));
         }
         if (isset($this->variablesPost['message'])) {
             $errors = $f->getArrayFromPost($configFieldsContact);
             $complementMsgVisiteAdresse = "";
             if (isset($this->variablesGet['archiIdEvenementGroupeAdresseOrigine']) && $this->variablesGet['archiIdEvenementGroupeAdresseOrigine'] != '') {
                 // recuperation de l'intitule de l'adresse
                 $adresse = new archiAdresse();
                 $idAdresseMessage = $adresse->getIdAdresseFromIdEvenementGroupeAdresse($this->variablesGet['archiIdEvenementGroupeAdresseOrigine']);
                 $intituleAdresse = $adresse->getIntituleAdresseFrom($this->variablesGet['archiIdEvenementGroupeAdresseOrigine'], 'idEvenementGroupeAdresse', array('ifTitreAfficheTitreSeulement' => true, 'noQuartier' => true, 'noSousQuartier' => true, 'noVille' => true));
                 $complementMsgVisiteAdresse = " à visité l'adresse <a href='" . $this->creerUrl('', '', array('archiAffichage' => 'adresseDetail', 'archiIdAdresse' => $idAdresseMessage, 'archiIdEvenementGroupeAdresse' => $this->variablesGet['archiIdEvenementGroupeAdresseOrigine'])) . "'>" . $intituleAdresse . "</a> et";
             }
             if (count($errors) == 0) {
                 // envoi du mail
                 $contenu = "Bonjour, <br><br>";
                 $contenu .= "Un utilisateur d'archi-strasbourg (<a href=\"mailto:" . $this->variablesPost['mailEnvoyeur'] . "\">" . $this->variablesPost['mailEnvoyeur'] . "</a>){$complementMsgVisiteAdresse} vous envoie un message privé :<br><br>";
                 $contenu .= stripslashes($bb->convertToDisplay(array('text' => $this->variablesPost['message'])));
                 $contenu .= "";
                 $contenu .= "";
                 if ($mail->sendMail($this->siteMail, $infosArray['mail'], "Un utilisateur d'archi-strasbourg vous envoie un message", $contenu, $writeMailToLogs = false, $this->variablesPost['mailEnvoyeur'])) {
                     echo "<span style='color:red;'>Mail envoyé.</span>";
                 }
             }
         }
         $arrayUrlViensDeAdresse = array();
         if (isset($this->variablesGet['archiIdEvenementGroupeAdresseOrigine']) && $this->variablesGet['archiIdEvenementGroupeAdresseOrigine'] != '') {
             $arrayUrlViensDeAdresse = array('archiIdEvenementGroupeAdresseOrigine' => $this->variablesGet['archiIdEvenementGroupeAdresseOrigine']);
         }
         $configForm = array('formAction' => $this->creerUrl('', 'detailProfilPublique', array_merge($arrayUrlViensDeAdresse, array('archiIdUtilisateur' => $idUtilisateur))), 'fields' => $configFieldsContact, 'formName' => 'messagePrive', 'codeHtmlInFormAfterFields' => "Prévisualisation :" . $arrayBBCode['divAndJsAfterForm']);
         $html .= "<br><br><h2>Lui envoyer un message personnel :</h2>";
         $html .= $f->afficherFromArray($configForm);
     }
     return $html;
 }
 /**
  * Fonction qui affiche la liste des photos suivant les criteres fournis dans le tableau 'criteres'
  *
  * @param array $criteres Critères
  *
  * @return string HTML
  * */
 public function afficherListe($criteres = array())
 {
     $html = '';
     $html .= $this->afficherFormulaireRecherche();
     $formulaire = new formGenerator();
     $t = new Template('modules/archi/templates/');
     $t->set_filenames(array('detailImage' => 'listeImages.tpl'));
     $tabParametresAutorises = array('ordre', 'tri', 'nbEnregistrements', 'selection', 'id', "motCle", "dateUploadDu", "dateUploadAu", "datePriseDeVueDu", "datePriseDeVueAu", "pageCourante");
     // lien pour l'ajout d'une ou plusieur images dans la bibliotheque ,  sans préciser si celle(s) ci appartient (iennent) à une adresse ou un evenement
     $t->assign_vars(array('lienAjoutImage' => $this->creerUrl('', 'ajoutImageBibliotheque')));
     foreach ($tabParametresAutorises as $param) {
         if (isset($this->variablesPost[$param]) and !isset($criteres[$param])) {
             $criteres[$param] = $this->variablesPost[$param];
         }
     }
     foreach ($tabParametresAutorises as $param) {
         if (isset($this->variablesGet[$param]) and !isset($criteres[$param])) {
             $criteres[$param] = $this->variablesGet[$param];
         }
     }
     if (!isset($criteres['pageCourante'])) {
         $criteres['pageCourante'] = 1;
     }
     if (!isset($criteres['selection']) or !isset($criteres['id']) or $formulaire->estChiffre($criteres['id']) != 1) {
         $sqlWhere = '1=1';
     } else {
         switch ($criteres['selection']) {
             case 'utilisateur':
                 $sqlWhere = 'hI.idUtilisateur=' . $criteres['id'];
                 break;
             default:
                 $sqlWhere = '1=1';
         }
     }
     if (!isset($criteres['ordre'])) {
         $sqlOrdre = 'hI.nom';
     } else {
         switch ($criteres['ordre']) {
             case 'nom':
                 $sqlOrdre = 'hI.nom';
                 break;
             case 'description':
                 $sqlOrdre = 'hI.description';
                 break;
             case 'source':
                 $sqlOrdre = 'nomSource';
                 break;
             case 'dateAjout':
                 $sqlOrdre = 'hI.dateUpload';
                 break;
             default:
                 $sqlOrdre = 'hI.nom';
         }
     }
     if (isset($criteres['tri'])) {
         if ($criteres['tri'] == 'desc') {
             $sqlTri = 'DESC';
         } else {
             $sqlTri = 'ASC';
         }
     } else {
         $sqlTri = 'ASC';
     }
     // ***********************************
     // criteres sur les dates
     //  **********************************
     $sqlRecherche = "";
     // criteres sur les dates d'upload
     if (isset($criteres['dateUploadDu']) && $criteres['dateUploadDu'] != '' && (!isset($criteres['dateUploadAu']) || $criteres['dateUploadAu'] == '')) {
         $sqlRecherche .= " and hI.dateUpload='" . $this->date->toBdd($criteres['dateUploadDu']) . "' ";
     }
     if (isset($criteres['dateUploadDu']) && $criteres['dateUploadDu'] != '' && (!isset($criteres['dateUploadAu']) || $criteres['dateUploadAu'] == '')) {
         $sqlRecherche .= " and hI.dateUpload='" . $this->date->toBdd($criteres['dateUploadDu']) . "' ";
     }
     if (isset($criteres['dateUploadDu']) && $criteres['dateUploadDu'] != '' && isset($criteres['dateUploadAu']) && $criteres['dateUploadAu'] != '') {
         $sqlRecherche .= " and hI.dateUpload>='" . $this->date->toBdd($criteres['dateUploadDu']) . "' and hI.dateUpload<='" . $criteres['dateUploadAu'] . "' ";
     }
     // criteres sur les dates de prises de vues
     if (isset($criteres['datePriseDeVueDu']) && $criteres['datePriseDeVueDu'] != '' && (!isset($criteres['datePriseDeVuAu']) || $criteres['datePriseDeVuAu'] == '')) {
         $sqlRecherche .= " and hI.dateCliche='" . $this->date->toBdd($criteres['datePriseDeVueDu']) . "' ";
     }
     if (isset($criteres['datePriseDeVueDu']) && $criteres['datePriseDeVueDu'] != '' && (!isset($criteres['datePriseDeVueAu']) || $criteres['datePriseDeVueAu'] == '')) {
         $sqlRecherche .= " and hI.dateCliche='" . $this->date->toBdd($criteres['datePriseDeVueDu']) . "' ";
     }
     if (isset($criteres['datePriseDeVueDu']) && $criteres['datePriseDeVueDu'] != '' && isset($criteres['datePriseDeVueAu']) && $criteres['datePriseDeVueAu'] != '') {
         $sqlRecherche .= " and hI.dateCliche>='" . $criteres['datePriseDeVueDu'] . "' and hI.dateCliche<='" . $criteres['datePriseDeVueAu'] . "' ";
     }
     // criteres sur le nom/description
     if (isset($criteres['motCle']) && $criteres['motCle'] != '') {
         $sqlRecherche .= " and ( ";
         $arrayListeMots = explode(" ", $criteres['motCle']);
         foreach ($arrayListeMots as $indice => $value) {
             $sqlRecherche .= " hI.nom LIKE \"%" . $value . "%\" or hI.description LIKE \"%" . $value . "%\" or ";
         }
         if (count($arrayListeMots) > 0) {
             $sqlRecherche = substr($sqlRecherche, 0, pia_strlen($sqlRecherche) - 3);
         }
         $sqlRecherche .= ") ";
     }
     //  **********************************
     // nombre d'images totales
     //$sqlNbEnregistrements = "SELECT distinct idImage from historiqueImage WHERE ".$sqlWhere.;
     $sqlNbEnregistrements = "SELECT hI.nom,  hI.idImage,  CONCAT(hI.dateUpload,  '/',  hI.idHistoriqueImage) AS urlImage,  hI.description,  s.nom AS nomSource\n            FROM historiqueImage hI2,  historiqueImage hI\n            LEFT JOIN source s USING (idSource)\n            WHERE " . $sqlWhere . " AND hI.idImage = hI2.idImage\n            " . $sqlRecherche . "\n            GROUP BY hI.idImage,  hI.idHistoriqueImage HAVING hI.idHistoriqueImage=MAX(hI2.idHistoriqueImage)\n            ORDER BY " . $sqlOrdre . " " . $sqlTri;
     $resNbEnregistrements = $this->connexionBdd->requete($sqlNbEnregistrements);
     $nbEnregistrementTotaux = mysql_num_rows($resNbEnregistrements);
     // nombre d'images affichées sur une page
     $nbEnregistrementsParPage = 5;
     $arrayPagination = $this->pagination(array('nomParamPageCourante' => 'pageCourante', 'nbEnregistrementsParPage' => $nbEnregistrementsParPage, 'nbEnregistrementsTotaux' => $nbEnregistrementTotaux, 'typeLiens' => 'formulaire', 'champPageCourante' => 'pageCourante', 'idFormulaire' => 'rechercheImages'));
     echo $arrayPagination['html'];
     $sql = "SELECT hI.nom,  hI.idImage,  CONCAT(hI.dateUpload,  '/',  hI.idHistoriqueImage) AS urlImage,  hI.description,  s.nom AS nomSource\n            FROM historiqueImage hI2,  historiqueImage hI\n            LEFT JOIN source s USING (idSource)\n            WHERE " . $sqlWhere . " AND hI.idImage = hI2.idImage\n            " . $sqlRecherche . "\n            GROUP BY hI.idImage,  hI.idHistoriqueImage HAVING hI.idHistoriqueImage=MAX(hI2.idHistoriqueImage)\n            ORDER BY " . $sqlOrdre . " " . $sqlTri . " LIMIT " . $arrayPagination['limitSqlDebut'] . ",  " . $nbEnregistrementsParPage;
     $rep = $this->connexionBdd->requete($sql);
     $t->assign_vars(array('nbReponses' => $nbEnregistrementTotaux));
     if ($nbEnregistrementTotaux > 0) {
         $tabLiens = array(array('titre' => 'Image', 'url' => '', 'urlOnClick' => '', 'urlDesc' => '', 'urlDescOnClick' => '', 'urlAsc' => '', 'urlAscOnClick' => ''), array('titre' => 'nom', 'url' => $this->creerUrl('', '', array_merge($this->variablesGet, array('ordre' => 'nom', 'pageCourante' => 1))), 'urlOnClick' => '', 'urlDesc' => $this->creerUrl('', '', array_merge($this->variablesGet, array('ordre' => 'nom', 'pageCourante' => 1, 'tri' => 'desc'))), 'urlDescOnClick' => '', 'urlAsc' => $this->creerUrl('', '', array_merge($this->variablesGet, array('ordre' => 'nom', 'pageCourante' => 1, 'tri' => 'asc'))), 'urlAscOnClick' => ''), array('titre' => 'description', 'url' => $this->creerUrl('', '', array_merge($this->variablesGet, array('ordre' => 'description', 'pageCourante' => 1))), 'urlOnClick' => '', 'urlDesc' => $this->creerUrl('', '', array_merge($this->variablesGet, array('ordre' => 'description', 'pageCourante' => 1, 'tri' => 'desc'))), 'urlDescOnClick' => '', 'urlAsc' => $this->creerUrl('', '', array_merge($this->variablesGet, array('ordre' => 'description', 'pageCourante' => 1, 'tri' => 'asc'))), 'urlAscOnClick' => ''), array('titre' => 'source', 'url' => $this->creerUrl('', '', array_merge($this->variablesGet, array('ordre' => 'source', 'pageCourante' => 1))), 'urlOnClick' => '', 'urlDesc' => $this->creerUrl('', '', array_merge($this->variablesGet, array('ordre' => 'source', 'pageCourante' => 1, 'tri' => 'desc'))), 'urlDescOnClick' => '', 'urlAsc' => $this->creerUrl('', '', array_merge($this->variablesGet, array('ordre' => 'source', 'pageCourante' => 1, 'tri' => 'asc'))), 'urlAscOnClick' => ''));
         $nbLiens = count($tabLiens);
         for ($i = 0; $i < $nbLiens; $i++) {
             $t->assign_block_vars('liens', $tabLiens[$i]);
         }
         while ($res = mysql_fetch_object($rep)) {
             $t->assign_block_vars('image', array('url' => $this->creerUrl('', 'imageDetail', array('archiIdImage' => $res->idImage)), 'urlImage' => $this->getUrlImage("mini") . $res->urlImage, 'nom' => htmlspecialchars(stripslashes($res->nom)), 'description' => htmlspecialchars(stripslashes($res->description)), 'source' => $res->nomSource));
         }
     }
     ob_start();
     $t->pparse('detailImage');
     $html .= ob_get_contents();
     ob_end_clean();
     return $html;
 }
 /**
  * Affichage du formulaire d'ajout/édition
  * 
  * @param array $params Paramètres
  * 
  * @return string HTML
  * */
 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();\">\n        <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();\">\n        <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();\">\n        ";
     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>\n                function injectInTinyMce(txt)\n                {\n                    tinyMCE.execInstanceCommand('texte','mceInsertContent',false,txt);\n                }\n                \n                function goRedim(idActualite)\n                {\n                    // validation du formulaire pour creer l'identifiant de l'actu et pouvoir ranger les photos\n                    document.getElementById('formActu').submit();\n                }\n            </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;
 }
 /**
  * Afficher une personne
  *
  * @param int $id ID
  *
  * @return string HTML
  * */
 public function afficher($id)
 {
     $html = '';
     $formulaire = new formGenerator();
     if ($formulaire->estChiffre($id) == 1) {
         $sql = 'SELECT p.nom as nom, p.prenom as prenom,  m.nom as metier,  p.idPersonne as idPersonne,  p.dateNaissance as dateNaissance,  p.dateDeces as dateDeces,  p.description as description
                 FROM personne p
                 LEFT JOIN metier m ON m.idMetier = p.idMetier
                 WHERE p.idPersonne=' . $id . ' LIMIT 1';
         $rep = $this->connexionBdd->requete($sql);
         if (mysql_num_rows($rep) == 1) {
             $res = mysql_fetch_object($rep);
             $t = new Template('modules/archi/templates/');
             $t->set_filenames(array('pe' => 'personne.tpl'));
             $e = new archiEvenement();
             $t->assign_vars(array('prenom' => $res->prenom, 'nom' => $res->nom, 'metier' => $res->metier, 'dateNaissance' => $this->date->toFrench($res->dateNaissance), 'dateDeces' => $this->date->toFrench($res->dateDeces), 'description' => $res->description, 'urlAjout' => $this->creerUrl('ajouterPersonne'), 'evenementLies' => $e->afficherListe(array('selection' => 'personne', 'id' => $res->idPersonne))));
             ob_start();
             $t->pparse('pe');
             $html .= ob_get_contents();
             ob_end_clean();
         } else {
             $html .= 'ERREUR aucun résultat !';
         }
     } else {
         $html .= 'ERREUR mauvais ID!';
     }
     return $html;
 }
 public function afficheResultatsRechercheAvancee($params = array())
 {
     $html = "";
     $modeAffichage = 'recherche';
     $formulaire = new formGenerator();
     if (isset($this->variablesGet['submitRechercheAvancee'])) {
         $adresses = new archiAdresse();
         $tabForm = array('motcle' => array('default' => '', 'value' => '', 'required' => false, 'error' => '', 'type' => 'text'), 'pays' => array('default' => '0', 'value' => '', 'required' => false, 'error' => '', 'type' => 'numeric', 'checkExist' => array('table' => 'pays', 'primaryKey' => 'idPays')), 'ville' => array('default' => '0', 'value' => '', 'required' => false, 'error' => '', 'type' => 'numeric', 'checkExist' => array('table' => 'ville', 'primaryKey' => 'idVille')), 'quartier' => array('default' => '0', 'value' => '', 'required' => false, 'error' => '', 'type' => 'numeric', 'checkExist' => array('table' => 'quartier', 'primaryKey' => 'idQuartier')), 'sousQuartier' => array('default' => '0', 'value' => '', 'required' => false, 'error' => '', 'type' => 'numeric', 'checkExist' => array('table' => 'sousQuartier', 'primaryKey' => 'idSousQuartier')), 'rue' => array('default' => '0', 'value' => '', 'required' => false, 'error' => '', 'type' => 'multiple', 'checkExist' => array('table' => 'rue', 'primaryKey' => 'idRue')), 'courant' => array('default' => '0', 'value' => '', 'required' => false, 'error' => '', 'type' => 'multiple', 'checkExist' => array('table' => 'courantArchitectural', 'primaryKey' => 'idCourantArchitectural')), 'typeStructure' => array('default' => '0', 'value' => '', 'required' => false, 'error' => '', 'type' => 'numeric', 'checkExist' => array('table' => 'typeStructure', 'primaryKey' => 'idTypeStructure')), 'typeEvenement' => array('default' => '0', 'value' => '', 'required' => false, 'error' => '', 'type' => 'numeric', 'checkExist' => array('table' => 'typeEvenement', 'primaryKey' => 'idTypeEvenement')), 'source' => array('default' => '0', 'value' => '', 'required' => false, 'error' => '', 'type' => 'numeric', 'checkExist' => array('table' => 'source', 'primaryKey' => 'idSource')), 'personnes' => array('default' => 'aucune', 'value' => '', 'required' => false, 'error' => '', 'type' => 'multiple', 'checkExist' => array('table' => 'personne', 'primaryKey' => 'idPersonne')), 'anneeDebut' => array('default' => '', 'value' => '', 'required' => false, 'error' => '', 'type' => 'numeric'), 'anneeFin' => array('default' => '', 'value' => '', 'required' => false, 'error' => '', 'type' => 'numeric'), 'MH' => array('default' => '', 'value' => '', 'required' => false, 'error' => '', 'type' => 'checkbox'), 'ISMH' => array('default' => '', 'value' => '', 'required' => false, 'error' => '', 'type' => 'checkbox'));
         $erreur = $formulaire->getArrayFromPost($tabForm, $_GET);
         if (count($erreur) == 0) {
             foreach ($tabForm as $nom => $valeur) {
                 $criteres['recherche_' . $nom] = $valeur['value'];
             }
             if (isset($this->variablesGet['afficheResultatsSurCarte']) && $this->variablesGet['afficheResultatsSurCarte'] == '1') {
                 $checkedCheckBox = true;
                 $adresses = new archiAdresse();
                 $retourAdresses = $adresses->afficherListe($criteres, $modeAffichage, array('sqlLimitExterne' => "150"));
                 // on limite les resultats a 150 pour avoir au moins 100 groupes d'adresses différents
                 //$arrayIdAdresses = $retourAdresses['arrayIdAdresses'];
                 $arrayIdEvenementsGA = $retourAdresses['arrayIdEvenementsGroupeAdresse'];
                 $gm = new googleMap(array('googleMapKey' => $this->googleMapKey, 'width' => 700, 'height' => 500, 'zoom' => 13));
                 $this->addToJsHeader($gm->getJsFunctions());
                 // ajout des fonctions de google map dans le header
                 // on affiche uniquement les 100 premieres coordonnées
                 // preparation du tableau de liste de coordonnées a transmettre a la classe googlemap
                 $listeCoordonnees = array();
                 $arrayIdEvenementGroupeAdressesConfigGMap = array();
                 for ($i = 0; $i < 100 && isset($arrayIdEvenementsGA[$i]); $i++) {
                     $reqCoordonnees = "\n\t\t\t\t\t\t\t\tSELECT     IF(ae.latitudeGroupeAdresse<>'0',ae.latitudeGroupeAdresse,ha1.latitude) as latitude,\n\t\t\t\t\t\t\t\tIF(ae.longitudeGroupeAdresse<>'0', ae.longitudeGroupeAdresse,ha1.longitude) as longitude\n\t\t\t\t\t\t\t\tFROM historiqueAdresse ha2, historiqueAdresse ha1\n\t\t\t\t\t\t\t\tLEFT JOIN _adresseEvenement ae ON ae.idAdresse = ha1.idAdresse\n\t\t\t\t\t\t\t\tWHERE ha2.idAdresse = ha1.idAdresse\n\t\t\t\t\t\t\t\tAND ha1.longitude!=''\n\t\t\t\t\t\t\t\tAND ha1.latitude!=''\n\t\t\t\t\t\t\t\tAND ha1.longitude!='0'\n\t\t\t\t\t\t\t\tAND ha1.latitude!='0'\n\t\t\t\t\t\t\t\tAND ha1.longitude IS NOT NULL\n\t\t\t\t\t\t\t\tAND ha1.latitude IS NOT NULL\n\t\t\t\t\t\t\t\tAND ae.idEvenement = '" . $arrayIdEvenementsGA[$i] . "'\n\t\t\t\t\t\t\t\t\t\tGROUP BY ha1.idAdresse,ha1.idHistoriqueAdresse\n\t\t\t\t\t\t\t\t\t\tHAVING ha1.idHistoriqueAdresse = max(ha2.idHistoriqueAdresse)\n\n\t\t\t\t\t\t\t\t\t\t";
                     $resCoordonnees = $this->connexionBdd->requete($reqCoordonnees);
                     $arrayIdEvenementGroupeAdressesConfigGMap[$i]['idEvenementGroupeAdresse'] = $arrayIdEvenementsGA[$i];
                     if (mysql_num_rows($resCoordonnees) > 0) {
                         $fetchCoordonnees = mysql_fetch_assoc($resCoordonnees);
                         $arrayIdEvenementGroupeAdressesConfigGMap[$i]['longitude'] = $fetchCoordonnees['longitude'];
                         $arrayIdEvenementGroupeAdressesConfigGMap[$i]['latitude'] = $fetchCoordonnees['latitude'];
                     } else {
                         $arrayIdEvenementGroupeAdressesConfigGMap[$i]['longitude'] = 0;
                         $arrayIdEvenementGroupeAdressesConfigGMap[$i]['latitude'] = 0;
                     }
                 }
                 $retourConfig = $adresses->getArrayGoogleMapConfigCoordonneesFromCenter(array('arrayIdEvenementsGroupeAdresse' => $arrayIdEvenementGroupeAdressesConfigGMap));
                 $html = "<h1>" . _("Résultats de la recherche avancée :") . "</h1>";
                 if ($retourAdresses['nbAdresses'] == 0) {
                     $html .= _("aucun résultat.") . "<br><br>";
                 } else {
                     $html .= "<br>" . $retourAdresses['nbAdresses'] . " " . _("résultats.") . "<br>";
                 }
                 $html .= $gm->getMap(array('listeCoordonnees' => $retourConfig['arrayConfigCoordonnees'], 'urlImageIcon' => $this->urlImages . "pointGM.png", 'pathImageIcon' => $this->getCheminPhysique() . "images/pointGM.png", 'setAutomaticCentering' => true));
             } else {
                 $retourAdresses = $adresses->afficherListe($criteres, $modeAffichage);
                 if ($retourAdresses['nbAdresses'] == 0) {
                     $html = "<h1>" . _("Adresses :") . "</h1>";
                     $html .= _("Aucun résultat.");
                 } else {
                     $html = $retourAdresses['html'];
                 }
             }
         }
     }
     return $html;
 }
Exemplo n.º 10
0
function LoadData()
{
    // First mount array with parameters
    $fr = new formGenerator();
    $fr->logErrors = true;
    // It log errors when validate
    $fr->addInput('', 'hidden', 'UserID', 'nothing');
    $fr->addInput('Usuario', 'text', 'username', '', true, 'Usuario', array('class' => 'prueba'));
    $fr->addInput('Password:'******'password', 'password');
    $fr->addInput('Email', 'email', 'email', '', false, 'Tu email');
    $fr->addInput('Tu web', 'url', 'tu_web', 'http://', false, 'Web personal');
    $fr->addSeparator();
    $fr->addNumber('Edad', 'age', '', false, false, 2, 100, 2, false);
    $fr->addNumber('Salario', 'salario', '', true, false, 2, 100, 2);
    $fr->addDate('Fecha', 'fecha', '', false, false, '', '', '', false);
    $fr->addSeparator();
    $fr->addSelect('RANK', 'RANK', array('test', 'test2'));
    // Some option autocreated, Is required use addRadio, NOT addINPUT
    // in this case, the value is the same that text to show, so key is optional (is incremental)
    $fr->addRadio('Valoration', 'valoration', array(0 => '0', 5 => '5', 10 => '10'), null, true);
    $fr->addCheck('Accept conditions', 'accept conditions', '1');
    $fr->addSeparator();
    $fr->addSubmit('send', 'Enviar');
    return $fr;
}