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

Contents of /trunk/app/getAdressFromCadastrale.php

Parent Directory Parent Directory | Revision Log Revision Log


Revision 2285 - (show annotations)
Thu Sep 12 13:27:45 2013 UTC (11 years, 4 months ago) by softime
File size: 4418 byte(s)
- Modifiation de l'appelle à la classe

1 <?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 $wParcelle = "";
25 //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 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 }
46 }
47
48 // Séparateur
49 $wParcelle .= ";";
50 }
51 }
52 }
53 require_once ('../services/outgoing/MessageSenderSoap.class.php');
54
55 // Configuration du soap
56 $conf = $f->config['sig_elyx'];
57
58 // Instance de la classe permettant d'envoyer des requête SOAP
59 $MessageSenderSoap = new MessageSenderSoap($conf['wsdl'], $conf['login'],
60 $conf['password']);
61
62 // 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 //On lance la requête SOAP
68 $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 }
85
86 // Si il n'y a pas d'erreur
87 if (count($list_error_parcelle) == 0) {
88
89 // 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
98 //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 }
113
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 }
138 else {
139 $string_error_parcelle = implode(", ", $list_error_parcelle);
140
141 printf(json_encode(sprintf(_("Les parcelles n'existent pas."))));
142 }
143 ?>

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26