Subversion Repositories eFlore/Applications.del

Rev

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

Rev 1793 Rev 1795
Line 1... Line 1...
1
<?php
1
<?php
-
 
2
// declare(encoding='UTF-8');
2
/**
3
/**
3
 * Classe principale du service Images de DEL.
4
 * Classe principale de chargement des sous-services "images" de DEL.
4
 *
5
 *
5
 * Cette classe se charge toujours de :
6
 * Cette classe se charge toujours de :
6
 *  - vérifier l'existance des ressources (services) demandés
7
 *  - vérifier l'existance des ressources (services) demandés
7
 *  - vérifier la cohérence et le format des paramêtres passées dans l'url
8
 *  - vérifier la cohérence et le format des paramêtres passées dans l'url
8
 * En fonction, de la compléxité du service, elle peut :
9
 * En fonction, de la compléxité du service, elle peut :
9
 *  - dans un premier temps, exécuter directement les actions : consulter, ajouter, modifier, supprimer.
10
 *  - dans un premier temps, exécuter directement les actions : consulter, ajouter, modifier, supprimer.
10
 *  - dans un second temps, charger dynamiquement d'éventuelles sous-classes du service en fonction des ressources présentes dans l'URL.
11
 *  - dans un second temps, charger dynamiquement d'éventuelles sous-classes du service en fonction des ressources présentes dans l'URL.
11
 *
12
 *
12
 * Encodage en entrée : utf8
13
 * URLs possibles :
-
 
14
 * GET :
13
 * Encodage en sortie : utf8
15
 * http://localhost/del/services/0.1/images/ => toutes les images : classe ListeImages
-
 
16
 * http://localhost/del/services/0.1/images/#idImg/votes => tous les votes d'une image (#idImg) classés par protocole : classe VotesImage
14
 *
17
 *
-
 
18
 * Non Implémenté : http://localhost/del/services/0.1/images/#id => une image donnée => en test pour remplacer les appels à eflore/cel
-
 
19
 * Non Implémenté : http://localhost/del/services/0.1/images/#id/votes?protocole=#id => tous les votes d'une image et d'un protocole donné
-
 
20
 *
-
 
21
 * PUT :
-
 
22
 * http://localhost/del/services/0.1/images/#idImg => ajouter un vote sur une image donnée (#idImg)
-
 
23
 *
-
 
24
 * POST :
-
 
25
 * http://localhost/del/services/0.1/images/#idImg => modifier un vote sur une image donnée (#idImg)
-
 
26
 *
-
 
27
 * DELETE :
-
 
28
 * http://localhost/del/services/0.1/images/#idImg => supprimer une image donnée (#idImg)
-
 
29
 * http://localhost/del/services/0.1/images/#idImg/votes/#idVote => supprimer un vote (#idVote) d'une image donnée (#idImg)
-
 
30
 *
15
 * @category DEL
31
 * @category   DEL
16
 * @package Services
32
 * @package    Services
17
 * @subpackage Images
33
 * @subpackage Images
18
 * @version 0.1
34
 * @version    0.1
-
 
35
 * @author     Mathias CHOUET <mathias@tela-botanica.org>
19
 * @author Jean-Pascal MILCENT <jpm@tela-botanica.org>
36
 * @author     Jean-Pascal MILCENT <jpm@tela-botanica.org>
-
 
37
 * @author     Aurelien PERONNET <aurelien@tela-botanica.org>
20
 * @license GPL v3 <http://www.gnu.org/licenses/gpl.txt>
38
 * @license    GPL v3 <http://www.gnu.org/licenses/gpl.txt>
21
 * @license CECILL v2 <http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt>
39
 * @license    CECILL v2 <http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt>
22
 * @copyright 1999-2011 Tela Botanica (accueil@tela-botanica.org)
40
 * @copyright  1999-2014 Tela Botanica <accueil@tela-botanica.org>
23
 */
41
 */
24
restore_error_handler();
42
restore_error_handler();
25
restore_exception_handler();
43
restore_exception_handler();
26
error_reporting(E_ALL);
44
error_reporting(E_ALL);
-
 
45
 
27
class Images extends RestService {
46
class Images extends RestService {
-
 
47
 
28
	private $parametres = array();
48
	private $parametres = array();
29
	private $ressources = array();
49
	private $ressources = array();
30
	private $methode = null;
50
	private $methode = null;
31
	private $serviceNom = 'images';
51
	private $serviceNom = 'images';
32
	private $sousServiceNom = null;
52
	private $sousServiceNom = null;
Line 69... Line 89...
69
		$this->ressources = $ressources;
89
		$this->ressources = $ressources;
70
		$this->parametres = $parametres;
90
		$this->parametres = $parametres;
71
	}
91
	}
Line 72... Line 92...
72
 
92
 
73
	private function executerService() {
-
 
74
		$resultat = '';
93
	private function executerService() {
75
		$reponseHttp = new ReponseHttp();
94
		$reponseHttp = new ReponseHttp();
76
		try {
95
		try {
77
			$this->conteneur = new Conteneur($this->parametres);
96
			$this->conteneur = new Conteneur($this->parametres);
78
			$resultat = $this->traiterRessources();
97
			$resultat = $this->traiterRessources();
Line 95... Line 114...
95
	private function chargerConfigService() {
114
	private function chargerConfigService() {
96
		$chemin = Config::get('chemin_configurations')."config_{$this->serviceNom}.ini";
115
		$chemin = Config::get('chemin_configurations')."config_{$this->serviceNom}.ini";
97
		Config::charger($chemin);
116
		Config::charger($chemin);
98
	}
117
	}
Line 99... Line -...
99
 
-
 
100
	/**
-
 
101
	 * URLs possibles :
-
 
102
	 *
-
 
103
	 * GET :
-
 
104
	 * http://localhost/del/services/0.1/images/ => toutes les images : classe ListeImages
-
 
105
	 * http://localhost/del/services/0.1/images/#idImg/votes => tous les votes d'une image (#idImg) classés par protocole : classe VotesImage
-
 
106
	 *
-
 
107
	 * Non Implémenté : http://localhost/del/services/0.1/images/#id => une image donnée => en test pour remplacer les appels à eflore/cel
-
 
108
	 * Non Implémenté : http://localhost/del/services/0.1/images/#id/votes?protocole=#id => tous les votes d'une image et d'un protocole donné
-
 
109
	 *
-
 
110
	 * PUT :
-
 
111
	 * http://localhost/del/services/0.1/images/#idImg => ajouter un vote sur une image donnée (#idImg)
-
 
112
	 *
-
 
113
	 * POST :
-
 
114
	 * http://localhost/del/services/0.1/images/#idImg => modifier un vote sur une image donnée (#idImg)
-
 
115
	 *
-
 
116
	 * DELETE :
-
 
117
	 * http://localhost/del/services/0.1/images/#idImg => supprimer une image donnée (#idImg)
-
 
118
	 * http://localhost/del/services/0.1/images/#idImg/votes/#idVote => supprimer un vote (#idVote) d'une image donnée (#idImg)
-
 
119
	 */
118
 
120
	private function analyserRessources() {
119
	private function analyserRessources() {
121
		if ($this->methode == 'consulter') {
120
		if ($this->methode == 'consulter') {
122
			$this->analyserRessoucesConsultation();
121
			$this->analyserRessoucesConsultation();
123
		} else if ($this->methode == 'modifier' || $this->methode == 'ajouter') {
122
		} else if ($this->methode == 'modifier' || $this->methode == 'ajouter') {