Subversion Repositories eFlore/Applications.cel

Rev

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

Rev 1391 Rev 1477
1
<?php
1
<?php
2
//TODO migrer cette classe lorsqu'elle deviendra utile à nouveau
2
//TODO migrer cette classe lorsqu'elle deviendra utile à nouveau
-
 
3
/****
-
 
4
 * 
-
 
5
 * Attention classe non migrée !!!!
-
 
6
 */
3
Class InventoryImageExport extends DBAccessor {
7
Class InventoryImageExport extends DBAccessor {
4
 
8
 
5
	private $extendSpreadsheetProductor;
9
	private $extendSpreadsheetProductor;
6
 
10
 
7
	private $archive;
11
	private $archive;
8
	private $workbook;
12
	private $workbook;
9
	private $worksheet;
13
	private $worksheet;
10
	private $chemin_export_liste;
14
	private $chemin_export_liste;
11
 
15
 
12
    function InventoryImageExport($config) {
16
    function InventoryImageExport($config) {
13
 
17
 
14
    	parent::__construct($config);
18
    	parent::__construct($config);
15
 
19
 
16
        $this->config=$config;
20
        $this->config=$config;
17
        $this->extendSpreadsheetProductor = new SpreadsheetProductor();
21
        $this->extendSpreadsheetProductor = new SpreadsheetProductor();
18
		$this->extendSpreadsheetProductor->initSpreadsheet();
22
		$this->extendSpreadsheetProductor->initSpreadsheet();
19
    }
23
    }
20
 
24
 
21
    function getElement($uid){
25
    function getElement($uid){
22
    	
26
    	
23
      	$this->authentifier();
27
      	$this->authentifier();
24
 
28
 
25
      	$tableau = array();
29
      	$tableau = array();
26
        $tag = $uid[0];
30
        $tag = $uid[0];
27
 
31
 
28
        $limite = 0;
32
        $limite = 0;
29
        $pas = 0;
33
        $pas = 0;
30
 
34
 
31
        //ini_set('max_execution_time',120);
35
        //ini_set('max_execution_time',120);
32
 
36
 
33
        /*if(isset($uid[1]) && isset($uid[2])) {
37
        /*if(isset($uid[1]) && isset($uid[2])) {
34
			$limite = $uid[]
38
			$limite = $uid[]
35
        }*/
39
        }*/
36
 
40
 
37
       	$taille_archive_courante = 0;
41
       	$taille_archive_courante = 0;
38
		$index_archive_courante = 0;
42
		$index_archive_courante = 0;
39
		$taille_max_archive = $this->config['cel']['taille_max_archive'];
43
		$taille_max_archive = $this->config['cel']['taille_max_archive'];
40
		$liens_archives = array();
44
		$liens_archives = array();
41
 
45
 
42
        $DB=$this->connectDB($this->config,'cel');
46
        $DB=$this->connectDB($this->config,'cel');
43
 
47
 
44
        $query_id_id_img = 'SELECT cmc_id_mot_cle_utilisateur, cmc_id_proprietaire FROM cel_mots_cles_images WHERE cmc_id_mot_cle_general = md5("'.$DB->escapeSimple($tag).'")' ;
48
        $query_id_id_img = 'SELECT cmc_id_mot_cle_utilisateur, cmc_id_proprietaire FROM cel_mots_cles_images WHERE cmc_id_mot_cle_general = md5("'.$DB->escapeSimple($tag).'")' ;
45
 
49
 
46
        $res =& $DB->query($query_id_id_img);
50
        $res =& $DB->query($query_id_id_img);
47
 
51
 
48
        if (DB::isError($res)) {
52
        if (DB::isError($res)) {
49
			$this->logger("InventoryImageExport",'Erreur de requete '.$query_id_id_img);
53
			$this->logger("InventoryImageExport",'Erreur de requete '.$query_id_id_img);
50
            die($res->getMessage());
54
            die($res->getMessage());
51
        }
55
        }
52
 
56
 
53
 
57
 
54
        $query='SELECT * FROM cel_images';
58
        $query='SELECT * FROM cel_images';
55
 
59
 
56
        $premier_item = true ;
60
        $premier_item = true ;
57
        while ($row =& $res->fetchrow(DB_FETCHMODE_ASSOC)) {
61
        while ($row =& $res->fetchrow(DB_FETCHMODE_ASSOC)) {
58
 
62
 
59
        	$tableau['mots cles'] = array('utilisateur' => $row['cmc_id_proprietaire'], 'mot cle' => $row['cmc_id_mot_cle_utilisateur']);
63
        	$tableau['mots cles'] = array('utilisateur' => $row['cmc_id_proprietaire'], 'mot cle' => $row['cmc_id_mot_cle_utilisateur']);
60
 
64
 
61
            if($premier_item) {
65
            if($premier_item) {
62
                $query .= ' WHERE ';
66
                $query .= ' WHERE ';
63
                $premier_item = false ;
67
                $premier_item = false ;
64
            }
68
            }
65
            else{
69
            else{
66
                $query .= ' OR ';
70
                $query .= ' OR ';
67
            }
71
            }
68
 
72
 
69
            $query .= '(ci_meta_mots_cles LIKE "%'.$row['cmc_id_mot_cle_utilisateur'].'%" AND ci_ce_utilisateur ="'.$row['cmc_id_proprietaire'].'")' ;
73
            $query .= '(ci_meta_mots_cles LIKE "%'.$row['cmc_id_mot_cle_utilisateur'].'%" AND ci_ce_utilisateur ="'.$row['cmc_id_proprietaire'].'")' ;
70
        }
74
        }
71
 
75
 
72
        $query .= ' ORDER BY ci_meta_date_ajout' ;
76
        $query .= ' ORDER BY ci_meta_date_ajout' ;
73
 
77
 
74
        $res =& $DB->query($query);
78
        $res =& $DB->query($query);
75
 
79
 
76
        if (DB::isError($res)) {
80
        if (DB::isError($res)) {
77
            die($res->getMessage());
81
            die($res->getMessage());
78
        }
82
        }
79
 
83
 
80
        $this->logger('Requetes',$query);
84
        $this->logger('Requetes',$query);
81
 
85
 
82
        // création d'un objet 'zipfile'
86
        // création d'un objet 'zipfile'
83
		$this->archive = new zipfile();
87
		$this->archive = new zipfile();
84
 
88
 
85
		$i = 1;
89
		$i = 1;
86
 
90
 
87
		$this->initialiserWorkBook($index_archive_courante);
91
		$this->initialiserWorkBook($index_archive_courante);
88
 
92
 
89
        while ($image =& $res->fetchrow(DB_FETCHMODE_ASSOC)) {
93
        while ($image =& $res->fetchrow(DB_FETCHMODE_ASSOC)) {
90
 
94
 
91
           $image['ci_nom_original'] = htmlspecialchars($image['ci_nom_original']);
95
           $image['ci_nom_original'] = htmlspecialchars($image['ci_nom_original']);
92
           $image['ci_id_image'] = htmlspecialchars($image['ci_id_image']);
96
           $image['ci_id_image'] = htmlspecialchars($image['ci_id_image']);
93
           $image['ci_meta_date_ajout'] = htmlspecialchars($image['ci_meta_date_ajout']);
97
           $image['ci_meta_date_ajout'] = htmlspecialchars($image['ci_meta_date_ajout']);
94
           $image['ci_ce_utilisateur'] = htmlspecialchars($image['ci_ce_utilisateur']);
98
           $image['ci_ce_utilisateur'] = htmlspecialchars($image['ci_ce_utilisateur']);
95
           $image['ci_meta_user_comment'] = htmlspecialchars($image['ci_meta_user_comment']);
99
           $image['ci_meta_user_comment'] = htmlspecialchars($image['ci_meta_user_comment']);
96
           $image['ci_note_image'] = htmlspecialchars($image['ci_note_image']);
100
           $image['ci_note_image'] = htmlspecialchars($image['ci_note_image']);
97
 
101
 
98
           $id = $image['ci_id_image'];
102
           $id = $image['ci_id_image'];
99
 
103
 
100
           $tableau[$id]['image'] = $image;
104
           $tableau[$id]['image'] = $image;
101
                   
105
                   
102
           if($filename = $this->renvoyerCheminSurServeur($id,false)) {
106
           if($filename = $this->renvoyerCheminSurServeur($id,false)) {
103
 
107
 
104
				// appel de la classe
108
				// appel de la classe
105
			    // nom du fichier à ajouter dans l'archive
109
			    // nom du fichier à ajouter dans l'archive
106
			    // contenu du fichier
110
			    // contenu du fichier
107
			    $fp = fopen ($filename, 'r');
111
			    $fp = fopen ($filename, 'r');
108
			    $content = fread($fp, filesize($filename));
112
			    $content = fread($fp, filesize($filename));
109
			    fclose ($fp);
113
			    fclose ($fp);
110
 
114
 
111
			    // ajout du fichier dans cet objet
115
			    // ajout du fichier dans cet objet
112
			    if(preg_match('/\.(?:jpg|jpeg)$/i',$image['ci_nom_original'])) {
116
			    if(preg_match('/\.(?:jpg|jpeg)$/i',$image['ci_nom_original'])) {
113
			    	$nom_fichier_image = preg_replace('/\.(?:jpg|jpeg)$/i','_'.$id.'.jpg', $image['ci_nom_original']);
117
			    	$nom_fichier_image = preg_replace('/\.(?:jpg|jpeg)$/i','_'.$id.'.jpg', $image['ci_nom_original']);
114
			    } else {
118
			    } else {
115
			    	$nom_fichier_image = $image['ci_nom_original'].'_'.$id.'.jpg';
119
			    	$nom_fichier_image = $image['ci_nom_original'].'_'.$id.'.jpg';
116
			    }
120
			    }
117
			    
121
			    
118
			    $chemin_sur_serveur = $this->config['cel']['url_images'];
122
			    $chemin_sur_serveur = $this->config['cel']['url_images'];
119
			    
123
			    
120
			    $id = sprintf('%09s', $id) ;
124
			    $id = sprintf('%09s', $id) ;
121
            	$id = wordwrap($id, 3 , '_', true) ;
125
            	$id = wordwrap($id, 3 , '_', true) ;
122
			    $niveauDossier = explode("_", $id) ;
126
			    $niveauDossier = explode("_", $id) ;
123
 
127
 
124
	            $dossierNiveau1 = $niveauDossier[0] ;
128
	            $dossierNiveau1 = $niveauDossier[0] ;
125
	            $dossierNiveau2 = $niveauDossier[1] ;
129
	            $dossierNiveau2 = $niveauDossier[1] ;
126
	
130
	
127
	            $chemin_sur_serveur_final = $chemin_sur_serveur.'/'.$dossierNiveau1.'/'.$dossierNiveau2 ;
131
	            $chemin_sur_serveur_final = $chemin_sur_serveur.'/'.$dossierNiveau1.'/'.$dossierNiveau2 ;
128
	
132
	
129
	            $chemin_fichier = $chemin_sur_serveur_final.'/O/'.$id."_O.jpg" ;
133
	            $chemin_fichier = $chemin_sur_serveur_final.'/O/'.$id."_O.jpg" ;
130
			    
134
			    
131
			    $obs_liee['url_image_liee'] = $chemin_fichier;
135
			    $obs_liee['url_image_liee'] = $chemin_fichier;
132
 
136
 
133
			    $taille_fichier = filesize($filename);
137
			    $taille_fichier = filesize($filename);
134
 
138
 
135
            	$req_liaison = 'SELECT * FROM cel_inventory WHERE ordre IN (SELECT coi_ce_observation FROM cel_obs_images WHERE coi_ce_image = "'.$image['ci_id_image'].'") AND identifiant = "'.$image['ci_ce_utilisateur'].'"' ;
139
            	$req_liaison = 'SELECT * FROM cel_inventory WHERE ordre IN (SELECT coi_ce_observation FROM cel_obs_images WHERE coi_ce_image = "'.$image['ci_id_image'].'") AND identifiant = "'.$image['ci_ce_utilisateur'].'"' ;
136
            	$res_liaison =& $DB->query($req_liaison);
140
            	$res_liaison =& $DB->query($req_liaison);
137
 
141
 
138
	            if (DB::isError($res_liaison)) {
142
	            if (DB::isError($res_liaison)) {
139
	                die($res_liaison->getMessage());
143
	                die($res_liaison->getMessage());
140
	            }
144
	            }
141
 
145
 
142
	            if (DB::isError($res_liaison)) {
146
	            if (DB::isError($res_liaison)) {
143
	                die($res_liaison->getMessage());
147
	                die($res_liaison->getMessage());
144
	            }
148
	            }
145
 
149
 
146
	          while($obs_liee = & $res_liaison->fetchrow(DB_FETCHMODE_ASSOC)) {
150
	          while($obs_liee = & $res_liaison->fetchrow(DB_FETCHMODE_ASSOC)) {
147
 
151
 
148
          	  	$tableau[$id]['obs'] = $obs_liee;
152
          	  	$tableau[$id]['obs'] = $obs_liee;
149
          	  	$obs_liee['nom_image_liee'] = $nom_fichier_image;
153
          	  	$obs_liee['nom_image_liee'] = $nom_fichier_image;
150
          	  	$obs_liee['url_image_liee'] = $chemin_fichier;
154
          	  	$obs_liee['url_image_liee'] = $chemin_fichier;
151
 
155
 
152
			  	$this->ecrireLigneWorkBook($i,$obs_liee);
156
			  	$this->ecrireLigneWorkBook($i,$obs_liee);
153
 
157
 
154
		  		$i++;
158
		  		$i++;
155
	          }
159
	          }
156
 
160
 
157
	          //$this->archive->addfile($content, $nom_fichier_image);
161
	          //$this->archive->addfile($content, $nom_fichier_image);
158
			  //$taille_archive_courante += $taille_fichier;
162
			  //$taille_archive_courante += $taille_fichier;
159
 
163
 
160
	          if($taille_archive_courante <= $taille_max_archive) {
164
	          if($taille_archive_courante <= $taille_max_archive) {
161
 
165
 
162
 
166
 
163
				} else {
167
				} else {
164
 
168
 
165
					// fermeture du workbook
169
					// fermeture du workbook
166
					$this->workbook->close();
170
					$this->workbook->close();
167
					$i = 1;
171
					$i = 1;
168
 
172
 
169
					// ajout du fichier liste dans cet objet
173
					// ajout du fichier liste dans cet objet
170
					// contenu du fichier
174
					// contenu du fichier
171
				    $fp = fopen($this->chemin_export_liste, 'r');
175
				    $fp = fopen($this->chemin_export_liste, 'r');
172
				    $contenu = fread($fp, filesize($this->chemin_export_liste));
176
				    $contenu = fread($fp, filesize($this->chemin_export_liste));
173
				    fclose ($fp);
177
				    fclose ($fp);
174
 
178
 
175
					$this->archive->addfile($contenu,'liste.'.md5($tag).'_'.$index_archive_courante.'.xls');
179
					$this->archive->addfile($contenu,'liste.'.md5($tag).'_'.$index_archive_courante.'.xls');
176
					
180
					
177
					$liens_archives[] = $this->enregistrerArchive($this->archive,$index_archive_courante,$tag);
181
					$liens_archives[] = $this->enregistrerArchive($this->archive,$index_archive_courante,$tag);
178
					$index_archive_courante++;
182
					$index_archive_courante++;
179
					$taille_archive_courante = 0;
183
					$taille_archive_courante = 0;
180
 
184
 
181
					$this->archive = new zipfile();
185
					$this->archive = new zipfile();
182
					$this->initialiserWorkBook($index_archive_courante);
186
					$this->initialiserWorkBook($index_archive_courante);
183
				}
187
				}
184
	       }
188
	       }
185
 
189
 
186
      		//$this->verifierOuRelancerExecution();
190
      		//$this->verifierOuRelancerExecution();
187
      		//$this->logger('InventoryImageExport'," Temps d'éxécution à l'image ".$id." : ".$this->getTempsEcoule());
191
      		//$this->logger('InventoryImageExport'," Temps d'éxécution à l'image ".$id." : ".$this->getTempsEcoule());
188
        }
192
        }
189
        
193
        
190
        // fermeture du workbook
194
        // fermeture du workbook
191
		$this->workbook->close();
195
		$this->workbook->close();
192
		$i = 1;
196
		$i = 1;
193
 
197
 
194
		// ajout du fichier liste dans cet objet
198
		// ajout du fichier liste dans cet objet
195
		// contenu du fichier
199
		// contenu du fichier
196
	    $fp = fopen($this->chemin_export_liste, 'r');
200
	    $fp = fopen($this->chemin_export_liste, 'r');
197
	    $contenu = fread($fp, filesize($this->chemin_export_liste));
201
	    $contenu = fread($fp, filesize($this->chemin_export_liste));
198
	    fclose ($fp);
202
	    fclose ($fp);
199
 
203
 
200
		$this->archive->addfile($contenu,'liste.'.md5($tag).'_'.$index_archive_courante.'.xls');
204
		$this->archive->addfile($contenu,'liste.'.md5($tag).'_'.$index_archive_courante.'.xls');
201
		
205
		
202
		$liens_archives[] = $this->enregistrerArchive($this->archive,$index_archive_courante,$tag);
206
		$liens_archives[] = $this->enregistrerArchive($this->archive,$index_archive_courante,$tag);
203
		$index_archive_courante++;
207
		$index_archive_courante++;
204
 
208
 
205
		$j = 1;
209
		$j = 1;
206
		$sortie = '<div><ul>';
210
		$sortie = '<div><ul>';
207
		foreach($liens_archives as $lien) {
211
		foreach($liens_archives as $lien) {
208
			$sortie .= '<li> <a href = "'.$lien.'"> Partie '.$j.'</a></li>';
212
			$sortie .= '<li> <a href = "'.$lien.'"> Partie '.$j.'</a></li>';
209
			$j++;
213
			$j++;
210
		}
214
		}
211
 
215
 
212
		$sortie .= '</div></ul>';
216
		$sortie .= '</div></ul>';
213
 
217
 
214
		//$this->logger('InventoryImageExport',count($tableau));
218
		//$this->logger('InventoryImageExport',count($tableau));
215
 
219
 
216
		//$this->logger('InventoryImageExport',print_r($tableau,true));
220
		//$this->logger('InventoryImageExport',print_r($tableau,true));
217
 
221
 
218
		header('Content-Type: text/html');
222
		header('Content-Type: text/html');
219
		echo $sortie;
223
		echo $sortie;
220
 
224
 
221
    }
225
    }
222
 
226
 
223
 
227
 
224
    function getRessource(){
228
    function getRessource(){
225
		//$this->getElement();
229
		//$this->getElement();
226
    }
230
    }
227
 
231
 
228
    public function authentifier() {
232
    public function authentifier() {
229
        if (!isset($_SERVER['PHP_AUTH_USER'])) {
233
        if (!isset($_SERVER['PHP_AUTH_USER'])) {
230
        header('WWW-Authenticate: Basic realm="www.tela-botanica.org"');
234
        header('WWW-Authenticate: Basic realm="www.tela-botanica.org"');
231
        header('HTTP/1.0 401 Unauthorized');
235
        header('HTTP/1.0 401 Unauthorized');
232
        header('Content-type: text/html; charset=UTF-8');
236
        header('Content-type: text/html; charset=UTF-8');
233
        echo 'Accès interdit';
237
        echo 'Accès interdit';
234
        exit;
238
        exit;
235
        } else {
239
        } else {
236
            if($this->verifierAcces($_SERVER['PHP_AUTH_USER'])) {
240
            if($this->verifierAcces($_SERVER['PHP_AUTH_USER'])) {
237
                return ;
241
                return ;
238
            }
242
            }
239
            else
243
            else
240
            {
244
            {
241
                header('WWW-Authenticate: Basic realm="www.tela-botanica.org"');
245
                header('WWW-Authenticate: Basic realm="www.tela-botanica.org"');
242
                header('HTTP/1.0 401 Unauthorized');
246
                header('HTTP/1.0 401 Unauthorized');
243
                header('Content-type: text/html; charset=UTF-8');
247
                header('Content-type: text/html; charset=UTF-8');
244
                echo 'Accès interdit';
248
                echo 'Accès interdit';
245
                exit ;
249
                exit ;
246
            }
250
            }
247
        }
251
        }
248
    }
252
    }
249
 
253
 
250
    public function verifierAcces($id) {
254
    public function verifierAcces($id) {
251
 
255
 
252
        $DB=$this->connectDB($this->config,'database_ident');
256
        $DB=$this->connectDB($this->config,'database_ident');
253
        $query="SELECT ".$this->config['database_ident']['ann_id']." as name FROM ".$this->config['database_ident']['annuaire']." WHERE ".$this->config['database_ident']['ann_id']." ='".$DB->escapeSimple($id)
257
        $query="SELECT ".$this->config['database_ident']['ann_id']." as name FROM ".$this->config['database_ident']['annuaire']." WHERE ".$this->config['database_ident']['ann_id']." ='".$DB->escapeSimple($id)
254
        ."' AND ".$this->config['database_ident']['ann_pwd']." = ".$this->config['database_ident']['pass_crypt_funct']."('".$DB->escapeSimple($_SERVER['PHP_AUTH_PW'])."')" ;
258
        ."' AND ".$this->config['database_ident']['ann_pwd']." = ".$this->config['database_ident']['pass_crypt_funct']."('".$DB->escapeSimple($_SERVER['PHP_AUTH_PW'])."')" ;
255
 
259
 
256
        $res =& $DB->getOne($query);
260
        $res =& $DB->getOne($query);
257
 
261
 
258
        if($res == "") {
262
        if($res == "") {
259
            return false ;
263
            return false ;
260
        }
264
        }
261
 
265
 
262
        if (DB::isError($res)) {
266
        if (DB::isError($res)) {
263
            die($res->getMessage());
267
            die($res->getMessage());
264
        }
268
        }
265
 
269
 
266
        return $this->isAdmin($id) ;
270
        return $this->isAdmin($id) ;
267
 
271
 
268
    }
272
    }
269
 
273
 
270
    private function renvoyerCheminSurServeur($id,$url = true) {
274
    private function renvoyerCheminSurServeur($id,$url = true) {
271
 
275
 
272
		if($url) {
276
		if($url) {
273
			$chemin_sur_serveur = $this->config['cel']['url_images'];
277
			$chemin_sur_serveur = $this->config['cel']['url_images'];
274
		} else {
278
		} else {
275
			$chemin_sur_serveur = $this->config['cel']['chemin_images'];
279
			$chemin_sur_serveur = $this->config['cel']['chemin_images'];
276
		}
280
		}
277
 
281
 
278
		$id = sprintf('%09s', $id) ;
282
		$id = sprintf('%09s', $id) ;
279
        $id = wordwrap($id, 3 , '_', true) ;
283
        $id = wordwrap($id, 3 , '_', true) ;
280
 
284
 
281
        $id_fichier = $id.".jpg" ;
285
        $id_fichier = $id.".jpg" ;
282
 
286
 
283
        $niveauDossier = explode("_", $id) ;
287
        $niveauDossier = explode("_", $id) ;
284
 
288
 
285
        $dossierNiveau1 = $niveauDossier[0] ;
289
        $dossierNiveau1 = $niveauDossier[0] ;
286
        $dossierNiveau2 = $niveauDossier[1] ;
290
        $dossierNiveau2 = $niveauDossier[1] ;
287
 
291
 
288
        $chemin_sur_serveur_final = $chemin_sur_serveur.'/'.$dossierNiveau1.'/'.$dossierNiveau2 ;
292
        $chemin_sur_serveur_final = $chemin_sur_serveur.'/'.$dossierNiveau1.'/'.$dossierNiveau2 ;
289
 
293
 
290
        $chemin_fichier = $chemin_sur_serveur_final.'/L/'.$id."_L.jpg" ;
294
        $chemin_fichier = $chemin_sur_serveur_final.'/L/'.$id."_L.jpg" ;
291
 
295
 
292
        return $chemin_fichier;
296
        return $chemin_fichier;
293
    }
297
    }
294
 
298
 
295
    private function renvoyerCheminExport($url = true) {
299
    private function renvoyerCheminExport($url = true) {
296
    	if($url) {
300
    	if($url) {
297
    		return $this->config['cel']['url_export'];
301
    		return $this->config['cel']['url_export'];
298
    	} else {
302
    	} else {
299
			return $this->config['cel']['chemin_export'];
303
			return $this->config['cel']['chemin_export'];
300
    	}
304
    	}
301
    }
305
    }
302
 
306
 
303
    private function enregistrerArchive($zip,$index,$tag) {
307
    private function enregistrerArchive($zip,$index,$tag) {
304
 
308
 
305
		// production de l'archive' Zip
309
		// production de l'archive' Zip
306
	    $this->archive = $zip->file();
310
	    $this->archive = $zip->file();
307
		$chemin_export = $this->renvoyerCheminExport(false);
311
		$chemin_export = $this->renvoyerCheminExport(false);
308
		$url_export = $this->renvoyerCheminExport(true);
312
		$url_export = $this->renvoyerCheminExport(true);
309
 
313
 
310
		$chemin_archive = $chemin_export.'/'.md5($tag).'_'.$index.'.zip';
314
		$chemin_archive = $chemin_export.'/'.md5($tag).'_'.$index.'.zip';
311
		$url_archive = $url_export.'/'.md5($tag).'_'.$index.'.zip';
315
		$url_archive = $url_export.'/'.md5($tag).'_'.$index.'.zip';
312
 
316
 
313
		$fp = fopen($chemin_archive,'w+');
317
		$fp = fopen($chemin_archive,'w+');
314
	    $ecriture = fwrite($fp,$this->archive);
318
	    $ecriture = fwrite($fp,$this->archive);
315
	    fclose($fp);
319
	    fclose($fp);
316
 
320
 
317
	    if($ecriture) {
321
	    if($ecriture) {
318
			return $url_archive;
322
			return $url_archive;
319
	    } else {
323
	    } else {
320
	    	return false;
324
	    	return false;
321
	    }
325
	    }
322
 
326
 
323
    }
327
    }
324
 
328
 
325
    private function initialiserWorkBook($index) {
329
    private function initialiserWorkBook($index) {
326
 
330
 
327
    	// Creating a workbook
331
    	// Creating a workbook
328
        $this->chemin_export_liste = $this->renvoyerCheminExport(false).'/liste'.$index.'.xls';
332
        $this->chemin_export_liste = $this->renvoyerCheminExport(false).'/liste'.$index.'.xls';
329
		$this->workbook = new Spreadsheet_Excel_Writer($this->chemin_export_liste);
333
		$this->workbook = new Spreadsheet_Excel_Writer($this->chemin_export_liste);
330
 
334
 
331
		// Creating a worksheet
335
		// Creating a worksheet
332
		$this->worksheet = $this->workbook->addWorksheet('Liste');
336
		$this->worksheet = $this->workbook->addWorksheet('Liste');
333
 
337
 
334
		$this->worksheet->write(0,0,'url de l\'image');
338
		$this->worksheet->write(0,0,'url de l\'image');
335
		$this->worksheet->write(0,1,'Nom original de l\'image');
339
		$this->worksheet->write(0,1,'Nom original de l\'image');
336
        //$this->worksheet->write(0,1,'Nom saisi');
340
        //$this->worksheet->write(0,1,'Nom saisi');
337
        //$this->worksheet->write(0,2,'Numero nomenclatural');
341
        //$this->worksheet->write(0,2,'Numero nomenclatural');
338
        $this->worksheet->write(0,2,'Nom retenu');
342
        $this->worksheet->write(0,2,'Nom retenu');
339
        $this->worksheet->write(0,3,'Numero nomenclatural nom retenu');
343
        $this->worksheet->write(0,3,'Numero nomenclatural nom retenu');
340
        $this->worksheet->write(0,4,'Numero taxonomique');
344
        $this->worksheet->write(0,4,'Numero taxonomique');
341
        $this->worksheet->write(0,5,'Famille');
345
        $this->worksheet->write(0,5,'Famille');
342
        //$this->worksheet->write(0,7,'Commune');
346
        //$this->worksheet->write(0,7,'Commune');
343
        //$this->worksheet->write(0,8,'Identifiant Commune');
347
        //$this->worksheet->write(0,8,'Identifiant Commune');
344
        $this->worksheet->write(0,6,'Date Observation');
348
        $this->worksheet->write(0,6,'Date Observation');
345
       // $this->worksheet->write(0,10,'Lieu dit');
349
       // $this->worksheet->write(0,10,'Lieu dit');
346
        //$this->worksheet->write(0,11,'Station');
350
        //$this->worksheet->write(0,11,'Station');
347
        //$this->worksheet->write(0,12,'Milieu');
351
        //$this->worksheet->write(0,12,'Milieu');
348
        $this->worksheet->write(0,7,'Contributeur');
352
        $this->worksheet->write(0,7,'Contributeur');
349
        $this->worksheet->write(0,8,'Commentaire');
353
        $this->worksheet->write(0,8,'Commentaire');
350
    }
354
    }
351
 
355
 
352
    private function ecrireLigneWorkBook($index, $observation) {
356
    private function ecrireLigneWorkBook($index, $observation) {
353
 
357
 
354
    	$this->worksheet->write($index,0,$observation['url_image_liee']);
358
    	$this->worksheet->write($index,0,$observation['url_image_liee']);
355
    	$this->worksheet->write($index,1,$observation['nom_image_liee']);
359
    	$this->worksheet->write($index,1,$observation['nom_image_liee']);
356
	  	//$this->worksheet->write($index,1,$observation['nom_sel']);
360
	  	//$this->worksheet->write($index,1,$observation['nom_sel']);
357
		//$this->worksheet->write($index,2,$observation['num_nom_sel']);
361
		//$this->worksheet->write($index,2,$observation['num_nom_sel']);
358
		$this->worksheet->write($index,2,$observation['nom_ret']);
362
		$this->worksheet->write($index,2,$observation['nom_ret']);
359
		$this->worksheet->write($index,3,$observation['num_nom_ret']);
363
		$this->worksheet->write($index,3,$observation['num_nom_ret']);
360
		$this->worksheet->write($index,4,$observation['num_taxon']);
364
		$this->worksheet->write($index,4,$observation['num_taxon']);
361
		$this->worksheet->write($index,5,$observation['famille']);
365
		$this->worksheet->write($index,5,$observation['famille']);
362
		//$this->worksheet->write($index,7,$observation['location']);
366
		//$this->worksheet->write($index,7,$observation['location']);
363
		//$this->worksheet->write($index,8,$observation['id_location']);
367
		//$this->worksheet->write($index,8,$observation['id_location']);
364
		$this->worksheet->write($index,6,$observation['date_observation']);
368
		$this->worksheet->write($index,6,$observation['date_observation']);
365
		//$this->worksheet->write($index,10,$observation['lieudit']);
369
		//$this->worksheet->write($index,10,$observation['lieudit']);
366
		//$this->worksheet->write($index,11,$observation['station']);
370
		//$this->worksheet->write($index,11,$observation['station']);
367
	 	//$this->worksheet->write($index,12,$observation['milieu']);
371
	 	//$this->worksheet->write($index,12,$observation['milieu']);
368
	 	$this->worksheet->write($index,7,$observation['identifiant']);
372
	 	$this->worksheet->write($index,7,$observation['identifiant']);
369
		$this->worksheet->write($index,8,$observation['commentaire']);
373
		$this->worksheet->write($index,8,$observation['commentaire']);
370
    }
374
    }
371
}
375
}
372
 
376
 
373
 
377
 
374
/* +--Fin du code ---------------------------------------------------------------------------------------+
378
/* +--Fin du code ---------------------------------------------------------------------------------------+
375
* $Log$
379
* $Log$
376
* Revision 1.5  2008-11-13 11:29:12  ddelon
380
* Revision 1.5  2008-11-13 11:29:12  ddelon
377
* Reecriture gwt-ext
381
* Reecriture gwt-ext
378
*
382
*
379
* Revision 1.4  2007-06-06 13:31:16  ddelon
383
* Revision 1.4  2007-06-06 13:31:16  ddelon
380
* v0.09
384
* v0.09
381
*
385
*
382
* Revision 1.3  2007-05-22 12:54:09  ddelon
386
* Revision 1.3  2007-05-22 12:54:09  ddelon
383
* Securisation acces utilisateur
387
* Securisation acces utilisateur
384
*
388
*
385
*
389
*
386
*
390
*
387
*/
391
*/
388
 
392
 
389
?>
393
?>