Subversion Repositories eFlore/Projets.eflore-projets

Rev

Rev 1012 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 1012 Rev 1217
Line 26... Line 26...
26
	/** Nom du service demandé. */
26
	/** Nom du service demandé. */
27
	private $serviceNom = array();
27
	private $serviceNom = array();
28
	/** Chemin vers le dossier courrant. */
28
	/** Chemin vers le dossier courrant. */
29
	private $cheminCourrant = null;
29
	private $cheminCourrant = null;
30
	private $classe = null;
30
	private $classe = null;
-
 
31
	
-
 
32
	private $methode = "consulter";
Line 31... Line 33...
31
 
33
 
Line 32... Line 34...
32
	private $cache;
34
	private $cache;
33
 
35
 
Line 50... Line 52...
50
		}
52
		}
51
		if(strpos($_SERVER['SCRIPT_NAME'], 'phpunit') === FALSE) $reponseHttp->emettreLesEntetes();
53
		if(strpos($_SERVER['SCRIPT_NAME'], 'phpunit') === FALSE) $reponseHttp->emettreLesEntetes();
52
		$corps = $reponseHttp->getCorps();
54
		$corps = $reponseHttp->getCorps();
53
		return $corps;
55
		return $corps;
54
	}
56
	}
-
 
57
	
-
 
58
	public function modifier($ressources, $parametres) {
-
 
59
		$resultat = '';
-
 
60
		$reponseHttp = new ReponseHttp();
-
 
61
		$this->methode = "modifier";
-
 
62
		try {
-
 
63
			$this->initialiserRessourcesEtParametres($ressources, $parametres);
-
 
64
			$resultat = $this->traiterRessources();
-
 
65
			$reponseHttp->setResultatService($resultat);
-
 
66
		} catch (Exception $e) {
-
 
67
			$reponseHttp->ajouterErreur($e);
-
 
68
		}
-
 
69
		if(strpos($_SERVER['SCRIPT_NAME'], 'phpunit') === FALSE) $reponseHttp->emettreLesEntetes();
-
 
70
		$corps = $reponseHttp->getCorps();
-
 
71
		return $corps;
-
 
72
	}
-
 
73
	
-
 
74
	public function ajouter($ressources, $parametres) {
-
 
75
		$resultat = '';
-
 
76
		$reponseHttp = new ReponseHttp();
-
 
77
		$this->methode = "ajouter";
-
 
78
		try {
-
 
79
			$this->initialiserRessourcesEtParametres($ressources, $parametres);
-
 
80
			$resultat = $this->traiterRessources();
-
 
81
			$reponseHttp->setResultatService($resultat);
-
 
82
		} catch (Exception $e) {
-
 
83
			$reponseHttp->ajouterErreur($e);
-
 
84
		}
-
 
85
		if(strpos($_SERVER['SCRIPT_NAME'], 'phpunit') === FALSE) $reponseHttp->emettreLesEntetes();
-
 
86
		$corps = $reponseHttp->getCorps();
-
 
87
		return $corps;
-
 
88
	}
Line 55... Line 89...
55
 
89
 
56
	private function initialiserRessourcesEtParametres($ressources, $parametres) {
90
	private function initialiserRessourcesEtParametres($ressources, $parametres) {
57
		$this->ressources = $ressources;
91
		$this->ressources = $ressources;
58
		$this->parametres = $parametres;
92
		$this->parametres = $parametres;
Line 299... Line 333...
299
				$service = new $classe($this->getBdd());
333
				$service = new $classe($this->getBdd());
300
				// Affichage utile lors de PHPUnit pour détecter les conflits d'autoload de classes de même nom
334
				// Affichage utile lors de PHPUnit pour détecter les conflits d'autoload de classes de même nom
301
				// $reflector = new ReflectionClass($classe);
335
				// $reflector = new ReflectionClass($classe);
302
				// printf("===> Projets init classe '%s' depuis '%s', mais provenant de '%s'\n", $classe, $chemin, $reflector->getFileName());
336
				// printf("===> Projets init classe '%s' depuis '%s', mais provenant de '%s'\n", $classe, $chemin, $reflector->getFileName());
303
				$ressourcesPourService = $this->filtrerRessourcesPourService();
337
				$ressourcesPourService = $this->filtrerRessourcesPourService();
-
 
338
				$methode = $this->methode;
304
				return $service->consulter($ressourcesPourService, $this->parametres, $this->getBdd());
339
				return $service->$methode($ressourcesPourService, $this->parametres, $this->getBdd());
305
			}
340
			}
306
		}
341
		}
307
		if (is_null($service)) {
342
		if (is_null($service)) {
308
			$message = "Le service demandé '{$this->serviceNom}' n'existe pas dans le projet {$this->projetNom} !";
343
			$message = "Le service demandé '{$this->serviceNom}' n'existe pas dans le projet {$this->projetNom} !";
309
			$code = RestServeur::HTTP_CODE_RESSOURCE_INTROUVABLE;
344
			$code = RestServeur::HTTP_CODE_RESSOURCE_INTROUVABLE;