Subversion Repositories eFlore/Applications.coel

Rev

Rev 1538 | Blame | Compare with Previous | Last modification | View Log | RSS feed

<?php
class Ontologie {
        
        private $ontologie = null;
        
        /**
         * Le contructeur transforme la sortie d'une requête sur la table coel_meta_liste_valeur en tableau Ontologie au format :
         * $ontologie[id_valeur] = array(
         *      'nom' => 'nom de la valeur',
         *      'abr' => 'abréviation de la valeur,
         *      'dsc' => 'description de la vaeur');
         * @param $ontologie tableau listant les valeurs de l'ontologie.
         */
        public function __construct(Array $metadonnees) {
                $ontologie = array(0 => array('nom' => 'Non renseigné', 'abr' => 'NR'));
                foreach ($metadonnees as $meta) {
                        $id = $meta['cmlv_id_valeur'];
                        $nom = isset($meta['cmlv_nom']) ? $meta['cmlv_nom'] : null;
                        $abr = isset($meta['cmlv_abreviation']) ? $meta['cmlv_abreviation'] : null;
                        $dsc = isset($meta['cmlv_description']) ? $meta['cmlv_description'] : null;
                        
                        $ontologie[$id] = array('nom' => $nom, 'abr' => $abr, 'dsc' => $dsc);
                }
                $this->ontologie = $ontologie;
        }

        /**
         * Retourne le nom de la valeur de l'ontologie correspondant à l'id.
         * 
         * @param int $id l'identifiant de la valeur de l'ontologie.     
         * @return string le nom de la valeur.
         */
        public function getNom($id) {
                $nom = null;
                if (isset($this->ontologie[$id])) {
                        $nom = $this->ontologie[$id]['nom'];
                }
                return $nom;
        }
        
        /**
         * Retourne l'abréviation de la valeur de l'ontologie correspondant à l'id.
         * 
         * @param int $id l'identifiant de la valeur de l'ontologie.     
         * @return string l'abreviation de la valeur.
         */
        public function getAbreviation($id) {
                $abr = null;
                if (isset($this->ontologie[$id])) {
                        $abr = $this->ontologie[$id]['abr'];
                }
                return $abr;
        }

        /**
         * Le tableau de retour Ontologie est au format :
         * $ontologie[id_valeur] = array(
         *      'nom' => 'nom de la valeur',
         *      'abr' => 'abréviation de la valeur);
         * 
         * @param int $id l'identifiant de la valeur de l'ontologie.     
         * @return $ontologie tableau listant les valeurs de l'ontologie.
         */
        public function getTableauValeur($id) {
                $valeur = null;
                if (isset($this->ontologie[$id])) {
                        $valeur = $this->ontologie[$id];
                }
                return $valeur;
        }
}