/trunk/modeles/Ontologie.php |
---|
New file |
0,0 → 1,95 |
<?php |
// declare(encoding='UTF-8'); |
/** |
* Classe contenant les données de l'ontologie des Collections en Ligne. |
* Elle contient un cache de l'ontologie. |
* C'est un Singleton. |
* |
* @package Collection |
* @category php 5.2 |
* @author Jean-Pascal MILCENT <jpm@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$ |
* |
*/ |
class Ontologie { |
public static $ontologie_liste = array(); |
public static $ontologie_valeur = array(); |
public static function chargerListe($id_liste) { |
$retour = false; |
if (!isset(self::$ontologie_liste[$id_liste])) { |
$metadonnees = new MetadonneeDao(); |
$donnees = $metadonnees->getOntologie($id_liste); |
$traitementValeursOk = self::traiterValeurs($donnees['valeurs']); |
if ($traitementValeursOk) { |
self::$ontologie_liste[$id_liste] = $donnees['valeurs']; |
$retour = true; |
} |
} |
return $retour; |
} |
public static function getListe($id_liste) { |
$retour = false; |
$chargementOk = self::chargerListe($id_liste); |
if ($chargementOk) { |
$retour = self::$ontologie_liste[$id_liste]; |
} |
return $retour; |
} |
public static function chargerValeur($id_valeur) { |
$retour = true; |
if (!isset(self::$ontologie_valeur[$id_valeur])) { |
$metadonnees = new MetadonneeDao(); |
$donnees = $metadonnees->getOntologieValeur($id_valeur); |
$retour = self::traiterValeurs($donnees['valeurs']); |
} |
return $retour; |
} |
public static function getValeur($id_valeur) { |
$retour = false; |
$chargementOk = self::chargerValeur($id_valeur); |
if ($chargementOk) { |
$retour = self::$ontologie_valeur[$id_valeur]; |
} |
return $retour; |
} |
public static function getValeurNom($id_valeur) { |
$retour = false; |
$valeur = self::getValeur($id_valeur); |
if ($valeur !== false) { |
$retour = $valeur['nom']; |
} |
return $retour; |
} |
private static function traiterValeurs($valeurs) { |
$retour = true; |
if (is_null($valeurs)) { |
$retour = false; |
} else { |
if (count($valeurs) == 0) { |
$retour = false; |
} else { |
foreach ($valeurs as $valeur) { |
self::$ontologie_valeur[$valeur['cmlv_id_valeur']] = array( |
'parent' => $valeur['cmlv_id_valeur'], |
'projet' => $valeur['cmlv_ce_projet'], |
'nom' => $valeur['cmlv_nom'], |
'abreviation' => $valeur['cmlv_abreviation'], |
'description' => $valeur['cmlv_description'], |
'meta' => $valeur['cmlv_ce_meta'] |
); |
} |
} |
} |
return $retour; |
} |
} |
?> |
/trunk/modeles/MetadonneeDao.php |
---|
New file |
0,0 → 1,41 |
<?php |
// declare(encoding='UTF-8'); |
/** |
* Modèle d'accès à la base de données des Collections pour le module Métadonnées. |
* |
* @package Collection |
* @category php 5.2 |
* @author Jean-Pascal MILCENT <jpm@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$ |
* |
*/ |
class MetadonneeDao extends ColModele { |
/** |
* Retourne l'ensemble des information d'une liste de valeurs. |
* |
* @param integer l'id de la liste. |
* @return array un tableau contenant les valeurs de la liste. |
*/ |
public function getOntologie($id) { |
$json = file_get_contents("http://www.tela-botanica.org/eflore/coel/jrest/CoelValeurListe/id/$id?limit=500"); |
$donnees = json_decode($json, true); |
return $donnees; |
} |
/** |
* Retourne l'ensemble des information d'une liste de valeurs. |
* |
* @param integer l'id d'une valeur ou un ensemble d'id de valeurs séparés par des virgules. |
* @return array un tableau contenant les valeurs. |
*/ |
public function getOntologieValeur($id_valeurs) { |
$json = file_get_contents("http://www.tela-botanica.org/eflore/coel/jrest/CoelValeurListe/idv/$id_valeurs"); |
$donnees = json_decode($json, true); |
return $donnees; |
} |
} |
?> |
/trunk/modeles/StructureDao.php |
---|
New file |
0,0 → 1,30 |
<?php |
// declare(encoding='UTF-8'); |
/** |
* Modèle d'accès à la base de données des Collections pour le module Structure. |
* |
* @package Collection |
* @category php 5.2 |
* @author Jean-Pascal MILCENT <jpm@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$ |
* |
*/ |
class StructureDao extends ColModele { |
/** |
* Retourne l'ensemble des information sur une structure. |
* |
* @param integer l'id de la structure. |
* @return array un tableau contenant les informations sur la structure. |
*/ |
public function getStructure($id) { |
$json = file_get_contents("http://www.tela-botanica.org/eflore/coel/jrest/CoelStructure/*/$id/*"); |
$donnees = json_decode($json, true); |
//Debug::printr($json); |
return $donnees[1]; |
} |
} |
?> |
/trunk/modeles/PersonneDao.php |
---|
New file |
0,0 → 1,35 |
<?php |
// declare(encoding='UTF-8'); |
/** |
* Modèle d'accès à la base de données des Collections pour le module Personnes. |
* |
* @package Collection |
* @category php 5.2 |
* @author Jean-Pascal MILCENT <jpm@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$ |
* |
*/ |
class PersonneDao extends ColModele { |
/** |
* Retourne l'ensemble des information d'une personne. |
* |
* @param integer l'id de la personne. |
* @return array un tableau contenant les informations sur la personne. |
*/ |
public function getPersonne($id) { |
$json = file_get_contents("http://www.tela-botanica.org/eflore/coel/jrest/CoelPersonne/$id"); |
$donnees = json_decode($json, true); |
return $donnees; |
} |
public function getPersonneNomComplet($id) { |
$donnees = $this->getPersonne($id); |
$nom_complet = $donnees[1][0]['cp_fmt_nom_complet']; |
return $nom_complet; |
} |
} |
?> |