/[openfoncier]/trunk/obj/export_sitadel.class.php
ViewVC logotype

Annotation of /trunk/obj/export_sitadel.class.php

Parent Directory Parent Directory | Revision Log Revision Log


Revision 4838 - (hide annotations)
Fri Aug 12 16:03:46 2016 UTC (8 years, 5 months ago) by softime
File size: 45464 byte(s)
* Merge de la branche correction-export-sitadel.

1 mbroquet 3730 <?php
2     /**
3     * Classe permettant la mise en forme de chaque ligne de l'export SITADEL
4     * Les méthode retourne des morceaux de lignes en faisant correspondre les valeurs
5     * du dossier avec les valeurs définie pour l'export SITADEL
6     *
7     * @package openfoncier
8     * @version SVN : $Id: export_sitadel.class.php 5673 2015-12-21 19:35:24Z nmeucci $
9     */
10    
11     class export_sitadel {
12    
13     private $dossier; // identifiant du dossier à insérer dans l'export
14     private $row; // Valeurs du dossier
15     private $val; // parametre par defaut
16     private $parametre; //parametre dossier
17     private $DEBUG=0; // 1 = valeur
18     private $pays;
19    
20     /**
21     * Instance de la classe utils
22     * @var utils
23     */
24     var $f = NULL;
25    
26     /**
27     * Constructeur, initialisation de l'attribut dossier
28     *
29     * @param dossier string identifiant du dossier à traiter
30     */
31     function __construct($dossier, $f) {
32     $this->dossier=$dossier;
33     //
34     $this->f = $f;
35     //
36     $this->pays = array(
37     'ALLE' => 109, 'AMÉR' => 404, 'AUTR' => 990, 'BELG' => 131,
38     'GRAN' => 132, 'DANE' => 101, 'ESPA' => 134, 'FRAN' => 100,
39     'PAYS' => 135, 'ITAL' => 127, 'PORT' => 139, 'SUIS' => 140,
40     );
41     // Permet lors de l'instantiation d'objets métiers d'avoir accès à f
42     $GLOBALS['f'] = $this->f;
43     }// fin constructeur
44    
45     /**
46     * Mutateur pour le tableau de données du dossier
47     *
48     * @param $row Le tableau de données du dossier
49     * @return void
50     * */
51     public function setRow($row){
52     $this->row = $row;
53     }
54    
55     /**
56     * Mutateur pour le paramètre par défaut
57     *
58     * @param $val Le paramètre par défaut
59     * @return void
60     * */
61     public function setVal($val){
62     $this->val = $val;
63     }
64    
65     /**
66     * Permet de mettre en forme le début de chaque la ligne
67     *
68 softime 4838 * @param string $mouvement DEPOT, DECISION, SUIVI, TRANSFERT, MODIFICATIF, SUPPRESSION.
69     * @param string $departement Non utilisé.
70     * @param string $commune Code commune du dossier.
71     * @param string $version Numéro de version du dossier.
72 mbroquet 3730 *
73     * @return string entete de la ligne
74     */
75 softime 4838 function entete($mouvement, $departement, $commune, $version){
76    
77 mbroquet 3730 // Si c'est une commune divisée en arrondissement, le code commune dans
78     // l'entete de chaque mouvement doit être le code impôt de l'arrondissement
79     if ($this->f->getParameter("option_arrondissement")==='true'&&$this->row['code_impots']!=''){
80     $commune=$this->row['code_impots'];
81     }
82     //Si la commune est divisée en arrondissement mais que le code impôts de l'arrondissement ne peut pas être récupéré
83     elseif($this->f->getParameter("option_arrondissement")==='true'&&$this->row['code_impots']==''){
84     $commune=0;
85     }
86 softime 4838
87 mbroquet 3730 // sitadel : mouv|typpermis|equivalence|dep|commune|andepnumpc|indmod
88     // l'equivalence n'est pas utilisée
89 softime 4838 $indice_dossier = '';
90     if ($version !== 0
91     && $this->row['mouvement_sitadel'] !== 'SUIVI') {
92     //
93     $indice_dossier = $version;
94     }
95 mbroquet 3730
96     $entete=$mouvement."|".$this->row['code']."||".$departement."|".$commune."|".substr($this->dossier,8,2).
97     "|".substr($this->dossier,10,5)."|".$indice_dossier."|";
98     return $entete;
99     }
100    
101 softime 4838
102 mbroquet 3730 /**
103     * Permet de mettre en forme l'état civil :
104     * personne morale / physique
105     * société, siret, civilité, nom, prénom / civilité, nom, prénom
106     *
107     * @return string demandeur désigné
108     */
109     function etatcivil(){
110     // etat civil demandeur
111     // codemo|
112     if ($this->row['qualite'] == "particulier") {
113     $codemo=1;// personne physique
114     } else {
115     $codemo=2;// personne morale
116     }
117     $etatcivil=$codemo."|"; // 1 personne physique ; 2 sinon
118     // openfoncier civilite (5/8 ok), nom (80/30-> substr), societe (80/50->substr)
119     // civpart|prenompart|nompart|denopm|rspm|siret|catjur|civrep|prenomrep|nomrep|
120     // suivant codemo = 1 (personne physique) ou 2 (personne morale)
121     // demandeur_civilite n est pas normalise Madame ou Monsieur
122     if ($codemo == 1) {
123     // *civpart*|*prenompart*|nompart||||||
124     $etatcivil.= $this->maj(substr($this->row['civilite_pp'],0,8))."|";
125     $etatcivil.= $this->maj(substr($this->row['pp_particulier_prenom'],0,30))."|";
126    
127     $etatcivil.= $this->maj(substr($this->row['pp_particulier_nom'],0,30))."||||||||";
128     } else {
129     //denopm|*rspm*|*siret*|*catjur*|*civrep*|*prenomrep*|nomrep|
130     $etatcivil.="|||"; // codemo=1
131     $etatcivil.=$this->maj(substr($this->row['pp_personne_morale_denomination'],0,50))."|";
132     $etatcivil.=$this->maj(substr($this->row['pp_personne_morale_raison_sociale'],0,30))."|";
133     $etatcivil.=$this->maj(substr($this->row['pp_personne_morale_siret'],0,14))."|";
134     $etatcivil.=$this->maj(substr($this->row['pp_personne_morale_categorie_juridique'],0,4))."|";
135     $etatcivil.=$this->maj(substr($this->row['civilite_pm_libelle'],0,8))."|";
136     $etatcivil.=$this->maj(substr($this->row['pp_personne_morale_prenom'],0,30))."|";
137     $etatcivil.=$this->maj(substr($this->row['pp_personne_morale_nom'],0,30))."|";
138     }
139     return $etatcivil;
140     }
141    
142     function adresse(){
143     // openfoncier : adresse (80/ 26+38 -> substr sur 2 zones) - cp (5/5 OK) - ville (30/36 -> OK)
144     // *numvoiemo*|*typvoiemo*|libvoiemo|lieuditmo(+)|communemo|codposmo|*bpmo*|*cedexmo*|*paysmo*|*divetermo|
145     $adresse="";
146     $adresse.= $this->maj(substr($this->row['pp_numero'],0,5))."|";
147     $adresse.= $this->maj(substr("",0,5))."|";
148     $adresse.= $this->maj(substr($this->row['pp_voie'],0,26))."|";
149     $adresse.= $this->maj(substr($this->row['pp_lieu_dit'],0,38))."|";
150     $adresse.= $this->maj(substr($this->row['pp_localite'],0,32))."|";
151     $adresse.= $this->maj(substr($this->row['pp_code_postal'],0,5))."|";
152     $adresse.= $this->maj(substr($this->row['pp_bp'],0,5))."|";
153     $adresse.= $this->maj(substr($this->row['pp_cedex'],0,5))."|";
154     $adresse.= $this->maj($this->getCodeInseePays(strtoupper($this->row['pp_pays'])))."|";
155     $adresse.= $this->maj(substr($this->row['pp_division_territoriale'],0,38))."|";
156    
157     return $adresse;
158     }
159    
160    
161     function delegataire(){
162    
163     //On récupère le délégataire
164     $sql = "SELECT civilite.libelle as civilite_delegataire_libelle,
165     demandeur.particulier_nom as delegataire_particulier_nom,
166     demandeur.particulier_prenom as delegataire_particulier_prenom,
167     demandeur.numero as delegataire_numero,
168     demandeur.voie as delegataire_voie,
169     demandeur.complement as delegataire_complement,
170     demandeur.lieu_dit as delegataire_lieu_dit,
171     demandeur.localite as delegataire_localite,
172     demandeur.code_postal as delegataire_code_postal,
173     demandeur.bp as delegataire_bp,
174     demandeur.cedex as delegataire_cedex,
175     demandeur.pays as delegataire_pays,
176     demandeur.division_territoriale as delegataire_division_territoriale
177     FROM ".DB_PREFIXE."demandeur
178     LEFT JOIN ".DB_PREFIXE."lien_dossier_demandeur
179     ON demandeur.demandeur = lien_dossier_demandeur.demandeur AND lien_dossier_demandeur.petitionnaire_principal is FALSE
180     LEFT JOIN ".DB_PREFIXE."civilite
181     ON civilite.civilite = demandeur.particulier_civilite
182     WHERE demandeur.type_demandeur='delegataire' AND
183     lien_dossier_demandeur.dossier = '".$this->dossier."'";
184     $res = $this->f->db -> query ($sql);
185     $this->f->addToLog("export_sitadel.class.php : db->query(\"".$sql."\")", VERBOSE_MODE);
186     $this->f->isDatabaseError($res);
187     $row=& $res->fetchRow(DB_FETCHMODE_ASSOC);
188     // openFoncier civilite (non normalise monsieur/madame), nom (80/30 substr)
189     // openfoncier : adresse (80/ 26+38 -> substr sur 2 zones) - cp (5/5 OK) - ville (30/32 -> OK)
190     // *civtiers*|*prenomtier*|nomtier|*numvoietiers*|*typvoietiers*|
191     // libvoietiers|lieudittier|communetier|codpostier
192     // |*bptier*|*cedextier*|*paystier*|*divtertier*|
193     $delegataire="";
194     $delegataire.= $this->maj(substr($row['civilite_delegataire_libelle'],0,8))."|";
195     $delegataire.= $this->maj(substr($row['delegataire_particulier_prenom'],0,30))."|";
196     $delegataire.= $this->maj(substr($row['delegataire_particulier_nom'],0,30))."|";
197     $delegataire.= $this->maj(substr($row['delegataire_numero'],0,5))."|";
198     $delegataire.= $this->maj(substr("",0,5))."|";
199     $delegataire.= $this->maj(substr($row['delegataire_voie'],0,26))."|";
200     $delegataire.= $this->maj(substr($row['delegataire_lieu_dit'],0,38))."|";
201     $delegataire.= $this->maj(substr($row['delegataire_localite'],0,32))."|";
202     $delegataire.= $this->maj(substr($row['delegataire_code_postal'],0,5))."|";
203     $delegataire.= $this->maj(substr($row['delegataire_bp'],0,5))."|";
204     $delegataire.= $this->maj(substr($row['delegataire_cedex'],0,5))."|";
205     $delegataire.= $this->maj($this->getCodeInseePays(strtoupper($row['delegataire_pays'])))."|";
206     $delegataire.= $this->maj(substr($row['delegataire_division_territoriale'],0,38))."|";
207     return $delegataire;
208     }
209    
210     function meltel($mouvement){
211     // openfoncier telephone_fixe (14/20), courriel(40, 50) pas de suivi
212     // sitadel : telmo|melmo|suivi
213     $meltel="";
214     if($mouvement != "TRANSFERT")
215     $meltel.=$this->maj($this->row['pp_telephone_fixe'])."|";
216     $meltel.= $this->maj($this->row['pp_courriel'])."|";
217     // suivi electronique
218     // Il n'y a pas de notification par mail gérée dans l'appli
219     $meltel.= "0";
220    
221     // suivi -> fin enr pour transfert (sans |)
222     if($mouvement != "TRANSFERT")
223     $meltel.= "|";
224     return $meltel;
225     }
226    
227     /**
228     * Permet de mettre en forme l'adresse du terrain
229     * @return string champs du terrain séparés par des |
230     */
231     function adresse_terrain(){
232     // openfoncier numero (4/5 substr), adresse(80, 26 +38 -> substr), complement (non utilise (80)), cp (5/5 ok), ville (30/32 ok)
233     // sitadel : |numvoiete|*typvoiete*|libvoiete|lieudite|communete|codposte|*bpte*|*cedexte*|
234     // mettre le | en debut pour info du 2eme groupe (suite 1er groupe)
235     $adresse="";
236     $adresse.= $this->maj(substr($this->row['dossier_terrain_adresse_voie_numero'],0,5))."|";
237     $adresse.= $this->maj(substr("",0,5))."|";
238     $adresse.= $this->maj(substr($this->row['dossier_terrain_adresse_voie'],0,26))."|";
239     $adresse.= $this->maj(substr($this->row['dossier_terrain_adresse_lieu_dit'],0,38))."|";
240     $adresse.= $this->maj(substr($this->row['dossier_terrain_adresse_localite'],0,32))."|";
241     $code_postal = substr($this->row['dossier_terrain_adresse_code_postal'],0,5);
242     $adresse.= $this->maj($code_postal)."|";
243     $adresse.= $this->maj(substr($this->row['dossier_terrain_adresse_bp'],0,5))."|";
244     $adresse.= $this->maj(substr($this->row['dossier_terrain_adresse_cedex'],0,5))."|";
245    
246     return $adresse;
247     }
248    
249     /**
250     * Formalise la parcelle à partir de la référence cadastrale
251     *
252     * @return string la chaine formatée
253     */
254     function parcelle(){
255     // ========
256     // parcelle
257     // ========
258     // cadastre 3 parcelles + 3 sections
259     // openfoncier = 1 seule parcelle (6/3+5)
260     // sitadel : scadastre1|ncadastre1|*scadastre2*|*ncadastre2*|*scadastre3*|*ncadastre3*|
261     $parcelle = "";
262     if ($this->row['dossier_terrain_references_cadastrales'] != "" ) {
263     $tab_parcelles = $this->parseParcelles($this->row['dossier_terrain_references_cadastrales']);
264    
265     $parcelle .= ( isset($tab_parcelles[0]) && count($tab_parcelles[0]) == 3 )
266     ? $this->maj(substr($tab_parcelles[0]['section'],0,3))."|".
267     $this->maj(substr($tab_parcelles[0]['parcelle'],0,5))."|"
268     : "||";
269     $parcelle .= ( isset($tab_parcelles[1]) && count($tab_parcelles[1]) == 3 )
270     ? $this->maj(substr($tab_parcelles[1]['section'],0,3))."|".
271     $this->maj(substr($tab_parcelles[1]['parcelle'],0,5))."|"
272     : "||";
273     $parcelle .= ( isset($tab_parcelles[2]) && count($tab_parcelles[2]) == 3 )
274     ? $this->maj(substr($tab_parcelles[2]['section'],0,3))."|".
275     $this->maj(substr($tab_parcelles[2]['parcelle'],0,5))."|"
276     : "||";
277     } else {
278     $parcelle= "||||||";
279     }
280    
281     return $parcelle;
282     }
283    
284     /**
285     * XXX 3 Méthode parseParcelles dans l'application
286     * Permet de calculer la liste des parcelles à partir de la chaîne passée en paramètre
287     * et la retourner sous forme d'un tableau associatif
288     *
289     * @param string $strParcelles chaîne de la parcelles
290     * @return array (array(quartier, section, parcelle), ...)
291     */
292     function parseParcelles($strParcelles) {
293    
294     // Séparation des lignes
295     $references = explode(";", $strParcelles);
296     $liste_parcelles = array();
297    
298     // On boucle sur chaque ligne pour ajouter la liste des parcelles de chaque ligne
299     foreach ($references as $parcelles) {
300    
301     // On transforme la chaîne de la ligne de parcelles en tableau
302     $ref = str_split($parcelles);
303     // Les 1er caractères sont numériques
304     $num = true;
305    
306     // Tableau des champs de la ligne de références cadastrales
307     $reference_tab = array();
308     $temp = "";
309     foreach ($ref as $carac) {
310    
311     // Permet de tester si le caractère courant est de même type que le précédent
312     if(is_numeric($carac) === $num) {
313     $temp .= $carac;
314     } else {
315     // Bascule
316     $num = !$num;
317     // On stock le champ
318     $reference_tab[] = $temp;
319     // re-init de la valeur temporaire pour le champ suivant
320     $temp = $carac;
321     }
322     }
323     // Stockage du dernier champ sur lequel il n'y a pas eu de bascule
324     $reference_tab[] = $temp;
325     // Calcul des parcelles
326     $quartier = $reference_tab[0];
327     $sect = $reference_tab[1];
328    
329     $ancien_ref_parc = "";
330     for ($i=2; $i < count($reference_tab); $i+=2) {
331     $parc["quartier"] = $quartier;
332     $parc["section"] = $sect;
333     if( $ancien_ref_parc == "" OR $reference_tab[$i-1] == "/") {
334     // 1ere parcelle ou parcelle individuelle
335     $parc["parcelle"] = $reference_tab[$i];
336     // Ajout d'une parcelle à la liste
337     $liste_parcelles[] = $parc;
338     } elseif ($reference_tab[$i-1] == "A") {
339     // Interval de parcelles
340     for ($j=$ancien_ref_parc+1; $j <= $reference_tab[$i]; $j++) {
341     $parc["parcelle"] = $j;
342     // Ajout d'une parcelle à la liste
343     $liste_parcelles[] = $parc;
344     }
345     }
346     //Gestion des erreurs
347     else{
348    
349     echo _("Une erreur de formattage a ete detecte dans la reference cadastrale du dossier ").$this->row['dossier'];
350     }
351     // Sauvegarde de la référence courante de parcelle
352     $ancien_ref_parc = $reference_tab[$i];
353     }
354     }
355    
356     return $liste_parcelles;
357     }
358    
359     /**
360     * Données pour le groupe 1 du mouvement décision
361     *
362     * @return string la chaine de données du groupe 1
363     */
364     function decision_groupe1(){
365     // openfoncier autorite_competente (integer/1), sitadel(integer, 1)
366     // date_limite (date, 8)| date_notification_delai (date, 8),
367     // sitadel_motif (integer, 1)
368     // sitadel : collectivite|natdec|datredec|motifann
369    
370     $decision = $this->maj(substr($this->row['autorite_competente_sitadel'],0,1))."|";
371     $decision.= (($this->row['sitadel']!="")?$this->maj(substr($this->row['sitadel'],0,1)):"0")."|";
372    
373     $datredec = "";
374     //Choix de la date
375     // Date limite de retour des pièces manquantes en cas de rejet tacite
376     if ( $this->row['sitadel'] == 1 ){
377     $datredec = ($this->row['date_limite_incompletude']!="")?$this->row['date_limite_incompletude']:$this->row['date_decision'];
378     } elseif( $this->row['sitadel'] == 2 || $this->row['sitadel'] == 3 ) {
379     $datredec = $this->row['date_limite'];
380     } elseif ( $this->row['sitadel'] == "" ){
381     $datredec = "";
382     } else {
383     $datredec = $this->row['date_decision'];
384     }
385    
386     // date au format francais 8 caracteres
387     $decision.= $this->maj(substr($datredec,8,2).''.
388     substr($datredec,5,2)."".
389     substr($datredec,0,4))."|";
390    
391     $decision.= $this->maj(substr($this->row['sitadel_motif'],0,1))."|";
392     return $decision;
393     }
394    
395     /**
396     * Données pour le groupe 2 du mouvement décision concernant les aménagements et
397     * le terrain
398     *
399     * @return string la chaine de données du groupe 2
400     */
401     function amenagement_terrain(){
402     // openfoncier am_terr_surf (numeric/7) am_lotiss (bool/1) terr_juri_afu (20/1)
403     // co_cstr_nouv (20/1) co_cstr_exist (text/1000) co_modif_aspect (bool/1)
404     // co_modif_struct (bool/1) co_cloture (bool/1) co_trx_exten (bool/1)
405     // co_trx_surelev (bool/1) co_trx_nivsup (bool/1) co_trx_amgt (bool/1)
406     // co_anx_pisc (bool/1) co_anx_gara (bool/1) co_anx_veran (bool/1)
407     // co_anx_abri (bool/1) co_anx_autr (bool/1) co_bat_niv_nb (integer/3)
408     // sitadel : terrain|lotissement|ZAC|AFU|libnattrav|natproj|natdp|nattrav|
409     // annexe|niax
410     $amenagement_terrain="";
411     //Terrain
412     $amenagement_terrain .= ((isset($this->row['dossier_terrain_superficie'])) ? $this->maj(substr(floor($this->row['dossier_terrain_superficie']),0,7)) : 0)."|";
413     //Lotissement
414     $amenagement_terrain .= ((isset($this->row['am_lotiss']) && $this->row['am_lotiss'] == 't') ? 1 : 0)."|";
415     //ZAC
416     $amenagement_terrain .= ((isset($this->row['terr_juri_zac']) && $this->maj($this->row['terr_juri_zac']) != '') ? 1 : 0)."|";
417     //AFU
418     $amenagement_terrain .= ((isset($this->row['terr_juri_afu']) && $this->maj($this->row['terr_juri_afu']) != '') ? 1 : 0)."|";
419     //Libnattrav
420     if (isset($this->row['co_projet_desc'])&&$this->row['co_projet_desc']!=''){
421     $amenagement_terrain .= $this->maj(substr($this->row['co_projet_desc'],0,1000));
422     } elseif(isset($this->row['am_projet_desc'])&&$this->row['am_projet_desc']!=''){
423     $amenagement_terrain .= $this->maj(substr($this->row['am_projet_desc'],0,1000));
424     } elseif(isset($this->row['dm_projet_desc'])&&$this->row['dm_projet_desc']!=''){
425     $amenagement_terrain .= $this->maj(substr($this->row['dm_projet_desc'],0,1000));
426     }
427     $amenagement_terrain .= "|";
428    
429     // Nouvelle construction et travaux sur construction (natproj)
430     if ( isset($this->row['co_cstr_nouv']) && isset($this->row['co_cstr_exist']) &&
431     $this->row['co_cstr_nouv'] == 't' &&
432     $this->row['co_cstr_exist'] == 't' ){
433     $amenagement_terrain .= "3";
434     }
435     //Nouvelle construction
436     elseif ( isset($this->row['co_cstr_nouv']) && $this->row['co_cstr_nouv'] == 't' ) {
437     $amenagement_terrain .= "1";
438     }
439     //Travaux sur construction existante
440     elseif(($this->row['co_cstr_nouv'] == 'f' && $this->row['co_cstr_exist'] == 'f') OR
441     $this->row['co_cstr_exist']=='t') {
442     $amenagement_terrain .= "2";
443     }
444     $amenagement_terrain .= "|";
445    
446     //Nature du projet dans le cas d'un DP (natdp)
447     if ( $this->row['code'] == "DP" ){
448    
449     $amenagement_terrain .= ((isset($this->row['co_cstr_nouv']) && $this->row['co_cstr_nouv'] == 't') ? 1 : 0);
450     $amenagement_terrain .= ((isset($this->row['co_cstr_exist']) && $this->row['co_cstr_exist'] == 't') ? 1 : 0);
451     $amenagement_terrain .= ((isset($this->row['co_modif_aspect']) && $this->row['co_modif_aspect'] == 't') ? 1 : 0);
452     $amenagement_terrain .= ((isset($this->row['co_modif_struct']) && $this->row['co_modif_struct'] == 't') ? 1 : 0);
453     $amenagement_terrain .= ((isset($this->row['co_cloture']) && $this->row['co_cloture'] == 't') ? 1 : 0);
454     }
455     $amenagement_terrain .= "|";
456    
457     //Nature des travaux sur construction existante
458     //nattrav
459     $amenagement_terrain .= ((isset($this->row['co_trx_exten']) && $this->row['co_trx_exten'] == 't') ? 1 : 0);
460     $amenagement_terrain .= ((isset($this->row['co_trx_surelev']) && $this->row['co_trx_surelev'] == 't') ? 1 : 0);
461     $amenagement_terrain .= ((isset($this->row['co_trx_niv_sup']) && $this->row['co_trx_niv_sup'] == 't') ? 1 : 0);
462     $amenagement_terrain .= ((isset($this->row['co_trx_amgt']) && $this->row['co_trx_amgt'] == 't') ? 1 : 0)."|";
463    
464     //Annexe
465     $amenagement_terrain .= ((isset($this->row['co_anx_pisc']) && $this->row['co_anx_pisc'] == 't') ? 1 : 0);
466     $amenagement_terrain .= ((isset($this->row['co_anx_gara']) && $this->row['co_anx_gara'] == 't') ? 1 : 0);
467     $amenagement_terrain .= ((isset($this->row['co_anxveran']) && $this->row['co_anxveran'] == 't') ? 1 : 0);
468     $amenagement_terrain .= ((isset($this->row['co_anx_abri']) && $this->row['co_anx_abri'] == 't') ? 1 : 0);
469     $amenagement_terrain .= ((isset($this->row['co_anx_autr']) && $this->row['co_anx_autr'] == 't') ? 1 : 0)."|";
470    
471     //niax
472     $amenagement_terrain .= ((isset($this->row['co_bat_niv_nb']) && $this->maj($this->row['co_bat_niv_nb'])<=1)?"1":$this->row['co_bat_niv_nb'])."|";
473    
474     return $amenagement_terrain;
475     }
476 softime 4636
477    
478 mbroquet 3730 /**
479 softime 4636 * Récupère les valeurs des shon après traitement.
480     *
481     * @param string $nom Nom de la colonne (avt, cstr, sup, ...).
482     * @param integer $ligne Pour récupérer seulement le résultat d'une ligne
483     * (1 à 9).
484     *
485     * @return array Liste des sommes de chaque ligne.
486     */
487     public function get_shon_val($nom, $ligne = 0) {
488    
489     // Somme de chaque résultat (9 lignes)
490     $result = array();
491     $result[1] = 0;
492     $result[2] = 0;
493     $result[3] = 0;
494     $result[4] = 0;
495     $result[5] = 0;
496     $result[6] = 0;
497     $result[7] = 0;
498     $result[8] = 0;
499     $result[9] = 0;
500    
501     // Si le tableau des surfaces est celui de la version 1
502     if ($this->get_tab_su_version() === 1) {
503     //
504     $result[1] = ((isset($this->row['su_'.$nom.'_shon'.'1'])) ? $this->maj(substr(floor($this->row['su_'.$nom.'_shon'.'1']),0,7)) : 0);
505     $result[2] = ((isset($this->row['su_'.$nom.'_shon'.'2'])) ? $this->maj(substr(floor($this->row['su_'.$nom.'_shon'.'2']),0,7)) : 0);
506     $result[3] = ((isset($this->row['su_'.$nom.'_shon'.'3'])) ? $this->maj(substr(floor($this->row['su_'.$nom.'_shon'.'3']),0,7)) : 0);
507     $result[4] = ((isset($this->row['su_'.$nom.'_shon'.'4'])) ? $this->maj(substr(floor($this->row['su_'.$nom.'_shon'.'4']),0,7)) : 0);
508     $result[5] = ((isset($this->row['su_'.$nom.'_shon'.'5'])) ? $this->maj(substr(floor($this->row['su_'.$nom.'_shon'.'5']),0,7)) : 0);
509     $result[6] = ((isset($this->row['su_'.$nom.'_shon'.'6'])) ? $this->maj(substr(floor($this->row['su_'.$nom.'_shon'.'6']),0,7)) : 0);
510     $result[7] = ((isset($this->row['su_'.$nom.'_shon'.'7'])) ? $this->maj(substr(floor($this->row['su_'.$nom.'_shon'.'7']),0,7)) : 0);
511     $result[8] = ((isset($this->row['su_'.$nom.'_shon'.'8'])) ? $this->maj(substr(floor($this->row['su_'.$nom.'_shon'.'8']),0,7)) : 0);
512     $result[9] = ((isset($this->row['su_'.$nom.'_shon'.'9'])) ? $this->maj(substr(floor($this->row['su_'.$nom.'_shon'.'9']),0,7)) : 0);
513     }
514    
515     // Si le tableau des surfaces est celui de la version 2, une
516     // correspondance est faite entre les lignes de ce tableau vers celui
517     // de la version 1
518     if ($this->get_tab_su_version() === 2) {
519     //
520     if (isset($this->row['su2_'.$nom.'_shon'.'3'])) {
521     //
522     $result[1] += $this->maj(substr(floor($this->row['su2_'.$nom.'_shon'.'3']),0,7));
523     }
524     //
525     if (isset($this->row['su2_'.$nom.'_shon'.'4'])) {
526     //
527     $result[1] += $this->maj(substr(floor($this->row['su2_'.$nom.'_shon'.'4']),0,7));
528     }
529    
530     //
531     if (isset($this->row['su2_'.$nom.'_shon'.'9'])) {
532     //
533     $result[2] += $this->maj(substr(floor($this->row['su2_'.$nom.'_shon'.'9']),0,7));
534     }
535    
536     //
537     if (isset($this->row['su2_'.$nom.'_shon'.'19'])) {
538     //
539     $result[3] += $this->maj(substr(floor($this->row['su2_'.$nom.'_shon'.'19']),0,7));
540     }
541    
542     //
543     if (isset($this->row['su2_'.$nom.'_shon'.'5'])) {
544     //
545     $result[4] += $this->maj(substr(floor($this->row['su2_'.$nom.'_shon'.'5']),0,7));
546     }
547     //
548     if (isset($this->row['su2_'.$nom.'_shon'.'6'])) {
549     //
550     $result[4] += $this->maj(substr(floor($this->row['su2_'.$nom.'_shon'.'6']),0,7));
551     }
552     //
553     if (isset($this->row['su2_'.$nom.'_shon'.'7'])) {
554     //
555     $result[4] += $this->maj(substr(floor($this->row['su2_'.$nom.'_shon'.'7']),0,7));
556     }
557     //
558     if (isset($this->row['su2_'.$nom.'_shon'.'8'])) {
559     //
560     $result[4] += $this->maj(substr(floor($this->row['su2_'.$nom.'_shon'.'8']),0,7));
561     }
562    
563     //
564     if (isset($this->row['su2_'.$nom.'_shon'.'17'])) {
565     //
566     $result[6] += $this->maj(substr(floor($this->row['su2_'.$nom.'_shon'.'17']),0,7));
567     }
568    
569     //
570     if (isset($this->row['su2_'.$nom.'_shon'.'1'])) {
571     //
572     $result[7] += $this->maj(substr(floor($this->row['su2_'.$nom.'_shon'.'1']),0,7));
573     }
574     //
575     if (isset($this->row['su2_'.$nom.'_shon'.'2'])) {
576     //
577     $result[7] += $this->maj(substr(floor($this->row['su2_'.$nom.'_shon'.'2']),0,7));
578     }
579    
580     //
581     if (isset($this->row['su2_'.$nom.'_shon'.'18'])) {
582     //
583     $result[8] += $this->maj(substr(floor($this->row['su2_'.$nom.'_shon'.'18']),0,7));
584     }
585    
586     //
587     if (isset($this->row['su2_'.$nom.'_shon'.'10'])) {
588     //
589     $result[9] += $this->maj(substr(floor($this->row['su2_'.$nom.'_shon'.'10']),0,7));
590     }
591     //
592     if (isset($this->row['su2_'.$nom.'_shon'.'11'])) {
593     //
594     $result[9] += $this->maj(substr(floor($this->row['su2_'.$nom.'_shon'.'11']),0,7));
595     }
596     //
597     if (isset($this->row['su2_'.$nom.'_shon'.'12'])) {
598     //
599     $result[9] += $this->maj(substr(floor($this->row['su2_'.$nom.'_shon'.'12']),0,7));
600     }
601     //
602     if (isset($this->row['su2_'.$nom.'_shon'.'13'])) {
603     //
604     $result[9] += $this->maj(substr(floor($this->row['su2_'.$nom.'_shon'.'13']),0,7));
605     }
606     //
607     if (isset($this->row['su2_'.$nom.'_shon'.'14'])) {
608     //
609     $result[9] += $this->maj(substr(floor($this->row['su2_'.$nom.'_shon'.'14']),0,7));
610     }
611     //
612     if (isset($this->row['su2_'.$nom.'_shon'.'15'])) {
613     //
614     $result[9] += $this->maj(substr(floor($this->row['su2_'.$nom.'_shon'.'15']),0,7));
615     }
616     //
617     if (isset($this->row['su2_'.$nom.'_shon'.'16'])) {
618     //
619     $result[9] += $this->maj(substr(floor($this->row['su2_'.$nom.'_shon'.'16']),0,7));
620     }
621     //
622     if (isset($this->row['su2_'.$nom.'_shon'.'20'])) {
623     //
624     $result[9] += $this->maj(substr(floor($this->row['su2_'.$nom.'_shon'.'20']),0,7));
625     }
626     }
627    
628     // Si aucune ligne n'est précisée
629     if ($ligne == 0) {
630     // Retourne le tableau de tous les résultats
631     return $result;
632     }
633    
634     // Retourne un seul résultat
635     return $result[$ligne];
636     }
637    
638    
639     /**
640 mbroquet 3730 * Données pour le groupe 2 du mouvement décision concernant les SHON
641 softime 4636 *
642     * @param string $nom Nom de la colonne (avt, cstr, sup, ...).
643     *
644     * @return string la chaine de données du groupe 2
645 mbroquet 3730 */
646 softime 4636 public function shon($nom) {
647    
648     // Récupère la valeur de la ligne du tableau passé en paramètre
649     $result = $this->get_shon_val($nom);
650    
651     // Concaténation des shon dans la chaîne à retourner
652     $shon = $result[1] . "|" . $result[2] . "|" . $result[3] . "|" . $result[4] . "|" . $result[5] . "|" . $result[6] . "|" . $result[7] . "|" . $result[8] . "|" . $result[9] . "|";
653    
654     //
655 mbroquet 3730 return $shon;
656     }
657    
658 softime 4636
659 mbroquet 3730 /**
660 softime 4636 * Retourne le numéro de version du tableau des surfaces utilisé.
661     *
662     * @return integer
663     */
664     public function get_tab_su_version() {
665    
666     // Par défaut on utilise la première version du tableau des surfaces (
667     // celui avec 9 destinations)
668     $result = 1;
669    
670     // Si un des champs du tableau version 2 est renseigné alors on utilise
671     // celui avec les 21 sous-destinations
672     for ($i = 1; $i < 21; $i++) {
673     //
674     if (($this->row["su2_avt_shon".$i] !== '' && $this->row["su2_avt_shon".$i] !== null && $this->row["su2_avt_shon".$i] !== '0')
675     || ($this->row["su2_cstr_shon".$i] !== '' && $this->row["su2_cstr_shon".$i] !== null && $this->row["su2_cstr_shon".$i] !== '0')
676     || ($this->row["su2_chge_shon".$i] !== '' && $this->row["su2_chge_shon".$i] !== null && $this->row["su2_chge_shon".$i] !== '0')
677     || ($this->row["su2_demo_shon".$i] !== '' && $this->row["su2_demo_shon".$i] !== null && $this->row["su2_demo_shon".$i] !== '0')
678     || ($this->row["su2_sup_shon".$i] !== '' && $this->row["su2_sup_shon".$i] !== null && $this->row["su2_sup_shon".$i] !== '0')
679     || ($this->row["su2_tot_shon".$i] !== '' && $this->row["su2_tot_shon".$i] !== null) && $this->row["su2_tot_shon".$i] !== '0') {
680     //
681     $result = 2;
682     }
683     }
684    
685     // Version du tableau
686     return $result;
687     }
688    
689    
690     /**
691 mbroquet 3730 * Permet de mettre en forme le descriptif des modifications apportés sur le
692     * terrain dans les dossier d'instruction de type modificatif
693     *
694     * @return string chaîne mise en forme
695     */
696     function modificatif_terrain() {
697     $modificatif_terrain="";
698    
699     // Terrain
700     $modificatif_terrain .= ((isset($this->row['dossier_terrain_superficie'])) ? $this->maj(substr(floor($this->row['dossier_terrain_superficie']),0,7)) : 0)."|";
701     // Description des modifications
702     $modificatif_terrain .= (isset($this->row['co_projet_desc'])) ? $this->maj(substr($this->row['co_projet_desc'],0,1000))."|" : "|";
703     //Nature des travaux sur construction existante
704     //nattrav
705     $modificatif_terrain .= ((isset($this->row['co_trx_exten']) && $this->row['co_trx_exten'] == 't') ? 1 : 0);
706     $modificatif_terrain .= ((isset($this->row['co_trx_surelev']) && $this->row['co_trx_surelev'] == 't') ? 1 : 0);
707     $modificatif_terrain .= ((isset($this->row['co_trx_niv_sup']) && $this->row['co_trx_niv_sup'] == 't') ? 1 : 0);
708     $modificatif_terrain .= ((isset($this->row['co_trx_amgt']) && $this->row['co_trx_amgt'] == 't') ? 1 : 0)."|";
709    
710     //Annexe
711     $modificatif_terrain .= ((isset($this->row['co_anx_pisc']) && $this->row['co_anx_pisc'] == 't') ? 1 : 0);
712     $modificatif_terrain .= ((isset($this->row['co_anx_gara']) && $this->row['co_anx_gara'] == 't') ? 1 : 0);
713     $modificatif_terrain .= ((isset($this->row['co_anxveran']) && $this->row['co_anxveran'] == 't') ? 1 : 0);
714     $modificatif_terrain .= ((isset($this->row['co_anx_abri']) && $this->row['co_anx_abri'] == 't') ? 1 : 0);
715     $modificatif_terrain .= ((isset($this->row['co_anx_autr']) && $this->row['co_anx_autr'] == 't') ? 1 : 0)."|";
716    
717     //niax
718     $modificatif_terrain .= (isset($this->row['co_bat_niv_nb']) && $this->maj(substr($this->row['co_bat_niv_nb'],0,3)))."|";
719    
720     return $modificatif_terrain;
721     }
722    
723     /**
724     * Données pour le groupe 2 du mouvement décision concernant les destinations
725     *
726     * @return string la chaine de données du groupe 2
727     */
728     function destination($mouvement){
729    
730     $destination = "";
731    
732     $destination .= ((isset($this->row['co_sp_transport']) && $this->row['co_sp_transport'] == 't') ? 1 : 0);
733     $destination .= ((isset($this->row['co_sp_enseign']) && $this->row['co_sp_enseign'] == 't') ? 1 : 0);
734     $destination .= ((isset($this->row['co_sp_sante']) && $this->row['co_sp_sante'] == 't') ? 1 : 0);
735     $destination .= ((isset($this->row['co_sp_act_soc']) && $this->row['co_sp_act_soc'] == 't') ? 1 : 0);
736     $destination .= ((isset($this->row['co_sp_ouvr_spe']) && $this->row['co_sp_ouvr_spe'] == 't') ? 1 : 0);
737     $destination .= ((isset($this->row['co_sp_culture']) && $this->row['co_sp_culture'] == 't') ? 1 : 0)."|";
738    
739     if($mouvement != "MODIFICATIF"){
740     $destination .= ((isset($this->row['dm_tot_log_nb']) && !empty($this->row['dm_tot_log_nb'])) ? $this->row['dm_tot_log_nb'] : 0)."|";
741     }
742    
743     $destination .= ((isset($this->row['co_tot_ind_nb']) && !empty($this->row['co_tot_ind_nb'])) ? $this->row['co_tot_ind_nb'] : 0)."|";
744     $destination .= ((isset($this->row['co_tot_coll_nb']) && !empty($this->row['co_tot_coll_nb'])) ? $this->row['co_tot_coll_nb'] : 0)."|";
745     $destination .= ((isset($this->row['co_tot_log_nb']) && !empty($this->row['co_tot_log_nb'])) ? $this->row['co_tot_log_nb'] : 0)."|";
746    
747     $destination .= ((isset($this->row['co_resid_agees']) && $this->row['co_resid_agees']=='t') ? 1 : 0);
748     $destination .= ((isset($this->row['co_resid_etud']) && $this->row['co_resid_etud']=='t') ? 1 : 0);
749     $destination .= ((isset($this->row['co_resid_tourism']) && $this->row['co_resid_tourism']=='t') ? 1 : 0);
750     $destination .= ((isset($this->row['co_resid_hot_soc']) && $this->row['co_resid_hot_soc']=='t') ? 1 : 0);
751     $destination .= ((isset($this->row['co_resid_soc']) && $this->row['co_resid_soc']=='t') ? 1 : 0);
752     $destination .= ((isset($this->row['co_resid_hand']) && $this->row['co_resid_hand']=='t') ? 1 : 0);
753     $destination .= ((isset($this->row['co_resid_autr']) && $this->row['co_resid_autr']=='t') ? 1 : 0)."|";
754     $destination .= (isset($this->row['co_resid_autr_desc']) ? $this->maj($this->row['co_resid_autr_desc']) : "")."|";
755    
756     $destination .= ((isset($this->row['co_uti_pers']) && $this->row['co_uti_pers']=='t') ? 1 : 0);
757     $destination .= ((isset($this->row['co_uti_princ']) && $this->row['co_uti_princ']=='t') ? 1 : 0);
758     $destination .= ((isset($this->row['co_uti_secon']) && $this->row['co_uti_secon']=='t') ? 1 : 0);
759     $destination .= ((isset($this->row['co_uti_vente']) && $this->row['co_uti_vente']=='t') ? 1 : 0);
760     $destination .= ((isset($this->row['co_uti_loc']) && $this->row['co_uti_loc']=='t') ? 1 : 0)."|";
761    
762     $destination .= ((isset($this->row['co_foyer_chamb_nb']) && !empty($this->row['co_foyer_chamb_nb'])) ? $this->row['co_foyer_chamb_nb'] : 0)."|";
763    
764     return $destination;
765     }
766    
767     /**
768     * Données pour le groupe 2 du mouvement décision concernant la répartition des
769     * logements créées par type de financement
770     *
771     * @return string la chaine de données du groupe 2
772     */
773     function repartitionFinan(){
774    
775     $repartitionFinan = "";
776    
777     $repartitionFinan .= ((isset($this->row['co_fin_lls_nb']) && $this->row['co_fin_lls_nb']) ? $this->row['co_fin_lls_nb'] : 0)."|";
778     $repartitionFinan .= ((isset($this->row['co_fin_aa_nb']) && $this->row['co_fin_aa_nb']) ? $this->row['co_fin_aa_nb'] : 0)."|";
779     $repartitionFinan .= ((isset($this->row['co_fin_ptz_nb']) && $this->row['co_fin_ptz_nb']) ? $this->row['co_fin_ptz_nb'] : 0)."|";
780     $repartitionFinan .= ((isset($this->row['co_fin_autr_nb']) && $this->row['co_fin_autr_nb']) ? $this->row['co_fin_autr_nb'] : 0)."|";
781    
782     return $repartitionFinan;
783     }
784    
785     /**
786     * Données pour le groupe 2 du mouvement décision concernant la répartition des
787     * logements créées par nombre de pièces
788     *
789     * @return string la chaine de données du groupe 2
790     */
791     function repartitionNbPiece($mouvement){
792    
793     $repartitionFinan = "";
794     if($mouvement != "MODIFICATIF"){
795     $repartitionFinan .= ((isset($this->row['co_mais_piece_nb']) && $this->row['co_mais_piece_nb'] == 't') ? 1 : 0)."|";
796     }
797    
798     $repartitionFinan .= ((isset($this->row['co_log_1p_nb']) && is_numeric($this->row['co_log_1p_nb'])) ? $this->row['co_log_1p_nb'] : 0)."|";
799     $repartitionFinan .= ((isset($this->row['co_log_2p_nb']) && is_numeric($this->row['co_log_2p_nb'])) ? $this->row['co_log_2p_nb'] : 0)."|";
800     $repartitionFinan .= ((isset($this->row['co_log_3p_nb']) && is_numeric($this->row['co_log_3p_nb'])) ? $this->row['co_log_3p_nb'] : 0)."|";
801     $repartitionFinan .= ((isset($this->row['co_log_4p_nb']) && is_numeric($this->row['co_log_4p_nb'])) ? $this->row['co_log_4p_nb'] : 0)."|";
802     $repartitionFinan .= ((isset($this->row['co_log_5p_nb']) && is_numeric($this->row['co_log_5p_nb'])) ? $this->row['co_log_5p_nb'] : 0)."|";
803     $repartitionFinan .= ((isset($this->row['co_log_6p_nb']) && is_numeric($this->row['co_log_6p_nb'])) ? $this->row['co_log_6p_nb'] : 0);
804    
805     return $repartitionFinan;
806     }
807    
808     /**
809     * Permet de mettre en forme les données du mouvement suivi pour une ouverture de chantier
810     * @return string Chaîne contenant les infos spécifiques aux DOC séparé par "|"
811     */
812     function chantier($row){
813    
814     $chantier="";
815     if(isset($row['date_chantier'])) {
816     $chantier .= substr($row['date_chantier'],8,2).substr($row['date_chantier'],5,2).
817     substr($row['date_chantier'],0,4); // *** au format francais
818     }
819     $chantier .= "|";
820     $chantier .= ((isset($row['doc_nb_log']) AND $row['doc_nb_log'] != "" ) ? $row['doc_nb_log'] : "")."|";
821     $chantier .= ((isset($row['doc_nb_log_indiv']) AND $row['doc_nb_log_indiv'] != "" ) ? $row['doc_nb_log_indiv'] : "")."|";
822     $chantier .= ((isset($row['doc_nb_log_coll']) AND $row['doc_nb_log_coll'] != "" ) ? $row['doc_nb_log_coll'] : "")."|";
823     $chantier .= ((isset($row['doc_surf']) AND $row['doc_surf'] != "" ) ? substr(floor($row['doc_surf']),0,7) : "")."|";
824     $chantier .= ((isset($row['doc_nb_log_lls']) AND $row['doc_nb_log_lls'] != "" ) ? $row['doc_nb_log_lls'] : "")."|";
825     $chantier .= ((isset($row['doc_nb_log_aa']) AND $row['doc_nb_log_aa'] != "" ) ? $row['doc_nb_log_aa'] : "")."|";
826     $chantier .= ((isset($row['doc_nb_log_ptz']) AND $row['doc_nb_log_ptz'] != "" ) ? $row['doc_nb_log_ptz'] : "")."|";
827     $chantier .= ((isset($row['doc_nb_log_autre']) AND $row['doc_nb_log_autre'] != "" ) ? $row['doc_nb_log_autre'] : "")."|";
828     // indice de la tranche commencée
829     $chantier .= "0|";
830    
831     return $chantier;
832     }
833    
834     /**
835     * Permet d'afficher le dessein correspondant à une DAACT
836     * @param array $row Les données à ajouter
837     *
838     * @return string Chaîne contenant les infos spécifiques aux DAACT séparé par "|"
839     */
840     function achevement($row){
841    
842     $achevement="";
843     if(isset($row['date_achevement'])) {
844     $achevement .= substr($row['date_achevement'],8,2).substr($row['date_achevement'],5,2).
845     substr($row['date_achevement'],0,4); // *** au format francais
846     }
847     $achevement .= "|";
848    
849     $achevement .= ((isset($row['daact_nb_log']) AND $row['daact_nb_log'] != "" ) ? $row['daact_nb_log'] : "")."|";
850     $achevement .= ((isset($row['daact_nb_log_indiv']) AND $row['daact_nb_log_indiv'] != "" ) ? $row['daact_nb_log_indiv'] : "")."|";
851     $achevement .= ((isset($row['daact_nb_log_coll']) AND $row['daact_nb_log_coll'] != "" ) ? $row['daact_nb_log_coll'] : "")."|";
852     $achevement .= ((isset($row['daact_surf']) AND $row['daact_surf'] != "" ) ? substr(floor($row['daact_surf']),0,7) : "")."|";
853     $achevement .= ((isset($row['daact_nb_log_lls']) AND $row['daact_nb_log_lls'] != "" ) ? $row['daact_nb_log_lls'] : "")."|";
854     $achevement .= ((isset($row['daact_nb_log_aa']) AND $row['daact_nb_log_aa'] != "" ) ? $row['daact_nb_log_aa'] : "")."|";
855     $achevement .= ((isset($row['daact_nb_log_ptz']) AND $row['daact_nb_log_ptz'] != "" ) ? $row['daact_nb_log_ptz'] : "")."|";
856     $achevement .= ((isset($row['daact_nb_log_autre']) AND $row['daact_nb_log_autre'] != "" ) ? $row['daact_nb_log_autre'] : "")."|";
857     // indice de la tranche complétée
858     $achevement .= "0|";
859     // Finchantier 1 si etat=cloturer sinon 0
860     if ($row['statut_di']=="cloture"){
861     $achevement.="1";
862     }else{
863     $achevement.="0";
864     }
865     // indique la provenance de l'info d'achèvement des travaux (déclaration/DGI)
866     $achevement .= "|";
867     return $achevement;
868     }
869    
870     /**
871     * Permet de récupérer la valeur par defaut du champ passé en paramètre
872     * @param string $champ nom du champ dont on souhaite afficher la valeur par defaut
873     * @return string valeur par defaut
874     */
875     function defaultValue($champ){
876     if($this->DEBUG==2) return $champ;
877     if(isset($this->parametre[$champ])){
878     return $this->parametre[$champ];
879     }else
880     return $this->val[$champ];
881     }
882    
883     /**
884     * Normalise la chaine de caractère ou renvoit "valeur manquant".
885     *
886     * @param $val La valeur du champ
887     * @return string la chaine formatée ou ""
888     */
889     function maj($val) {
890     $val = strtoupper($val);
891     $val=str_replace(chr(195), "", $val); // supprime le premier code des accents en UTF-8
892     $s = array('/[âàäÀÂ]/', '/[éêèëÉÈÊ]/', '/[îï]/', '/[ôöÔ]/', '/[ûùü]/', '/[çÇ]/', '/\'|\"|^abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ\-\s\r/', '/\n/');
893     $r = array('A', 'E', 'I', 'O', 'U', 'C', ' ', ' ');
894     $val = preg_replace($s , $r, $val);
895     // Formatage des valeurs manquantes
896     return $val;
897     }
898    
899     /**
900     * Retourne le code INSEE d'un pays
901     *
902     * @param string $pays Le nom du pays
903     * @return int Le code insee du pays
904     */
905     function getCodeInseePays($pays) {
906     //
907     if($pays!=''&&isset($this->pays[substr($pays, 0, 4)])) {
908     return $this->pays[substr($pays, 0, 4)];
909     }
910     return $this->pays['FRAN'];
911     }
912    
913     function getCommune($collectivite){
914     $sql = "SELECT valeur FROM ".DB_PREFIXE."om_parametre WHERE om_collectivite = ".$collectivite." AND libelle='commune'";
915     $commune = $this->f->db -> getOne ($sql);
916     $this->f->addToLog("export_sitadel.class.php : db->query(\"".$sql."\")", VERBOSE_MODE);
917     $this->f->isDatabaseError($commune);
918     return $commune;
919     }
920    
921     function getDepartement($collectivite){
922     $sql = "SELECT valeur FROM ".DB_PREFIXE."om_parametre WHERE om_collectivite = ".$collectivite." AND libelle='departement'";
923     $departement = $this->f->db -> getOne ($sql);
924     $this->f->addToLog("export_sitadel.class.php : db->query(\"".$sql."\")", VERBOSE_MODE);
925     $this->f->isDatabaseError($departement);
926     return $departement;
927     }
928    
929     }
930    
931     ?>

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26