* @license GPL v3 * @license CECILL v2 * @version 1.0 * @copyright 1999-2011 Tela Botanica (accueil@tela-botanica.org) */ class Categorie extends Commun { protected $parametres = array(); protected $ressources = array(); private $bdd; public function __construct($config = null) { $this->config = $config; $this->bdd = $this->getBdd(); } public function consulter($ressources, $parametres) { $this->parametres = $parametres; $this->ressources = $ressources; $this->verifierParametres(); $resultat = new ResultatService(); $resultat->corps = $this->obtenirCategorieListeRouge(); return $resultat; } private function verifierParametres() { $erreurs = array(); if (empty($this->parametres['masque.nn'])) { $erreurs[] = 'renseignez une valeur pour masque.nn'; } if(!is_numeric($this->parametres['masque.nn'])) { $erreurs[] = 'la valeur pour masque.nn doit être un entier'; } if (count($erreurs) > 0) { $message = implode('
', $erreurs); $code = RestServeur::HTTP_CODE_MAUVAISE_REQUETE; throw new Exception($message, $code); } } public function obtenirCategorieListeRouge() { $nn = $this->parametres['masque.nn']; $nns = $this->obtenirNumNomTaxonsSuperieurs(Config::get('referentiel'), $nn); $nns[] = $nn; $nns = array_map(array($this->bdd, 'proteger') ,$nns); $requete = "SELECT * FROM ".Config::get('bdd_table_liste_rouge').' '. "WHERE num_nom_retenu IN (".implode(',',$nns).") "; return $this->bdd->recupererTous($requete); } }