Subversion Repositories Sites.obs-saisons.fr

Rev

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

Rev 31 Rev 35
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
    	$this->id_individu_en_cours = $_GET['id_individu'];
26
    	$this->id_individu_en_cours = $_GET['id_individu'];
27
    	$this->setNavigation();
27
    	$this->setNavigation();
28
    }
28
    }
29
    
29
    
30
    public function executerActionParDefaut() {
30
    public function executerActionParDefaut() {
31
    	return $this->afficherFormulaireAjoutIndividu();
31
    	return $this->afficherFormulaireSaisieIndividu();
32
    }
32
    }
33
    
33
    
34
    public function afficherFormulaireAjoutIndividu() {
-
 
35
    	$donnees = array();
34
    public function afficherFormulaireSaisieIndividu($donnees = array()) {
36
    	$formulaire = $this->getVue('formulaires/individu_saisie',$donnees);
35
    	$formulaire = $this->getFormulaireSaisieIndividu($donnees);
37
    	$this->setSortie(self::RENDU_CORPS, $formulaire);     
36
    	$this->setSortie(self::RENDU_CORPS, $formulaire);     
-
 
37
    }
-
 
38
    
-
 
39
    public function getFormulaireSaisieIndividu($donnees = array()) {
-
 
40
    	return $this->getVue('formulaires/individu_saisie',$donnees);
38
    }
41
    }
39
        
42
        
40
	// +---------------------------------------------------------------------------------------------------------------+
43
	// +---------------------------------------------------------------------------------------------------------------+
41
    // METHODES GENERIQUES
44
    // METHODES GENERIQUES
42
    public function afficherListeIndividu($id_espece) {	
45
    public function afficherListeIndividu() {	
43
    	
46
    	
44
    	$id_utilisateur = AppControleur::getUtilisateur()->getIdentifiantNumerique();
47
    	$id_utilisateur = AppControleur::getUtilisateur()->getIdentifiantNumerique();
-
 
48
    	
-
 
49
    	$id_station = $_GET['id_station'];
-
 
50
    	$id_espece = $_GET['id_espece'];
45
    	
51
    	
46
    	$espece = new Espece();
52
    	$espece = new Espece();
47
    	$evenements = $espece->getListeEvenementPourEspece($id_espece);
53
    	$evenements = $espece->getListeEvenementPourEspece($id_espece);
48
    	
54
    	
-
 
55
    	$individus = $this->getListeIndividus($id_station, $id_espece);
49
    	$individus = $this->getListeIndividus($id_utilisateur);
56
    	
50
    	foreach($individus as &$individu) {
57
    	foreach($individus as &$individu) {
51
    		
58
    		
52
    		$observation = new Observation();
59
    		$observation = new Observation();
53
    		
60
    		
54
    		$individu['observations'] = $observation->getListeObservationsPourIndividu($individu['id']);		
61
    		$individu['observations'] = $observation->getListeObservationsPourIndividu($individu['id_individu']);		
55
    		$individu['url'] = aControleur::getUrlConsultationFicheIndividu($individu['id'],$individu['id']);
62
    		$individu['url'] = aControleur::getUrlConsultationFicheIndividu($individu['id_individu'],$individu['id_individu']);
56
    	}
63
    	}
57
 
64
 
58
    	$donnees['evenements'] = $evenements;
65
    	$donnees['evenements'] = $evenements;
59
    	$donnees['individus'] = $individus;
66
    	$donnees['individus'] = $individus;
60
    	$donnees['id_station'] = $_GET['id_station'];
67
    	$donnees['id_station'] = $_GET['id_station'];
61
    	$donnees['id_espece'] = $_GET['id_espece'];
68
    	$donnees['id_espece'] = $_GET['id_espece'];
62
 
69
 
63
        $this->setSortie(self::RENDU_CORPS, $this->getVue('listes/evenement_liste', $donnees));
70
        $this->setSortie(self::RENDU_CORPS, $this->getVue('listes/evenement_liste', $donnees));
64
    }
71
    }
65
    
72
    
66
    public function afficherInformationsIndividu() {
73
    public function afficherInformationsIndividu() {
67
    	
74
    	
68
    	$id_individu = $this->id_individu_en_cours;
75
    	$id_individu = $this->id_individu_en_cours;
69
    	$id_espece = $_GET['id_individu'];
76
    	$id_espece = $_GET['id_individu'];
70
    	
77
    	
71
    	$donnees['infos_individu'] = $this->getInformationsIndividu($id_individu);
78
    	$donnees['infos_individu'] = $this->getInformationsIndividu($id_individu);
72
    	
79
    	
73
		$espece_dao = new EspeceDao();
80
		$espece_dao = new EspeceDao();
74
    	$donnees['infos_espece'] = $espece_dao->getInformationsEspece($id_espece);   
81
    	$donnees['infos_espece'] = $espece_dao->getInformationsEspece($id_espece);   
75
    	$this->setSortie(self::RENDU_CORPS, $this->getVue('fiches/individu_fiche', $donnees));
82
    	$this->setSortie(self::RENDU_CORPS, $this->getVue('fiches/individu_fiche', $donnees));
76
    	
83
    	
77
    }
84
    }
78
   
85
   
79
    // +---------------------------------------------------------------------------------------------------------------+
86
    // +---------------------------------------------------------------------------------------------------------------+
-
 
87
    // METHODES DE VALIDATION DE FORMULAIRE 
-
 
88
	public function validerFormulaireSaisieIndividu() {
-
 
89
    	
-
 
90
    	$valeurs_verifiees = $this->collecterValeursFormulaireSaisieIndividu();
-
 
91
    	
-
 
92
    	$station_dao = new IndividuDao();
-
 
93
    	$station_dao->ajouterIndividu($valeurs_verifiees);
-
 
94
    	
-
 
95
    	$this->afficherListeIndividu($valeurs_verifiees['id_espece']);
-
 
96
    }
-
 
97
    
-
 
98
    private function collecterValeursFormulaireSaisieIndividu() {
-
 
99
    	
-
 
100
    	$valeurs_verifiees['id_station'] = $_POST['station'];
-
 
101
	    $valeurs_verifiees['id_espece'] =  $_POST['espece'];
-
 
102
	    $valeurs_verifiees['individu_nom'] = $_POST['individu_nom'];
-
 
103
	    
-
 
104
	    //TODO: verifier valeurs plus complètement
-
 
105
	    
-
 
106
	    return $valeurs_verifiees;
-
 
107
    	
-
 
108
    }
-
 
109
    
-
 
110
    // +---------------------------------------------------------------------------------------------------------------+
80
    // METHODES POUR FABRIQUER LE MENU    
111
    // METHODES POUR FABRIQUER LE MENU    
81
    public function setNavigation() {
112
    public function setNavigation() {
82
    	
113
    	
83
    	$station = new Station();
114
    	$station = new Station();
84
    	$this->setSortie(self::RENDU_NAVIGATION, $station->construireMenuNavigation());
115
    	$this->setSortie(self::RENDU_NAVIGATION, $station->construireMenuNavigation());
85
    }
116
    }
86
    
117
    
87
    protected function getListeIndividus($id_utilisateur) {
118
    protected function getListeIndividus($id_station, $id_espece) {
88
    	
119
    	
89
    	$individu_dao = new IndividuDao();
120
    	$individu_dao = new IndividuDao();
90
    	return $individu_dao->getListeIndividusPourStation($id_utilisateur);
121
    	return $individu_dao->getListeIndividusPourStationPourEspece($id_station,$id_espece);
91
    	
122
    	
92
    }
123
    }
93
    
124
    
94
    private function getInformationsIndividu($id_individu) {
125
    private function getInformationsIndividu($id_individu) {
95
    	
126
    	
96
    	$individu_dao = new IndividuDao();
127
    	$individu_dao = new IndividuDao();
97
    	$infos_individu = $individu_dao->getInformationsIndividu($id_individu);
128
    	$infos_individu = $individu_dao->getInformationsIndividu($id_individu);
98
    	
129
    	
99
    	return $infos_individu;
130
    	return $infos_individu;
100
    }
131
    }
101
} 
132
}