/[openfoncier]/trunk/app/geolocalisation.view.php
ViewVC logotype

Contents of /trunk/app/geolocalisation.view.php

Parent Directory Parent Directory | Revision Log Revision Log


Revision 2367 - (show annotations)
Thu Oct 3 10:18:04 2013 UTC (11 years, 4 months ago) by softime
File size: 10924 byte(s)
Modification du tagert des liens qui pointent vers app/redirect_plan_sig.php

1 <?php
2 /**
3 *
4 *
5 * @package openfoncier
6 * @version SVN : $Id$
7 */
8
9 // Fichiers requis
10 require_once "../obj/utils.class.php";
11 require_once '../obj/om_formulaire.class.php';
12
13 $idx = (isset($_GET['idx'])) ? $_GET['idx'] : "";
14
15 //Si l'identifiant du dossier d'instruction a été fourni
16 if (!is_null($idx)){
17 // Instance de la class utils
18 $f = new utils("nohtml", "geolocalisation_consulter", _("Geolocalisation"));
19
20 // Récupération des données de sig_elyx
21 $sqlDonneesSIG = "SELECT *
22 FROM ".DB_PREFIXE."sig_elyx
23 WHERE dossier = '$idx'";
24 $resDonneesSIG = $f->db->query($sqlDonneesSIG);
25 $f->addToLog("app/geolocalisation.view.php : db->query(\"".$sqlDonneesSIG."\")", VERBOSE_MODE);
26 $f->isDatabaseError($resDonneesSIG);
27 $rowDonneesSIG = &$resDonneesSIG->fetchRow(DB_FETCHMODE_ASSOC);
28
29 // Récupération des données du dossier d'instruction
30 $sqlDonneesDI = "SELECT dossier, geom, dossier_libelle,
31 terrain_references_cadastrales, terrain_adresse_voie_numero,
32 terrain_adresse_voie, terrain_adresse_lieu_dit, terrain_adresse_localite,
33 terrain_adresse_code_postal, terrain_adresse_bp, terrain_adresse_cedex,
34 servitude
35 FROM ".DB_PREFIXE."dossier
36 WHERE dossier = '$idx'";
37 $resDonneesDI = $f->db->query($sqlDonneesDI);
38 $f->addToLog("app/geolocalisation.view.php : db->query(\"".$sqlDonneesDI."\")", VERBOSE_MODE);
39 $f->isDatabaseError($resDonneesDI);
40 $rowDonneesDI = &$resDonneesDI->fetchRow(DB_FETCHMODE_ASSOC);
41
42 //
43 $geom = "";
44 //
45 if (isset($rowDonneesDI) && $rowDonneesDI['geom'] != '') {
46 //
47 $sqlGEOM = "SELECT public.ST_AsText('".$rowDonneesDI['geom']."'::geometry)";
48 $geom = $f->db->getOne($sqlGEOM);
49 $f->addToLog("app/geolocalisation.view.php : db->getOne(\"".$sqlGEOM."\")", VERBOSE_MODE);
50 }
51
52 // Affichage du fil d'Ariane
53 $f->displaySubTitle(_("Geolocalisation") . "->" . $rowDonneesDI["dossier_libelle"]);
54 $f->display();
55
56 // Message affiché
57 $message_field = '<div class="message ui-widget ui-corner-all ui-state-highlight ui-state-%s" id="%s">
58 <p>
59 <span class="ui-icon ui-icon-info"></span>
60 <span class="text">%s<br></span>
61 </p>
62 </div>';
63
64 // Message d'erreur si les références cadastrales ont été modifiées
65 // dans le dossier d'instruction
66 if (isset($rowDonneesSIG["terrain_references_cadastrales_archive"]) &&
67 $rowDonneesSIG["terrain_references_cadastrales_archive"] != $rowDonneesDI["terrain_references_cadastrales"]) {
68
69 $messageRefCadUtilisees = (is_null($rowDonneesSIG["terrain_references_cadastrales_archive"])&&
70 $rowDonneesSIG["terrain_references_cadastrales_archive"]!="")?
71 _("Les references cadastrales utilisees par le SIG")." : ".
72 $rowDonneesSIG["terrain_references_cadastrales_archive"] :
73 _("Aucune reference cadastrale n'est renseignee pour le SIG");
74
75 printf($message_field, "error", "geolocalisation-message",
76 "<p>"._("Les references cadastrales ont ete modifiees dans le dossier d'instruction.")."</p>".
77 "<p>".$messageRefCadUtilisees."</p>");
78 }
79
80 // Bouton retour
81 $button_return = '<div class="formControls">
82 <a id="retour-button" onclick="redirectPortletAction(1,\'main\');" href="#" class="retour">Retour</a>
83 </div>';
84
85 // Affiche le bouton de retour
86 printf($button_return);
87
88 // Début du formulaire
89 printf("\n<!-- ########## START FORMULAIRE ########## -->\n");
90 printf("<div class=\"formEntete ui-corner-all\">\n");
91
92 // Champ pour le bouton
93 $button_field = '<div class="field field-type-static">
94 <div class="form-libelle">
95 <label id="lib-%1$s" class="libelle-%1$s" for="%1$s">
96 %2$s
97 </label>
98 </div>
99 <div class="form-content">
100 <span id="%1$s" class="field_value">
101 %3$s
102 </span>
103 </div>
104 </div>';
105
106 // Boutons d'action sur la géolocalisation
107 $button = '<input type="submit" class="om-button ui-button ui-widget ui-state-default ui-corner-all" id="%s-button" value="%s" onclick="%s" role="button" aria-disabled="false">';
108
109 // Affiche le bouton permettant de lancer tous les traitements
110 printf('<div class="alignBtnCenter">');
111 printf($button, "chance", "J'ai de la chance", "all_geolocalisation_treatments('$idx', '"._("Etes vous sur de vouloir recuperer les contraintes ?")."')");
112 printf('</div>');
113
114 /**
115 * Compose le message affiché à l'utilisateur
116 * @param string $field_name Nom du champ
117 * @param string $message_field Code html du message
118 * @param array $rowDonneesSIG Tableau des données
119 * @param object $f Instance de la classe utils
120 * @return string Message
121 */
122 function build_message($field_name, $message_field, $rowDonneesSIG, $f) {
123
124 // Récupération des infos
125 $date = (isset($rowDonneesSIG["date_".$field_name])) ? $f->formatTimestamp($rowDonneesSIG["date_".$field_name]) : "";
126 $etat = (isset($rowDonneesSIG["etat_".$field_name])) ? $rowDonneesSIG["etat_".$field_name] : "";;
127 $text = (isset($rowDonneesSIG["message_".$field_name])) ? $rowDonneesSIG["message_".$field_name] : "";;
128
129 // id du message
130 $id_message = $field_name."-message";
131
132 // Définit le type du message "empty", "valid" ou "error"
133 // empty : message grisé
134 // valid : message de validation
135 // error : message d'erreur
136 $type_message = "empty";
137 if ($etat != "") {
138 //
139 $type_message = "valid";
140 if ($etat == 'f') {
141 $type_message = "error";
142 }
143 }
144
145 // Si il y a une date, un message est ajouté en debut
146 if ($date != "") {
147 //
148 $date = sprintf(_("Dernier traitement effectue le %s."), $date);
149 }
150
151 // Si aucun message alors l'action n'a jamais été effectuée
152 if ($text == "") {
153 //
154 $text = _("Action non effectuee.");
155 //
156 $type_message = "empty";
157 }
158
159 // Compose le message
160 $message = sprintf($message_field, $type_message, $id_message, $date." ".$text);
161
162 // retour
163 return $message;
164 }
165
166 // Tableau pour afficher l'interface sur deux colonnes
167 printf("<div class='sousform-geolocalisation'><div class='list-buttons-geolocalisation'>");
168
169 //Affichage des boutons
170 printf($button_field, 'verif_parcelle', sprintf($button, 'verif_parcelle', "Vérifier les parcelles", "geolocalisation_treatment('$idx', 'verif_parcelle', set_geolocalisation_message)"), build_message('verif_parcelle', $message_field, $rowDonneesSIG, $f));
171
172 printf($button_field, 'calcul_emprise', sprintf($button, 'calcul_emprise', "Calculer l'emprise", "geolocalisation_treatment('$idx', 'calcul_emprise', '')"), build_message('calcul_emprise', $message_field, $rowDonneesSIG, $f));
173
174 printf($button_field, 'dessin_emprise', sprintf($button, 'dessin_emprise', "Dessiner l'emprise", "geolocalisation_treatment('$idx', 'dessin_emprise', redirection_elyxweb)"), build_message('dessin_emprise', $message_field, $rowDonneesSIG, $f));
175
176 printf($button_field, 'calcul_centroide', sprintf($button, 'calcul_centroide', "Calculer le centroïde", "geolocalisation_treatment('$idx', 'calcul_centroide', set_geolocalisation_centroide)"), build_message('calcul_centroide', $message_field, $rowDonneesSIG, $f));
177
178 printf($button_field, 'recup_contrainte', sprintf($button, 'recup_contrainte', "Récupérer les contraintes", "geolocalisation_treatment('$idx', 'recup_contrainte', set_geolocalisation_contrainte, '"._("Etes vous sur de vouloir recuperer les contraintes ?")."')"), build_message('recup_contrainte', $message_field, $rowDonneesSIG, $f));
179
180 //
181 printf("</div>");
182
183 // Le formulaire n'a pas été validé
184 $validation = 1;
185 // Le formulaire est en mode consultation
186 $maj = 3;
187
188 // Champs du formulaire
189 $champs = array("references_cadastrales", "adresse", "centroide", "servitude");
190
191 // Création d'un nouvel objet de type formulaire
192 $form = new formulaire(NULL, $validation, $maj, $champs);
193
194 // Configuration des types de champs
195 foreach ($champs as $key) {
196 $form->setType($key, 'static');
197 }
198 $form->setType("references_cadastrales", "referencescadastralesstatic");
199
200 // Configuration des libellés
201 $form->setLib("references_cadastrales", _("terrain_references_cadastrales"));
202 $form->setLib("adresse", _("adresse"));
203 $form->setLib("centroide", _("centroide"));
204 $form->setLib("servitude", _("contraintes"));
205
206 // Configuration des données
207 $form->setVal("references_cadastrales", $rowDonneesDI["terrain_references_cadastrales"]);
208 $form->setVal("adresse", $rowDonneesDI["terrain_adresse_voie_numero"]." ".$rowDonneesDI["terrain_adresse_voie"]." ".$rowDonneesDI["terrain_adresse_lieu_dit"]." ".$rowDonneesDI["terrain_adresse_localite"]." ".$rowDonneesDI["terrain_adresse_code_postal"]." ".$rowDonneesDI["terrain_adresse_bp"]." ".$rowDonneesDI["terrain_adresse_cedex"]);
209 if($geom != "") {
210 $form->setVal('centroide',
211 "<a id='action-form-localiser'".
212 " target='_SIG' href='../app/redirect_plan_sig.php?idx=".$rowDonneesDI["dossier"]."'>".
213 "<span class='om-icon om-icon-16 om-icon-fix sig-16' title='Localiser'>Localiser</span> ".
214 $geom.
215 " </a>");
216 } else {
217 $form->setVal('centroide', $geom);
218 }
219 $form->setVal("servitude", $rowDonneesDI["servitude"]);
220
221 //
222 printf("<div class='list-data-geolocalisation'>");
223
224 // Affichage des champs
225 $form->setBloc("centroide", "D", _("Donnees du dossier d'instruction"), "alignForm col_12");
226 $form->setBloc("centroide", "DF", "", "alignForm col_12");
227 $form->afficher(array("centroide",), $validation, false, false);
228 $form->setBloc("servitude", "DF", "", "alignForm col_12");
229 $form->afficher(array("servitude",), $validation, false, false);
230 $form->setBloc("references_cadastrales", "DF", "", "alignForm col_12");
231 $form->afficher(array("references_cadastrales",), $validation, false, false);
232 $form->setBloc("adresse", "DF", "", "alignForm col_12");
233 $form->afficher(array("adresse",), $validation, false, false);
234 $form->setBloc("adresse", "F");
235
236 // Ferme le tableau pour l'affichage sur deux colonnes
237 printf("</div></div>");
238
239 //Ajout d'un div vide pour éviter les superspositions des div
240 printf("<div class=\"both\"></div>");
241
242 // Fin du formulaire
243 printf("</div></div>");
244
245 // Affiche le bouton de retour
246 printf($button_return);
247
248 }
249 ?>

Properties

Name Value
svn:executable *
svn:keywords Id

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26