Subversion Repositories Sites.obs-saisons.fr

Rev

Rev 227 | Rev 246 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 227 Rev 235
Line 28... Line 28...
28
            } else {
28
            } else {
29
                $this->messages[] = "Le type d'information demandé '$type' n'est pas disponible.";
29
                $this->messages[] = "Le type d'information demandé '$type' n'est pas disponible.";
30
            }
30
            }
31
        }
31
        }
Line 32... Line -...
32
       
-
 
33
        // Envoi sur la sortie standard
32
       
34
        $this->envoyer($info);
33
        $this->envoyer($info);
Line 35... Line 34...
35
    }
34
    }
Line 50... Line 49...
50
		return $res_selection_observations;
49
		return $res_selection_observations;
51
	}
50
	}
Line 52... Line 51...
52
	
51
	
Line 53... Line 52...
53
	public function construireConditionRequete() {
52
	public function construireConditionRequete() {
Line 54... Line 53...
54
		
53
		
Line 55... Line 54...
55
		$condition = ' WHERE oo_date != "0000-00-00" AND ';
54
		$condition = ' WHERE oo_date != "0000-00-00" AND DAY(oo_date) != "00" AND ';
Line 56... Line 55...
56
		
55
		
57
		foreach($_GET as $cle => $valeur) {
56
		foreach($_GET as $cle => $valeur) {
58
			
57
			
Line 59... Line 58...
59
			switch($cle) {
58
			switch($cle) {
-
 
59
			
-
 
60
				case 'type_espece':
-
 
61
					$condition .= 'oi_ce_espece IN (SELECT oe_id_espece FROM ods_especes WHERE oe_ce_type = '.$this->proteger($valeur).')';
-
 
62
				break;
-
 
63
				
60
			
64
				case 'annee':
-
 
65
					if($this->anneesMultiplesDemandees($valeur)) {
61
				case 'type_espece':
66
						$valeur = rtrim($valeur,',');
Line 62... Line 67...
62
					$condition .= 'oi_ce_espece IN (SELECT oe_id_espece FROM ods_especes WHERE oe_ce_type = '.$this->proteger($valeur).')';
67
						$condition .= 'YEAR(oo_date) IN ('.$valeur.')';						
63
				break;
68
					} else {
64
				
69
						$condition .= 'YEAR(oo_date) ';
Line 65... Line 70...
65
				case 'annee':
70
						$condition .= ' = '.$this->proteger($valeur);
66
					$condition .= 'YEAR(oo_date) = '.$this->proteger($valeur);
71
					}
67
				break;
72
				break;
Line 68... Line 73...
68
				
73
				
69
				case 'mois':
74
				case 'mois':
70
					$condition .= 'MONTH(oo_date) <= '.$this->proteger($valeur);
75
					$condition .= 'MONTH(oo_date) <= '.$this->proteger($valeur);
Line 102... Line 107...
102
		$condition .= ' AND oo_ce_participant != '.$id_admin;
107
		$condition .= ' AND oo_ce_participant != '.$id_admin;
Line 103... Line 108...
103
		
108
		
104
		return $condition;
109
		return $condition;
Line -... Line 110...
-
 
110
	}
-
 
111
	
-
 
112
	private function anneesMultiplesDemandees($annee) {
-
 
113
		// un ensemble d'identifiants est une suite d'identifiants séparés par des virgules
-
 
114
		// sans virgule terminale
-
 
115
		$reg_exp = "/^(([0-9])+,)*([0-9])+$/";
-
 
116
		return preg_match($reg_exp, $annee);
105
	}
117
	}
Line 106... Line 118...
106
	
118
	
107
	public function getExportObservationPlat() {
119
	public function getExportObservationPlat() {
Line 108... Line 120...
108
				
120
				
109
		$donnees = $this->getExportObservation();
121
		$donnees = $this->getExportObservation();
Line 110... Line 122...
110
		$donnees_formatees = $this->formaterPourExportCSV($donnees);		
122
		$donnees_formatees = $this->formaterPourExportCSV($donnees);	
Line 146... Line 158...
146
			$infos_formatees = array(
158
			$infos_formatees = array(
147
				'date' => $date_observation_formatee,
159
				'date' => $date_observation_formatee,
148
				'evenenement' => $infos_evenement['nom'],
160
				'evenenement' => $infos_evenement['nom'],
149
				'code_bbch' => $infos_evenement['numero'],
161
				'code_bbch' => $infos_evenement['numero'],
150
				'nom_scientifique' => $nom_espece,
162
				'nom_scientifique' => $nom_espece,
-
 
163
				'id_espece' => $id_espece,
-
 
164
				'participant' => $observations_infos['os_ce_participant']
151
			);
165
			);
Line 152... Line 166...
152
			
166
			
Line 153... Line 167...
153
			$id_station = $observations_infos['oi_ce_station'];
167
			$id_station = $observations_infos['oi_ce_station'];