Subversion Repositories Sites.obs-saisons.fr

Rev

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

Rev 44 Rev 72
1
<?php
1
<?php
2
// declare(encoding='UTF-8');
2
// declare(encoding='UTF-8');
3
/**
3
/**
4
 * Classe de gestion des epeces.
4
 * Classe de gestion des epeces.
5
 *
5
 *
6
 * @package     Collection
6
 * @package     Collection
7
 * @category    Php 5.2
7
 * @category    Php 5.2
8
 * @author      Aurélien PERONNET <aurelien@tela-botanica.org>
8
 * @author      Aurélien PERONNET <aurelien@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: Espece.php 152 2010-09-06 16:19:12Z jpm $
12
 * @version     SVN: $Id: Espece.php 152 2010-09-06 16:19:12Z jpm $
13
 */
13
 */
14
class Espece extends aControleur {
14
class Espece extends aControleur {
15
   
15
   
16
	private $id_espece_en_cours = null;
16
	private $id_espece_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_espece'])) {
-
 
27
    		$this->id_espece_en_cours = $_GET['$id_espece'];
26
    	$this->id_espece_en_cours = $_GET['$id_espece'];
28
    	}
27
    	$this->setNavigation();
29
    	$this->setNavigation();
28
    }
30
    }
29
    
31
    
30
    private function setNavigation() {   	
32
    private function setNavigation() {   	
31
		$station = new Station();
33
		$station = new Station();
32
    	$this->setSortie(self::RENDU_NAVIGATION, $station->construireMenuNavigation());
34
    	$this->setSortie(self::RENDU_NAVIGATION, $station->construireMenuNavigation());
33
    }
35
    }
34
    
36
    
35
    public function executerActionParDefaut() {
37
    public function executerActionParDefaut() {
36
    	return $this->afficherFormulaireSaisieIndividu();
38
    	return $this->afficherFormulaireSaisieIndividu();
37
    }
39
    }
38
    
40
    
39
   	// +---------------------------------------------------------------------------------------------------------------+
41
   	// +---------------------------------------------------------------------------------------------------------------+
40
    // METHODES D'AFFICHAGE DE FORMULAIRE 
42
    // METHODES D'AFFICHAGE DE FORMULAIRE 
41
    public function afficherFormulaireSaisieEspece() {
43
    public function afficherFormulaireSaisieEspece() {
42
    	
44
    	
43
    	$donnees = array();
45
    	$donnees = array();
44
    	
46
    	
45
    	if(!isset($_GET['id_station'])) {
47
    	if(!isset($_GET['id_station'])) {
46
    		return;
48
    		return;
47
    	}
49
    	}
48
    	
50
    	
49
    	$donnees['id_station'] = $_GET['id_station'];
51
    	$donnees['id_station'] = $_GET['id_station'];
50
    	
52
    	    	
51
    	$espece_dao = new EspeceDao();
-
 
52
    	$donnees['types'] = $espece_dao->getListeEspecesParType();
53
		$donnees['types'] = $this->renvoyerListeEspeceParTypeMoinsEspecePresentesDansStation($donnees['id_station']);
53
    	
54
    	
54
    	$formulaire = $this->getVue('formulaires/espece_saisie',$donnees);
55
    	$formulaire = $this->getVue('formulaires/espece_saisie',$donnees);
55
    	$this->setSortie(self::RENDU_CORPS, $formulaire);   
56
    	$this->setSortie(self::RENDU_CORPS, $formulaire);   
56
    }
57
    }
57
    
58
    
58
    public function validerFormulaireSaisieEspece() {
59
    public function validerFormulaireSaisieEspece() {
59
    	
60
    	
60
    	$valeurs_verifiees = $this->collecterValeursFormulaireSaisieEspece();
61
    	$valeurs_verifiees = $this->collecterValeursFormulaireSaisieEspece();
61
 
62
 
62
    	$individu = new Individu();
63
    	$individu = new Individu();
63
    	$this->setNavigation();
64
    	$this->setNavigation();
64
    	$this->setSortie(self::RENDU_CORPS,$individu->getFormulaireSaisieIndividu($valeurs_verifiees));
65
    	$this->setSortie(self::RENDU_CORPS,$individu->getFormulaireSaisieIndividu($valeurs_verifiees));
65
    
66
    
66
    }
67
    }
-
 
68
    
-
 
69
    private function renvoyerListeEspeceParTypeMoinsEspecePresentesDansStation($id_station) {
-
 
70
    	
-
 
71
    	$espece_dao = new EspeceDao();
-
 
72
    	
-
 
73
    	$liste_espece_par_type_complete = $espece_dao->getListeEspecesParType();
-
 
74
    	$liste_plate_especes_dans_station = $espece_dao->getListeEspecesPourStation($id_station);
-
 
75
    	
-
 
76
    	$liste_especes_pouvant_etre_ajoutees = array();
-
 
77
    	
-
 
78
    	foreach($liste_espece_par_type_complete as $type => $especes_pour_type) {
-
 
79
    		    		
-
 
80
    		foreach($liste_plate_especes_dans_station as $indice => $espece_dans_station) {
-
 
81
    			
-
 
82
    			$id_espece = $espece_dans_station['id_espece'];
-
 
83
    			
-
 
84
    			if($this->especeEstPresenteDansTableauIndexeParId($id_espece, $especes_pour_type)) {
-
 
85
    				    				
-
 
86
    				unset($liste_plate_especes_dans_station[$indice]);
-
 
87
    				unset($especes_pour_type['especes'][$id_espece]);
-
 
88
    			}
-
 
89
    		}
-
 
90
    		
-
 
91
    		$liste_especes_pouvant_etre_ajoutees[$type] = $especes_pour_type;
-
 
92
    	}
-
 
93
    	
-
 
94
    	return $liste_espece_pouvant_etre_ajoutee;
-
 
95
		
-
 
96
    }
-
 
97
    
-
 
98
    private function especeEstPresenteDansTableauIndexeParId($id_espece, $tableau_espece) {
-
 
99
    	return isset($tableau_espece['especes'][$id_espece]);
-
 
100
    }
67
    
101
    
68
    // +---------------------------------------------------------------------------------------------------------------+
102
    // +---------------------------------------------------------------------------------------------------------------+
69
    // METHODES DE VALIDATION DE FORMULAIRE 
103
    // METHODES DE VALIDATION DE FORMULAIRE 
70
    private function collecterValeursFormulaireSaisieEspece() {
104
    private function collecterValeursFormulaireSaisieEspece() {
71
    	
105
    	
72
    	$valeurs_verifiees['id_espece'] = $_POST['id_espece'];
106
    	$valeurs_verifiees['id_espece'] = $_POST['id_espece'];
73
	    $valeurs_verifiees['id_station'] =  $_POST['id_station'];
107
	    $valeurs_verifiees['id_station'] =  $_POST['id_station'];
74
	    //TODO: verifier valeurs plus complètement
108
	    //TODO: verifier valeurs plus complètement
75
	    
109
	    
76
	    return $valeurs_verifiees;
110
	    return $valeurs_verifiees;
77
    	
111
    	
78
    }
112
    }
79
    
113
    
80
    public function getListeEvenementPourEspece($id_espece) {
114
    public function getListeEvenementPourEspece($id_espece) {
81
    	
115
    	
82
    	$evenementDao = new EvenementDao();
116
    	$evenementDao = new EvenementDao();
83
    	$liste_evenements = $evenementDao->getListeEvenementPourEspece($id_espece);
117
    	$liste_evenements = $evenementDao->getListeEvenementPourEspece($id_espece);
84
    	
118
    	
85
    	return $liste_evenements;
119
    	return $liste_evenements;
86
    }
120
    }
87
} 
-
 
88
121
}
-
 
122
?>
-
 
123
89
124