1 |
fraynaud |
178 |
<?php |
2 |
|
|
/** |
3 |
|
|
* Ce fichier est destine a permettre la surcharge de certaines methodes de |
4 |
|
|
* la classe om_application pour des besoins specifiques de l'application |
5 |
|
|
* |
6 |
|
|
* @package openmairie_exemple |
7 |
|
|
* @version SVN : $Id: utils.class.php 547 2011-08-25 12:03:42Z fmichon $ |
8 |
|
|
*/ |
9 |
|
|
|
10 |
|
|
/** |
11 |
|
|
* |
12 |
|
|
*/ |
13 |
|
|
require_once "../dyn/locales.inc.php"; |
14 |
|
|
|
15 |
|
|
/** |
16 |
|
|
* |
17 |
|
|
*/ |
18 |
|
|
require_once "../dyn/include.inc.php"; |
19 |
|
|
|
20 |
|
|
/** |
21 |
|
|
* |
22 |
|
|
*/ |
23 |
|
|
require_once "../dyn/debug.inc.php"; |
24 |
|
|
|
25 |
|
|
|
26 |
|
|
/** |
27 |
|
|
* |
28 |
|
|
*/ |
29 |
|
|
class sitadel { |
30 |
|
|
|
31 |
|
|
var $dossier; |
32 |
|
|
|
33 |
|
|
var $row; // dossier |
34 |
|
|
|
35 |
|
|
function sitadel($dossier) { |
36 |
|
|
$this->dossier=$dossier; |
37 |
|
|
// recherche de parametre |
38 |
|
|
}// fin constructeur |
39 |
|
|
|
40 |
|
|
|
41 |
|
|
function entete($mouvement, $departement, $commune){ |
42 |
|
|
// sitadel : mouv|typpermis|equivalence|dep|commune|andepnumpc|indmod |
43 |
|
|
$entete=$mouvement."|".$this->row['nature']."||0".$departement."|".$commune."|".$this->row['annee']. |
44 |
|
|
"|".substr($this->dossier,4,5)."|".substr($this->dossier,9,2)."|"; |
45 |
|
|
return $entete; |
46 |
|
|
} |
47 |
|
|
|
48 |
|
|
function etatcivil(){ |
49 |
|
|
// etat civil demandeur |
50 |
|
|
// codemo| |
51 |
|
|
if($this->row['demandeur_categorie']==9 |
52 |
|
|
or $this->row['demandeur_categorie']=="") |
53 |
|
|
$codemo=1;// personne physique |
54 |
|
|
else |
55 |
|
|
$codemo=2;// personne morale |
56 |
|
|
$etatcivil=$codemo."|"; // 1 personne physique ; 2 sinon |
57 |
|
|
// openfoncier civilite (5/8 ok), nom (80/30-> substr), societe (80/50->substr) |
58 |
|
|
// civpart|prenompart|nompart|denopm|rspm|siret|catjur|civrep|prenomrep|nomrep| |
59 |
|
|
// suivant codemo = 1 (personne physique) ou 2 (personne morale) |
60 |
|
|
// demandeur_civilite n est pas normalise Madame ou Monsieur |
61 |
|
|
if($codemo==1){ |
62 |
|
|
// civpart|*prenompart*|nompart|||||| |
63 |
|
|
$etatcivil.= "||"; |
64 |
|
|
$etatcivil.= $this->maj(substr($this->row['demandeur_nom'],0,30))."||||||||"; |
65 |
|
|
}else{ |
66 |
|
|
//denopm|rspm|*siret*|*catjur*|civrep|*prenomrep*|nomrep| |
67 |
|
|
$etatcivil.="|||".$this->maj(substr($this->row['demandeur_societe']),0,50)."|"; // ERREUR *** ok remis |
68 |
|
|
$etatcivil.=$this->maj(substr($this->row['categorie_libelle'],0,30))."|"; |
69 |
|
|
$etatcivil.="||||".$this->maj(substr($this->row['demandeur_nom'],0,30))."|"; // pas de prenom |
70 |
|
|
} |
71 |
|
|
return $etatcivil; |
72 |
|
|
} |
73 |
|
|
|
74 |
|
|
function adresse(){ |
75 |
|
|
// openfoncier : adresse (80/ 26+38 -> substr sur 2 zones) - cp (5/5 OK) - ville (30/36 -> OK) |
76 |
|
|
// *numvoiemo*|*typvoiemo*|libvoiemo|lieuditmo(+)|communemo|codposmo|*bpmo*|*cedexmo*|*paysmo*|*divetermo| |
77 |
fraynaud |
181 |
$adresse= "||".$this->maj(substr($this->row['demandeur_adresse'],0,26))."|". |
78 |
|
|
$this->maj(substr($this->row['demandeur_adresse'],26,38))."|"; |
79 |
|
|
$adresse.= $this->maj($this->row['demandeur_ville'])."|".$this->row['demandeur_cp']."|||||"; // *** +2 |
80 |
fraynaud |
178 |
return $adresse; |
81 |
|
|
} |
82 |
|
|
|
83 |
|
|
|
84 |
|
|
function delegataire(){ |
85 |
|
|
// openFoncier civilite (non normalise monsieur/madame), nom (80/30 substr) |
86 |
|
|
// openfoncier : adresse (80/ 26+38 -> substr sur 2 zones) - cp (5/5 OK) - ville (30/32 -> OK) |
87 |
|
|
// sitadel civtiers|*prenomtier*|nomtier|*numvoietiers*|*typvoietiers*| |
88 |
|
|
// libvoietiers|lieudittier|communetier|codpostier |
89 |
|
|
// |*bptier*|*cedextier*|*paystier*|*divtertier*| |
90 |
|
|
$delegataire=""; |
91 |
|
|
if($this->row['delegataire']=='Oui'){ |
92 |
|
|
$delegataire.= "|"; // *** 1 |
93 |
|
|
$delegataire.="|".$this->maj(substr($this->row['delegataire_nom'],0,30))."|"; |
94 |
|
|
$delegataire.= "||".$this->maj(substr($this->row['delegataire_adresse'],0,26))."|". |
95 |
|
|
$this->maj(substr($this->row['delegataire_adresse'],26,38))."|"; |
96 |
|
|
$delegataire.= $this->maj($this->row['delegataire_ville'])."|". |
97 |
|
|
$this->row['delegataire_cp']."|||||"; // *** 1 |
98 |
|
|
}else{ |
99 |
fraynaud |
181 |
$delegataire.= "|||||||||||||"; // *** 13 | |
100 |
fraynaud |
178 |
} |
101 |
|
|
// sitadel : telmo|melmo| |
102 |
|
|
$delegataire.= $this->row['demandeur_telephone']."|"; |
103 |
fraynaud |
181 |
$delegataire.= $this->row['demandeur_email']."|"; |
104 |
fraynaud |
178 |
// sitadel: suivi |
105 |
|
|
if($this->row['delegataire']=='Oui'){ |
106 |
|
|
$delegataire.= "1|"; |
107 |
|
|
}else{ |
108 |
|
|
$delegataire.= "0|"; |
109 |
|
|
} |
110 |
|
|
return $delegataire; |
111 |
|
|
} |
112 |
|
|
|
113 |
|
|
function adresse_terrain(){ |
114 |
|
|
// openfoncier numero (4/5 substr), adresse(80, 26 +38 -> substr), complement (non utilise (80)), cp (5/5 ok), ville (30/32 ok) |
115 |
|
|
// terrain_complement ???? |
116 |
|
|
// sitadel : numvoiete|*typvoiete*|libvoiete|lieudite|communete|codposte|*bpte*|*cedexte*| |
117 |
|
|
$adresse= substr($this->row['terrain_numero'],0,4)."|"; |
118 |
|
|
$adresse.= "|".$this->maj(substr($this->row['terrain_adresse'],0,26))."|". |
119 |
|
|
$this->maj(substr($this->row['terrain_adresse'],26,38))."|"; |
120 |
|
|
$adresse.= $this->maj($this->row['terrain_ville'])."|"; |
121 |
|
|
$adresse.= $this->row['terrain_cp']."|"; |
122 |
|
|
$adresse.= "||"; |
123 |
|
|
return $adresse; |
124 |
|
|
|
125 |
|
|
} |
126 |
|
|
|
127 |
|
|
function parcelle(){ |
128 |
|
|
// ======== |
129 |
|
|
// parcelle |
130 |
|
|
// ======== |
131 |
|
|
// cadastre 3 parcelles + 3 sections |
132 |
|
|
// openfoncier = 1 seule parcelle (6/3+5) |
133 |
|
|
// sitadel : scadastre1|ncadastre1|*scadastre2*|*ncadastre2*|*scadastre3*|*ncadastre3*| |
134 |
|
|
$parcelle= substr($this->row['parcelle'],0,2)."|"; |
135 |
|
|
$parcelle.= substr($this->row['parcelle'],2,4)."|||||"; |
136 |
|
|
return $parcelle; |
137 |
|
|
} |
138 |
|
|
|
139 |
fraynaud |
179 |
|
140 |
|
|
|
141 |
fraynaud |
178 |
function decision_groupe1($avis_sitadel, $avis_sitadel_motif){ |
142 |
fraynaud |
181 |
$decision= '1|'; // au nom de la commune |
143 |
fraynaud |
178 |
$decision.= $avis_sitadel."|"; |
144 |
|
|
// date au format francais 8 caracteres |
145 |
|
|
$decision.= substr($this->row['date_decision'],8,2).''. |
146 |
|
|
substr($this->row['date_decision'],5,2)."". |
147 |
|
|
substr($this->row['date_decision'],0,4)."|"; |
148 |
|
|
$decision.= $avis_sitadel_motif; |
149 |
|
|
return $decision; |
150 |
|
|
} |
151 |
|
|
|
152 |
fraynaud |
179 |
function amenagement(){ |
153 |
|
|
// renseignement du groupe 2 *** |
154 |
|
|
//sitadel : terrain|lotissement|zac|afu|libnattrav|natproj| |
155 |
fraynaud |
181 |
$contenu= "|".floor($this->row['terrain_surface'])."|"; |
156 |
fraynaud |
179 |
if($this->row['amenagement']!='') |
157 |
|
|
$contenu.= "1|"; |
158 |
|
|
else |
159 |
|
|
$dcontenu.= "0|"; |
160 |
|
|
$contenu.= "0|0|"; // zac afu -> non renseignee |
161 |
|
|
return $contenu; |
162 |
|
|
} |
163 |
|
|
|
164 |
|
|
function travaux($travaux, $lascot){ |
165 |
|
|
$contenu=$this->maj($travaux)."|"; |
166 |
|
|
if($lascot=='1' |
167 |
|
|
or $lascot=='2' |
168 |
|
|
or $lascot=='3') |
169 |
|
|
$contenu.= $lascot."|"; // natproj 1:construction 2:extension ou 3:surelevation |
170 |
|
|
else |
171 |
|
|
$contenu.= "|"; |
172 |
|
|
// natdp|nattrav|*annexe*|*nivmax* ========================= |
173 |
|
|
//natdp |
174 |
|
|
$natdp='00000'; |
175 |
|
|
if($lascot=='1') $natdp="10000"; // nouvelle construction |
176 |
|
|
if($lascot=='2') $natdp="01000"; // travaux sur construction existante |
177 |
|
|
if($lascot=='3') $natdp="01000"; // |
178 |
|
|
if($lascot=='X') $natdp="00001"; // cloture |
179 |
|
|
$contenu.= $natdp."|"; |
180 |
|
|
// nattrav |
181 |
|
|
$nattrav = "0000"; |
182 |
|
|
if($lascot=='2') $nattrav="1000"; |
183 |
|
|
if($lascot=='3') $nattrav="0100"; |
184 |
|
|
$contenu.= $nattrav."|"; |
185 |
|
|
// annexe non renseigner defaut 00000 |
186 |
|
|
$contenu.= "00000|"; |
187 |
|
|
//nivmax non saisi |
188 |
|
|
$contenu.="|"; |
189 |
|
|
return $contenu; |
190 |
|
|
} |
191 |
fraynaud |
178 |
|
192 |
fraynaud |
179 |
function destination($shon){ |
193 |
|
|
$contenu=""; |
194 |
|
|
for($i=1;$i<=9;$i++){ |
195 |
|
|
if(!isset($shon[$i])) $shon[$i]=0; |
196 |
|
|
$contenu.=$shon[$i].'|'; |
197 |
|
|
|
198 |
|
|
} |
199 |
|
|
return $contenu; |
200 |
|
|
} |
201 |
fraynaud |
178 |
|
202 |
fraynaud |
179 |
function descriptif(){ |
203 |
|
|
// cpublic : non renseignee N par defaut |
204 |
|
|
// O/N transport/enseignement/sante/social/special/culture |
205 |
fraynaud |
181 |
$contenu= "000000"; //* supp| |
206 |
fraynaud |
179 |
// nblogdem |
207 |
|
|
$contenu.= "|".$this->row['logement_nombre']; |
208 |
|
|
// nbmaison : nombre de maison |
209 |
|
|
$contenu.= "|"; |
210 |
|
|
// nblogcoll : nombre de logement collectif |
211 |
|
|
$contenu.= "|"; |
212 |
|
|
// nbtotlog : nombre de logement total |
213 |
|
|
$contenu.= "|"; |
214 |
|
|
// natres : nature des residences |
215 |
|
|
// O/N 1=ages, 2=etudiant, 3=tourisme, 4=hotel, 5=social, 6= handicap, 7=autres |
216 |
|
|
$contenu.= "|0000000"; |
217 |
|
|
// libres= si autre residence (long max 1000 c) |
218 |
|
|
$contenu.= "|"; |
219 |
|
|
// util : O/N personnel, principale, secondaire, vente, location |
220 |
|
|
$contenu.= "|00000"; |
221 |
|
|
//chambres |
222 |
|
|
$contenu.= "|"; |
223 |
|
|
// nb logement sociaux |
224 |
|
|
$contenu.= "|"; |
225 |
|
|
// nb logt financt aides |
226 |
|
|
$contenu.= "|"; |
227 |
|
|
// nb de logt pret a taux 0 |
228 |
|
|
$contenu.= "|"; |
229 |
|
|
// nb de logt finances autrt |
230 |
|
|
$contenu.= "|"; |
231 |
|
|
// nb pieces en maison individuelle |
232 |
|
|
$contenu.= "|".$this->row['piece_nombre']; // voir si 0 |
233 |
|
|
// chambre (num capacite accueil locaux hebergement) |
234 |
|
|
$contenu.= "|"; |
235 |
|
|
// nb de logement 1piece |
236 |
|
|
$contenu.= "|"; |
237 |
|
|
// nb de logement 2 pieces |
238 |
|
|
$contenu.= "|"; |
239 |
|
|
// nb de logement 3 pieces |
240 |
|
|
$contenu.= "|"; |
241 |
|
|
// nb de logement 4 pieces |
242 |
|
|
$contenu.= "|"; |
243 |
|
|
// nb de logement 5 pieces |
244 |
|
|
$contenu.= "|"; |
245 |
|
|
// nb de logement 6 pieces |
246 |
|
|
$contenu.= ""; |
247 |
|
|
return $contenu; |
248 |
|
|
} |
249 |
|
|
|
250 |
fraynaud |
181 |
function chantier(){ |
251 |
|
|
//|datereoc |
252 |
|
|
$suivi1=""; |
253 |
|
|
$suivi1.="|".substr($this->row['date_chantier'],8,2).substr($this->row['date_chantier'],5,2). |
254 |
|
|
substr($this->row['date_chantier'],0,4); // *** au format francais |
255 |
|
|
//|nblogoc|nbmaisoc|nbcolloc |
256 |
|
|
$suivi1.="|||"; |
257 |
|
|
//|shonoc |
258 |
|
|
$suivi1.="|".floor($this->row['shon']); // ok *** enlever les decimales |
259 |
|
|
//|*finisoc*|*finaaoc*|*finptzoc*|*finafoc|*indoc* |
260 |
|
|
$suivi1.="|||||"; |
261 |
|
|
$suivi1.="||||||||||||"; // achevement |
262 |
|
|
return $suivi1; |
263 |
|
|
|
264 |
|
|
} |
265 |
fraynaud |
179 |
|
266 |
fraynaud |
181 |
function achevement(){ |
267 |
|
|
$suivi2="||||||||||"; |
268 |
|
|
// datereoc date de chantier |
269 |
|
|
//|datereat |
270 |
|
|
$suivi2.="|".substr($this->row['date_achevement'],8,2).substr($this->row['date_achevement'],5,2). |
271 |
|
|
substr($this->row['date_achevement'],0,4); // ok *** au format francais |
272 |
|
|
//|nblogat|nbmaisat|nbcollat |
273 |
|
|
$suivi2.="|||"; |
274 |
|
|
//|shonat |
275 |
|
|
$suivi2.="|".floor($this->row['shon']); // ok *** enlever les decimales |
276 |
|
|
//|finisat|finaaat|finptzat|finafat|indat| |
277 |
|
|
$suivi2.="||||||"; |
278 |
|
|
// Finchantier 1 si etat=cloturer sinon 0 |
279 |
|
|
if ($this->row['etat']=="cloturer"){ |
280 |
|
|
$suivi2.="1|"; |
281 |
|
|
}else{ |
282 |
|
|
$suivi2.="0|"; |
283 |
|
|
} |
284 |
|
|
// Origat 1 par defaut ????????????????????????????? |
285 |
|
|
$suivi2.="1"; |
286 |
|
|
return $suivi2; |
287 |
|
|
} |
288 |
|
|
|
289 |
fraynaud |
178 |
function maj($val) { |
290 |
|
|
$val = strtoupper($val); |
291 |
|
|
$val=str_replace(chr(195), "", $val); // supprime le premier code des accents en UTF-8 |
292 |
|
|
$s = array('/[âàäÀ]/', '/[éêèëÉÈ]/', '/[îï]/', '/[ôöÔ]/', '/[ûùü]/', '/[çÇ]/', '/\'|\"|^abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ\-\s\r/'); |
293 |
|
|
$r = array('A', 'E', 'I', 'O', 'U', 'C', ' '); |
294 |
|
|
$val = preg_replace($s , $r, $val); |
295 |
|
|
return $val; |
296 |
|
|
} |
297 |
|
|
|
298 |
|
|
|
299 |
|
|
|
300 |
|
|
|
301 |
|
|
|
302 |
|
|
|
303 |
|
|
} |
304 |
|
|
|
305 |
|
|
?> |