Subversion Repositories eFlore/Applications.coel-consultation

Rev

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

Rev 118 Rev 150
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 Structure.
4
 * Modèle d'accès à la base de données des Collections pour le module Structure.
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: StructureDao.php 118 2010-06-28 10:40:13Z jpm $
12
 * @version	SVN: $Id: StructureDao.php 150 2010-09-06 15:24:03Z jpm $
13
 *
13
 *
14
 */
14
 */
15
class StructureDao extends ColModele {
15
class StructureDao extends Dao {
16
	const ROLE_EQUIPE = 2027;
16
	const ROLE_EQUIPE = 2027;
17
	const SERVICE_STRUCTURE = 'CoelStructure';
17
	const SERVICE_STRUCTURE = 'CoelStructure';
18
	const SERVICE_STRUCTURE_A_PERSONNE = 'CoelStructureAPersonne';
18
	const SERVICE_STRUCTURE_A_PERSONNE = 'CoelStructureAPersonne';
Line 19... Line 19...
19
	
19
	
Line 23... Line 23...
23
	 * @param integer l'id de la structure.
23
	 * @param integer l'id de la structure.
24
	 * @return array un tableau contenant les informations sur la structure.
24
	 * @return array un tableau contenant les informations sur la structure.
25
	 */
25
	 */
26
	public function getStructure($id_structure) {
26
	public function getStructure($id_structure) {
27
		$url = $this->url_jrest.self::SERVICE_STRUCTURE."/*/$id_structure/*";
27
		$url = $this->url_jrest.self::SERVICE_STRUCTURE."/*/$id_structure/*";
28
		$json = file_get_contents($url);
28
		$json = $this->envoyerRequeteConsultation($url);
29
		$donnees = json_decode($json, true);
29
		$donnees = json_decode($json, true);
30
		return $donnees['structures'];
30
		return $donnees['structures'];
31
	}
31
	}
Line 32... Line 32...
32
	
32
	
Line 36... Line 36...
36
	 * @param integer le type de recherche à effectuée.
36
	 * @param integer le type de recherche à effectuée.
37
	 * @return array un tableau contenant les informations sur le nombre de structures par zone.
37
	 * @return array un tableau contenant les informations sur le nombre de structures par zone.
38
	 */
38
	 */
39
	public function getStructureParZoneGeo($type_recherche) {
39
	public function getStructureParZoneGeo($type_recherche) {
40
		$url = $this->url_jrest.self::SERVICE_STRUCTURE."/ParZoneGeo/$type_recherche";
40
		$url = $this->url_jrest.self::SERVICE_STRUCTURE."/ParZoneGeo/$type_recherche";
41
		$json = file_get_contents($url);
41
		$json = $this->envoyerRequeteConsultation($url);
42
		$donnees = json_decode($json, true);
42
		$donnees = json_decode($json, true);
43
		return $donnees;
43
		return $donnees;
44
	}
44
	}
Line 45... Line 45...
45
	
45
	
Line 48... Line 48...
48
	 * 
48
	 * 
49
	 * @param integer l'id de la structure.
49
	 * @param integer l'id de la structure.
50
	 * @return array un tableau contenant les informations sur le personnel de la structure.
50
	 * @return array un tableau contenant les informations sur le personnel de la structure.
51
	 */
51
	 */
52
	public function getPersonnel($id_structure) {
52
	public function getPersonnel($id_structure) {
-
 
53
		$donnees = $this->getStructureAPersonne($id_structure);
-
 
54
		$personnel = $this->filtrerRoleEquipe($donnees['structuresAPersonne']);
-
 
55
		return $personnel;
-
 
56
	}
-
 
57
	
-
 
58
	/**
-
 
59
	 * Retourne le nombre de personnel d'une structure.
-
 
60
	 * 
-
 
61
	 * @param integer l'id de la structure.
-
 
62
	 * @return integer le nombre de personnel de la structure.
-
 
63
	 */
-
 
64
	public function getNbrePersonnel($id_structure) {
-
 
65
		$donnees = $this->getStructureAPersonne($id_structure);
-
 
66
		$personnel = $this->filtrerRoleEquipe($donnees['structuresAPersonne']);
-
 
67
		$nbre_personnel = count($personnel);
-
 
68
		return $nbre_personnel;
-
 
69
	}
-
 
70
	
-
 
71
	private function getStructureAPersonne($id_structure) {
53
		$url = $this->url_jrest.self::SERVICE_STRUCTURE_A_PERSONNE."/$id_structure";
72
		$url = $this->url_jrest.self::SERVICE_STRUCTURE_A_PERSONNE."/$id_structure";
54
		$json = file_get_contents($url);
73
		$json = $this->envoyerRequeteConsultation($url);
55
		$donnees = json_decode($json, true);
74
		$donnees = json_decode($json, true);
56
		$personnes = $donnees['structuresAPersonne'];
75
		return $donnees;
-
 
76
	}
57
		
77
	
-
 
78
	private function filtrerRoleEquipe($personnes) {
58
		$personnel = array();
79
		$personnel = array();
59
		foreach ($personnes as $personne) {
80
		foreach ($personnes as $personne) {
60
			if ($personne['csap_id_role'] == self::ROLE_EQUIPE) {
81
			if ($personne['csap_id_role'] == self::ROLE_EQUIPE) {
61
				$personnel[] = $personne;
82
				$personnel[] = $personne;
62
			}
83
			}