/[openfoncier]/branches/3.14.x/app/geolocalisation.view.php
ViewVC logotype

Annotation of /branches/3.14.x/app/geolocalisation.view.php

Parent Directory Parent Directory | Revision Log Revision Log


Revision 3575 - (hide annotations)
Thu Jul 16 15:07:22 2015 UTC (9 years, 6 months ago) by nmeucci
File size: 12300 byte(s)
Correction du style des résultats des actions de la géolocalisation lorsque celles-ci n'ont pas été effectuées.

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

Properties

Name Value
svn:executable *
svn:keywords Id

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26