Subversion Repositories eFlore/Applications.coel-consultation

Rev

Rev 195 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 195 Rev 221
Line 7... Line 7...
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: CollectionDao.php 195 2014-01-22 13:29:20Z aurelien $
12
 * @version	SVN: $Id: CollectionDao.php 221 2014-06-19 08:51:27Z aurelien $
13
 *
13
 *
14
 */
14
 */
15
class CollectionDao extends Dao {
15
class CollectionDao extends Dao {
16
	const SERVICE_COLLECTION = 'CoelCollection';
16
	const SERVICE_COLLECTION = 'CoelCollection';
17
	const SERVICE_COLLECTION_A_PERSONNE = 'CoelCollectionAPersonne';
17
	const SERVICE_COLLECTION_A_PERSONNE = 'CoelCollectionAPersonne';
18
	const SERVICE_COLLECTION_A_PUBLICATION = 'CoelCollectionAPublication';
18
	const SERVICE_COLLECTION_A_PUBLICATION = 'CoelCollectionAPublication';
19
	const SERVICE_COLLECTION_A_COMMENTAIRE = 'CoelCollectionACommentaire';
19
	const SERVICE_COLLECTION_A_COMMENTAIRE = 'CoelCollectionACommentaire';
-
 
20
	const ROLE_EXPERT = '30763';
-
 
21
	const ROLE_CONTRIBUTEUR = '2134';
Line 20... Line 22...
20
	
22
	
21
	/**
23
	/**
22
	 * Retourne l'ensemble des information sur une collection.
24
	 * Retourne l'ensemble des information sur une collection.
23
	 * 
25
	 * 
Line 67... Line 69...
67
		$this->addOrdre('cp_nom');
69
		$this->addOrdre('cp_nom');
68
		$donnees = $this->getCollectionAPersonne($id_collection);
70
		$donnees = $this->getCollectionAPersonne($id_collection);
69
		return $donnees['collectionsAPersonne'];
71
		return $donnees['collectionsAPersonne'];
70
	}
72
	}
Line -... Line 73...
-
 
73
	
-
 
74
	public function getPersonnesLieesExpertes($id_collection) {
-
 
75
		$this->addOrdre('cp_nom');
-
 
76
		$donnees = $this->getCollectionAPersonne($id_collection, self::ROLE_EXPERT);
-
 
77
		return $donnees['collectionsAPersonne'];
-
 
78
	}
-
 
79
	
-
 
80
	public function getPersonnesLieesContributrices($id_collection) {
-
 
81
		$this->addOrdre('cp_nom');
-
 
82
		$donnees = $this->getCollectionAPersonne($id_collection, self::ROLE_CONTRIBUTEUR);
-
 
83
		return $donnees['collectionsAPersonne'];
-
 
84
	}
71
	
85
	
72
	/**
86
	/**
73
	 * Retourne le nombre de personnes liées à une collection.
87
	 * Retourne le nombre de personnes liées à une collection.
74
	 * 
88
	 * 
75
	 * @param integer l'id de la collection.
89
	 * @param integer l'id de la collection.
Line 78... Line 92...
78
	public function getNbrePersonnesLiees($id_collection) {
92
	public function getNbrePersonnesLiees($id_collection) {
79
		$donnees = $this->getCollectionAPersonne($id_collection);
93
		$donnees = $this->getCollectionAPersonne($id_collection);
80
		return $donnees['nbElements'];
94
		return $donnees['nbElements'];
81
	}
95
	}
Line 82... Line 96...
82
	
96
	
83
	private function getCollectionAPersonne($id_collection) {
97
	private function getCollectionAPersonne($id_collection, $role = null) {
-
 
98
		$url = $this->url_jrest.self::SERVICE_COLLECTION_A_PERSONNE."/$id_collection";
84
		$url = $this->url_jrest.self::SERVICE_COLLECTION_A_PERSONNE."/$id_collection";
99
		$url .= ($role != null) ? '/'.$role : '';
85
		$json = $this->envoyerRequeteConsultation($url);
100
		$json = $this->envoyerRequeteConsultation($url);
86
		$donnees = json_decode($json, true);
101
		$donnees = json_decode($json, true);
87
		return $donnees;
102
		return $donnees;
Line 96... Line 111...
96
	public function getPublicationsLiees($id_collection) {
111
	public function getPublicationsLiees($id_collection) {
97
		$donnees = $this->getCollectionAPublication($id_collection);
112
		$donnees = $this->getCollectionAPublication($id_collection);
98
		return $donnees['collectionsAPublication'];
113
		return $donnees['collectionsAPublication'];
99
	}
114
	}
Line -... Line 115...
-
 
115
	
-
 
116
	/**
-
 
117
	 * Retourne l'ensemble des publications liées à une collection.
-
 
118
	 *
-
 
119
	 * @param integer l'id de la collection.
-
 
120
	 * @return array un tableau contenant les informations sur les publications liées à la collection.
-
 
121
	 */
-
 
122
	public function getPublicationsSourcesLiees($id_collection) {
-
 
123
		$donnees = $this->getCollectionAPublication($id_collection, "1");
-
 
124
		return $donnees['collectionsAPublication'];
-
 
125
	}
100
	
126
	
101
	/**
127
	/**
102
	 * Retourne le nombre de publications liées à une collection.
128
	 * Retourne le nombre de publications liées à une collection.
103
	 * 
129
	 * 
104
	 * @param integer l'id de la collection.
130
	 * @param integer l'id de la collection.
Line 107... Line 133...
107
	public function getNbrePublicationsLiees($id_collection) {
133
	public function getNbrePublicationsLiees($id_collection) {
108
		$donnees = $this->getCollectionAPublication($id_collection);
134
		$donnees = $this->getCollectionAPublication($id_collection);
109
		return $donnees['nbElements'];
135
		return $donnees['nbElements'];
110
	}
136
	}
Line 111... Line 137...
111
	
137
	
112
	private function getCollectionAPublication($id_collection) {
138
	private function getCollectionAPublication($id_collection, $source = null) {
-
 
139
		$url = $this->url_jrest.self::SERVICE_COLLECTION_A_PUBLICATION."/$id_collection";
113
		$url = $this->url_jrest.self::SERVICE_COLLECTION_A_PUBLICATION."/$id_collection";
140
		$url .= ($source != null) ? '/'.$source : '';
114
		$json = $this->envoyerRequeteConsultation($url);
141
		$json = $this->envoyerRequeteConsultation($url);
115
		$donnees = json_decode($json, true);
142
		$donnees = json_decode($json, true);
116
		return $donnees;
143
		return $donnees;