Subversion Repositories eFlore/Applications.coel-consultation

Rev

Rev 120 | Rev 154 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 120 Rev 152
Line 1... Line 1...
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 120 2010-06-28 12:38:54Z jpm $
12
 * @version	SVN: $Id: PersonneDao.php 152 2010-09-06 16:19:12Z jpm $
13
 *
13
 *
14
 */
14
 */
15
class PersonneDao extends ColModele {
15
class PersonneDao extends Dao {
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
	const SERVICE_PERSONNE_A_STRUCTURE = 'CoelStructureAPersonne';
Line 26... Line 26...
26
	 */
26
	 */
27
	public function getPersonne($id) {
27
	public function getPersonne($id) {
28
		$donnees = array();
28
		$donnees = array();
29
		if (is_numeric($id)) {
29
		if (is_numeric($id)) {
30
			$url = $this->url_jrest.self::SERVICE_PERSONNE."/$id";
30
			$url = $this->url_jrest.self::SERVICE_PERSONNE."/$id";
31
			$json = file_get_contents($url);
31
			$json = $this->envoyerRequeteConsultation($url);
32
			$donnees = json_decode($json, true);
32
			$donnees = json_decode($json, true);
33
			if ($donnees['nbElements'] == 1) {
33
			if ($donnees['nbElements'] == 1) {
34
				$donnees = $donnees['personnes'][0];
34
				$donnees = $donnees['personnes'][0];
35
			}
35
			}
36
		}
36
		}
Line 41... Line 41...
41
	 * Retourne l'ensemble des publications liées à une personne.
41
	 * Retourne l'ensemble des publications liées à une personne.
42
	 * 
42
	 * 
43
	 * @param integer l'id de la personne.
43
	 * @param integer l'id de la personne.
44
	 * @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.
45
	 */
45
	 */
-
 
46
	public function getPublicationsLiees($id_personne) {
-
 
47
		$donnees = $this->getPersonneAPublication($id_personne);
-
 
48
		return $donnees['publicationsAPersonne'];
-
 
49
	}
-
 
50
	
-
 
51
	/**
-
 
52
	 * Retourne le nombre des publications liées à une personne.
-
 
53
	 * 
-
 
54
	 * @param integer l'id de la personne.
-
 
55
	 * @return integer le nombre de publications liées à la personne.
-
 
56
	 */
-
 
57
	public function getNbrePublicationsLiees($id_personne) {
-
 
58
		$donnees = $this->getPersonneAPublication($id_personne);
-
 
59
		return $donnees['nbElements'];
-
 
60
	}
-
 
61
	
46
	public function getPersonneAPublication($id_personne) {
62
	private function getPersonneAPublication($id_personne) {
47
		$url = $this->url_jrest.self::SERVICE_PERSONNE_A_PUBLICATION."/*/$id_personne/2361,2362,2363";
63
		$url = $this->url_jrest.self::SERVICE_PERSONNE_A_PUBLICATION."/*/$id_personne/2361,2362,2363";
48
		$json = file_get_contents($url);
64
		$json = $this->envoyerRequeteConsultation($url);
49
		$donnees = json_decode($json, true);
65
		$donnees = json_decode($json, true);
50
		return $donnees['publicationsAPersonne'];
66
		return $donnees;
51
	}
67
	}
Line 52... Line 68...
52
	
68
	
53
	/**
69
	/**
54
	 * Retourne l'ensemble des collections liées à une personne.
70
	 * Retourne l'ensemble des collections liées à une personne.
55
	 * 
71
	 * 
56
	 * @param integer l'id de la personne.
72
	 * @param integer l'id de la personne.
57
	 * @return array un tableau contenant les informations sur les collections liées à la personne.
73
	 * @return array un tableau contenant les informations sur les collections liées à la personne.
58
	 */
74
	 */
59
	public function getPersonneACollection($id_personne) {
75
	public function getPersonneACollection($id_personne) {
60
		$url = $this->url_jrest.self::SERVICE_PERSONNE_A_COLLECTION."/*/*/$id_personne";
76
		$url = $this->url_jrest.self::SERVICE_PERSONNE_A_COLLECTION."/*/*/$id_personne";
61
		$url .= '?orderby='.urlencode("cc_nom ASC");
77
		$this->addOrdre('cc_nom', self::ORDRE_ASCENDANT);
62
		$json = file_get_contents($url);
78
		$json = $this->envoyerRequeteConsultation($url);
63
		$donnees = json_decode($json, true);
79
		$donnees = json_decode($json, true);
64
		return $donnees['collectionsAPersonne'];
80
		return $donnees['collectionsAPersonne'];
Line 65... Line 81...
65
	}
81
	}
Line 70... Line 86...
70
	 * @param integer l'id de la personne.
86
	 * @param integer l'id de la personne.
71
	 * @return array un tableau contenant les informations sur les structures liées à la personne.
87
	 * @return array un tableau contenant les informations sur les structures liées à la personne.
72
	 */
88
	 */
73
	public function getPersonneAStructure($id_personne) {
89
	public function getPersonneAStructure($id_personne) {
74
		$url = $this->url_jrest.self::SERVICE_PERSONNE_A_STRUCTURE."/*/*/$id_personne";
90
		$url = $this->url_jrest.self::SERVICE_PERSONNE_A_STRUCTURE."/*/*/$id_personne";
75
		$url .= '?orderby='.urlencode("cs_nom ASC");
91
		$this->addOrdre('cs_nom', self::ORDRE_ASCENDANT);
76
		$json = file_get_contents($url);
92
		$json = $this->envoyerRequeteConsultation($url);
77
		$donnees = json_decode($json, true);
93
		$donnees = json_decode($json, true);
78
		return $donnees['structuresAPersonne'];
94
		return $donnees['structuresAPersonne'];
79
	}
95
	}
Line 80... Line 96...
80
	
96