Subversion Repositories eFlore/Applications.coel-consultation

Rev

Go to most recent revision | Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
15 jpm 1
<?php
2
// declare(encoding='UTF-8');
3
/**
4
 * Modèle d'accès à la base de données des Collections pour le module Personnes.
5
 *
6
 * @package		Collection
7
 * @category	php 5.2
8
 * @author		Jean-Pascal MILCENT <jpm@tela-botanica.org>
9
 * @copyright	2010 Tela-Botanica
10
 * @license		http://www.cecill.info/licences/Licence_CeCILL_V2-fr.txt Licence CECILL
11
 * @license		http://www.gnu.org/licenses/gpl.html Licence GNU-GPL
12
 * @version		SVN: $Id: PersonneDao.php 93 2010-06-21 14:15:13Z jpm $
13
 *
14
 */
15
class PersonneDao extends ColModele {
19 jpm 16
	const SERVICE_PERSONNE = 'CoelPersonne';
55 jpm 17
	const SERVICE_PERSONNE_A_PUBLICATION = 'CoelPublicationAPersonne';
15 jpm 18
 
19
	/**
20
	 * Retourne l'ensemble des information d'une personne.
21
	 *
22
	 * @param integer l'id de la personne.
23
	 * @return array un tableau contenant les informations sur la personne.
24
	 */
25
	public function getPersonne($id) {
62 jpm 26
		$donnees = array();
27
		if (is_numeric($id)) {
28
			$url = $this->url_jrest.self::SERVICE_PERSONNE."/$id";
29
			$json = file_get_contents($url);
30
			$donnees = json_decode($json, true);
31
			if ($donnees['nbElements'] == 1) {
32
				$donnees = $donnees['personnes'][0];
33
			}
55 jpm 34
		}
15 jpm 35
		return $donnees;
36
	}
37
 
55 jpm 38
	/**
39
	 * Retourne l'ensemble des publications liées à une personne.
40
	 *
41
	 * @param integer l'id de la personne.
42
	 * @return array un tableau contenant les informations sur les publications liées à la personne.
43
	 */
44
	public function getPersonneAPublication($id_personne) {
45
		$url = $this->url_jrest.self::SERVICE_PERSONNE_A_PUBLICATION."/*/$id_personne/2361,2362,2363";
46
		$json = file_get_contents($url);
47
		$donnees = json_decode($json, true);
67 jpm 48
		$this->nettoyerTableauDeTableauxAssoc($donnees['publicationsAPersonne']);
49
		return $donnees['publicationsAPersonne'];
55 jpm 50
	}
51
 
15 jpm 52
	public function getPersonneNomComplet($id) {
55 jpm 53
		$nom_complet = '';
15 jpm 54
		$donnees = $this->getPersonne($id);
55 jpm 55
		if (isset($donnees['nbElements']) && $donnees['nbElements'] >= 1) {
56
			$nom_complet = $donnees['personnes'][0]['cp_fmt_nom_complet'];
57
		} else if (isset($donnees['cp_fmt_nom_complet'])) {
58
			$nom_complet = $donnees['cp_fmt_nom_complet'];
59
		}
15 jpm 60
		return $nom_complet;
61
	}
93 jpm 62
 
63
	public function getPersonneCourriels($id) {
64
		$courriels = '';
65
		$donnees = $this->getPersonne($id);
66
		if (isset($donnees['nbElements']) && $donnees['nbElements'] >= 1) {
67
			$courriels = $donnees['personnes'][0]['cp_truk_courriel'];
68
		} else if (isset($donnees['cp_truk_courriel'])) {
69
			$courriels = $donnees['cp_truk_courriel'];
70
		}
71
		return $courriels;
72
	}
15 jpm 73
}
74
?>