Subversion Repositories eFlore/Applications.coel-consultation

Rev

Rev 55 | Go to most recent revision | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

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