Subversion Repositories Applications.referentiel

Rev

Rev 38 | Rev 58 | Go to most recent revision | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 38 Rev 51
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 Référentiels.
4
 * Modèle d'accès à la base de données des Référentiels.
5
 * Permet d'accèder au données des référentiels.
5
 * Permet d'accèder au données des référentiels.
6
 *
6
 *
7
 * @package		Referentiel
7
 * @package		Referentiel
8
 * @category	Php 5.2
8
 * @category	Php 5.2
9
 * @author		Jean-Pascal MILCENT <jpm@tela-botanica.org>
9
 * @author		Jean-Pascal MILCENT <jpm@tela-botanica.org>
10
 * @copyright	2010 Tela-Botanica
10
 * @copyright	2010 Tela-Botanica
11
 * @license		http://www.cecill.info/licences/Licence_CeCILL_V2-fr.txt Licence CECILL
11
 * @license		http://www.cecill.info/licences/Licence_CeCILL_V2-fr.txt Licence CECILL
12
 * @license		http://www.gnu.org/licenses/gpl.html Licence GNU-GPL
12
 * @license		http://www.gnu.org/licenses/gpl.html Licence GNU-GPL
13
 * @version		SVN: $Id$
13
 * @version		SVN: $Id$
14
 *
14
 *
15
 */
15
 */
16
class ReferentielDao extends Dao {
16
class ReferentielDao extends Dao {
17
	const SERVICE = 'Referentiel';
17
	const SERVICE = 'Referentiel';
-
 
18
	const SERVICE_ARCHIVAGE = 'ArchiverReferentiel';
18
 
19
 
19
	/**
20
	/**
20
	 * Retourne des infos sur l'ensemble des référentiels disponibles.
21
	 * Retourne des infos sur l'ensemble des référentiels disponibles.
21
	 * 
22
	 * 
22
	 * @return array un tableau contenant les informations sur les référentiels disponibles.
23
	 * @return array un tableau contenant les informations sur les référentiels disponibles.
23
	 */
24
	 */
24
	public function getReferentielsDispo() {
25
	public function getReferentielsDispo() {
25
		$url = $this->url_jrest.self::SERVICE."/Dispo";
26
		$url = $this->url_jrest.self::SERVICE."/Dispo";
26
		$json = $this->envoyerRequeteConsultation($url);
27
		$json = $this->envoyerRequeteConsultation($url);
27
		$noms = json_decode($json, true);
28
		$noms = json_decode($json, true);
28
		return $noms;
29
		return $noms;
29
	}
30
	}
30
	
31
	
31
	/**
32
	/**
32
	 * Retourne l'ensemble des information sur les noms d'un référentiel.
33
	 * Retourne l'ensemble des information sur les noms d'un référentiel.
33
	 * 
34
	 * 
34
	 * @param string le code du référentiel.
35
	 * @param string le code du référentiel.
35
	 * @return array un tableau contenant les informations sur les noms du référentiel.
36
	 * @return array un tableau contenant les informations sur les noms du référentiel.
36
	 */
37
	 */
37
	public function getTout($code_projet) {
38
	public function getTout($code_projet) {
38
		$url = $this->url_jrest.self::SERVICE."/Tout/$code_projet";
39
		$url = $this->url_jrest.self::SERVICE."/Tout/$code_projet";
39
		$nbre = $this->getNombre($code_projet);
40
		$nbre = $this->getNombre($code_projet);
40
		$noms = array();
41
		$noms = array();
41
		$pas = 1000;
42
		$pas = 1000;
42
		for ($i = 0; $i < $nbre ; $i += $pas) {
43
		for ($i = 0; $i < $nbre ; $i += $pas) {
43
			$this->setLimitation($i, $pas);
44
			$this->setLimitation($i, $pas);
44
			$json = $this->envoyerRequeteConsultation($url);
45
			$json = $this->envoyerRequeteConsultation($url);
45
			$noms_partiel = json_decode($json, true);
46
			$noms_partiel = json_decode($json, true);
46
			$noms = array_merge($noms, $noms_partiel);
47
			$noms = array_merge($noms, $noms_partiel);
47
		}
48
		}
48
		return $noms;
49
		return $noms;
49
	}
50
	}
50
	
51
	
51
	/**
52
	/**
52
	 * Retourne le nombre de noms présents dans la table de travail du référentiel.
53
	 * Retourne le nombre de noms présents dans la table de travail du référentiel.
53
	 * 
54
	 * 
54
	 * @param string le code du référentiel.
55
	 * @param string le code du référentiel.
55
	 * @return int le nombre de noms.
56
	 * @return int le nombre de noms.
56
	 */
57
	 */
57
	public function getNombre($code_projet) {
58
	public function getNombre($code_projet) {
58
		$url = $this->url_jrest.self::SERVICE."/Nombre/$code_projet";
59
		$url = $this->url_jrest.self::SERVICE."/Nombre/$code_projet";
59
		$json = $this->envoyerRequeteConsultation($url);
60
		$json = $this->envoyerRequeteConsultation($url);
60
		$nbre = json_decode($json, true);
61
		$nbre = json_decode($json, true);
61
		return $nbre;
62
		return $nbre;
62
	}
63
	}
-
 
64
	
-
 
65
	/**
-
 
66
	 * Copie la table de travail du référentiel pour l'archiver avec une numéro de version.
-
 
67
	 * 
-
 
68
	 * @param string le code du référentiel.
-
 
69
	 * @param string la version du référentiel.
-
 
70
	 * @return bool true en cas de succé ou false en cas d'échec.
-
 
71
	 */
-
 
72
	public function archiver($code_projet, $version) {
-
 
73
		$url = $this->url_jrest.self::SERVICE_ARCHIVAGE;
-
 
74
		// Préparation des données à passer par POST
-
 
75
		$donnees['code'] = $code_projet;
-
 
76
		$donnees['version'] = $version;
-
 
77
		
-
 
78
		// Envoie des données et récupération du retour
-
 
79
		$json = $this->envoyerRequeteAjout($url, $donnees);
-
 
80
		$ok = json_decode($json, true);
-
 
81
		return $ok;
-
 
82
	}
63
}
83
}
64
?>
84
?>