Subversion Repositories Sites.obs-saisons.fr

Rev

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

Rev 83 Rev 95
1
<?php
1
<?php
2
// declare(encoding='UTF-8');
2
// declare(encoding='UTF-8');
3
/**
3
/**
4
 * Classe de test des Controleurs.
4
 * Classe de test des Controleurs.
5
 *
5
 *
6
 * @package     Collection
6
 * @package     Collection
7
 * @category    Php 5.2
7
 * @category    Php 5.2
8
 * @author      Jean-Pascal MILCENT <jpm@tela-botanica.org>
8
 * @author      Jean-Pascal MILCENT <jpm@tela-botanica.org>
9
 * @copyright   2010 Tela-Botanica
9
 * @copyright   2010 Tela-Botanica
10
 * @license     http://www.cecill.info/licences/Licence_CeCILL_V2-fr.txt Licence CECILL
10
 * @license     http://www.cecill.info/licences/Licence_CeCILL_V2-fr.txt Licence CECILL
11
 * @license     http://www.gnu.org/licenses/gpl.html Licence GNU-GPL
11
 * @license     http://www.gnu.org/licenses/gpl.html Licence GNU-GPL
12
 * @version     SVN: $Id: Fiche.php 152 2010-09-06 16:19:12Z jpm $
12
 * @version     SVN: $Id: Fiche.php 152 2010-09-06 16:19:12Z jpm $
13
 */
13
 */
14
class Station extends aControleur {
14
class Station extends aControleur {
15
 
15
 
16
	private $id_station_en_cours = null;
16
	private $id_station_en_cours = null;
17
   
17
   
18
    public function __construct()  {
18
    public function __construct()  {
19
    	
19
    	
20
		parent::__construct();
20
		parent::__construct();
21
        $this->initialiser();
21
        $this->initialiser();
22
    }
22
    }
23
    
23
    
24
    public function initialiser() {
24
    public function initialiser() {
25
    	
25
    	
26
    	if(isset($_GET['id_station'])) {
26
    	if(isset($_GET['id_station'])) {
27
    		$this->id_station_en_cours = $_GET['id_station'];
27
    		$this->id_station_en_cours = $_GET['id_station'];
28
    	}
28
    	}
29
    	$this->setNavigation();
29
    	$this->setNavigation();
30
    	
30
    	
31
    }
31
    }
32
    
32
    
33
    public function executerActionParDefaut() {
33
    public function executerActionParDefaut() {
34
    	return $this->afficherFormulaireSaisieStation();
34
    	return $this->afficherFormulaireSaisieStation();
35
    }
35
    }
36
    
36
    
37
   	// +---------------------------------------------------------------------------------------------------------------+
37
   	// +---------------------------------------------------------------------------------------------------------------+
38
    // METHODES D'AFFICHAGE DE FORMULAIRE 
38
    // METHODES D'AFFICHAGE DE FORMULAIRE 
39
    public function afficherFormulaireSaisieStation() {
39
    public function afficherFormulaireSaisieStation() {
40
    	
40
    	
41
    	$donnees = array();
41
    	$donnees = array();
42
    	
42
    	
43
    	$donnees['milieux'] = $this->getListeMilieux();
43
    	$donnees['milieux'] = $this->getListeMilieux();
44
    	$formulaire = $this->getVue('formulaires/station_saisie',$donnees);
44
    	$formulaire = $this->getVue('formulaires/station_saisie',$donnees);
45
    	$this->setSortie(self::RENDU_CORPS, $formulaire);     
45
    	$this->setSortie(self::RENDU_CORPS, $formulaire);     
46
    }
46
    }
47
    
47
    
48
	public function afficherFormulaireModificationStation() {
48
	public function afficherFormulaireModificationStation() {
49
		
49
		
50
    	$donnees = array();
50
    	$donnees = array();
51
    	
51
    	
52
    	$id_station = $this->id_station_en_cours;
52
    	$id_station = $this->id_station_en_cours;
53
    	$donnees['milieux'] = $this->getListeMilieux();
53
    	$donnees['milieux'] = $this->getListeMilieux();
54
    	$donnees['infos_station'] = $this->getInformationsStation($id_station);
54
    	$donnees['infos_station'] = $this->getInformationsStation($id_station);
55
    	
55
    	
56
    	$formulaire = $this->getVue('formulaires/station_modification',$donnees);
56
    	$formulaire = $this->getVue('formulaires/station_modification',$donnees);
57
    	$this->setSortie(self::RENDU_CORPS, $formulaire);     
57
    	$this->setSortie(self::RENDU_CORPS, $formulaire);     
58
    }
58
    }
59
    
59
    
60
    // +---------------------------------------------------------------------------------------------------------------+
60
    // +---------------------------------------------------------------------------------------------------------------+
61
    // METHODES APPELEES LORS DE LA VALIDATION D'UN FORMULAIRE
61
    // METHODES APPELEES LORS DE LA VALIDATION D'UN FORMULAIRE
62
    public function validerFormulaireSaisieStation() {
62
    public function validerFormulaireSaisieStation() {
63
    	
63
    	
64
    	$valeurs_verifiees = $this->collecterValeursFormulaireSaisieStation();
64
    	$valeurs_verifiees = $this->collecterValeursFormulaireSaisieStation();
65
    	
65
    	    	
66
    	$station_dao = new StationDao();
66
    	$station_dao = new StationDao();
67
    	$retour_ajout_station = $station_dao->ajouterStation($valeurs_verifiees);
67
    	$retour_ajout_station = $station_dao->ajouterStation($valeurs_verifiees);
68
    	
68
    	
69
    	if($id_nouvelle_station = $this->renvoyerIdSiAjoutStationEffectue($retour_ajout_station)) {
69
    	if($id_nouvelle_station = $this->renvoyerIdSiAjoutStationEffectue($retour_ajout_station)) {
70
    		$this->id_station_en_cours = $id_nouvelle_station;
70
    		$this->id_station_en_cours = $id_nouvelle_station;
71
    		$this->afficherInformationsStation();  
71
    		$this->afficherInformationsStation();  
72
    		$this->setNavigation();
72
    		$this->setNavigation();
73
    	}
73
    	}
74
    }
74
    }
75
    
75
    
76
    private function renvoyerIdSiAjoutStationEffectue($donnees_retour_dao) {
76
    private function renvoyerIdSiAjoutStationEffectue($donnees_retour_dao) {
77
    	
77
    	
78
    	if(isset($donnees_retour_dao['id_nouvelle_station'])) {
78
    	if(isset($donnees_retour_dao['id_nouvelle_station'])) {
79
    		return $donnees_retour_dao['id_nouvelle_station'];
79
    		return $donnees_retour_dao['id_nouvelle_station'];
80
    	}
80
    	}
81
    	
81
    	
82
    	return false;
82
    	return false;
83
    }
83
    }
84
    
84
    
85
    private function collecterValeursFormulaireSaisieStation() {
85
    private function collecterValeursFormulaireSaisieStation() {
86
    	
86
    	
87
    	$valeurs_verifiees['station_commune'] = $_POST['station_commune'];
87
    	$valeurs_verifiees['station_commune'] = $_POST['station_commune'];
88
	    $valeurs_verifiees['station_milieu'] =  $_POST['station_milieu'];
88
	    $valeurs_verifiees['station_milieu'] =  $_POST['station_milieu'];
89
	    $valeurs_verifiees['station_nom'] = $_POST['station_nom'];
89
	    $valeurs_verifiees['station_nom'] = $_POST['station_nom'];
90
	    $valeurs_verifiees['station_lat'] =  $_POST['station_lat']; 
90
	    $valeurs_verifiees['station_lat'] =  $_POST['station_lat']; 
91
	    $valeurs_verifiees['station_lon'] = $_POST['station_lon'];
91
	    $valeurs_verifiees['station_lon'] = $_POST['station_lon'];
-
 
92
	   	$valeurs_verifiees['station_alt'] = $_POST['station_alt'];
92
	    
93
	    
93
	    //TODO: verifier valeurs plus complètement
94
	    //TODO: verifier valeurs plus complètement
94
	    
95
	    
95
	    return $valeurs_verifiees;
96
	    return $valeurs_verifiees;
96
    	
97
    	
97
    }
98
    }
98
    
99
    
-
 
100
	private function collecterValeursFormulaireModificationStation() {
-
 
101
    	
-
 
102
    	$valeurs_verifiees['station_commune'] = $_POST['station_commune'];
-
 
103
	    $valeurs_verifiees['station_milieu'] =  $_POST['station_milieu'];
-
 
104
	    $valeurs_verifiees['station_nom'] = $_POST['station_nom'];
-
 
105
	    $valeurs_verifiees['station_lat'] =  $_POST['station_lat']; 
99
    public function validerFormulaireModificationStation() {
106
	    $valeurs_verifiees['station_lon'] = $_POST['station_lon'];
-
 
107
	    $valeurs_verifiees['station_alt'] = $_POST['station_alt'];
-
 
108
	    $valeurs_verifiees['station_id'] = $_POST['station_id'];
-
 
109
	    
-
 
110
	    //TODO: verifier valeurs plus complètement
-
 
111
	    
-
 
112
	    return $valeurs_verifiees;
-
 
113
    	
-
 
114
    }
100
    	
115
    
101
    	$valeurs_formulaires = $_POST['form_modif_station'];
116
    public function validerFormulaireModificationStation() {
102
    	
117
    	
-
 
118
    	$valeurs_verifiees = $this->collecterValeursFormulaireModificationStation();
-
 
119
    	
-
 
120
    	$station_dao = new StationDao();
-
 
121
    	$retour_modification = $station_dao->modifierStation($valeurs_verifiees['station_id'],$valeurs_verifiees);
-
 
122
    	
103
    	$valeurs_verifiees = array();
123
    	if($retour_modification) {
104
    	
124
    		$this->afficherInformationsStation();  
105
    	$station_dao = new StationDao();
125
    		$this->setNavigation();
106
    	$station_dao->modifierStation($valeurs_verifiees);
126
    	}
107
    	
127
    	
108
    }
128
    }
109
        
129
        
110
	// +---------------------------------------------------------------------------------------------------------------+
130
	// +---------------------------------------------------------------------------------------------------------------+
111
    // METHODES D'AFFICHAGES D'INFORMATION
131
    // METHODES D'AFFICHAGES D'INFORMATION
112
    public function afficherlisteStation($param = null) {	
132
    public function afficherlisteStation($param = null) {	
113
    	
133
    	
114
    	$id_utilisateur = AppControleur::getIdUtilisateur();
134
    	$id_utilisateur = AppControleur::getIdUtilisateur();
115
    	
135
    	
116
    	$donnees['stations'] = $this->getListeStations($id_utilisateur);
136
    	$donnees['stations'] = $this->getListeStations($id_utilisateur);
117
        $this->setSortie(self::RENDU_CORPS, $this->getVue('listes/station_liste', $donnees));
137
        $this->setSortie(self::RENDU_CORPS, $this->getVue('listes/station_liste', $donnees));
118
    }
138
    }
119
    
139
    
120
    public function afficherInformationsStation() {
140
    public function afficherInformationsStation() {
121
    	
141
    	
122
    	$id_station = $this->id_station_en_cours;
142
    	$id_station = $this->id_station_en_cours;
123
    	
143
    	
124
    	$donnees['id_station'] = $id_station;
144
    	$donnees['id_station'] = $id_station;
125
    	$donnees['infos_station'] = $this->getInformationsStation($id_station);
145
    	$donnees['infos_station'] = $this->getInformationsStation($id_station);
126
    	$donnees['milieux'] = $this->getListeMilieux();
146
    	$donnees['milieux'] = $this->getListeMilieux();
127
    	
147
    	
128
    	$this->setSortie(self::RENDU_CORPS, $this->getVue('fiches/station_fiche', $donnees));
148
    	$this->setSortie(self::RENDU_CORPS, $this->getVue('fiches/station_fiche', $donnees));
129
    	
149
    	
130
    }
150
    }
131
   
151
   
132
    // +---------------------------------------------------------------------------------------------------------------+
152
    // +---------------------------------------------------------------------------------------------------------------+
133
    // METHODES POUR FABRIQUER LE MENU
153
    // METHODES POUR FABRIQUER LE MENU
134
    public function construireMenuNavigation($id_espece_en_cours = null) {
154
    public function construireMenuNavigation($id_espece_en_cours = null) {
135
    	    	    	
155
    	    	    	
136
    	$id_station_en_cours = $this->id_station_en_cours;
156
    	$id_station_en_cours = $this->id_station_en_cours;
137
    	
157
    	
138
    	if(isset($_GET['id_espece'])) {
158
    	if(isset($_GET['id_espece'])) {
139
    		$id_espece_en_cours = $_GET['id_espece'];
159
    		$id_espece_en_cours = $_GET['id_espece'];
140
    	}
160
    	}
141
 
161
 
142
    	
162
    	
143
    	$stations = $this->getListeStations();
163
    	$stations = $this->getListeStations();
144
    	    	
164
    	    	
145
    	foreach($stations as &$station) {  
165
    	foreach($stations as &$station) {  
146
    		        	
166
    		        	
147
    		$station['url'] = Liens::getUrlConsultationFicheStation($station['id']);
167
    		$station['url'] = Liens::getUrlConsultationFicheStation($station['id']);
148
    	}
168
    	}
149
    	
169
    	
150
    	if($id_station_en_cours != null && $id_station_en_cours != 'saisie') {
170
    	if($id_station_en_cours != null && $id_station_en_cours != 'saisie') {
151
    		$especes_station_en_cours = $this->getEspecesStation($id_station_en_cours);
171
    		$especes_station_en_cours = $this->getEspecesStation($id_station_en_cours);
152
    		
172
    		
153
    	    foreach($especes_station_en_cours as &$espece) {   		
173
    	    foreach($especes_station_en_cours as &$espece) {   		
154
    			$espece['url'] = Liens::getUrlConsultationEspeceStation($id_station_en_cours, $espece['id_espece']);
174
    			$espece['url'] = Liens::getUrlConsultationEspeceStation($id_station_en_cours, $espece['id_espece']);
155
    	    }
175
    	    }
156
    		$stations[$id_station_en_cours]['especes'] = $especes_station_en_cours;
176
    		$stations[$id_station_en_cours]['especes'] = $especes_station_en_cours;
157
    	}
177
    	}
158
    	
178
    	
159
    	$donnees['stations'] = $stations;
179
    	$donnees['stations'] = $stations;
160
    	$donnees['id_station_en_cours'] = $id_station_en_cours;
180
    	$donnees['id_station_en_cours'] = $id_station_en_cours;
161
 
181
 
162
    	$donnees['id_espece_en_cours'] = $id_espece_en_cours;
182
    	$donnees['id_espece_en_cours'] = $id_espece_en_cours;
163
    	
183
    	
164
    	$menu_navigation = $this->getVue('navigation/menu', $donnees);
184
    	$menu_navigation = $this->getVue('navigation/menu', $donnees);
165
    	
185
    	
166
        return $menu_navigation;
186
        return $menu_navigation;
167
        
187
        
168
    }
188
    }
169
    
189
    
170
    public function setNavigation() {
190
    public function setNavigation() {
171
    	$this->setSortie(self::RENDU_NAVIGATION, $this->construireMenuNavigation());
191
    	$this->setSortie(self::RENDU_NAVIGATION, $this->construireMenuNavigation());
172
    }
192
    }
173
    
193
    
174
    // +---------------------------------------------------------------------------------------------------------------+
194
    // +---------------------------------------------------------------------------------------------------------------+
175
    // METHODE D'APPELS AUX DAOS
195
    // METHODE D'APPELS AUX DAOS
176
    protected function getListeStations() { 
196
    protected function getListeStations() { 
177
    	   	
197
    	   	
178
    	$station_dao = new StationDao();
198
    	$station_dao = new StationDao();
179
    	return $station_dao->getListeStations();
199
    	return $station_dao->getListeStations();
180
    }
200
    }
181
    
201
    
182
    private function getInformationsStation($id_station) {
202
    private function getInformationsStation($id_station) {
183
    	
203
    	
184
    	$station_dao = new StationDao();
204
    	$station_dao = new StationDao();
185
    	$infos_station = $station_dao->getInformationsStation($id_station);
205
    	$infos_station = $station_dao->getInformationsStation($id_station);
186
    	
206
    	
187
    	$infos_station['individus'] = $this->getIndividusStation($id_station);
207
    	$infos_station['individus'] = $this->getIndividusStation($id_station);
188
    	
208
    	
189
    	return $infos_station;
209
    	return $infos_station;
190
    }
210
    }
191
    
211
    
192
    private function getEspecesStation($id_station) {
212
    private function getEspecesStation($id_station) {
193
    	
213
    	
194
    	$espece_dao = new EspeceDao();
214
    	$espece_dao = new EspeceDao();
195
    	$liste_especes = $espece_dao->getListeEspecesPourStation($id_station);
215
    	$liste_especes = $espece_dao->getListeEspecesPourStation($id_station);
196
    	
216
    	
197
    	return $liste_especes;
217
    	return $liste_especes;
198
    }
218
    }
199
    
219
    
200
    public function getIndividusStation($id_station) {
220
    public function getIndividusStation($id_station) {
201
    	
221
    	
202
    	$individu_dao = new IndividuDao();
222
    	$individu_dao = new IndividuDao();
203
    	$liste_individus = $individu_dao->getListeIndividusPourStation($id_station);
223
    	$liste_individus = $individu_dao->getListeIndividusPourStation($id_station);
204
    	
224
    	
205
    	return $liste_individus;
225
    	return $liste_individus;
206
    }
226
    }
207
    
227
    
208
	public function getIndividusStationPourEspece($id_station,$id_espece) {
228
	public function getIndividusStationPourEspece($id_station,$id_espece) {
209
    	
229
    	
210
    	$individu_dao = new IndividuDao();
230
    	$individu_dao = new IndividuDao();
211
    	$liste_individus = $individu_dao->getListeIndividusPourStationPourEspece($id_station, $id_espece);
231
    	$liste_individus = $individu_dao->getListeIndividusPourStationPourEspece($id_station, $id_espece);
212
    	
232
    	
213
    	return $liste_individus;
233
    	return $liste_individus;
214
    }
234
    }
215
    
235
    
216
    public function getListeMilieux() {
236
    public function getListeMilieux() {
217
    	
237
    	
218
    	$triple_dao = new TripleDao();
238
    	$triple_dao = new TripleDao();
219
    	$liste_milieux = $triple_dao->getListeMilieux();
239
    	$liste_milieux = $triple_dao->getListeMilieux();
220
    	
240
    	
221
    	return $liste_milieux;
241
    	return $liste_milieux;
222
    }
242
    }
223
}
243
}
224
?>
244
?>