Subversion Repositories Sites.obs-saisons.fr

Rev

Rev 249 | Rev 264 | Go to most recent revision | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 249 Rev 263
1
<?php
1
<?php
2
 
2
 
3
class OdsExport extends OdsTriple {
3
class OdsExport extends OdsTriple {
4
	
4
	
5
	const PREFIXE = 'get';
5
	const PREFIXE = 'get';
6
	const ABBR_LISTE_EVENEMENTS = 'evenement';
6
	const ABBR_LISTE_EVENEMENTS = 'evenement';
7
	const ABBR_LISTE_ESPECES = 'espece';
7
	const ABBR_LISTE_ESPECES = 'espece';
8
	const ABBR_LISTE_MILIEUX = 'environnement';
8
	const ABBR_LISTE_MILIEUX = 'environnement';
9
 
9
 
10
	private $type_mime = 'text/html';
10
	private $type_mime = 'text/html';
11
	
11
	
12
	/**
12
	/**
13
 	* Méthodes d'extractions d'informations
13
 	* Méthodes d'extractions d'informations
14
 	*/
14
 	*/
15
	
15
	
16
	/**
16
	/**
17
     * Méthode appelée avec une requête de type GET.
17
     * Méthode appelée avec une requête de type GET.
18
     *
18
     *
19
     */
19
     */
20
    function getElement($param = array()) {
20
    function getElement($param = array()) {
21
    	
21
    	
22
    	$type = $param[0];
22
    	$type = $param[0];
23
    	    	
23
    	    	
24
        if ($type == '*' || is_numeric($type)) {
24
        if ($type == '*' || is_numeric($type)) {
25
            $info = $this->getElementParDefaut($param);
25
            $info = $this->getElementParDefaut($param);
26
        } else {
26
        } else {
27
            $methode = self::PREFIXE.$type;
27
            $methode = self::PREFIXE.$type;
28
            if (method_exists($this, $methode)) {
28
            if (method_exists($this, $methode)) {
29
                array_shift($param);
29
                array_shift($param);
30
                $info = $this->$methode($param);
30
                $info = $this->$methode($param);
31
            } else {
31
            } else {
32
                $this->messages[] = "Le type d'information demandé '$type' n'est pas disponible.";
32
                $this->messages[] = "Le type d'information demandé '$type' n'est pas disponible.";
33
            }
33
            }
34
        }
34
        }
35
 
35
 
36
	$this->envoyer($info,$this->type_mime);
36
	$this->envoyer($info,$this->type_mime);
37
    }
37
    }
38
	
38
	
39
	public function getExportObservation($start = null,$limit = null, $order_by = 'oo_date') {
39
	public function getExportObservation($start = null,$limit = null, $order_by = 'oo_date') {
40
						
40
						
41
		$requete_selection_observations = 'SELECT * FROM ods_observations '.
41
		$requete_selection_observations = 'SELECT * FROM ods_observations '.
42
									' LEFT JOIN ods_individus '. 
42
									' LEFT JOIN ods_individus '. 
43
									' ON oi_id_individu = oo_ce_individu'.
43
									' ON oi_id_individu = oo_ce_individu'.
44
									' LEFT JOIN ods_stations '.
44
									' LEFT JOIN ods_stations '.
45
									' ON oi_ce_station = os_id_station ';
45
									' ON oi_ce_station = os_id_station '.
-
 
46
									' LEFT JOIN ods_communes '.
-
 
47
									'ON os_ce_commune = oc_code_insee ';
46
		
48
		
47
		$requete_selection_observations .= $this->construireConditionRequete();
49
		$requete_selection_observations .= $this->construireConditionRequete();
48
		$requete_selection_observations .= ' ORDER BY oo_date DESC';
50
		$requete_selection_observations .= ' ORDER BY oo_date DESC';
49
		
51
		
50
		$res_selection_observations = $this->executerRequete($requete_selection_observations);
52
		$res_selection_observations = $this->executerRequete($requete_selection_observations);
51
				
53
				
52
		return $res_selection_observations;
54
		return $res_selection_observations;
53
	}
55
	}
-
 
56
	
-
 
57
	private function creerFiltreIdZoneGeo($valeurMasque) {
-
 
58
		$masque = '';
-
 
59
		$dept = $valeurMasque;
-
 
60
		$dept = sprintf('%02s', $dept);
-
 
61
		$dept = sprintf("%-'_5s", $dept);
-
 
62
		$masque = " oc_code_insee LIKE ".$this->proteger($dept);
-
 
63
		return $masque;
-
 
64
	}
54
	
65
	
55
	public function construireConditionRequete() {
66
	public function construireConditionRequete() {
56
		
67
		
57
		$condition = ' WHERE oo_date != "0000-00-00" AND DAY(oo_date) != "00" AND ';
68
		$condition = ' WHERE oo_date != "0000-00-00" AND DAY(oo_date) != "00" AND ';
58
		
69
		
59
		foreach($_GET as $cle => $valeur) {
70
		foreach($_GET as $cle => $valeur) {
60
			
71
			
61
			switch($cle) {
72
			switch($cle) {
62
			
73
			
63
				case 'type_espece':
74
				case 'type_espece':
64
					$condition .= 'oi_ce_espece IN (SELECT oe_id_espece FROM ods_especes WHERE oe_ce_type = '.$this->proteger($valeur).')';
75
					$condition .= 'oi_ce_espece IN (SELECT oe_id_espece FROM ods_especes WHERE oe_ce_type = '.$this->proteger($valeur).')';
65
				break;
76
				break;
66
				
77
				
67
				case 'annee':
78
				case 'annee':
68
					if($this->anneesMultiplesDemandees($valeur)) {
79
					if($this->anneesMultiplesDemandees($valeur)) {
69
						$valeur = rtrim($valeur,',');
80
						$valeur = rtrim($valeur,',');
70
						$condition .= 'YEAR(oo_date) IN ('.$valeur.')';						
81
						$condition .= 'YEAR(oo_date) IN ('.$valeur.')';						
71
					} else {
82
					} else {
72
						$condition .= 'YEAR(oo_date) ';
83
						$condition .= 'YEAR(oo_date) ';
73
						$condition .= ' = '.$this->proteger($valeur);
84
						$condition .= ' = '.$this->proteger($valeur);
74
					}
85
					}
75
				break;
86
				break;
76
				
87
				
77
				case 'mois':
88
				case 'mois':
78
					$condition .= 'MONTH(oo_date) <= '.$this->proteger($valeur);
89
					$condition .= 'MONTH(oo_date) <= '.$this->proteger($valeur);
79
				break;
90
				break;
80
				
91
				
81
				case 'espece':
92
				case 'espece':
82
					$condition .= 'oi_ce_espece IN ('.$valeur.') ';
93
					$condition .= 'oi_ce_espece IN ('.$valeur.') ';
83
				break;
94
				break;
84
				
95
				
85
				case 'evenement':
96
				case 'evenement':
86
					$condition .= 'oo_ce_evenement = '.$this->proteger($valeur);
97
					$condition .= 'oo_ce_evenement = '.$this->proteger($valeur);
87
				break;
98
				break;
88
				
99
				
89
				case 'departement':
100
				case 'departement':
90
					$condition .= 'os_ce_commune LIKE "'.$valeur.'%" ';
101
					$condition .= 'os_ce_commune LIKE "'.$valeur.'%" ';
91
				break;
102
				break;
92
				
103
				
93
				case 'utilisateur':
104
				case 'utilisateur':
94
					$condition .= 'oo_ce_participant = '.$this->proteger($valeur);	
105
					$condition .= 'oo_ce_participant = '.$this->proteger($valeur);	
95
				break;
106
				break;
96
				
107
				
-
 
108
				case 'dept' :
97
				default:
109
					$condition .= $this->creerFiltreIdZoneGeo($valeur);
-
 
110
				break;
98
				break;
111
				default:
99
			}
112
			}
100
			
113
			
101
			$condition .= ' AND ';
114
			$condition .= ' AND ';
102
		}
115
		}
103
		
116
		
104
		$condition = rtrim($condition,'AND ');
117
		$condition = rtrim($condition,'AND ');
105
		
118
		
106
		$id_demo = $this->config['appli']['id_participant_demo'];
119
		$id_demo = $this->config['appli']['id_participant_demo'];
107
		$id_admin = $this->config['appli']['id_participant_admin'];
120
		$id_admin = $this->config['appli']['id_participant_admin'];
108
		
121
		
109
		$condition .= ' AND oo_ce_participant != '.$id_demo;
122
		$condition .= ' AND oo_ce_participant != '.$id_demo;
110
		$condition .= ' AND oo_ce_participant != '.$id_admin;
123
		$condition .= ' AND oo_ce_participant != '.$id_admin;
111
		
124
		
112
		return $condition;
125
		return $condition;
113
	}
126
	}
114
	
127
	
115
	private function anneesMultiplesDemandees($annee) {
128
	private function anneesMultiplesDemandees($annee) {
116
		// un ensemble d'identifiants est une suite d'identifiants séparés par des virgules
129
		// un ensemble d'identifiants est une suite d'identifiants séparés par des virgules
117
		// sans virgule terminale
130
		// sans virgule terminale
118
		$reg_exp = "/^(([0-9])+,)*([0-9])+$/";
131
		$reg_exp = "/^(([0-9])+,)*([0-9])+$/";
119
		return preg_match($reg_exp, $annee);
132
		return preg_match($reg_exp, $annee);
120
	}
133
	}
121
	
134
	
122
	public function getExportObservationPlat() {
135
	public function getExportObservationPlat() {
123
				
136
				
124
		$donnees = $this->getExportObservation();
137
		$donnees = $this->getExportObservation();
125
		$donnees_formatees = $this->formaterPourExportCSV($donnees);	
138
		$donnees_formatees = $this->formaterPourExportCSV($donnees);	
126
			
139
			
127
		return $donnees_formatees ;
140
		return $donnees_formatees ;
128
	}
141
	}
129
	
142
	
130
	public function getExportObservationJson() {
143
	public function getExportObservationJson() {
131
		
144
		
132
		$donnees = $this->getExportObservation();
145
		$donnees = $this->getExportObservation();
133
		$donnees_formatees = $this->formaterPourExportJson($donnees);
146
		$donnees_formatees = $this->formaterPourExportJson($donnees);
134
 
147
 
135
		$this->type_mime = 'application/json';
148
		$this->type_mime = 'application/json';
136
		
149
		
137
		return $donnees_formatees;
150
		return $donnees_formatees;
138
	}
151
	}
139
	
152
	
140
	public function formaterPourExportJson($tableau_observations_infos) {
153
	public function formaterPourExportJson($tableau_observations_infos) {
141
		
154
		
142
		$gestionnaire_especes = new OdsEspece($this->config);
155
		$gestionnaire_especes = new OdsEspece($this->config);
143
		$gestionnaire_communes = new OdsCommune($this->config);
156
		$gestionnaire_communes = new OdsCommune($this->config);
144
				
157
				
145
		$especes = $gestionnaire_especes->getToutesEspeces();
158
		$especes = $gestionnaire_especes->getToutesEspeces();
146
		$evenements = $this->obtenirValeursListeParAbreviation(self::ABBR_LISTE_EVENEMENTS);
159
		$evenements = $this->obtenirValeursListeParAbreviation(self::ABBR_LISTE_EVENEMENTS);
147
		$milieux = $this->obtenirValeursListeParAbreviation(self::ABBR_LISTE_MILIEUX);
160
		$milieux = $this->obtenirValeursListeParAbreviation(self::ABBR_LISTE_MILIEUX);
148
		
161
		
149
		$resultats_formates = array();
162
		$resultats_formates = array();
150
		
163
		
151
		foreach($tableau_observations_infos as $observations_infos) {
164
		foreach($tableau_observations_infos as $observations_infos) {
152
		
165
		
153
			$id_espece = $observations_infos['oi_ce_espece'];
166
			$id_espece = $observations_infos['oi_ce_espece'];
154
			$nom_espece =  $especes[$id_espece]['nom_scientifique'];
167
			$nom_espece =  $especes[$id_espece]['nom_scientifique'];
155
				
168
				
156
			$id_evenement = $observations_infos['oo_ce_evenement'];
169
			$id_evenement = $observations_infos['oo_ce_evenement'];
157
			$chaine_evenement = $evenements[$id_evenement]['ot_cle'];
170
			$chaine_evenement = $evenements[$id_evenement]['ot_cle'];
158
				
171
				
159
			$infos_evenement = $this->renvoyerInformationStadeAPartirChaineTriple($chaine_evenement);
172
			$infos_evenement = $this->renvoyerInformationStadeAPartirChaineTriple($chaine_evenement);
160
				
173
				
161
			$date_observation_formatee = date($this->config['appli']['format_date'], strtotime($observations_infos['oo_date']));
174
			$date_observation_formatee = date($this->config['appli']['format_date'], strtotime($observations_infos['oo_date']));
162
			
175
			
163
			$id_observation = $observations_infos['oo_id_observation'];
176
			$id_observation = $observations_infos['oo_id_observation'];
164
			$infos_formatees = array(
177
			$infos_formatees = array(
165
				'date' => $date_observation_formatee,
178
				'date' => $date_observation_formatee,
166
				'evenenement' => $infos_evenement['nom'],
179
				'evenenement' => $infos_evenement['nom'],
167
				'code_bbch' => $infos_evenement['numero'],
180
				'code_bbch' => $infos_evenement['numero'],
168
				'nom_scientifique' => $nom_espece,
181
				'nom_scientifique' => $nom_espece,
169
				'id_espece' => $id_espece,
182
				'id_espece' => $id_espece,
170
				'participant' => $observations_infos['os_ce_participant']
183
				'participant' => $observations_infos['os_ce_participant']
171
			);
184
			);
172
			
185
			
173
			$id_station = $observations_infos['oi_ce_station'];
186
			$id_station = $observations_infos['oi_ce_station'];
174
			
187
			
175
			if(!isset($resultats_formates[$id_station])) {
188
			if(!isset($resultats_formates[$id_station])) {
176
				$resultats_formates[$id_station]['station'] = $observations_infos['os_nom'];
189
				$resultats_formates[$id_station]['station'] = $observations_infos['os_nom'];
177
				$resultats_formates[$id_station]['code_commune'] = $observations_infos['os_ce_commune'];
190
				$resultats_formates[$id_station]['code_commune'] = $observations_infos['os_ce_commune'];
178
				//$resultats_formates[$id_station]['nom_commune'] = $gestionnaire_communes->obtenirNomCommuneParCodeInsee($observations_infos['os_ce_commune']);
191
				//$resultats_formates[$id_station]['nom_commune'] = $gestionnaire_communes->obtenirNomCommuneParCodeInsee($observations_infos['os_ce_commune']);
179
				$resultats_formates[$id_station]['latitude'] = $observations_infos['os_latitude'];
192
				$resultats_formates[$id_station]['latitude'] = $observations_infos['os_latitude'];
180
				$resultats_formates[$id_station]['longitude'] = $observations_infos['os_longitude'];
193
				$resultats_formates[$id_station]['longitude'] = $observations_infos['os_longitude'];
181
				$resultats_formates[$id_station]['altitude'] = $observations_infos['os_altitude'];
194
				$resultats_formates[$id_station]['altitude'] = $observations_infos['os_altitude'];
182
				$resultats_formates[$id_station]['milieu'] = $milieux[$observations_infos['os_ce_environnement']]['ot_valeur'];
195
				$resultats_formates[$id_station]['milieu'] = $milieux[$observations_infos['os_ce_environnement']]['ot_valeur'];
183
				$resultats_formates[$id_station]['participant'] = $observations_infos['os_ce_participant'];
196
				$resultats_formates[$id_station]['participant'] = $observations_infos['os_ce_participant'];
184
			}
197
			}
185
			
198
			
186
			$resultats_formates[$id_station]['obs'][$id_observation] = $infos_formatees;
199
			$resultats_formates[$id_station]['obs'][$id_observation] = $infos_formatees;
187
		}
200
		}
188
		
201
		
189
		return $resultats_formates;
202
		return $resultats_formates;
190
	}
203
	}
191
	
204
	
192
	public function getFichierExportObservationCsv() {
205
	public function getFichierExportObservationCsv() {
193
				
206
				
194
		$donnees = $this->getExportObservation();
207
		$donnees = $this->getExportObservation();
195
		$donnees_formatees = $this->formaterPourExportCSV($donnees);		
208
		$donnees_formatees = $this->formaterPourExportCSV($donnees);		
196
		$chaine_csv = $this->convertirTableauAssocVersCSV($donnees_formatees);
209
		$chaine_csv = $this->convertirTableauAssocVersCSV($donnees_formatees);
197
			
210
			
198
		$this->envoyerFichier($chaine_csv);
211
		$this->envoyerFichier($chaine_csv);
199
	}
212
	}
200
	
213
	
201
	public function formaterPourExportCSV($tableau_observations_infos) {
214
	public function formaterPourExportCSV($tableau_observations_infos) {
202
		
215
		
203
		$gestionnaire_especes = new OdsEspece($this->config);
216
		$gestionnaire_especes = new OdsEspece($this->config);
204
		$gestionnaire_communes = new OdsCommune($this->config);
217
		$gestionnaire_communes = new OdsCommune($this->config);
205
		$gestionnaire_utilisateurs = new OdsUtilisateur($this->config);
218
		$gestionnaire_utilisateurs = new OdsUtilisateur($this->config);
206
				
219
				
207
		$especes = $gestionnaire_especes->getToutesEspeces();
220
		$especes = $gestionnaire_especes->getToutesEspeces();
208
		$evenements = $this->obtenirValeursListeParAbreviation(self::ABBR_LISTE_EVENEMENTS);
221
		$evenements = $this->obtenirValeursListeParAbreviation(self::ABBR_LISTE_EVENEMENTS);
209
		$milieux = $this->obtenirValeursListeParAbreviation(self::ABBR_LISTE_MILIEUX);
222
		$milieux = $this->obtenirValeursListeParAbreviation(self::ABBR_LISTE_MILIEUX);
210
		
223
		
211
		$codes_insee_communes = array();
224
		$codes_insee_communes = array();
212
		
225
		
213
		$resultats_formates = array();
226
		$resultats_formates = array();
214
		
227
		
215
		foreach($tableau_observations_infos as $observations_infos) {
228
		foreach($tableau_observations_infos as $observations_infos) {
216
		
229
		
217
			$id_espece = $observations_infos['oi_ce_espece'];
230
			$id_espece = $observations_infos['oi_ce_espece'];
218
			$nom_espece =  $especes[$id_espece]['nom_scientifique'];
231
			$nom_espece =  $especes[$id_espece]['nom_scientifique'];
219
				
232
				
220
			$id_evenement = $observations_infos['oo_ce_evenement'];
233
			$id_evenement = $observations_infos['oo_ce_evenement'];
221
			$chaine_evenement = $evenements[$id_evenement]['ot_cle'];
234
			$chaine_evenement = $evenements[$id_evenement]['ot_cle'];
222
				
235
				
223
			$infos_evenement = $this->renvoyerInformationStadeAPartirChaineTriple($chaine_evenement);
236
			$infos_evenement = $this->renvoyerInformationStadeAPartirChaineTriple($chaine_evenement);
224
				
237
				
225
			$date_observation_formatee = date($this->config['appli']['format_date'], strtotime($observations_infos['oo_date']));
238
			$date_observation_formatee = date($this->config['appli']['format_date'], strtotime($observations_infos['oo_date']));
226
			
239
			
227
			$id_observation = $observations_infos['oo_id_observation'];
240
			$id_observation = $observations_infos['oo_id_observation'];
228
			
241
			
229
			$infos_formatees = array(
242
			$infos_formatees = array(
230
				'id_observation' => $id_observation,
243
				'id_observation' => $id_observation,
231
				'date' => $date_observation_formatee,
244
				'date' => $date_observation_formatee,
232
				'evenenement' => $infos_evenement['nom'],
245
				'evenenement' => $infos_evenement['nom'],
233
				'code_bbch' => $infos_evenement['numero'],
246
				'code_bbch' => $infos_evenement['numero'],
234
				'nom_scientifique' => $nom_espece,
247
				'nom_scientifique' => $nom_espece,
235
				'station' => $observations_infos['os_nom'],
248
				'station' => $observations_infos['os_nom'],
236
				'code_commune' => $observations_infos['os_ce_commune'],
249
				'code_commune' => $observations_infos['os_ce_commune'],
237
				'nom_commune' => '',
250
				'nom_commune' => '',
238
				'latitude' => $observations_infos['os_latitude'],
251
				'latitude' => $observations_infos['os_latitude'],
239
				'longitude' => $observations_infos['os_longitude'],
252
				'longitude' => $observations_infos['os_longitude'],
240
				'altitude' => $observations_infos['os_altitude'],
253
				'altitude' => $observations_infos['os_altitude'],
241
				'milieu' => $milieux[$observations_infos['os_ce_environnement']]['ot_valeur'],
254
				'milieu' => $milieux[$observations_infos['os_ce_environnement']]['ot_valeur'],
242
				'id_participant' => $observations_infos['os_ce_participant'],
255
				'id_participant' => $observations_infos['os_ce_participant'],
243
				'pseudo_participant' => '',
256
				'pseudo_participant' => '',
244
				'mail_participant' => ''
257
				'mail_participant' => ''
245
			);
258
			);
246
			
259
			
247
			$resultats_formates[] = $infos_formatees;
260
			$resultats_formates[] = $infos_formatees;
248
			
261
			
249
			if(is_numeric($observations_infos['os_ce_commune'])) {
262
			if(is_numeric($observations_infos['os_ce_commune'])) {
250
				$codes_insee_communes[] = $observations_infos['os_ce_commune'];
263
				$codes_insee_communes[] = $observations_infos['os_ce_commune'];
251
			}
264
			}
252
		}
265
		}
253
		
266
		
254
		$correspondance_codes_insee_noms = $gestionnaire_communes->obtenirTableauNomsCommunesParTableauCodesInsee($codes_insee_communes);
267
		$correspondance_codes_insee_noms = $gestionnaire_communes->obtenirTableauNomsCommunesParTableauCodesInsee($codes_insee_communes);
255
		$correspondance_id_utilisateur = $gestionnaire_utilisateurs->getListeUtilisateurFormateeId();
268
		$correspondance_id_utilisateur = $gestionnaire_utilisateurs->getListeUtilisateurFormateeId();
256
		
269
		
257
		foreach($resultats_formates as &$resultat) {
270
		foreach($resultats_formates as &$resultat) {
258
			
271
			
259
			if(isset($correspondance_codes_insee_noms[$resultat['code_commune']]) && trim($correspondance_codes_insee_noms[$resultat['code_commune']]) != '') {								
272
			if(isset($correspondance_codes_insee_noms[$resultat['code_commune']]) && trim($correspondance_codes_insee_noms[$resultat['code_commune']]) != '') {								
260
				$resultat['nom_commune'] = $correspondance_codes_insee_noms[$resultat['code_commune']];
273
				$resultat['nom_commune'] = $correspondance_codes_insee_noms[$resultat['code_commune']];
261
			}
274
			}
262
			
275
			
263
			$resultat['pseudo_participant'] = $correspondance_id_utilisateur[$resultat['id_participant']]['name'];
276
			$resultat['pseudo_participant'] = $correspondance_id_utilisateur[$resultat['id_participant']]['name'];
264
			$resultat['mail_participant'] = $correspondance_id_utilisateur[$resultat['id_participant']]['mail'];
277
			$resultat['mail_participant'] = $correspondance_id_utilisateur[$resultat['id_participant']]['mail'];
265
		}
278
		}
266
		
279
		
267
		return $resultats_formates;
280
		return $resultats_formates;
268
	}
281
	}
269
	
282
	
270
	public function convertirTableauAssocVersCSV($tableau) {
283
	public function convertirTableauAssocVersCSV($tableau) {
271
		
284
		
272
		$csv = '';
285
		$csv = '';
273
		$colonnes = array_keys($tableau[0]);
286
		$colonnes = array_keys($tableau[0]);
274
		$csv .= implode(';',$colonnes).";\n";
287
		$csv .= implode(';',$colonnes).";\n";
275
		
288
		
276
		foreach($tableau as $elements) {
289
		foreach($tableau as $elements) {
277
			$csv .= implode(';',$elements).";\n";
290
			$csv .= implode(';',$elements).";\n";
278
		}
291
		}
279
		
292
		
280
		return $csv;
293
		return $csv;
281
	}
294
	}
282
	
295
	
283
	public function envoyerFichier($contenu) {
296
	public function envoyerFichier($contenu) {
284
		
297
		
285
		$nom_fichier = "observations_export.csv";
298
		$nom_fichier = "observations_export.csv";
286
		$chemin_fichier = $this->config['appli']['chemin_fichiers_temp'].'/'.$nom_fichier;
299
		$chemin_fichier = $this->config['appli']['chemin_fichiers_temp'].'/'.$nom_fichier;
287
		
300
		
288
		file_put_contents($chemin_fichier, $contenu);	
301
		file_put_contents($chemin_fichier, $contenu);	
289
			
302
			
290
		$contenu = file_get_contents($chemin_fichier);
303
		$contenu = file_get_contents($chemin_fichier);
291
		$taille_fichier = filesize($chemin_fichier);
304
		$taille_fichier = filesize($chemin_fichier);
292
		
305
		
293
		unlink($chemin_fichier);
306
		unlink($chemin_fichier);
294
		
307
		
295
		ini_set('zlib.output_compression','Off');
308
		ini_set('zlib.output_compression','Off');
296
		
309
		
297
		header('Pragma: public');
310
		header('Pragma: public');
298
		header('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT');
311
		header('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT');
299
		header('Cache-Control: must-revalidate, pre-check=0, post-check=0, max-age=0');
312
		header('Cache-Control: must-revalidate, pre-check=0, post-check=0, max-age=0');
300
		
313
		
301
		header('Content-Tranfer-Encoding: none');
314
		header('Content-Tranfer-Encoding: none');
302
		
315
		
303
		header('Content-Type: application/octetstream; name="'.$nom_fichier.'"');
316
		header('Content-Type: application/octetstream; name="'.$nom_fichier.'"');
304
		header('Content-Disposition: attachement; filename="'.$nom_fichier.'"');
317
		header('Content-Disposition: attachement; filename="'.$nom_fichier.'"');
305
		
318
		
306
		header('Content-Length: '.$taille_fichier);
319
		header('Content-Length: '.$taille_fichier);
307
		
320
		
308
		echo $contenu;
321
		echo $contenu;
309
		exit();
322
		exit();
310
	}
323
	}
311
	
324
	
312
	private function formaterInformationPourEnvoi($tableauinfos) {
325
	private function formaterInformationPourEnvoi($tableauinfos) {
313
 
326
 
314
	}
327
	}
315
}
328
}
316
?>
329
?>