| 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 |
}
|