1 |
<?php |
2 |
/** |
3 |
* Ce script permet de générer un document type texte contenant |
4 |
* la liste de toutes les demandes d'autorisation dd'occupation de droit du sol |
5 |
* formulées entre deux dates. |
6 |
* |
7 |
* @package openads |
8 |
* @version SVN : $Id$ |
9 |
*/ |
10 |
|
11 |
// Appel des classes |
12 |
require_once "../obj/utils.class.php"; |
13 |
require_once "../app/sitadel.class.php"; |
14 |
require_once "sitadel.inc"; |
15 |
$f = new utils(NULL, "export_sitadel", _("export / import")." -> "._("export SITADEL"), "ico_reqmo.png", "export"); |
16 |
|
17 |
/** |
18 |
* Description de la page |
19 |
*/ |
20 |
$description = _("Cette page vous permet de Transmettre les dossiers suivant la procedure SITADEL"); |
21 |
$f->displayDescription($description); |
22 |
$post = $f->get_submitted_post_value(); |
23 |
// 1ere étape : affichage du formulaire permettant le choix d'un interval de date |
24 |
// ainsi que l'ordre |
25 |
if (empty($post)) { |
26 |
// Récupération des paramètres |
27 |
if ($f->get_submitted_get_value("datedebut") !== null AND $f->get_submitted_get_value("datedebut") != "") { |
28 |
$datedebut = substr($f->get_submitted_get_value("datedebut"),8,2)."/".substr($f->get_submitted_get_value("datedebut"),5,2)."/".substr($f->get_submitted_get_value("datedebut"),0,4); |
29 |
} else { |
30 |
$datedebut = ""; |
31 |
} |
32 |
if ($f->get_submitted_get_value("datefin") !== null AND $f->get_submitted_get_value("datefin") != "") { |
33 |
$datefin = substr($f->get_submitted_get_value("datefin"),8,2)."/".substr($f->get_submitted_get_value("datefin"),5,2)."/".substr($f->get_submitted_get_value("datefin"),0,4); |
34 |
} else { |
35 |
$datefin = ""; |
36 |
} |
37 |
if ($f->get_submitted_get_value("numero") !== null AND $f->get_submitted_get_value("numero") != "") { |
38 |
$numero = $f->get_submitted_get_value("numero"); |
39 |
} else { |
40 |
$numero = ""; |
41 |
} |
42 |
affichageFormulaire($datedebut, $datefin, $numero); |
43 |
} else { // Traitement après validation du formulaire |
44 |
|
45 |
// init de la valeur d'erreur |
46 |
$correct=true; |
47 |
// init de la chaîne contenant l'erreur |
48 |
$erreur = ""; |
49 |
|
50 |
// XXX |
51 |
$longueurenregistrement= 0 ; |
52 |
|
53 |
// XXX |
54 |
$t10 = "||||||||||"; // 10 | |
55 |
|
56 |
// Initialisation des dates de début et de fin |
57 |
$datedebut =''; |
58 |
$datefin=''; |
59 |
|
60 |
// Traitement des erreurs |
61 |
if ($f->get_submitted_post_value("datedebut") == "") { |
62 |
$correct=false; |
63 |
} else { |
64 |
$datedebut = substr($f->get_submitted_post_value("datedebut"),6,4). |
65 |
"-".substr($f->get_submitted_post_value("datedebut"),3,2)."-". |
66 |
substr($f->get_submitted_post_value("datedebut"),0,2); |
67 |
} |
68 |
if ($f->get_submitted_post_value("datefin") == "") { |
69 |
$correct=false; |
70 |
} else { |
71 |
$datefin = substr($f->get_submitted_post_value("datefin"),6,4). |
72 |
"-".substr($f->get_submitted_post_value("datefin"),3,2)."-". |
73 |
substr($f->get_submitted_post_value("datefin"),0,2); |
74 |
} |
75 |
$numero = $f->get_submitted_post_value("numero"); |
76 |
if ($correct === true){ // *** |
77 |
// Requête permettant de lister tous les dossiers de l'export |
78 |
$sql= "SELECT dossier.dossier, |
79 |
dossier.dossier_autorisation, |
80 |
dossier_instruction_type.mouvement_sitadel, |
81 |
dossier_instruction_type.code as dossier_instruction_type_code, |
82 |
dossier.date_depot, |
83 |
dossier.date_decision, |
84 |
dossier.date_chantier, |
85 |
dossier.date_achevement, |
86 |
dossier.terrain_references_cadastrales as dossier_terrain_references_cadastrales, |
87 |
dossier.terrain_adresse_voie_numero as dossier_terrain_adresse_voie_numero, |
88 |
dossier.terrain_adresse_voie as dossier_terrain_adresse_voie, |
89 |
dossier.terrain_adresse_lieu_dit as dossier_terrain_adresse_lieu_dit, |
90 |
dossier.terrain_adresse_localite as dossier_terrain_adresse_localite, |
91 |
dossier.terrain_adresse_code_postal as dossier_terrain_adresse_code_postal, |
92 |
dossier.terrain_adresse_bp as dossier_terrain_adresse_bp, |
93 |
dossier.terrain_adresse_cedex as dossier_terrain_adresse_cedex, |
94 |
dossier_autorisation_type.code, |
95 |
dossier.date_limite, |
96 |
dossier.date_limite_incompletude, |
97 |
dossier.date_notification_delai, |
98 |
dossier.terrain_superficie as dossier_terrain_superficie, |
99 |
|
100 |
arrondissement.code_impots as code_impots, |
101 |
|
102 |
autorite_competente.autorite_competente_sitadel, |
103 |
pp.type_demandeur, |
104 |
pp.qualite, |
105 |
civilite_pp.libelle as civilite_pp, |
106 |
pp.particulier_nom as pp_particulier_nom, |
107 |
pp.particulier_prenom as pp_particulier_prenom, |
108 |
pp.personne_morale_denomination as pp_personne_morale_denomination, |
109 |
pp.personne_morale_raison_sociale as pp_personne_morale_raison_sociale, |
110 |
pp.personne_morale_siret as pp_personne_morale_siret, |
111 |
pp.personne_morale_categorie_juridique as pp_personne_morale_categorie_juridique, |
112 |
civilite_pm.libelle as civilite_pm_libelle, |
113 |
pp.personne_morale_nom as pp_personne_morale_nom, |
114 |
pp.personne_morale_prenom as pp_personne_morale_prenom, |
115 |
|
116 |
pp.numero as pp_numero, |
117 |
pp.voie as pp_voie, |
118 |
pp.complement as pp_complement, |
119 |
pp.lieu_dit as pp_lieu_dit, |
120 |
pp.localite as pp_localite, |
121 |
pp.code_postal as pp_code_postal, |
122 |
pp.bp as pp_bp, |
123 |
pp.cedex as pp_cedex, |
124 |
pp.pays as pp_pays, |
125 |
pp.division_territoriale as pp_division_territoriale, |
126 |
|
127 |
pp.telephone_fixe as pp_telephone_fixe, |
128 |
pp.courriel as pp_courriel, |
129 |
|
130 |
donnees_techniques.co_archi_recours, |
131 |
donnees_techniques.am_terr_surf, |
132 |
donnees_techniques.am_lotiss, |
133 |
donnees_techniques.terr_juri_zac, |
134 |
donnees_techniques.terr_juri_afu, |
135 |
donnees_techniques.co_projet_desc, |
136 |
donnees_techniques.am_projet_desc, |
137 |
donnees_techniques.dm_projet_desc, |
138 |
donnees_techniques.co_cstr_nouv, |
139 |
donnees_techniques.co_cstr_exist, |
140 |
donnees_techniques.co_modif_aspect, |
141 |
donnees_techniques.co_modif_struct, |
142 |
donnees_techniques.co_cloture, |
143 |
donnees_techniques.co_trx_exten, |
144 |
donnees_techniques.co_trx_surelev, |
145 |
donnees_techniques.co_trx_nivsup, |
146 |
donnees_techniques.co_trx_amgt, |
147 |
donnees_techniques.co_anx_pisc, |
148 |
donnees_techniques.co_anx_gara, |
149 |
donnees_techniques.co_anx_veran, |
150 |
donnees_techniques.co_anx_abri, |
151 |
donnees_techniques.co_anx_autr, |
152 |
donnees_techniques.co_bat_niv_nb, |
153 |
donnees_techniques.su_avt_shon1, |
154 |
donnees_techniques.su_avt_shon2, |
155 |
donnees_techniques.su_avt_shon3, |
156 |
donnees_techniques.su_avt_shon4, |
157 |
donnees_techniques.su_avt_shon5, |
158 |
donnees_techniques.su_avt_shon6, |
159 |
donnees_techniques.su_avt_shon7, |
160 |
donnees_techniques.su_avt_shon8, |
161 |
donnees_techniques.su_avt_shon9, |
162 |
donnees_techniques.su_demo_shon1, |
163 |
donnees_techniques.su_demo_shon2, |
164 |
donnees_techniques.su_demo_shon3, |
165 |
donnees_techniques.su_demo_shon4, |
166 |
donnees_techniques.su_demo_shon5, |
167 |
donnees_techniques.su_demo_shon6, |
168 |
donnees_techniques.su_demo_shon7, |
169 |
donnees_techniques.su_demo_shon8, |
170 |
donnees_techniques.su_demo_shon9, |
171 |
donnees_techniques.su_chge_shon1, |
172 |
donnees_techniques.su_chge_shon2, |
173 |
donnees_techniques.su_chge_shon3, |
174 |
donnees_techniques.su_chge_shon4, |
175 |
donnees_techniques.su_chge_shon5, |
176 |
donnees_techniques.su_chge_shon6, |
177 |
donnees_techniques.su_chge_shon7, |
178 |
donnees_techniques.su_chge_shon8, |
179 |
donnees_techniques.su_chge_shon9, |
180 |
donnees_techniques.su_trsf_shon1, |
181 |
donnees_techniques.su_trsf_shon2, |
182 |
donnees_techniques.su_trsf_shon3, |
183 |
donnees_techniques.su_trsf_shon4, |
184 |
donnees_techniques.su_trsf_shon5, |
185 |
donnees_techniques.su_trsf_shon6, |
186 |
donnees_techniques.su_trsf_shon7, |
187 |
donnees_techniques.su_trsf_shon8, |
188 |
donnees_techniques.su_trsf_shon9, |
189 |
donnees_techniques.su_cstr_shon1, |
190 |
donnees_techniques.su_cstr_shon2, |
191 |
donnees_techniques.su_cstr_shon3, |
192 |
donnees_techniques.su_cstr_shon4, |
193 |
donnees_techniques.su_cstr_shon5, |
194 |
donnees_techniques.su_cstr_shon6, |
195 |
donnees_techniques.su_cstr_shon7, |
196 |
donnees_techniques.su_cstr_shon8, |
197 |
donnees_techniques.su_cstr_shon9, |
198 |
donnees_techniques.su_tot_shon1, |
199 |
donnees_techniques.su_tot_shon2, |
200 |
donnees_techniques.su_tot_shon3, |
201 |
donnees_techniques.su_tot_shon4, |
202 |
donnees_techniques.su_tot_shon5, |
203 |
donnees_techniques.su_tot_shon6, |
204 |
donnees_techniques.su_tot_shon7, |
205 |
donnees_techniques.su_tot_shon8, |
206 |
donnees_techniques.su_tot_shon9, |
207 |
donnees_techniques.co_sp_transport, |
208 |
donnees_techniques.co_sp_enseign, |
209 |
donnees_techniques.co_sp_sante, |
210 |
donnees_techniques.co_sp_act_soc, |
211 |
donnees_techniques.co_sp_ouvr_spe, |
212 |
donnees_techniques.co_sp_culture, |
213 |
donnees_techniques.dm_tot_log_nb, |
214 |
donnees_techniques.co_tot_ind_nb, |
215 |
donnees_techniques.co_tot_coll_nb, |
216 |
donnees_techniques.co_tot_log_nb, |
217 |
donnees_techniques.co_resid_agees, |
218 |
donnees_techniques.co_resid_etud, |
219 |
donnees_techniques.co_resid_tourism, |
220 |
donnees_techniques.co_resid_hot_soc, |
221 |
donnees_techniques.co_resid_hand, |
222 |
donnees_techniques.co_resid_autr, |
223 |
donnees_techniques.co_resid_autr_desc, |
224 |
donnees_techniques.co_uti_pers, |
225 |
donnees_techniques.co_uti_princ, |
226 |
donnees_techniques.co_uti_secon, |
227 |
donnees_techniques.co_uti_vente, |
228 |
donnees_techniques.co_uti_loc, |
229 |
donnees_techniques.co_foyer_chamb_nb, |
230 |
donnees_techniques.co_fin_lls_nb, |
231 |
donnees_techniques.co_fin_aa_nb, |
232 |
donnees_techniques.co_fin_ptz_nb, |
233 |
donnees_techniques.co_fin_autr_nb, |
234 |
donnees_techniques.co_mais_piece_nb, |
235 |
donnees_techniques.co_log_1p_nb, |
236 |
donnees_techniques.co_log_2p_nb, |
237 |
donnees_techniques.co_log_3p_nb, |
238 |
donnees_techniques.co_log_4p_nb, |
239 |
donnees_techniques.co_log_5p_nb, |
240 |
donnees_techniques.co_log_6p_nb, |
241 |
donnees_techniques.mod_desc, |
242 |
|
243 |
donnees_techniques.doc_date, |
244 |
donnees_techniques.terr_div_surf_av_div, |
245 |
donnees_techniques.doc_tot_trav, |
246 |
donnees_techniques.doc_tranche_trav, |
247 |
donnees_techniques.doc_tranche_trav_desc, |
248 |
donnees_techniques.doc_surf, |
249 |
donnees_techniques.doc_nb_log, |
250 |
donnees_techniques.doc_nb_log_indiv, |
251 |
donnees_techniques.doc_nb_log_coll, |
252 |
donnees_techniques.doc_nb_log_lls, |
253 |
donnees_techniques.doc_nb_log_aa, |
254 |
donnees_techniques.doc_nb_log_ptz, |
255 |
donnees_techniques.doc_nb_log_autre, |
256 |
donnees_techniques.daact_date, |
257 |
donnees_techniques.daact_date_chgmt_dest, |
258 |
donnees_techniques.daact_tot_trav, |
259 |
donnees_techniques.daact_tranche_trav, |
260 |
donnees_techniques.daact_tranche_trav_desc, |
261 |
donnees_techniques.daact_surf, |
262 |
donnees_techniques.daact_nb_log, |
263 |
donnees_techniques.daact_nb_log_indiv, |
264 |
donnees_techniques.daact_nb_log_coll, |
265 |
donnees_techniques.daact_nb_log_lls, |
266 |
donnees_techniques.daact_nb_log_aa, |
267 |
donnees_techniques.daact_nb_log_ptz, |
268 |
donnees_techniques.daact_nb_log_autre, |
269 |
|
270 |
dossier_autorisation.date_depot as date_depot_da, |
271 |
dossier_autorisation.date_decision as date_decision_da, |
272 |
dossier_autorisation.date_validite as date_validite_da, |
273 |
dossier_autorisation.date_chantier as date_chantier_da, |
274 |
dossier_autorisation.date_achevement as date_achevement_da, |
275 |
avis_decision.typeavis as typeavis_da, |
276 |
avis_decision.sitadel, |
277 |
avis_decision.sitadel_motif, |
278 |
avis_decision.typeavis, |
279 |
etat.statut as statut_di |
280 |
|
281 |
FROM ".DB_PREFIXE."dossier"; |
282 |
$sql .= " INNER JOIN ".DB_PREFIXE."dossier_instruction_type |
283 |
ON dossier.dossier_instruction_type = |
284 |
dossier_instruction_type.dossier_instruction_type |
285 |
|
286 |
INNER JOIN ".DB_PREFIXE."dossier_autorisation_type_detaille |
287 |
ON dossier_instruction_type.dossier_autorisation_type_detaille |
288 |
=dossier_autorisation_type_detaille.dossier_autorisation_type_detaille |
289 |
INNER JOIN ".DB_PREFIXE."dossier_autorisation_type |
290 |
ON dossier_autorisation_type.dossier_autorisation_type |
291 |
=dossier_autorisation_type_detaille.dossier_autorisation_type |
292 |
INNER JOIN ".DB_PREFIXE."dossier_autorisation |
293 |
ON dossier_autorisation.dossier_autorisation |
294 |
=dossier.dossier_autorisation |
295 |
INNER JOIN ".DB_PREFIXE."autorite_competente |
296 |
ON autorite_competente.autorite_competente |
297 |
=dossier.autorite_competente |
298 |
|
299 |
LEFT JOIN ".DB_PREFIXE."donnees_techniques |
300 |
ON donnees_techniques.dossier_instruction = dossier.dossier |
301 |
LEFT JOIN ".DB_PREFIXE."avis_decision |
302 |
ON avis_decision.avis_decision = dossier.avis_decision |
303 |
LEFT JOIN ".DB_PREFIXE."lien_dossier_demandeur as ldd_pp |
304 |
ON ldd_pp.dossier = dossier.dossier |
305 |
LEFT JOIN ".DB_PREFIXE."demandeur as pp |
306 |
ON ldd_pp.demandeur = pp.demandeur |
307 |
LEFT JOIN ".DB_PREFIXE."civilite as civilite_pp |
308 |
ON civilite_pp.civilite = pp.particulier_civilite |
309 |
LEFT JOIN ".DB_PREFIXE."civilite as civilite_pm |
310 |
ON civilite_pm.civilite = pp.personne_morale_civilite |
311 |
LEFT JOIN ".DB_PREFIXE."etat |
312 |
ON etat.etat = dossier.etat |
313 |
LEFT JOIN ".DB_PREFIXE."arrondissement |
314 |
ON dossier_autorisation.arrondissement=arrondissement.arrondissement |
315 |
"; |
316 |
$sql .= " WHERE dossier_instruction_type.mouvement_sitadel IS NOT NULL"; |
317 |
$sql .= " AND dossier.a_qualifier IS NOT TRUE"; |
318 |
$sql .= " AND ldd_pp.petitionnaire_principal is TRUE"; |
319 |
$sql .= " AND ((dossier.date_depot >='".$datedebut."' AND dossier.date_depot<='".$datefin."')"; |
320 |
$sql .= " OR (dossier.date_decision>='".$datedebut."' AND dossier.date_decision<='".$datefin."')"; |
321 |
$sql .= " OR (dossier.date_chantier>='".$datedebut."' AND dossier.date_chantier<='".$datefin."')"; |
322 |
$sql .= " OR (dossier.date_achevement>='".$datedebut."' AND dossier.date_achevement<='".$datefin."'))"; |
323 |
$sql .= " order by dossier_instruction_type.mouvement_sitadel, dossier.dossier"; |
324 |
$res = $f->db -> query ($sql); |
325 |
$f->addToLog("app/sitadel.php : db->query(\"".$sql."\")", VERBOSE_MODE); |
326 |
$f->isDatabaseError($res); |
327 |
$export=""; |
328 |
while ($row=& $res->fetchRow(DB_FETCHMODE_ASSOC)){ |
329 |
// initialisation de la classe permettant la mise en forme de chaque ligne de l'export |
330 |
$g = new sitadel($row['dossier'], $f); |
331 |
$g->setRow($row); |
332 |
// sitadel |
333 |
$g->setVal($val); |
334 |
// |
335 |
// parametre |
336 |
// $sql = "select parametre, valeur from ".DB_PREFIXE."statistique where dossier ='".$row['dossier']."'"; |
337 |
// $res1 = $f->db -> query ($sql); |
338 |
// $f->isDatabaseError($res1); |
339 |
// while ($row1=& $res1->fetchRow(DB_FETCHMODE_ASSOC)){ |
340 |
// $g->parametre[$row1['parametre']]=$row1['valeur']; |
341 |
// } |
342 |
$departement =str_pad($f->collectivite["departement"], 3, "0", STR_PAD_LEFT); |
343 |
$commune =$f->collectivite["commune"]; |
344 |
$region =$f->collectivite["region"]; |
345 |
// depot |
346 |
$depot=""; |
347 |
|
348 |
// Tous les mouvements autres que transfert ont comme mouvement le code DEPOT |
349 |
// les décisions devant êtres précédées par le dépôt correspondant, |
350 |
// les dossiers avec date de décision comprise dans l'interval fourni sont |
351 |
// réaffichés en tant que dépôts (mouvement DEPOT) |
352 |
if (($row['mouvement_sitadel'] == 'DEPOT'||($row['mouvement_sitadel'] == 'MODIFICATIF' |
353 |
AND $row['statut_di']=='cloture' AND $row['typeavis']=='F')) |
354 |
and (($row['date_depot'] >= $datedebut |
355 |
and $row['date_depot'] <= $datefin) |
356 |
or ($row['date_decision'] >= $datedebut |
357 |
and $row['date_decision'] <= $datefin))) { |
358 |
$depot.=$g->entete("DEPOT",$departement,$commune); |
359 |
$depot.=$g->etatcivil(); |
360 |
$depot.=$g->adresse(); |
361 |
$depot.=$g->delegataire(); |
362 |
$depot.=$g->meltel($row['mouvement_sitadel']); |
363 |
$depot.=$g->adresse_terrain(); |
364 |
$depot.=$g->parcelle(); |
365 |
// =========================== |
366 |
// contrat maison individuelle |
367 |
// =========================== |
368 |
// sitadel : contrat| |
369 |
// openads : non renseigne |
370 |
$depot.= $g->defaultValue('contrat')."|"; |
371 |
// ========== |
372 |
// architecte |
373 |
// ========== |
374 |
// sitadel : architecte| |
375 |
// openads : données techniques.co_archi_recours |
376 |
if($row['co_archi_recours'] == "t") { |
377 |
$depot.= "1|"; |
378 |
} else { |
379 |
$depot.= "0|"; |
380 |
} |
381 |
// ===================== |
382 |
// utilisation data cnil |
383 |
// ====================== |
384 |
// sitadel : cnil |
385 |
// openads : non renseigne |
386 |
$depot.= $g->defaultValue('cnil'); |
387 |
// fin d enregistrement depot |
388 |
$depot.="\n"; |
389 |
if (substr_count($depot, '|')!=61){ |
390 |
var_dump(substr_count($depot, '|')); |
391 |
} |
392 |
} |
393 |
|
394 |
// Seuls les dossier de type transfert ont comme mouvement le code TRANSFERT |
395 |
$transfert =""; |
396 |
if($row['mouvement_sitadel']=='TRANSFERT' |
397 |
and $row['date_depot'] >= $datedebut |
398 |
and $row['date_depot']<=$datefin){ |
399 |
$transfert.=$g->entete("TRANSFERT",$departement,$commune); |
400 |
$transfert.=$g->etatcivil(); |
401 |
$transfert.=$g->adresse(); |
402 |
$transfert.=$g->meltel($row['mouvement_sitadel']); |
403 |
$transfert.="\n"; |
404 |
} |
405 |
|
406 |
|
407 |
// Une ligne de mouvement DECISION est insérée après chaque ligne |
408 |
// de mouvement DEPOT |
409 |
$decision=""; |
410 |
if ($row['mouvement_sitadel'] != 'TRANSFERT' |
411 |
and $row['mouvement_sitadel'] != 'SUPPRESSION' |
412 |
and $row['mouvement_sitadel'] == 'DEPOT' |
413 |
and (($row['date_depot'] >= $datedebut and $row['date_depot']<=$datefin) |
414 |
or ($row['date_decision'] >= $datedebut and $row['date_decision']<=$datefin))) { |
415 |
|
416 |
//Ajout de l'entête |
417 |
$decision.=$g->entete("DECISION",$departement,$commune); |
418 |
|
419 |
//Ajout du groupe 1 |
420 |
$decision.= $g->decision_groupe1(); |
421 |
// Si la décision est favorable, on remplit le groupe 2 |
422 |
if ( $row['sitadel'] == 2 || $row['sitadel'] == 4 || $row['sitadel'] == 5 |
423 |
|| $row['sitadel'] == 0 ){ |
424 |
|
425 |
$decision.= $g->amenagement_terrain(); |
426 |
//Nature du projet |
427 |
$natproj = 2; |
428 |
$natprojlib= array( |
429 |
1=>_("Nouvelle construction"), |
430 |
2=>_("Travaux sur construction existante"), |
431 |
3=>_("Nouvelle construction et travaux sur construction"), |
432 |
); |
433 |
if ( isset($row['co_cstr_nouv']) && isset($row['co_cstr_exist']) && |
434 |
$row['co_cstr_nouv'] == 't' && |
435 |
$row['co_cstr_exist'] == 't' ){ |
436 |
$natproj = 3; |
437 |
} |
438 |
//Nouvelle construction |
439 |
elseif ( isset($row['co_cstr_nouv']) && $row['co_cstr_nouv'] == 't' ) { |
440 |
$natproj = 1; |
441 |
} |
442 |
|
443 |
$su_avt_shon = $g->shon("su_avt_shon"); |
444 |
//Si la SHON existante avant travaux est supérieur à la SHON |
445 |
//démolie alors la variable natproj est égale à 2 |
446 |
$shonExistante = 0; |
447 |
$shonDemolie = 0; |
448 |
for ( $i=1;$i<=9;$i++){ |
449 |
|
450 |
$shonExistante += floor($row['su_avt_shon'.$i]); |
451 |
$shonDemolie += floor($row['su_demo_shon'.$i]); |
452 |
} |
453 |
|
454 |
//Si la SHON existante avant travaux et la SHON démolie sont |
455 |
//égales alors la variable natproj est égale à 1 |
456 |
if ( $shonExistante == 0 && $shonDemolie == 0 && $natproj != 1 && |
457 |
$row['code'] != 'DP' && $row['code'] != 'PA') { |
458 |
$erreur .= _("Dossier ").$row['dossier']." \"".$natprojlib[$natproj]."\" "._("La SHON existante avant travaux et la SHON demolie sont nulles alors cela devrait être une nouvelle construction.")."\n"; |
459 |
} elseif ( $shonExistante > $shonDemolie && $natproj != 2 ){ |
460 |
$erreur .= _("Dossier ").$row['dossier']." \"".$natprojlib[$natproj]."\" "._("La SHON existante avant travaux ne doit pas est supérieurse à la SHON démolie.")."\n"; |
461 |
} |
462 |
$decision .= $su_avt_shon; |
463 |
|
464 |
$su_demo_shon = $g->shon("su_demo_shon"); |
465 |
//La SHON démolie s'accompagne obligatoirement de la shon |
466 |
//existante avant travaux |
467 |
if ( $shonDemolie != 0 && $shonExistante == 0 ){ |
468 |
$erreur .= _("Dossier ").$row['dossier']." "._("La SHON demolie s'accompagne obligatoirement de la SHON existante avant travaux.")."\n"; |
469 |
} |
470 |
$decision .= $su_demo_shon; |
471 |
|
472 |
$su_sup_shon = $g->shon("su_sup_shon"); |
473 |
$su_chge_shon = $g->shon("su_chge_shon"); |
474 |
if ( strcasecmp($su_sup_shon, $su_chge_shon) != 0){ |
475 |
// |
476 |
$erreur .= _("Dossier ").$row['dossier']." "._("Les SHON globales vouees a la transformation et issues de la transformation de doivent etre egales.")."\n"; |
477 |
} |
478 |
$decision .= $su_sup_shon; |
479 |
$decision .= $su_chge_shon; |
480 |
$decision .= $g->shon("su_cstr_shon"); |
481 |
$decision .= "0|0|0|0|0|0|0|0|0|"; |
482 |
|
483 |
//Les SHON relatives à la transformation s'accompagnent |
484 |
//obligatoirement de SHON existante avant travaux non nulle |
485 |
if (preg_match("/[0|]{7}/", $su_chge_shon) && |
486 |
preg_match("/[0|]{7}/", $su_avt_shon)){ |
487 |
|
488 |
$erreur .= _("Dossier ").$row['dossier']." "._("Les SHON relatives a la transformation s'accompagnent obligatoirement de SHON existante avant travaux non nulle.")."\n"; |
489 |
} |
490 |
|
491 |
// Un nombre de logements démolis strictement positif doit |
492 |
// s'accompagner obligatoirement de SHON démolie. |
493 |
if($row['dm_tot_log_nb'] > 0) { |
494 |
if($row['su_demo_shon1'] <= 0) { |
495 |
|
496 |
$erreur .= _("Dossier ").$row['dossier']." "._("Un nombre de logements demolis strictement positif doit s'accompagner obligatoirement de SHON demolie.")."\n"; |
497 |
} |
498 |
} |
499 |
|
500 |
// Un nombre de logements créés strictement positif doit |
501 |
// s'accompagner obligatoirement de SHON créée ou de SHON |
502 |
// issue de la transformation ayant pour destination l'habitation. |
503 |
if($row['co_tot_log_nb'] > 0 AND ($row['su_cstr_shon1'] <= 0 OR $row['su_trsf_shon1'] <=0)) { |
504 |
|
505 |
$erreur .= _("Dossier ").$row['dossier']." "._("Un nombre de logements crees strictement positif doit s'accompagner obligatoirement de SHON creee ou de SHON issue de la transformation ayant pour destination l'habitation.")."\n"; |
506 |
} |
507 |
|
508 |
// La SHON créée ou issue de la transformation |
509 |
// suffixée par 9 (intérêt collectif ou service public) doit |
510 |
// obligatoirement s'accompagner de la décomposition |
511 |
// en sous modalité renseignée par la variable cpublic et réciproquement. |
512 |
|
513 |
// Test si une valeur est true |
514 |
$cpublic = FALSE; |
515 |
if (isset($row['co_sp_transport']) && $row['co_sp_transport'] == 't') { |
516 |
$cpublic = TRUE; |
517 |
} |
518 |
if (isset($row['co_sp_enseign']) && $row['co_sp_enseign'] == 't') { |
519 |
$cpublic = TRUE; |
520 |
} |
521 |
if (isset($row['co_sp_sante']) && $row['co_sp_sante'] == 't') { |
522 |
$cpublic = TRUE; |
523 |
} |
524 |
if (isset($row['co_sp_act_soc']) && $row['co_sp_act_soc'] == 't') { |
525 |
$cpublic = TRUE; |
526 |
} |
527 |
if (isset($row['co_sp_ouvr_spe']) && $row['co_sp_ouvr_spe'] == 't') { |
528 |
$cpublic = TRUE; |
529 |
} |
530 |
if (isset($row['co_sp_culture']) && $row['co_sp_culture'] == 't') { |
531 |
$cpublic = TRUE; |
532 |
} |
533 |
|
534 |
if($cpublic !== TRUE AND ($row['su_cstr_shon9'] > 0 OR $row['su_trsf_shon9'] > 0)) { |
535 |
$erreur .= _("Dossier ").$row['dossier']." "._("La SHON creee ou issue de la transformation concernant le service public ou l'interet collectif doit obligatoirement s'accompagner du choix de destination des constructions.")."\n"; |
536 |
} |
537 |
|
538 |
// La destination principale du logement mise à résidence |
539 |
// principale ou résidence secondaire doit obligatoirement |
540 |
// s'accompagner d'un mode d'utilisation à occupation personnelle |
541 |
if($row['co_uti_princ'] == 't' OR $row['co_uti_secon'] == 't') { |
542 |
if($row['co_uti_pers'] != 't') { |
543 |
|
544 |
$erreur .= _("Dossier ").$row['dossier']." "._("La destination principale du logement mise a residence principale ou residence secondaire doit obligatoirement s'accompagner d'un mode d'utilisation a occupation personnelle.")."\n"; |
545 |
} |
546 |
} |
547 |
|
548 |
$decision.= $g->destination($row['mouvement_sitadel']); |
549 |
|
550 |
// Le nombre total de logements créés (variable nbtotlog) |
551 |
// doit être égal à la somme des nombres de logements créés |
552 |
// ventilés par type de financement |
553 |
if($row['co_tot_log_nb'] != ($row['co_fin_lls_nb'] + $row['co_fin_aa_nb'] + |
554 |
$row['co_fin_ptz_nb'] + $row['co_fin_autr_nb'])) { |
555 |
|
556 |
$erreur .= _("Dossier ").$row['dossier']." "._("Le nombre total de logements crees doit etre egal a la somme des nombres de logements crees ventiles par type de financement.")."\n"; |
557 |
} |
558 |
|
559 |
$decision.= $g->repartitionFinan(); |
560 |
|
561 |
// Le nombre total de logements créés (variable nbtotlog) |
562 |
// doit être égal à la totalisation de la répartition des |
563 |
// logements par nombre de pièces |
564 |
if($row['co_tot_log_nb'] != ($row['co_log_1p_nb'] + $row['co_log_2p_nb'] + |
565 |
$row['co_log_3p_nb'] + $row['co_log_4p_nb'] + $row['co_log_5p_nb'] + |
566 |
$row['co_log_6p_nb'])) { |
567 |
|
568 |
$erreur .= _("Dossier ").$row['dossier']." "._("Le nombre total de logements crees doit etre egal a la totalisation de la repartition des logements par nombre de pieces.")."\n"; |
569 |
} |
570 |
|
571 |
$decision.= $g->repartitionNbPiece($row['mouvement_sitadel']); |
572 |
} |
573 |
else { |
574 |
// |
575 |
$decision.= str_repeat("|", 6); |
576 |
if($row['code']=='DP'){ |
577 |
$decision .= "00000|"; |
578 |
}else{ |
579 |
$decision .= "|"; |
580 |
} |
581 |
$decision .= "0000|00000|"; |
582 |
$decision.= str_repeat("|", 74); |
583 |
} |
584 |
$decision.="\n"; |
585 |
} |
586 |
|
587 |
// modificatif |
588 |
$modificatif=''; |
589 |
if($row['mouvement_sitadel'] == 'MODIFICATIF' AND $row['statut_di']=='cloture' AND |
590 |
$row['typeavis']=='F' |
591 |
and (($row['date_depot'] >= $datedebut |
592 |
and $row['date_depot'] <= $datefin) or |
593 |
($row['date_decision'] >= $datedebut |
594 |
and $row['date_decision'] <= $datefin))) { |
595 |
$modificatif.=$g->entete("MODIFICATIF",$departement,$commune); |
596 |
|
597 |
$modificatif.= $g->decision_groupe1(); |
598 |
|
599 |
if(isset($row['date_decision']) or $row['date_decision']==""){ |
600 |
// avis_sitadel et avis_sitadel_motif |
601 |
// si la decision est favorable, envoi des informations statistiques |
602 |
if($row["sitadel"] == 2 or $row["sitadel"] == 4 |
603 |
or $row["sitadel"] == 5){ |
604 |
// si accordé : ajout du 2nd groupe d'informations |
605 |
$modificatif .= $g->adresse_terrain(); // adresse du terrain |
606 |
$modificatif .= $g->parcelle(); // 3 premières parcelles |
607 |
$modificatif .= $g->modificatif_terrain(); // Informations complémentaires |
608 |
|
609 |
$modificatif.= $g->shon("su_avt_shon"); |
610 |
$modificatif.= $g->shon("su_demo_shon"); |
611 |
$modificatif.= $g->shon("su_chge_shon"); |
612 |
$modificatif.= $g->shon("su_trsf_shon"); |
613 |
$modificatif.= $g->shon("su_cstr_shon"); |
614 |
|
615 |
$modificatif.= "|||||||||"; |
616 |
$modificatif.= $g->destination($row['mouvement_sitadel']); |
617 |
$modificatif.= $g->repartitionFinan(); |
618 |
$modificatif.= $g->repartitionNbPiece($row['mouvement_sitadel']); |
619 |
} |
620 |
else { |
621 |
$modificatif .= str_repeat("|", 90); |
622 |
} |
623 |
} |
624 |
else { |
625 |
$modificatif .= str_repeat("|", 90); |
626 |
} |
627 |
|
628 |
$modificatif.="\n"; |
629 |
} |
630 |
|
631 |
// Mouvement suppression |
632 |
$suppression = ''; |
633 |
if($row['mouvement_sitadel'] == 'SUPPRESSION') { |
634 |
$suppression .= $g->entete("SUPPRESSION",$departement,$commune); |
635 |
$suppression .= "\n"; |
636 |
} |
637 |
|
638 |
// Règles sur le mouvement suivi |
639 |
$suivi=""; |
640 |
if($row['mouvement_sitadel'] == 'SUIVI' and |
641 |
($row['date_chantier'] >= $datedebut and $row['date_chantier']<=$datefin) || |
642 |
($row['date_achevement'] >= $datedebut and $row['date_achevement']<=$datefin)){ |
643 |
// Si le dossier est une DOC |
644 |
if($row['dossier_instruction_type_code']=='DOC'){ |
645 |
// Une ouverture de chantier ne peut concerner qu'un permis autorisé |
646 |
if($row['typeavis_da'] != 'F'&&$row['typeavis_da'] != '') { |
647 |
$erreur .= _("Dossier ").$row['dossier']." "._("Une ouverture de chantier ne peut concerner qu'un permis autorise.")."\n"; |
648 |
} |
649 |
// La date d'ouverture de chantier doit être supérieur à la date d'autorisation |
650 |
if($row['doc_date'] > $row['date_decision_da']) { |
651 |
$erreur .= _("Dossier ").$row['dossier']." "._("La date d'ouverture de chantier doit être superieur a la date d'autorisation.")."\n"; |
652 |
} |
653 |
// Un achèvement de chantier ne peut concerner qu'un permis autorisé |
654 |
if($row['typeavis_da'] != 'F'&&$row['typeavis_da'] != '') { |
655 |
$erreur .= _("Dossier ").$row['dossier']." "._("Un achevement de chantier ne peut concerner qu'un permis autorise.")."\n"; |
656 |
} |
657 |
if( $row['date_chantier_da'] == "" && $row['date_achevement']!="") { |
658 |
$erreur .= _("Dossier ").$row['dossier']." "._("Un achevement de chantier ne peut concerner qu'un permis sur lequel un chantier a ete ouvert.")."\n"; |
659 |
} |
660 |
// La date d'achevement de travaux doit être supérieur à la date d'ouverture des travaux |
661 |
if($row['daact_date'] > $row['date_chantier_da']) { |
662 |
$erreur .= _("Dossier ").$row['dossier']." "._("La date d'achevement de travaux doit etre superieur a la date d'ouverture des travaux.")."\n"; |
663 |
} |
664 |
$suivi.=$g->entete("SUIVI",$departement,$commune);//8| |
665 |
$suivi.=$g->chantier($row); |
666 |
//On récupère la DAACT si elle existe |
667 |
$sqlDAACT = "SELECT |
668 |
donnees_techniques.daact_date, |
669 |
donnees_techniques.daact_date_chgmt_dest, |
670 |
donnees_techniques.daact_tot_trav, |
671 |
donnees_techniques.daact_tranche_trav, |
672 |
donnees_techniques.daact_tranche_trav_desc, |
673 |
donnees_techniques.daact_surf, |
674 |
donnees_techniques.daact_nb_log, |
675 |
donnees_techniques.daact_nb_log_indiv, |
676 |
donnees_techniques.daact_nb_log_coll, |
677 |
donnees_techniques.daact_nb_log_lls, |
678 |
donnees_techniques.daact_nb_log_aa, |
679 |
donnees_techniques.daact_nb_log_ptz, |
680 |
donnees_techniques.daact_nb_log_autre, |
681 |
etat.statut as statut_di |
682 |
|
683 |
FROM ".DB_PREFIXE."dossier |
684 |
LEFT JOIN ".DB_PREFIXE."donnees_techniques |
685 |
ON dossier.dossier=donnees_techniques.dossier_instruction |
686 |
LEFT JOIN ".DB_PREFIXE."etat |
687 |
ON dossier.etat = etat.etat |
688 |
LEFT JOIN ".DB_PREFIXE."dossier_instruction_type |
689 |
ON dossier.dossier_instruction_type = dossier_instruction_type.dossier_instruction_type |
690 |
WHERE dossier.dossier_autorisation ='".$row['dossier_autorisation']."' AND |
691 |
dossier_instruction_type.code = 'DAACT' and mouvement_sitadel='SUIVI'"; |
692 |
$resDAACT = $f->db -> query ($sqlDAACT); |
693 |
$f->addToLog("app/sitadel.php : db->query(\"".$sqlDAACT."\")", VERBOSE_MODE); |
694 |
$f->isDatabaseError($resDAACT); |
695 |
$rowDAACT=& $resDAACT->fetchRow(DB_FETCHMODE_ASSOC); |
696 |
$suivi.=$g->achevement($rowDAACT); |
697 |
$suivi.="\n"; |
698 |
} |
699 |
elseif($row['dossier_instruction_type_code']=='DAACT'){ |
700 |
|
701 |
//On vérifie qu'une DOC existe |
702 |
$sqlDOC = "SELECT dossier.dossier, |
703 |
dossier.date_chantier, |
704 |
donnees_techniques.doc_date, |
705 |
donnees_techniques.terr_div_surf_av_div, |
706 |
donnees_techniques.doc_tot_trav, |
707 |
donnees_techniques.doc_tranche_trav, |
708 |
donnees_techniques.doc_tranche_trav_desc, |
709 |
donnees_techniques.doc_surf, |
710 |
donnees_techniques.doc_nb_log, |
711 |
donnees_techniques.doc_nb_log_indiv, |
712 |
donnees_techniques.doc_nb_log_coll, |
713 |
donnees_techniques.doc_nb_log_lls, |
714 |
donnees_techniques.doc_nb_log_aa, |
715 |
donnees_techniques.doc_nb_log_ptz, |
716 |
donnees_techniques.doc_nb_log_autre |
717 |
FROM ".DB_PREFIXE."dossier |
718 |
LEFT JOIN ".DB_PREFIXE."donnees_techniques |
719 |
ON dossier.dossier=donnees_techniques.dossier_instruction |
720 |
LEFT JOIN ".DB_PREFIXE."dossier_instruction_type |
721 |
ON dossier.dossier_instruction_type=dossier_instruction_type.dossier_instruction_type |
722 |
WHERE dossier.dossier_autorisation ='".$row['dossier_autorisation']."' AND |
723 |
dossier_instruction_type.code = 'DOC' and mouvement_sitadel='SUIVI'"; |
724 |
$resDOC = $f->db -> query ($sqlDOC); |
725 |
$f->addToLog("app/sitadel.php : db->query(\"".$sqlDOC."\")", VERBOSE_MODE); |
726 |
$f->isDatabaseError($resDOC); |
727 |
$rowDOC=& $resDOC->fetchRow(DB_FETCHMODE_ASSOC); |
728 |
|
729 |
if((isset($rowDOC['dossier']) && |
730 |
$rowDOC['date_chantier']<$datedebut || $rowDOC['date_chantier']>$datefin) || |
731 |
!isset($rowDOC['dossier'])) { |
732 |
// |
733 |
$suivi.=$g->entete("SUIVI",$departement,$commune);//8| |
734 |
$suivi.=$g->chantier($rowDOC); |
735 |
$suivi.=$g->achevement($row); |
736 |
$suivi.="\n"; |
737 |
} |
738 |
} |
739 |
} |
740 |
// export |
741 |
$export.=$depot.$decision.$transfert.$modificatif.$suivi.$suppression; |
742 |
} // fin while |
743 |
// *************************************** |
744 |
// entete de l enregistrement page 8 et 9 |
745 |
// *************************************** |
746 |
// numero |
747 |
// $numero= $db -> nextId('sitadel'); |
748 |
|
749 |
// On affiche le fichier généré |
750 |
$departement =$f->collectivite["departement"]; |
751 |
$commune =$f->collectivite["commune"]; |
752 |
$region =$f->collectivite["region"]; |
753 |
$numero=$f->get_submitted_post_value("numero"); |
754 |
$fichiertransmis = date('ymj').$departement.$commune; |
755 |
$longueurenregistrement= 0 ; // a calculer *** enregistrement le plus long |
756 |
$entete = "SITADEL|".$departement."|".$commune."|".$region."|".$fichiertransmis."|".$numero."|"; |
757 |
// calcul enregistrement le plus long |
758 |
if(DBCHARSET=='UTF8'){ |
759 |
$export=utf8_decode($export); |
760 |
} |
761 |
// nombreenrgistremment et longueurenregistrement |
762 |
$nbenr = explode("\n",$export); |
763 |
$tmp=array(); |
764 |
$cpt=0; |
765 |
for($i=0;$i<sizeof($nbenr);$i++){ |
766 |
// mb_strlen( variable,encoding) PHP 4 >= 4.0.6, PHP 5 |
767 |
// Le param�tre encoding est l'encodage des caract�res. |
768 |
// S'il est omis, l'encodage de caracteres interne sera utilis�. |
769 |
$tmp[$i] = strlen($nbenr[$i]); |
770 |
//echo strlen($nbenr[$i])." ".$nbenr[$i]."<br>"; |
771 |
$cpt++; |
772 |
} |
773 |
$longueurenregistrement=max($tmp); |
774 |
$nombreenregistrement=$cpt; // + entete |
775 |
// Date de modification |
776 |
$datemodification = date('y').str_pad (DATE('m'), 2, "0", STR_PAD_LEFT).str_pad (DATE('j'), 2, "0", STR_PAD_LEFT); |
777 |
// export |
778 |
$version = substr($f->version,0,8); |
779 |
$entete.= $longueurenregistrement."|".$datemodification."|". |
780 |
$nombreenregistrement."|openADS|".$version."\n"; |
781 |
$export=$entete.$export; |
782 |
// $str = htmlentities($str, ENT_QUOTES); |
783 |
// ecriture des fichiers en tmp |
784 |
$fichier = "../tmp/SITADEL".substr($f->get_submitted_post_value("datedebut"),3,2). |
785 |
"".substr($f->get_submitted_post_value("datedebut"),8,4).""; |
786 |
$inf = fopen($fichier,"w"); |
787 |
fwrite($inf,$export); |
788 |
fclose($inf); |
789 |
$f->displayMessage("ok", _("Fichier")." ".$fichier." "._("sauvegarde")."<br/>". |
790 |
_("Pour telecharger le fichier, cliquer ici :"). |
791 |
" <a href=\"".$fichier."\" target=\"_blank\"> |
792 |
<img src=\"../app/img/ico_trace.png\" alt=\"". |
793 |
_("Telecharger le fichier CNEN")."\" title=\"". |
794 |
_("Telecharger le fichier Sitadel")."\" /></a>". |
795 |
_("avec le bouton droit et enregistrer la cible du lien sous.") |
796 |
); |
797 |
|
798 |
if(DEBUG != "PRODUCTION_MODE"){ |
799 |
$affiche=""; |
800 |
$affiche= str_replace("\n","<br>",$export); |
801 |
echo $affiche; |
802 |
} |
803 |
|
804 |
// Si une erreur a été trouvée |
805 |
if($erreur != "") { |
806 |
$fichier = "../tmp/probleme_SITADEL".substr($f->get_submitted_post_value("datedebut"),3,2). |
807 |
"".substr($f->get_submitted_post_value("datedebut"),8,4).""; |
808 |
$inf = fopen($fichier,"w"); |
809 |
fwrite($inf,$erreur); |
810 |
fclose($inf); |
811 |
$f->addToMessage("info", _("Un ou plusieurs problèmes de cohérence ont été détectés durant l'export,". |
812 |
" celles-ci sont listees dans le fichiers ci-dessous"). |
813 |
"<br/>"._("Fichier ")." ".$fichier." "._("sauvegardé"). |
814 |
"<br/>"._("Pour telecharger le fichier, cliquer ici :")." <a href=\"".$fichier."\" target=\"_blank\">". |
815 |
"<img src=\"../app/img/ico_trace.png\" alt=\""._("Telecharger le fichier d'erreur")."\" title=\""._("Telecharger le fichier d'erreur")."\" />". |
816 |
"</a>"._("avec le bouton droit et enregistrer la cible du lien sous.")); |
817 |
$f->displayMessages(); |
818 |
} |
819 |
|
820 |
// Affichage du bouton retour |
821 |
// Composition du tableau de paramètres |
822 |
$params = array( |
823 |
"href" => "../app/sitadel.php?datedebut=".$datedebut."&datefin=".$datefin."&numero=".$numero, |
824 |
); |
825 |
// Appel de la méthode d'affichage du lien retour par le layout |
826 |
$f->layout->display_form_retour($params); |
827 |
|
828 |
} else {// correct = false |
829 |
$f->displayMessage("error", _("Les champs dates sont obligatoires")); |
830 |
affichageFormulaire($f->get_submitted_post_value("datedebut"), $f->get_submitted_post_value("datefin"), $numero); |
831 |
} |
832 |
}//validation |
833 |
|
834 |
/** |
835 |
* Affichage du formulaire |
836 |
* |
837 |
* */ |
838 |
function affichageFormulaire($datedebut="", $datefin="", $numero=""){ |
839 |
|
840 |
echo "<form method=\"POST\" action=\"sitadel.php\" name=f1>"; |
841 |
// champ date debut |
842 |
echo " "._("debut")." "; |
843 |
echo "<input type='text' name='datedebut' id=\"datedebut\" value=\""; |
844 |
echo $datedebut; |
845 |
echo "\" size=\"15\" class=\"champFormulaire datepicker\" onchange='fdate(this)' onkeyup=\"\" onclick=\"\" />"; |
846 |
// champ date fin |
847 |
echo " "._("fin")." "; |
848 |
echo "<input type='text' name='datefin' id=\"datefin\" value=\""; |
849 |
echo $datefin; |
850 |
echo "\" size=\"15\" class=\"champFormulaire datepicker\" onchange='fdate(this)' onkeyup=\"\" onclick=\"\" />"; |
851 |
// numero d'ordre d'envoi |
852 |
echo " "._("Numero d'ordre d'envoi")." : "."<select name='numero'>"; |
853 |
for ($i = 1; $i < 11; $i++) { |
854 |
echo "<option value ='".$i."' "; |
855 |
echo ($numero == $i )? "selected='selected'":""; |
856 |
echo">".$i."</option>"; |
857 |
} |
858 |
echo "</select>"; |
859 |
echo "<br><br><input type='submit' value='export SITADEL'>"; |
860 |
echo "</form>"; |
861 |
} |
862 |
?> |