Subversion Repositories eFlore/Applications.coel-consultation

Rev

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

Rev 117 Rev 120
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 117 2010-06-28 10:27:53Z jpm $
12
 * @version		SVN: $Id: PersonneDao.php 120 2010-06-28 12:38:54Z 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
	const SERVICE_PERSONNE_A_COLLECTION = 'CoelCollectionAPersonne';
18
	const SERVICE_PERSONNE_A_COLLECTION = 'CoelCollectionAPersonne';
-
 
19
	const SERVICE_PERSONNE_A_STRUCTURE = 'CoelStructureAPersonne';
19
 
20
 
20
	/**
21
	/**
21
	 * Retourne l'ensemble des information d'une personne.
22
	 * Retourne l'ensemble des information d'une personne.
22
	 * 
23
	 * 
23
	 * @param integer l'id de la personne.
24
	 * @param integer l'id de la personne.
24
	 * @return array un tableau contenant les informations sur la personne.
25
	 * @return array un tableau contenant les informations sur la personne.
25
	 */
26
	 */
26
	public function getPersonne($id) {
27
	public function getPersonne($id) {
27
		$donnees = array();
28
		$donnees = array();
28
		if (is_numeric($id)) {
29
		if (is_numeric($id)) {
29
			$url = $this->url_jrest.self::SERVICE_PERSONNE."/$id";
30
			$url = $this->url_jrest.self::SERVICE_PERSONNE."/$id";
30
			$json = file_get_contents($url);
31
			$json = file_get_contents($url);
31
			$donnees = json_decode($json, true);
32
			$donnees = json_decode($json, true);
32
			if ($donnees['nbElements'] == 1) {
33
			if ($donnees['nbElements'] == 1) {
33
				$donnees = $donnees['personnes'][0];
34
				$donnees = $donnees['personnes'][0];
34
			}
35
			}
35
		}
36
		}
36
		return $donnees;
37
		return $donnees;
37
	}
38
	}
38
	
39
	
39
	/**
40
	/**
40
	 * Retourne l'ensemble des publications liées à une personne.
41
	 * Retourne l'ensemble des publications liées à une personne.
41
	 * 
42
	 * 
42
	 * @param integer l'id de la personne.
43
	 * @param integer l'id de la personne.
43
	 * @return array un tableau contenant les informations sur les publications liées à la personne.
44
	 * @return array un tableau contenant les informations sur les publications liées à la personne.
44
	 */
45
	 */
45
	public function getPersonneAPublication($id_personne) {
46
	public function getPersonneAPublication($id_personne) {
46
		$url = $this->url_jrest.self::SERVICE_PERSONNE_A_PUBLICATION."/*/$id_personne/2361,2362,2363";
47
		$url = $this->url_jrest.self::SERVICE_PERSONNE_A_PUBLICATION."/*/$id_personne/2361,2362,2363";
47
		$json = file_get_contents($url);
48
		$json = file_get_contents($url);
48
		$donnees = json_decode($json, true);
49
		$donnees = json_decode($json, true);
49
		return $donnees['publicationsAPersonne'];
50
		return $donnees['publicationsAPersonne'];
50
	}
51
	}
51
	
52
	
52
	/**
53
	/**
53
	 * Retourne l'ensemble des collections liées à une personne.
54
	 * Retourne l'ensemble des collections liées à une personne.
54
	 * 
55
	 * 
55
	 * @param integer l'id de la personne.
56
	 * @param integer l'id de la personne.
56
	 * @return array un tableau contenant les informations sur les collections liées à la personne.
57
	 * @return array un tableau contenant les informations sur les collections liées à la personne.
57
	 */
58
	 */
58
	public function getPersonneACollection($id_personne) {
59
	public function getPersonneACollection($id_personne) {
59
		$url = $this->url_jrest.self::SERVICE_PERSONNE_A_COLLECTION."/*/*/$id_personne";
60
		$url = $this->url_jrest.self::SERVICE_PERSONNE_A_COLLECTION."/*/*/$id_personne";
60
		$url .= '?orderby='.urlencode("cc_nom ASC");
61
		$url .= '?orderby='.urlencode("cc_nom ASC");
61
		$json = file_get_contents($url);
62
		$json = file_get_contents($url);
62
		$donnees = json_decode($json, true);
63
		$donnees = json_decode($json, true);
63
		return $donnees['collectionsAPersonne'];
64
		return $donnees['collectionsAPersonne'];
64
	}
65
	}
-
 
66
	
-
 
67
	/**
-
 
68
	 * Retourne l'ensemble des structures liées à une personne.
-
 
69
	 * 
-
 
70
	 * @param integer l'id de la personne.
-
 
71
	 * @return array un tableau contenant les informations sur les structures liées à la personne.
-
 
72
	 */
-
 
73
	public function getPersonneAStructure($id_personne) {
-
 
74
		$url = $this->url_jrest.self::SERVICE_PERSONNE_A_STRUCTURE."/*/*/$id_personne";
-
 
75
		$url .= '?orderby='.urlencode("cs_nom ASC");
-
 
76
		$json = file_get_contents($url);
-
 
77
		$donnees = json_decode($json, true);
-
 
78
		return $donnees['structuresAPersonne'];
-
 
79
	}
65
	
80
	
66
	public function getPersonneNomComplet($id) {
81
	public function getPersonneNomComplet($id) {
67
		$nom_complet = '';
82
		$nom_complet = '';
68
		$donnees = $this->getPersonne($id);
83
		$donnees = $this->getPersonne($id);
69
		if (isset($donnees['nbElements']) && $donnees['nbElements'] >= 1) {
84
		if (isset($donnees['nbElements']) && $donnees['nbElements'] >= 1) {
70
			$nom_complet = $donnees['personnes'][0]['cp_fmt_nom_complet'];
85
			$nom_complet = $donnees['personnes'][0]['cp_fmt_nom_complet'];
71
		} else if (isset($donnees['cp_fmt_nom_complet'])) {
86
		} else if (isset($donnees['cp_fmt_nom_complet'])) {
72
			$nom_complet = $donnees['cp_fmt_nom_complet'];
87
			$nom_complet = $donnees['cp_fmt_nom_complet'];
73
		}
88
		}
74
		return $nom_complet;
89
		return $nom_complet;
75
	}
90
	}
76
	
91
	
77
	public function getPersonneCourriels($id) {
92
	public function getPersonneCourriels($id) {
78
		$courriels = '';
93
		$courriels = '';
79
		$donnees = $this->getPersonne($id);
94
		$donnees = $this->getPersonne($id);
80
		if (isset($donnees['nbElements']) && $donnees['nbElements'] >= 1) {
95
		if (isset($donnees['nbElements']) && $donnees['nbElements'] >= 1) {
81
			$courriels = $donnees['personnes'][0]['cp_truk_courriel'];
96
			$courriels = $donnees['personnes'][0]['cp_truk_courriel'];
82
		} else if (isset($donnees['cp_truk_courriel'])) {
97
		} else if (isset($donnees['cp_truk_courriel'])) {
83
			$courriels = $donnees['cp_truk_courriel'];
98
			$courriels = $donnees['cp_truk_courriel'];
84
		}
99
		}
85
		return $courriels;
100
		return $courriels;
86
	}
101
	}
87
}
102
}
88
?>
103
?>