/[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 17542 - (hide annotations)
Thu Apr 25 13:27:12 2024 UTC (9 months, 1 week ago) by softime
File size: 44906 byte(s)
chore(branch): fusion de la branche d'intégration 6.5.0-develop dans le trunk

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

Properties

Name Value
svn:keywords "Id"

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26