Subversion Repositories eFlore/Applications.cel

Rev

Rev 798 | Only display areas with differences | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 798 Rev 1080
1
<?php
1
<?php
2
 
2
 
3
 
3
 
4
// In :  utf8 
4
// In :  utf8 
5
// Out : utf8
5
// Out : utf8
6
 
6
 
7
Class InventoryItemList extends DBAccessor {
7
Class InventoryItemList extends DBAccessor {
8
 
8
 
9
 
9
 
10
	var $config;
10
	var $config;
11
	
11
	
12
	function InventoryItemList($config) {
12
	function InventoryItemList($config) {
13
 
13
 
14
		$this->config=$config;
14
		$this->config=$config;
15
	}
15
	}
16
	
16
	
17
 
17
 
18
	function getElement($uid){
18
	function getElement($uid){
19
		
19
		
20
		 // Controle detournement utilisateur 
20
		 // Controle detournement utilisateur 
21
		    session_start();
21
			if(!isset($_SESSION)) {session_start();}
22
		 	$this->controleUtilisateur($uid[0]);
22
		 	$this->controleUtilisateur($uid[0]);
23
		
23
		
24
			// uid[0] : utilisateur obligatoire
24
			// uid[0] : utilisateur obligatoire
25
			// uid[1] : si absent : valeur 'all' (departement)
25
			// uid[1] : si absent : valeur 'all' (departement)
26
			// uid[2] : si absent : valeur 'all' (commune)
26
			// uid[2] : si absent : valeur 'all' (commune)
27
			// uid[3] : si absent : valeur 'all' (annee)
27
			// uid[3] : si absent : valeur 'all' (annee)
28
			// uid[4] : si absent : valeur 'all' (mois)
28
			// uid[4] : si absent : valeur 'all' (mois)
29
			// uid[5] : si absent : valeur 'all' (jour)
29
			// uid[5] : si absent : valeur 'all' (jour)
30
			// uid[6] : si absent : valeur 'all' (recherche libre)
30
			// uid[6] : si absent : valeur 'all' (recherche libre)
31
			// uid[7] : si absent : valeur 'all' (lieudit)
31
			// uid[7] : si absent : valeur 'all' (lieudit)
32
			// uid[8] et uid[9] : selection intervalle
32
			// uid[8] et uid[9] : selection intervalle
33
			
33
			
34
			$DB=$this->connectDB($this->config,'database_cel');
34
			$DB=$this->connectDB($this->config,'database_cel');
35
 
35
 
36
 
36
 
37
			if (!isset($uid[1]) || $uid[1]=="" || $uid[1]=="all" ) {
37
			if (!isset($uid[1]) || $uid[1]=="" || $uid[1]=="all" ) {
38
				$uid[1]="all";
38
				$uid[1]="all";
39
				$query_id_location="";
39
				$query_id_location="";
40
			}
40
			}
41
			else {
41
			else {
42
				$query_id_location=" AND id_location='".$DB->escapeSimple($uid[1])."' ";
42
				$query_id_location=" AND id_location='".$DB->escapeSimple($uid[1])."' ";
43
			}
43
			}
44
 
44
 
45
			 
45
			 
46
			if (!isset($uid[2]) || $uid[2]=="" || $uid[2]=="all" ) {
46
			if (!isset($uid[2]) || $uid[2]=="" || $uid[2]=="all" ) {
47
				$uid[2]="all";
47
				$uid[2]="all";
48
				$query_location="";
48
				$query_location="";
49
			}
49
			}
50
			else {
50
			else {
51
				$query_location=" AND location='".$DB->escapeSimple($uid[2])."' ";
51
				$query_location=" AND location='".$DB->escapeSimple($uid[2])."' ";
52
			}
52
			}
53
			
53
			
54
			if (!isset($uid[3]) || $uid[3]=="" || $uid[3]=="all") {
54
			if (!isset($uid[3]) || $uid[3]=="" || $uid[3]=="all") {
55
				$uid[3]="all";
55
				$uid[3]="all";
56
				$query_year="";
56
				$query_year="";
57
			}
57
			}
58
			else {
58
			else {
59
				$query_year=" AND year(date_observation)='".$DB->escapeSimple($uid[3])."' ";
59
				$query_year=" AND year(date_observation)='".$DB->escapeSimple($uid[3])."' ";
60
			}
60
			}
61
			
61
			
62
 
62
 
63
			if (!isset($uid[4]) || $uid[4]=="" || $uid[4]=="all") {
63
			if (!isset($uid[4]) || $uid[4]=="" || $uid[4]=="all") {
64
				$uid[4]="all";
64
				$uid[4]="all";
65
				$query_month="";
65
				$query_month="";
66
			}
66
			}
67
			else {
67
			else {
68
				$query_month=" AND month(date_observation)='".$DB->escapeSimple($uid[4])."' ";
68
				$query_month=" AND month(date_observation)='".$DB->escapeSimple($uid[4])."' ";
69
			}
69
			}
70
 
70
 
71
			if (!isset($uid[5]) || $uid[5]=="" || $uid[5]=="all") {
71
			if (!isset($uid[5]) || $uid[5]=="" || $uid[5]=="all") {
72
				$uid[5]="all";
72
				$uid[5]="all";
73
				$query_day="";
73
				$query_day="";
74
			}
74
			}
75
			else {
75
			else {
76
				$query_day=" AND day(date_observation)='".$DB->escapeSimple($uid[5])."' ";
76
				$query_day=" AND day(date_observation)='".$DB->escapeSimple($uid[5])."' ";
77
			}
77
			}
78
			
78
			
79
			
79
			
80
			if (!isset($uid[6]) || $uid[6]=="" || $uid[6]=="all") {
80
			if (!isset($uid[6]) || $uid[6]=="" || $uid[6]=="all") {
81
				$uid[6]="all";
81
				$uid[6]="all";
82
				$query_libre="";
82
				$query_libre="";
83
			}
83
			}
84
			else {
84
			else {
85
				$query_libre=" AND (nom_sel like '%".$DB->escapeSimple($uid[6])."%' OR nom_ret like '%".$DB->escapeSimple($uid[6])."%' OR station like '%".$DB->escapeSimple($uid[6])."%'  OR milieu like '%".$DB->escapeSimple($uid[6])."%' OR commentaire like '%".$DB->escapeSimple($uid[6])."%') ";
85
				$query_libre=" AND (nom_sel like '%".$DB->escapeSimple($uid[6])."%' OR nom_ret like '%".$DB->escapeSimple($uid[6])."%' OR station like '%".$DB->escapeSimple($uid[6])."%'  OR milieu like '%".$DB->escapeSimple($uid[6])."%' OR commentaire like '%".$DB->escapeSimple($uid[6])."%') ";
86
			}
86
			}
87
 
87
 
88
			if (!isset($uid[7]) || $uid[7]=="" || $uid[7]=="all") {
88
			if (!isset($uid[7]) || $uid[7]=="" || $uid[7]=="all") {
89
				$uid[7]="all";
89
				$uid[7]="all";
90
				$query_lieudit="";
90
				$query_lieudit="";
91
			}
91
			}
92
			else {
92
			else {
93
				$query_lieudit=" AND lieudit='".$DB->escapeSimple($uid[7])."' ";
93
				$query_lieudit=" AND lieudit='".$DB->escapeSimple($uid[7])."' ";
94
			}
94
			}
95
			
95
			
96
 
96
 
97
			$value=array();
97
			$value=array();
98
			
98
			
99
			
99
			
100
			if (isset($uid[8]) && isset($uid[9])) {
100
			if (isset($uid[8]) && isset($uid[9])) {
101
	           	$query="SELECT identifiant, ordre, nom_sel, num_nom_sel, nom_ret, num_nom_ret, num_taxon, famille, location, date_observation," .
101
	           	$query="SELECT identifiant, ordre, nom_sel, num_nom_sel, nom_ret, num_nom_ret, num_taxon, famille, location, date_observation," .
102
	           			" lieudit, station, milieu, commentaire, transmission  FROM cel_inventory WHERE identifiant='".$DB->escapeSimple($uid[0])."' " .
102
	           			" lieudit, station, milieu, commentaire, transmission  FROM cel_inventory WHERE identifiant='".$DB->escapeSimple($uid[0])."' " .
103
	           			$query_id_location.	
103
	           			$query_id_location.	
104
	           			$query_location.	
104
	           			$query_location.	
105
	           			$query_year.	
105
	           			$query_year.	
106
	           			$query_month.	
106
	           			$query_month.	
107
	           			$query_day.	
107
	           			$query_day.	
108
	           			$query_libre.	
108
	           			$query_libre.	
109
	           			$query_lieudit.	
109
	           			$query_lieudit.	
110
	           			" ORDER BY ordre LIMIT ".$uid[8].",".$uid[9];
110
	           			" ORDER BY ordre LIMIT ".$uid[8].",".$uid[9];
111
			}
111
			}
112
			
112
			
113
			else {
113
			else {
114
				if (isset($uid[8])) {
114
				if (isset($uid[8])) {
115
						// les n derniers 					
115
						// les n derniers 					
116
			          	$query="SELECT identifiant, ordre, nom_sel, num_nom_sel, nom_ret, num_nom_ret, num_taxon, famille, location, date_observation," .
116
			          	$query="SELECT identifiant, ordre, nom_sel, num_nom_sel, nom_ret, num_nom_ret, num_taxon, famille, location, date_observation," .
117
			          	" lieudit, station, milieu, commentaire, transmission  FROM cel_inventory WHERE identifiant='".$DB->escapeSimple($uid[0])."' " .
117
			          	" lieudit, station, milieu, commentaire, transmission  FROM cel_inventory WHERE identifiant='".$DB->escapeSimple($uid[0])."' " .
118
	           			$query_id_location.	
118
	           			$query_id_location.	
119
	           			$query_location.	
119
	           			$query_location.	
120
	           		    $query_year.	
120
	           		    $query_year.	
121
	           			$query_month.	
121
	           			$query_month.	
122
	           			$query_day.	
122
	           			$query_day.	
123
	           			$query_libre.	
123
	           			$query_libre.	
124
	           			$query_lieudit.	
124
	           			$query_lieudit.	
125
			          	" ORDER BY ordre LIMIT ".$uid[8].",18446744073709551615";
125
			          	" ORDER BY ordre LIMIT ".$uid[8].",18446744073709551615";
126
				}
126
				}
127
				else {
127
				else {
128
			           	$query="SELECT count(*) as count FROM cel_inventory WHERE identifiant='".$DB->escapeSimple($uid[0])."'" .
128
			           	$query="SELECT count(*) as count FROM cel_inventory WHERE identifiant='".$DB->escapeSimple($uid[0])."'" .
129
	           			$query_id_location.	
129
	           			$query_id_location.	
130
						$query_location.	
130
						$query_location.	
131
	           			$query_year.	
131
	           			$query_year.	
132
	           			$query_month.	
132
	           			$query_month.	
133
	           			$query_day.	
133
	           			$query_day.	
134
	           			$query_libre.	
134
	           			$query_libre.	
135
	           			$query_lieudit;	
135
	           			$query_lieudit;	
136
 
136
 
137
           			    $res =& $DB->query($query);
137
           			    $res =& $DB->query($query);
138
   
138
   
139
    
139
    
140
				        if (DB::isError($res)) {
140
				        if (DB::isError($res)) {
141
			    	        die($res->getMessage());
141
			    	        die($res->getMessage());
142
			        	}
142
			        	}
143
				        while ($row =& $res->fetchrow(DB_FETCHMODE_ASSOC)) {
143
				        while ($row =& $res->fetchrow(DB_FETCHMODE_ASSOC)) {
144
			                $value=$row['count'];
144
			                $value=$row['count'];
145
			    	    }
145
			    	    }
146
					
146
					
147
						$output = json_encode((integer)$value);
147
						$output = json_encode((integer)$value);
148
						print($output);
148
						print($output);
149
						
149
						
150
						return true;	
150
						return true;	
151
					
151
					
152
				}
152
				}
153
			}
153
			}
154
 
154
 
155
	     
155
	     
156
		    $res =& $DB->query($query);
156
		    $res =& $DB->query($query);
157
		    
157
		    
158
	        if (DB::isError($res)) {
158
	        if (DB::isError($res)) {
159
    	        die($res->getMessage());
159
    	        die($res->getMessage());
160
        	}
160
        	}
161
	        while ($row =& $res->fetchrow(DB_FETCHMODE_ASSOC)) {
161
	        while ($row =& $res->fetchrow(DB_FETCHMODE_ASSOC)) {
162
	        	if ($row['date_observation']!="0000-00-00 00:00:00") {
162
	        	if ($row['date_observation']!="0000-00-00 00:00:00") {
163
	                list($year,$month,$day)= split ('-',$row['date_observation']);
163
	                list($year,$month,$day)= split ('-',$row['date_observation']);
164
    	            list($day)= split (' ',$day);
164
    	            list($day)= split (' ',$day);
165
	                $row['date_observation']=$day."/".$month."/".$year;
165
	                $row['date_observation']=$day."/".$month."/".$year;
166
	        	}
166
	        	}
167
                $value[]=array($row['nom_sel'], $row['num_nom_sel'],$row['nom_ret'],$row['num_nom_ret'],$row['num_taxon'],$row['famille'], $row['location'], $row['ordre'], $row['date_observation'], $row['lieudit'], $row['station'], $row['milieu'], $row['commentaire'], $row['transmission']);
167
                $value[]=array($row['nom_sel'], $row['num_nom_sel'],$row['nom_ret'],$row['num_nom_ret'],$row['num_taxon'],$row['famille'], $row['location'], $row['ordre'], $row['date_observation'], $row['lieudit'], $row['station'], $row['milieu'], $row['commentaire'], $row['transmission']);
168
                
168
                
169
    	    }
169
    	    }
170
		
170
		
171
			$output = json_encode($value);
171
			$output = json_encode($value);
172
			print($output);
172
			print($output);
173
			
173
			
174
			return true;	
174
			return true;	
175
 
175
 
176
 
176
 
177
	}
177
	}
178
	
178
	
179
 
179
 
180
 
180
 
181
}
181
}
182
 
182
 
183
/* +--Fin du code ---------------------------------------------------------------------------------------+
183
/* +--Fin du code ---------------------------------------------------------------------------------------+
184
* $Log$
184
* $Log$
185
* Revision 1.7  2008-11-13 11:29:12  ddelon
185
* Revision 1.7  2008-11-13 11:29:12  ddelon
186
* Reecriture gwt-ext
186
* Reecriture gwt-ext
187
*
187
*
188
* Revision 1.6  2008-01-30 08:57:28  ddelon
188
* Revision 1.6  2008-01-30 08:57:28  ddelon
189
* fin mise en place mygwt
189
* fin mise en place mygwt
190
*
190
*
191
* Revision 1.5  2007-05-22 12:54:08  ddelon
191
* Revision 1.5  2007-05-22 12:54:08  ddelon
192
* Securisation acces utilisateur
192
* Securisation acces utilisateur
193
*
193
*
194
*
194
*
195
* 
195
* 
196
*/
196
*/
197
 
197
 
198
 
198
 
199
?>
199
?>