Rev 44 | Rev 83 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed
<?php
// declare(encoding='UTF-8');
/**
* Classe de gestion des epeces.
*
* @package Collection
* @category Php 5.2
* @author Aurélien PERONNET <aurelien@tela-botanica.org>
* @copyright 2010 Tela-Botanica
* @license http://www.cecill.info/licences/Licence_CeCILL_V2-fr.txt Licence CECILL
* @license http://www.gnu.org/licenses/gpl.html Licence GNU-GPL
* @version SVN: $Id: Espece.php 152 2010-09-06 16:19:12Z jpm $
*/
class Espece extends aControleur {
private $id_espece_en_cours = null;
public function __construct() {
parent::__construct();
$this->initialiser();
}
public function initialiser() {
if(isset($_GET['$id_espece'])) {
$this->id_espece_en_cours = $_GET['$id_espece'];
}
$this->setNavigation();
}
private function setNavigation() {
$station = new Station();
$this->setSortie(self::RENDU_NAVIGATION, $station->construireMenuNavigation());
}
public function executerActionParDefaut() {
return $this->afficherFormulaireSaisieIndividu();
}
// +---------------------------------------------------------------------------------------------------------------+
// METHODES D'AFFICHAGE DE FORMULAIRE
public function afficherFormulaireSaisieEspece() {
$donnees = array();
if(!isset($_GET['id_station'])) {
return;
}
$donnees['id_station'] = $_GET['id_station'];
$donnees['types'] = $this->renvoyerListeEspeceParTypeMoinsEspecePresentesDansStation($donnees['id_station']);
$formulaire = $this->getVue('formulaires/espece_saisie',$donnees);
$this->setSortie(self::RENDU_CORPS, $formulaire);
}
public function validerFormulaireSaisieEspece() {
$valeurs_verifiees = $this->collecterValeursFormulaireSaisieEspece();
$individu = new Individu();
$this->setNavigation();
$this->setSortie(self::RENDU_CORPS,$individu->getFormulaireSaisieIndividu($valeurs_verifiees));
}
private function renvoyerListeEspeceParTypeMoinsEspecePresentesDansStation($id_station) {
$espece_dao = new EspeceDao();
$liste_espece_par_type_complete = $espece_dao->getListeEspecesParType();
$liste_plate_especes_dans_station = $espece_dao->getListeEspecesPourStation($id_station);
$liste_especes_pouvant_etre_ajoutees = array();
foreach($liste_espece_par_type_complete as $type => $especes_pour_type) {
foreach($liste_plate_especes_dans_station as $indice => $espece_dans_station) {
$id_espece = $espece_dans_station['id_espece'];
if($this->especeEstPresenteDansTableauIndexeParId($id_espece, $especes_pour_type)) {
unset($liste_plate_especes_dans_station[$indice]);
unset($especes_pour_type['especes'][$id_espece]);
}
}
$liste_especes_pouvant_etre_ajoutees[$type] = $especes_pour_type;
}
return $liste_espece_pouvant_etre_ajoutee;
}
private function especeEstPresenteDansTableauIndexeParId($id_espece, $tableau_espece) {
return isset($tableau_espece['especes'][$id_espece]);
}
// +---------------------------------------------------------------------------------------------------------------+
// METHODES DE VALIDATION DE FORMULAIRE
private function collecterValeursFormulaireSaisieEspece() {
$valeurs_verifiees['id_espece'] = $_POST['id_espece'];
$valeurs_verifiees['id_station'] = $_POST['id_station'];
//TODO: verifier valeurs plus complètement
return $valeurs_verifiees;
}
public function getListeEvenementPourEspece($id_espece) {
$evenementDao = new EvenementDao();
$liste_evenements = $evenementDao->getListeEvenementPourEspece($id_espece);
return $liste_evenements;
}
}
?>