Subversion Repositories eFlore/Applications.cel

Rev

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

Rev 1610 Rev 1765
1
<?php
1
<?php
2
// ATTENTION ! Classe compatible uniquement avec nouveau format de bdd du cel //
2
// ATTENTION ! Classe compatible uniquement avec nouveau format de bdd du cel //
3
 
3
 
4
/**
4
/**
5
* PHP Version 5
5
* PHP Version 5
6
*
6
*
7
* @category  PHP
7
* @category  PHP
8
* @package   jrest
8
* @package   jrest
9
* @author    David Delon <delon@tela-botanica.org>
9
* @author    David Delon <delon@tela-botanica.org>
10
* @copyright 2010 Tela-Botanica
10
* @copyright 2010 Tela-Botanica
11
* @license   http://www.cecill.info/licences/Licence_CeCILL_V2-fr.txt Licence CECILL
11
* @license   http://www.cecill.info/licences/Licence_CeCILL_V2-fr.txt Licence CECILL
12
* @version   SVN: <svn_id>
12
* @version   SVN: <svn_id>
13
* @link      /doc/
13
* @link      /doc/
14
*/
14
*/
15
 
15
 
16
/**
16
/**
17
* 
17
* 
18
* in=utf8
18
* in=utf8
19
* out=iso3859
19
* out=iso3859
20
* 
20
* 
21
* Liste des Nouvelles observations par departement
21
* Liste des Nouvelles observations par departement
22
* A voir avec David mais ne devrait plus être utilisé 
22
* A voir avec David mais ne devrait plus être utilisé 
23
* ou fait autrement
23
* ou fait autrement
24
* 
24
* 
25
*/
25
*/
26
 
26
 
27
set_include_path(get_include_path() . PATH_SEPARATOR . dirname(dirname(realpath(__FILE__))) . '/lib');
27
set_include_path(get_include_path() . PATH_SEPARATOR . dirname(dirname(realpath(__FILE__))) . '/lib');
28
// la sortie est binaire (xls), mais OLE n'est pas compatible E_ALL en PHP-5.4
28
// la sortie est binaire (xls), mais OLE n'est pas compatible E_ALL en PHP-5.4
29
error_reporting(error_reporting() ^ E_STRICT);
29
error_reporting(error_reporting() ^ E_STRICT);
30
require_once("lib/OLE.php");
30
require_once("lib/OLE.php");
31
require_once("lib/Spreadsheet/Excel/Writer.php");
31
require_once("lib/Spreadsheet/Excel/Writer.php");
32
 
32
 
33
class InventoryByDept extends Cel {
33
class InventoryByDept extends Cel {
34
 
34
 
35
	var $extendSpreadsheetProductor;
35
	var $extendSpreadsheetProductor;
36
	
36
	
37
	function InventoryByDept($config) {
37
	function InventoryByDept($config) {
38
 
38
 
39
		parent::__construct($config);
39
		parent::__construct($config);
40
		
40
		
41
		// Pas d'heritage multiple en php :(
41
		// Pas d'heritage multiple en php :(
42
		$this->extendSpreadsheetProductor = new SpreadsheetProductor();
42
		$this->extendSpreadsheetProductor = new SpreadsheetProductor();
43
		$this->extendSpreadsheetProductor->initSpreadsheet();   
43
		$this->extendSpreadsheetProductor->initSpreadsheet();   
44
	}
44
	}
45
	
45
	
46
	//TODO : faire une fonction qui prend en paramètre un departement
46
	//TODO : faire une fonction qui prend en paramètre un departement
47
	function getRessource(){
47
	function getRessource(){
48
		
48
		
49
		$requete_obs = "SELECT ce_zone_geo, ce_utilisateur, courriel_utilisateur, ordre, nom_sel, nom_sel_nn, nom_ret, nom_ret_nn, nt, famille, zone_geo, date_observation," .
49
		$requete_obs = "SELECT ce_zone_geo, ce_utilisateur, courriel_utilisateur, ordre, nom_sel, nom_sel_nn, nom_ret, nom_ret_nn, nt, famille, zone_geo, date_observation," .
50
		    " lieudit, station, milieu, commentaire, transmission  FROM cel_obs ". 
50
		    " lieudit, station, milieu, commentaire, transmission  FROM cel_obs ". 
51
			"WHERE ce_zone_geo != '000null' AND ce_zone_geo != '' AND transmission = 1 AND nt!=0 ORDER BY ce_zone_geo, nom_ret LIMIT 50";
51
			"WHERE ce_zone_geo != '000null' AND ce_zone_geo != '' AND transmission = 1 AND nt!=0 ORDER BY ce_zone_geo, nom_ret LIMIT 50";
52
 
52
 
53
		$resultat_obs = $this->executerRequete($requete_obs);
53
		$resultat_obs = Cel::db()->executerRequete($requete_obs);
54
        	
54
        	
55
    	// Creating a workbook
55
    	// Creating a workbook
56
		$workbook = new Spreadsheet_Excel_Writer();
56
		$workbook = new Spreadsheet_Excel_Writer();
57
		$workbook->setVersion(8);
57
		$workbook->setVersion(8);
58
		// Creating a worksheet
58
		// Creating a worksheet
59
		$worksheet = $workbook->addWorksheet('Liste');
59
		$worksheet = $workbook->addWorksheet('Liste');
60
		$worksheet->setInputEncoding('utf-8');
60
		$worksheet->setInputEncoding('utf-8');
61
 
61
 
62
        $worksheet->write(0,0,'Departement');
62
        $worksheet->write(0,0,'Departement');
63
        $worksheet->write(0,1,'Nom saisi');
63
        $worksheet->write(0,1,'Nom saisi');
64
        $worksheet->write(0,2,'Numero nomenclatural');
64
        $worksheet->write(0,2,'Numero nomenclatural');
65
        $worksheet->write(0,3,'Nom retenu');
65
        $worksheet->write(0,3,'Nom retenu');
66
        $worksheet->write(0,4,'Numero nomenclatural nom retenu');
66
        $worksheet->write(0,4,'Numero nomenclatural nom retenu');
67
        $worksheet->write(0,5,'Numero taxonomique');
67
        $worksheet->write(0,5,'Numero taxonomique');
68
        $worksheet->write(0,6,'Famille');
68
        $worksheet->write(0,6,'Famille');
69
        $worksheet->write(0,7,'Commune');
69
        $worksheet->write(0,7,'Commune');
70
        $worksheet->write(0,8,'Date Observation');
70
        $worksheet->write(0,8,'Date Observation');
71
        $worksheet->write(0,9,'Lieu dit');
71
        $worksheet->write(0,9,'Lieu dit');
72
        $worksheet->write(0,10,'Station');
72
        $worksheet->write(0,10,'Station');
73
        $worksheet->write(0,11,'Milieu');
73
        $worksheet->write(0,11,'Milieu');
74
        $worksheet->write(0,12,'Commentaire');
74
        $worksheet->write(0,12,'Commentaire');
75
        $worksheet->write(0,13,'Observateur');
75
        $worksheet->write(0,13,'Observateur');
76
 
76
 
77
		$i=1;
77
		$i=1;
78
		
78
		
79
		$observations = array();
79
		$observations = array();
80
		$chercheur_infos_taxon = null;
80
		$chercheur_infos_taxon = null;
81
		if (is_array($resultat_obs)) {
81
		if (is_array($resultat_obs)) {
82
			$observations = &$resultat_obs;
82
			$observations = &$resultat_obs;
83
			$chercheur_infos_taxon = new RechercheInfosTaxonBeta($this->config);
83
			$chercheur_infos_taxon = new RechercheInfosTaxonBeta($this->config);
84
		}
84
		}
85
		
85
		
86
		foreach ($observations as $obs) {
86
		foreach ($observations as $obs) {
87
 
87
 
88
			$code_departement = $this->convertirCodeZoneGeoVersDepartement($obs['ce_zone_geo']);
88
			$code_departement = $this->convertirCodeZoneGeoVersDepartement($obs['ce_zone_geo']);
89
			$taxon_deja_vu = $chercheur_infos_taxon->taxonEstPresentDansDepartement($obs['nt'], $code_departement);
89
			$taxon_deja_vu = $chercheur_infos_taxon->taxonEstPresentDansDepartement($obs['nt'], $code_departement);
90
			
90
			
91
			if (!$taxon_deja_vu) {								
91
			if (!$taxon_deja_vu) {								
92
			 	// Denullifiage   
92
			 	// Denullifiage   
93
				foreach($obs as $k=>$v) {
93
				foreach($obs as $k=>$v) {
94
					if (($v=="null") || ($v=="000null")) {
94
					if (($v=="null") || ($v=="000null")) {
95
						$obs[$k]="";
95
						$obs[$k]="";
96
					}
96
					}
97
					else {
97
					else {
98
						$obs[$k]=utf8_decode($v);
98
						$obs[$k]=utf8_decode($v);
99
					}
99
					}
100
				} 
100
				} 
101
 
101
 
102
				if ($obs['date_observation']!="0000-00-00 00:00:00") {
102
				if ($obs['date_observation']!="0000-00-00 00:00:00") {
103
                	list($year,$month,$day)= explode('-',$obs['date_observation']);
103
                	list($year,$month,$day)= explode('-',$obs['date_observation']);
104
    	            list($day)= explode(' ',$day);
104
    	            list($day)= explode(' ',$day);
105
	                $obs['date_observation']=$day."/".$month."/".$year;
105
	                $obs['date_observation']=$day."/".$month."/".$year;
106
    	    	}
106
    	    	}
107
        		else {
107
        		else {
108
            	    $obs['date_observation']="00/00/0000";
108
            	    $obs['date_observation']="00/00/0000";
109
	        	}
109
	        	}
110
 
110
 
111
				$worksheet->write($i,0,$code_departement);
111
				$worksheet->write($i,0,$code_departement);
112
				$worksheet->write($i,1,$obs['nom_sel']);
112
				$worksheet->write($i,1,$obs['nom_sel']);
113
                $worksheet->write($i,2,$obs['nom_sel_nn']);
113
                $worksheet->write($i,2,$obs['nom_sel_nn']);
114
		        $worksheet->write($i,3,$obs['nom_ret']);
114
		        $worksheet->write($i,3,$obs['nom_ret']);
115
                $worksheet->write($i,4,$obs['nom_ret_nn']);
115
                $worksheet->write($i,4,$obs['nom_ret_nn']);
116
		        $worksheet->write($i,5,$obs['nt']);
116
		        $worksheet->write($i,5,$obs['nt']);
117
        		$worksheet->write($i,6,$obs['famille']);
117
        		$worksheet->write($i,6,$obs['famille']);
118
                $worksheet->write($i,7,$obs['zone_geo']);
118
                $worksheet->write($i,7,$obs['zone_geo']);
119
        		$worksheet->write($i,8,$obs['date_observation']);
119
        		$worksheet->write($i,8,$obs['date_observation']);
120
                $worksheet->write($i,9,$obs['lieudit']);
120
                $worksheet->write($i,9,$obs['lieudit']);
121
		        $worksheet->write($i,10,$obs['station']);
121
		        $worksheet->write($i,10,$obs['station']);
122
		        $worksheet->write($i,11,$obs['milieu']);
122
		        $worksheet->write($i,11,$obs['milieu']);
123
        		$worksheet->write($i,12,$obs['commentaire']);
123
        		$worksheet->write($i,12,$obs['commentaire']);
124
        		$worksheet->write($i,13,$obs['courriel_utilisateur']);
124
        		$worksheet->write($i,13,$obs['courriel_utilisateur']);
125
        		
125
        		
126
        		$i++;		
126
        		$i++;		
127
			}			
127
			}			
128
		}
128
		}
129
				
129
				
130
		// sending HTTP headers
130
		// sending HTTP headers
131
		$workbook->send('liste.xls');
131
		$workbook->send('liste.xls');
132
		$workbook->close();
132
		$workbook->close();
133
		
133
		
134
		exit();					
134
		exit();					
135
	}	
135
	}	
136
}
136
}
137
 
137
 
138
/* +--Fin du code ---------------------------------------------------------------------------------------+
138
/* +--Fin du code ---------------------------------------------------------------------------------------+
139
* $Log$
139
* $Log$
140
* Revision 1.1  2008-11-13 11:29:12  ddelon
140
* Revision 1.1  2008-11-13 11:29:12  ddelon
141
* Reecriture gwt-ext
141
* Reecriture gwt-ext
142
*
142
*
143
* Revision 1.2  2008-01-30 08:57:28  ddelon
143
* Revision 1.2  2008-01-30 08:57:28  ddelon
144
* fin mise en place mygwt
144
* fin mise en place mygwt
145
*
145
*
146
* Revision 1.1  2007-06-06 13:31:16  ddelon
146
* Revision 1.1  2007-06-06 13:31:16  ddelon
147
* v0.09
147
* v0.09
148
*
148
*
149
* Revision 1.3  2007-05-22 12:54:09  ddelon
149
* Revision 1.3  2007-05-22 12:54:09  ddelon
150
* Securisation acces utilisateur
150
* Securisation acces utilisateur
151
*
151
*
152
*
152
*
153
* 
153
* 
154
*/
154
*/
155
?>
155
?>