| Line 1... |
Line 1... |
| 1 |
<?php
|
1 |
<?php
|
| - |
|
2 |
// declare(encoding='UTF-8');
|
| 2 |
/**
|
3 |
/**
|
| 3 |
* Classe principale gérant les services web de type (@link(REST, http://fr.wikipedia.org/wiki/Rest).
|
4 |
* Classe principale gérant les services web de type (@link(REST, http://fr.wikipedia.org/wiki/Rest).
|
| 4 |
*
|
5 |
*
|
| 5 |
* Elle contient :
|
6 |
* Elle contient :
|
| 6 |
* - les constantes indiquant les différentes (@link(méthode HTTP, http://fr.wikipedia.org/wiki/Http) prises en compte.
|
7 |
* - les constantes indiquant les différentes (@link(méthode HTTP, http://fr.wikipedia.org/wiki/Http) prises en compte.
|
| Line 32... |
Line 33... |
| 32 |
* @author Jean-Pascal MILCENT <jpm@tela-botanica.org>
|
33 |
* @author Jean-Pascal MILCENT <jpm@tela-botanica.org>
|
| 33 |
* @copyright Copyright (c) 2010, Tela Botanica (accueil@tela-botanica.org)
|
34 |
* @copyright Copyright (c) 2010, Tela Botanica (accueil@tela-botanica.org)
|
| 34 |
* @license GPL v3 <http://www.gnu.org/licenses/gpl.txt>
|
35 |
* @license GPL v3 <http://www.gnu.org/licenses/gpl.txt>
|
| 35 |
* @license CECILL v2 <http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt>
|
36 |
* @license CECILL v2 <http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt>
|
| 36 |
* @since 0.3
|
37 |
* @since 0.3
|
| 37 |
* @version $Id: RestServeur.php 334 2011-03-28 09:54:21Z delphine $
|
38 |
* @version $Id: RestServeur.php 335 2011-03-29 15:22:18Z delphine $
|
| 38 |
* @link /doc/framework/
|
39 |
* @link /doc/framework/
|
| 39 |
*/
|
40 |
*/
|
| 40 |
// TODO : gerer les retours : dans ce controleur : code retour et envoi ...
|
41 |
// TODO : gerer les retours : dans ce controleur : code retour et envoi ...
|
| 41 |
class RestServeur {
|
42 |
class RestServeur {
|
| Line 341... |
Line 342... |
| 341 |
|
342 |
|
| 342 |
if (count($paires) != 0) {
|
343 |
if (count($paires) != 0) {
|
| 343 |
if (isset($paires['action']) && $paires['action'] == 'DELETE') {// Altnative à l'utilisation de DELETE
|
344 |
if (isset($paires['action']) && $paires['action'] == 'DELETE') {// Altnative à l'utilisation de DELETE
|
| 344 |
$this->delete();
|
345 |
$this->delete();
|
| 345 |
} else if (count($this->ressources) == 0) {// Altnative à l'utilisation de PUT
|
346 |
} else if (count($this->ressources) == 0) {// Altnative à l'utilisation de PUT
|
| 346 |
$this->add();
|
347 |
$this->put();
|
| 347 |
} else {
|
348 |
} else {
|
| 348 |
if ($this->service != null) {
|
349 |
if ($this->service != null) {
|
| 349 |
$Service = new $this->service(self::$config);
|
350 |
$Service = new $this->service(self::$config);
|
| 350 |
if (method_exists($Service, self::METHODE_POST)) {
|
351 |
if (method_exists($Service, self::METHODE_POST)) {
|
| Line 415... |
Line 416... |
| 415 |
*
|
416 |
*
|
| 416 |
* @return array Tableau de paires clé et valeur.
|
417 |
* @return array Tableau de paires clé et valeur.
|
| 417 |
*/
|
418 |
*/
|
| 418 |
private function parserDonneesRequete() {
|
419 |
private function parserDonneesRequete() {
|
| 419 |
$donnees = array();
|
420 |
$donnees = array();
|
| 420 |
if ($this->$requeteDonneesParsees != null) {
|
421 |
if ($this->requeteDonneesParsees != null) {
|
| 421 |
$donnees = $this->$requeteDonneesParsees;
|
422 |
$donnees = $this->requeteDonneesParsees;
|
| 422 |
} else if ($this->requeteDonnees != null) {
|
423 |
} else if ($this->requeteDonnees != null) {
|
| 423 |
$paires = explode('&', $this->requeteDonnees);
|
424 |
$paires = explode('&', $this->requeteDonnees);
|
| 424 |
foreach ($paires as $paire) {
|
425 |
foreach ($paires as $paire) {
|
| 425 |
list($cle, $valeur) = explode('=', $paire);
|
426 |
list($cle, $valeur) = explode('=', $paire);
|
| 426 |
$cle = (isset($cle)) ? trim(urldecode($cle)) : '';
|
427 |
$cle = (isset($cle)) ? trim(urldecode($cle)) : '';
|
| 427 |
$valeur = (isset($valeur)) ? trim(urldecode($valeur)) : '';
|
428 |
$valeur = (isset($valeur)) ? trim(urldecode($valeur)) : '';
|
| 428 |
$donnees[$cle] = $valeur;
|
429 |
$donnees[$cle] = $valeur;
|
| 429 |
}
|
430 |
}
|
| 430 |
$this->$requeteDonneesParsees = $donnees;
|
431 |
$this->requeteDonneesParsees = $donnees;
|
| 431 |
}
|
432 |
}
|
| 432 |
return $donnees;
|
433 |
return $donnees;
|
| 433 |
}
|
434 |
}
|
| Line 434... |
Line 435... |
| 434 |
|
435 |
|