| 17 | jpm | 1 | <?php
 | 
        
           |  |  | 2 | // declare(encoding='UTF-8');
 | 
        
           |  |  | 3 | /**
 | 
        
           | 144 | jpm | 4 |  * DAO des Collections pour le module Collections.
 | 
        
           | 17 | jpm | 5 |  *
 | 
        
           | 144 | jpm | 6 |  * @package	Collection
 | 
        
           | 17 | jpm | 7 |  * @category	php 5.2
 | 
        
           |  |  | 8 |  * @author		Jean-Pascal MILCENT <jpm@tela-botanica.org>
 | 
        
           |  |  | 9 |  * @copyright	2010 Tela-Botanica
 | 
        
           | 144 | jpm | 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: CollectionDao.php 151 2010-09-06 16:03:09Z jpm $
 | 
        
           | 17 | jpm | 13 |  *
 | 
        
           |  |  | 14 |  */
 | 
        
           | 144 | jpm | 15 | class CollectionDao extends Dao {
 | 
        
           | 19 | jpm | 16 | 	const SERVICE_COLLECTION = 'CoelCollection';
 | 
        
           |  |  | 17 | 	const SERVICE_COLLECTION_A_PERSONNE = 'CoelCollectionAPersonne';
 | 
        
           |  |  | 18 | 	const SERVICE_COLLECTION_A_PUBLICATION = 'CoelCollectionAPublication';
 | 
        
           |  |  | 19 | 	const SERVICE_COLLECTION_A_COMMENTAIRE = 'CoelCollectionACommentaire';
 | 
        
           | 20 | jpm | 20 |   | 
        
           | 17 | jpm | 21 | 	/**
 | 
        
           |  |  | 22 | 	 * Retourne l'ensemble des information sur une collection.
 | 
        
           |  |  | 23 | 	 *
 | 
        
           |  |  | 24 | 	 * @param integer l'id de la collection.
 | 
        
           |  |  | 25 | 	 * @return array un tableau contenant les informations sur la collection.
 | 
        
           |  |  | 26 | 	 */
 | 
        
           |  |  | 27 | 	public function getCollection($id) {
 | 
        
           | 144 | jpm | 28 | 		$url = $this->url_jrest.self::SERVICE_COLLECTION."/*/$id/*";
 | 
        
           |  |  | 29 | 		$json = $this->envoyerRequeteConsultation($url);
 | 
        
           | 17 | jpm | 30 | 		$donnees = json_decode($json, true);
 | 
        
           | 34 | jpm | 31 | 		return $donnees['collections'];
 | 
        
           | 17 | jpm | 32 | 	}
 | 
        
           |  |  | 33 |   | 
        
           |  |  | 34 | 	/**
 | 
        
           | 150 | jpm | 35 | 	 * Retourne le nombre de collections correspondant à un id strucutre précis.
 | 
        
           |  |  | 36 | 	 *
 | 
        
           |  |  | 37 | 	 * @param integer l'id d'une structure.
 | 
        
           |  |  | 38 | 	 * @return array un tableau contenant les collections correspondant à l'id structure.
 | 
        
           |  |  | 39 | 	 */
 | 
        
           |  |  | 40 | 	public function getNbreParIdStructure($id_structure) {
 | 
        
           |  |  | 41 | 		$url = $this->url_jrest.self::SERVICE_COLLECTION."/NbreParIdStructure/$id_structure";
 | 
        
           |  |  | 42 | 		$json = $this->envoyerRequeteConsultation($url);
 | 
        
           |  |  | 43 | 		$donnees = json_decode($json, true);
 | 
        
           |  |  | 44 | 		return $donnees;
 | 
        
           |  |  | 45 | 	}
 | 
        
           |  |  | 46 |   | 
        
           |  |  | 47 | 	/**
 | 
        
           | 18 | jpm | 48 | 	 * Retourne les collection correspondant à un id strucutre précis.
 | 
        
           |  |  | 49 | 	 *
 | 
        
           |  |  | 50 | 	 * @param integer l'id d'une structure.
 | 
        
           |  |  | 51 | 	 * @return array un tableau contenant les collections correspondant à l'id structure.
 | 
        
           |  |  | 52 | 	 */
 | 
        
           |  |  | 53 | 	public function getParIdStructure($id_structure) {
 | 
        
           | 19 | jpm | 54 | 		$url = $this->url_jrest.self::SERVICE_COLLECTION."/ParIdStructure/$id_structure";
 | 
        
           | 144 | jpm | 55 | 		$json = $this->envoyerRequeteConsultation($url);
 | 
        
           | 18 | jpm | 56 | 		$donnees = json_decode($json, true);
 | 
        
           |  |  | 57 | 		return $donnees;
 | 
        
           |  |  | 58 | 	}
 | 
        
           |  |  | 59 |   | 
        
           |  |  | 60 | 	/**
 | 
        
           | 17 | jpm | 61 | 	 * Retourne l'ensemble des personnes liées à une collection.
 | 
        
           |  |  | 62 | 	 *
 | 
        
           |  |  | 63 | 	 * @param integer l'id de la collection.
 | 
        
           |  |  | 64 | 	 * @return array un tableau contenant les informations sur les personnes liées à la collection.
 | 
        
           |  |  | 65 | 	 */
 | 
        
           | 144 | jpm | 66 | 	public function getPersonnesLiees($id_collection) {
 | 
        
           |  |  | 67 | 		$this->addOrdre('cp_nom');
 | 
        
           |  |  | 68 | 		$donnees = $this->getCollectionAPersonne($id_collection);
 | 
        
           |  |  | 69 | 		return $donnees['collectionsAPersonne'];
 | 
        
           |  |  | 70 | 	}
 | 
        
           |  |  | 71 |   | 
        
           |  |  | 72 | 	/**
 | 
        
           |  |  | 73 | 	 * Retourne le nombre de personnes liées à une collection.
 | 
        
           |  |  | 74 | 	 *
 | 
        
           |  |  | 75 | 	 * @param integer l'id de la collection.
 | 
        
           |  |  | 76 | 	 * @return integer le nombre de personnes liées à la collection.
 | 
        
           |  |  | 77 | 	 */
 | 
        
           |  |  | 78 | 	public function getNbrePersonnesLiees($id_collection) {
 | 
        
           |  |  | 79 | 		$donnees = $this->getCollectionAPersonne($id_collection);
 | 
        
           |  |  | 80 | 		return $donnees['nbElements'];
 | 
        
           |  |  | 81 | 	}
 | 
        
           |  |  | 82 |   | 
        
           |  |  | 83 | 	private function getCollectionAPersonne($id_collection) {
 | 
        
           | 19 | jpm | 84 | 		$url = $this->url_jrest.self::SERVICE_COLLECTION_A_PERSONNE."/$id_collection";
 | 
        
           | 144 | jpm | 85 | 		$json = $this->envoyerRequeteConsultation($url);
 | 
        
           | 17 | jpm | 86 | 		$donnees = json_decode($json, true);
 | 
        
           | 144 | jpm | 87 | 		return $donnees;
 | 
        
           | 17 | jpm | 88 | 	}
 | 
        
           |  |  | 89 |   | 
        
           |  |  | 90 | 	/**
 | 
        
           |  |  | 91 | 	 * Retourne l'ensemble des publications liées à une collection.
 | 
        
           |  |  | 92 | 	 *
 | 
        
           |  |  | 93 | 	 * @param integer l'id de la collection.
 | 
        
           |  |  | 94 | 	 * @return array un tableau contenant les informations sur les publications liées à la collection.
 | 
        
           |  |  | 95 | 	 */
 | 
        
           | 144 | jpm | 96 | 	public function getPublicationsLiees($id_collection) {
 | 
        
           | 151 | jpm | 97 | 		$donnees = $this->getCollectionAPublication($id_collection);
 | 
        
           |  |  | 98 | 		return $donnees['collectionsAPublication'];
 | 
        
           |  |  | 99 | 	}
 | 
        
           |  |  | 100 |   | 
        
           |  |  | 101 | 	/**
 | 
        
           |  |  | 102 | 	 * Retourne le nombre de publications liées à une collection.
 | 
        
           |  |  | 103 | 	 *
 | 
        
           |  |  | 104 | 	 * @param integer l'id de la collection.
 | 
        
           |  |  | 105 | 	 * @return integer le nombre de publications liées à la collection.
 | 
        
           |  |  | 106 | 	 */
 | 
        
           |  |  | 107 | 	public function getNbrePublicationsLiees($id_collection) {
 | 
        
           |  |  | 108 | 		$donnees = $this->getCollectionAPublication($id_collection);
 | 
        
           |  |  | 109 | 		return $donnees['nbElements'];
 | 
        
           |  |  | 110 | 	}
 | 
        
           |  |  | 111 |   | 
        
           |  |  | 112 | 	private function getCollectionAPublication($id_collection) {
 | 
        
           | 19 | jpm | 113 | 		$url = $this->url_jrest.self::SERVICE_COLLECTION_A_PUBLICATION."/$id_collection";
 | 
        
           | 144 | jpm | 114 | 		$json = $this->envoyerRequeteConsultation($url);
 | 
        
           | 17 | jpm | 115 | 		$donnees = json_decode($json, true);
 | 
        
           | 151 | jpm | 116 | 		return $donnees;
 | 
        
           | 17 | jpm | 117 | 	}
 | 
        
           | 19 | jpm | 118 |   | 
        
           |  |  | 119 | 	/**
 | 
        
           |  |  | 120 | 	 * Retourne l'ensemble des commentaires publics liés à une collection.
 | 
        
           |  |  | 121 | 	 *
 | 
        
           |  |  | 122 | 	 * @param integer l'id de la collection.
 | 
        
           |  |  | 123 | 	 * @return array un tableau contenant les informations sur les publications liées à la collection.
 | 
        
           |  |  | 124 | 	 */
 | 
        
           | 144 | jpm | 125 | 	public function getCommentairesLies($id_collection) {
 | 
        
           | 151 | jpm | 126 | 		$donnees = $this->getCollectionACommentaire($id_collection);
 | 
        
           |  |  | 127 | 		return $donnees['collectionsACommentaire'];
 | 
        
           |  |  | 128 | 	}
 | 
        
           |  |  | 129 |   | 
        
           |  |  | 130 | 	/**
 | 
        
           |  |  | 131 | 	 * Retourne le nombre de commentaires publics liés à une collection.
 | 
        
           |  |  | 132 | 	 *
 | 
        
           |  |  | 133 | 	 * @param integer l'id de la collection.
 | 
        
           |  |  | 134 | 	 * @return integer le nombre de commentaires publics liés à la collection.
 | 
        
           |  |  | 135 | 	 */
 | 
        
           |  |  | 136 | 	public function getNbreCommentairesLies($id_collection) {
 | 
        
           |  |  | 137 | 		$donnees = $this->getCollectionACommentaire($id_collection);
 | 
        
           |  |  | 138 | 		return $donnees['nbElements'];
 | 
        
           |  |  | 139 | 	}
 | 
        
           |  |  | 140 |   | 
        
           |  |  | 141 | 	private function getCollectionACommentaire($id_collection) {
 | 
        
           | 19 | jpm | 142 | 		$commentaire_public = '1';
 | 
        
           |  |  | 143 | 		$url = $this->url_jrest.self::SERVICE_COLLECTION_A_COMMENTAIRE."/$id_collection/$commentaire_public";
 | 
        
           | 144 | jpm | 144 | 		$json = $this->envoyerRequeteConsultation($url);
 | 
        
           | 19 | jpm | 145 | 		$donnees = json_decode($json, true);
 | 
        
           | 151 | jpm | 146 | 		return $donnees;
 | 
        
           | 19 | jpm | 147 | 	}
 | 
        
           | 17 | jpm | 148 | }
 | 
        
           |  |  | 149 | ?>
 |