/[openfoncier]/trunk/app/getAdressFromCadastrale.php
ViewVC logotype

Annotation of /trunk/app/getAdressFromCadastrale.php

Parent Directory Parent Directory | Revision Log Revision Log


Revision 2249 - (hide annotations)
Wed Sep 4 16:40:59 2013 UTC (11 years, 5 months ago) by softime
File size: 4432 byte(s)
- Modifie le message d'erreur si les parcelles n'existent pas
- Met le fieldset des contraintes en bas du formulaire du DI
- Affiche les contraintes en liste

1 vpihour 2169 <?php
2     /**
3     * Ce script va interroger le WS1 et en retourner le résultat
4     *
5     * @package openads
6     * @version SVN : $Id: getAdressFromCadastrale.php
7     */
8    
9     require_once "../obj/utils.class.php";
10    
11     //Données
12     $refcads = (isset($_POST['refcad']) ? $_POST['refcad'] : "" );
13    
14     //Si ce n'est pas un
15     if ( !is_array($refcads) ){
16     printf(json_encode(_("Aucune reference cadastrale fournie")));
17     return;
18     }
19    
20     $f = new utils("nohtml", "demande_nouveau_dossier_ajouter");
21     $f->disableLog();
22    
23     //Données à envoyer
24 softime 2231 $wParcelle = "";
25 vpihour 2169 //Formatage des références cadastrales pour l'envoi
26     foreach ($refcads as $refcad) {
27    
28     //Pour chaque ligne
29     foreach ($refcad as $value) {
30    
31     //On ajoute les données dans le tableau que si quartier + section + parcelle
32     //a été fourni
33 softime 2231 if ($value["quartier"]!==""&&$value["section"]!==""&&$value["parcelle"]!=="") {
34    
35     //
36     $wParcelle .= $value["quartier"].$value["section"].$value["parcelle"];
37    
38     //Si on a des délimiteurs
39     if (isset($value["delimit"][0])) {
40    
41     //Pour chaque délimiteur
42     for($i = 0 ; $i < count($value["delimit"][0]) ; $i++){
43     //
44     $wParcelle .= $value["delimit"][0][$i];
45 vpihour 2169 }
46     }
47 softime 2231
48     // Séparateur
49     $wParcelle .= ";";
50 vpihour 2169 }
51     }
52     }
53     require_once ('../services/outgoing/MessageSenderSoap.class.php');
54    
55 softime 2229 // Configuration du soap
56     $conf = $f->config['sig_elyx'];
57 vpihour 2169
58 softime 2229 // Instance de la classe permettant d'envoyer des requête SOAP
59     $MessageSenderSoap = new MessageSenderSoap($conf['url'], $conf['wsdl'], $conf['login'],
60     $conf['password']);
61    
62 softime 2231 // Formatage des parcelles pour l'envoi au webservice
63     $liste_parcelles = $f->parseParcelles($wParcelle);
64     $wParcelle = $f->formatParcelleToSend($liste_parcelles);
65     $data["wParcelle"] = implode(';', $wParcelle);
66    
67 vpihour 2169 //On lance la requête SOAP
68 softime 2232 $execute = $MessageSenderSoap->execute("getExistParcelle", $data);
69    
70     // Initialise le tableau qui contiendra les parcelles qui
71     // n'existent pas
72     $list_error_parcelle = array();
73     // Vérifie l'existence des parcelles
74     foreach ($execute['return'] as $key => $ret) {
75     // Si c'est un tableau
76     if (is_array($execute['return'][$key])) {
77     //
78     if ($ret['existe'] != '0') {
79     $list_error_parcelle[] = $ret['id'];
80     }
81     } elseif ($key == 'existe' && $execute['return'][$key] == '1') {
82     $list_error_parcelle[] = $execute['return']['id'];
83     }
84 vpihour 2169 }
85    
86 softime 2232 // Si il n'y a pas d'erreur
87     if (count($list_error_parcelle) == 0) {
88 softime 2229
89 softime 2232 // Variable retournée
90     $response = $execute;
91     // Si plusieur parcelle sont retourné on n'utilise que la première pour
92     // récupérer l'adresse
93     if (isset($execute['return'][0]) && is_array($execute['return'][0])) {
94     unset($response);
95     $response['return'] = $execute['return'][0];
96     }
97 softime 2229
98 softime 2232 //Récupération du nom de la collectivité
99     if (is_array($response)){
100     $sql = "SELECT
101     libelle
102     FROM
103     ".DB_PREFIXE."om_collectivite
104     WHERE
105     om_collectivite = ".$_SESSION["collectivite"];
106     $f->addToLog("getAdressFromCadastrale.php : ".$sql." execute <br>", EXTRA_VERBOSE_MODE);
107    
108     $localite = $f->db->getOne($sql);
109     $f->isDatabaseError($localite);
110    
111     $response["return"]["localite"] = $localite;
112 softime 2229 }
113 softime 2232
114     //Si la parcelle existe
115     if ( $response["return"]["existe"] == 0 ){
116    
117     // Formate le code postal
118     $code_postal = '';
119     // Requête sql
120     $sqlDonneesArrdt = "SELECT code_postal
121     FROM ".DB_PREFIXE."arrondissement
122     WHERE arrondissement = ".$response['return']['arrdt'];
123     $code_postal = $f->db->getOne($sqlDonneesArrdt);
124     $f->addToLog("app/geolocalisation_treatment.php : db->query(\"".$sqlDonneesArrdt."\")", VERBOSE_MODE);
125     $f->isDatabaseError($code_postal);
126    
127     // Si il y a un résultat
128     if ($code_postal != '') {
129     $response['return']['arrdt'] = $code_postal;
130     }
131    
132     printf(json_encode($response));
133     }
134     else{
135     printf(json_encode(_("Aucune adresse ne correspond a la reference cadastrale fournie")));
136     }
137 vpihour 2169 }
138 softime 2232 else {
139     $string_error_parcelle = implode(", ", $list_error_parcelle);
140    
141 softime 2249 printf(json_encode(sprintf(_("Les parcelles n'existent pas."))));
142 vpihour 2169 }
143     ?>

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26