Subversion Repositories Sites.obs-saisons.fr

Rev

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

Rev 63 Rev 70
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 Individu extends aControleur {
14
class Individu extends aControleur {
15
   
15
   
16
	private $id_individu_en_cours = null;
16
	private $id_individu_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_individu'])) {
-
 
27
    		$this->id_individu_en_cours = $_GET['id_individu'];
26
    	$this->id_individu_en_cours = $_GET['id_individu'];
28
    	}
27
    	$this->setNavigation();
29
    	$this->setNavigation();
28
    }
30
    }
29
    
31
    
30
    public function executerActionParDefaut() {
32
    public function executerActionParDefaut() {
31
    	return $this->afficherFormulaireSaisieIndividu();
33
    	return $this->afficherFormulaireSaisieIndividu();
32
    }
34
    }
33
    
35
    
34
    public function afficherFormulaireSaisieIndividu($donnees = array()) {
36
    public function afficherFormulaireSaisieIndividu($donnees = array()) {
35
    	
37
    	
36
    	$formulaire = $this->getFormulaireSaisieIndividu($donnees);
38
    	$formulaire = $this->getFormulaireSaisieIndividu($donnees);
37
    	$this->setSortie(self::RENDU_CORPS, $formulaire);     
39
    	$this->setSortie(self::RENDU_CORPS, $formulaire);     
38
    }
40
    }
39
    
41
    
40
    public function getFormulaireSaisieIndividu($donnees = array()) {
42
    public function getFormulaireSaisieIndividu($donnees = array()) {
41
    	
43
    	
42
    	$donnees['id_station'] = $_GET['id_station'];
44
    	$donnees['id_station'] = $_GET['id_station'];
43
    	
45
    	
44
    	if(!isset($donnees['id_espece'])) {
46
    	if(!isset($donnees['id_espece'])) {
45
    		$donnees['id_espece'] = $_GET['id_espece'];
47
    		$donnees['id_espece'] = $_GET['id_espece'];
46
    	}
48
    	}
47
    	
49
    	
48
    	$espece_dao = new EspeceDao();
50
    	$espece_dao = new EspeceDao();
49
    	
51
    	
50
    	$donnees['informations_espece'] = $espece_dao->getInformationsEspece($donnees['id_espece']);
52
    	$donnees['informations_espece'] = $espece_dao->getInformationsEspece($donnees['id_espece']);
51
    	return $this->getVue('formulaires/individu_saisie',$donnees);
53
    	return $this->getVue('formulaires/individu_saisie',$donnees);
52
    }
54
    }
53
        
55
        
54
	// +---------------------------------------------------------------------------------------------------------------+
56
	// +---------------------------------------------------------------------------------------------------------------+
55
    // METHODES GENERIQUES
57
    // METHODES GENERIQUES
56
    public function afficherListeIndividu() {
58
    public function afficherListeIndividu() {
57
    	
59
    	
58
    	$this->setSortie(self::RENDU_CORPS, $this->getListeIndividu());
60
    	$this->setSortie(self::RENDU_CORPS, $this->getListeIndividu());
59
    }
61
    }
60
    
62
    
61
    public function getListeIndividu() {	
63
    public function getListeIndividu() {	
62
    	
64
    	
63
    	$id_utilisateur = AppControleur::getUtilisateur()->getIdentifiantNumerique();
65
    	$id_utilisateur = AppControleur::getUtilisateur()->getIdentifiantNumerique();
64
    	
66
    	
65
    	$id_station = $_GET['id_station'];
67
    	$id_station = $_GET['id_station'];
66
    	$id_espece = $_GET['id_espece'];
68
    	$id_espece = $_GET['id_espece'];
67
    	
69
    	
68
        if(isset($_GET['annee'])) {
70
        if(isset($_GET['annee'])) {
69
    		$donnees['annee'] = $_GET['annee'];
71
    		$donnees['annee'] = $_GET['annee'];
70
    	} else {
72
    	} else {
71
    		$donnees['annee'] = date('Y');
73
    		$donnees['annee'] = date('Y');
72
    	}
74
    	}
73
    	
75
    	
74
    	$espece = new Espece();
76
    	$espece = new Espece();
75
    	$evenements = $espece->getListeEvenementPourEspece($id_espece);
77
    	$evenements = $espece->getListeEvenementPourEspece($id_espece);
76
    	
78
    	
77
    	$individus = $this->getListeIndividus($id_station, $id_espece);
79
    	$individus = $this->getListeIndividus($id_station, $id_espece);
78
    	
80
    	
79
    	foreach($individus as &$individu) {
81
    	foreach($individus as &$individu) {
80
    		
82
    		
81
    		$observation = new Observation();
83
    		$observation = new Observation();
82
    		
84
    		
83
    		$individu['observations'] = $observation->getListeObservationsPourIndividu($individu['id_individu']);    		
85
    		$individu['observations'] = $observation->getListeObservationsPourIndividu($individu['id_individu']);    		
84
    		$individu['url'] = Liens::instance()->getUrlConsultationFicheIndividu($individu['id_individu'],$individu['id_individu']);
86
    		$individu['url'] = Liens::getUrlConsultationFicheIndividu($id_station, $id_espece, $individu['id_individu']);
85
    	}
87
    	}
86
 
88
 
87
    	$donnees['evenements'] = $evenements;
89
    	$donnees['evenements'] = $evenements;
88
    	$donnees['individus'] = $individus;
90
    	$donnees['individus'] = $individus;
89
    	$donnees['id_station'] = $_GET['id_station'];
91
    	$donnees['id_station'] = $_GET['id_station'];
90
    	$donnees['id_espece'] = $_GET['id_espece'];
92
    	$donnees['id_espece'] = $_GET['id_espece'];
91
 
93
 
92
        return $this->getVue('listes/evenement_liste', $donnees);
94
        return $this->getVue('listes/evenement_liste', $donnees);
93
    }
95
    }
94
    
96
    
95
    public function afficherInformationsIndividu() {
97
    public function afficherInformationsIndividu() {
96
    	
98
    	
97
    	$id_individu = $_GET['id_individu'];
99
    	$id_individu = $_GET['id_individu'];
98
    	$id_espece = $_GET['id_espece'];
100
    	$id_espece = $_GET['id_espece'];
99
    	
101
    	
100
    	$donnees['infos_individu'] = $this->getInformationsIndividu($id_individu);
102
    	$donnees['infos_individu'] = $this->getInformationsIndividu($id_individu);
101
    	$donnees['annees_observations'] = $this->getObservationsPourIndividu($id_individu);
103
    	$donnees['annees_observations'] = $this->getObservationsPourIndividu($id_individu);
102
    	
104
    	
103
		$espece_dao = new EspeceDao();
105
		$espece_dao = new EspeceDao();
104
    	$donnees['infos_espece'] = $espece_dao->getInformationsEspece($id_espece);   
106
    	$donnees['infos_espece'] = $espece_dao->getInformationsEspece($id_espece);   
105
    	
107
    	
106
    	$this->setSortie(self::RENDU_CORPS, $this->getVue('fiches/individu_fiche', $donnees));
108
    	$this->setSortie(self::RENDU_CORPS, $this->getVue('fiches/individu_fiche', $donnees));
107
    	
109
    	
108
    }
110
    }
109
   
111
   
110
    // +---------------------------------------------------------------------------------------------------------------+
112
    // +---------------------------------------------------------------------------------------------------------------+
111
    // METHODES DE VALIDATION DE FORMULAIRE 
113
    // METHODES DE VALIDATION DE FORMULAIRE 
112
	public function validerFormulaireSaisieIndividu() {
114
	public function validerFormulaireSaisieIndividu() {
113
    	
115
    	
114
    	$valeurs_verifiees = $this->collecterValeursFormulaireSaisieIndividu();
116
    	$valeurs_verifiees = $this->collecterValeursFormulaireSaisieIndividu();
115
    	
117
    	
116
    	$individu_dao = new IndividuDao();
118
    	$individu_dao = new IndividuDao();
117
    	$retour_ajout_individu = $individu_dao->ajouterIndividu($valeurs_verifiees);
119
    	$retour_ajout_individu = $individu_dao->ajouterIndividu($valeurs_verifiees);
118
    	
120
    	
119
    	if($id_nouvel_individu = $this->renvoyerIdSiAjoutIndividuEffectue($retour_ajout_individu)) {
121
    	if($id_nouvel_individu = $this->renvoyerIdSiAjoutIndividuEffectue($retour_ajout_individu)) {
120
    		$this->afficherListeIndividu();
122
    		$this->afficherListeIndividu();
121
    		$this->setNavigation();
123
    		$this->setNavigation();
122
    	} else {	    	
124
    	} else {	    	
123
    		$this->afficherFormulaireSaisieIndividu();
125
    		$this->afficherFormulaireSaisieIndividu();
124
    	}
126
    	}
125
    }
127
    }
126
    
128
    
127
	private function renvoyerIdSiAjoutIndividuEffectue($donnees_retour_dao) {
129
	private function renvoyerIdSiAjoutIndividuEffectue($donnees_retour_dao) {
128
    	
130
    	
129
    	if(isset($donnees_retour_dao['id_nouvel_individu'])) {
131
    	if(isset($donnees_retour_dao['id_nouvel_individu'])) {
130
    		return $donnees_retour_dao['id_nouvel_individu'];
132
    		return $donnees_retour_dao['id_nouvel_individu'];
131
    	}
133
    	}
132
    	
134
    	
133
    	return false;
135
    	return false;
134
    }
136
    }
135
    
137
    
136
    private function collecterValeursFormulaireSaisieIndividu() {
138
    private function collecterValeursFormulaireSaisieIndividu() {
137
    	
139
    	
138
    	$valeurs_verifiees['id_station'] = $_POST['station'];
140
    	$valeurs_verifiees['id_station'] = $_POST['station'];
139
	    $valeurs_verifiees['id_espece'] =  $_POST['espece'];
141
	    $valeurs_verifiees['id_espece'] =  $_POST['espece'];
140
	    $valeurs_verifiees['individu_nom'] = $_POST['individu_nom'];
142
	    $valeurs_verifiees['individu_nom'] = $_POST['individu_nom'];
141
	    
143
	    
142
	    //TODO: verifier valeurs plus complètement
144
	    //TODO: verifier valeurs plus complètement
143
	    
145
	    
144
	    return $valeurs_verifiees;
146
	    return $valeurs_verifiees;
145
    	
147
    	
146
    }
148
    }
147
    
149
    
148
    // +---------------------------------------------------------------------------------------------------------------+
150
    // +---------------------------------------------------------------------------------------------------------------+
149
    // METHODES POUR FABRIQUER LE MENU    
151
    // METHODES POUR FABRIQUER LE MENU    
150
    public function setNavigation() {
152
    public function setNavigation() {
151
    	
153
    	
152
    	$station = new Station();
154
    	$station = new Station();
153
    	$this->setSortie(self::RENDU_NAVIGATION, $station->construireMenuNavigation());
155
    	$this->setSortie(self::RENDU_NAVIGATION, $station->construireMenuNavigation());
154
    }
156
    }
155
    
157
    
156
    protected function getListeIndividus($id_station, $id_espece) {
158
    protected function getListeIndividus($id_station, $id_espece) {
157
    	
159
    	
158
    	$individu_dao = new IndividuDao();
160
    	$individu_dao = new IndividuDao();
159
    	return $individu_dao->getListeIndividusPourStationPourEspece($id_station,$id_espece);
161
    	return $individu_dao->getListeIndividusPourStationPourEspece($id_station,$id_espece);
160
    	
162
    	
161
    }
163
    }
162
    
164
    
163
    private function getInformationsIndividu($id_individu) {
165
    private function getInformationsIndividu($id_individu) {
164
    	
166
    	
165
    	$individu_dao = new IndividuDao();
167
    	$individu_dao = new IndividuDao();
166
    	$infos_individu = $individu_dao->getInformationsIndividu($id_individu);
168
    	$infos_individu = $individu_dao->getInformationsIndividu($id_individu);
167
    	
169
    	
168
    	return $infos_individu;
170
    	return $infos_individu;
169
    }
171
    }
170
    
172
    
171
    private function getObservationsPourIndividu($id_individu) {
173
    private function getObservationsPourIndividu($id_individu) {
172
    	$observation_dao = new ObservationDao();
174
    	$observation_dao = new ObservationDao();
173
    	$liste_observation_pour_individu = $observation_dao->getListeObservationsPourIndividu($id_individu);
175
    	$liste_observation_pour_individu = $observation_dao->getListeObservationsPourIndividu($id_individu);
174
    	
176
    	
175
    	return $liste_observation_pour_individu;
177
    	return $liste_observation_pour_individu;
176
    }
178
    }
177
} 
-
 
178
179
}
-
 
180
?>
-
 
181
179
182