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 = " <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; }