Rev 81 | 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 FORMULAIREpublic 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();return $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_especes_pouvant_etre_ajoutee;}private function especeEstPresenteDansTableauIndexeParId($id_espece, $tableau_espece) {return isset($tableau_espece['especes'][$id_espece]);}// +---------------------------------------------------------------------------------------------------------------+// METHODES DE VALIDATION DE FORMULAIREprivate function collecterValeursFormulaireSaisieEspece() {$valeurs_verifiees['id_espece'] = $_POST['id_espece'];$valeurs_verifiees['id_station'] = $_POST['id_station'];//TODO: verifier valeurs plus complètementreturn $valeurs_verifiees;}public function getListeEvenementPourEspece($id_espece) {$evenementDao = new EvenementDao();$liste_evenements = $evenementDao->getListeEvenementPourEspece($id_espece);return $liste_evenements;}}?>