Subversion Repositories Applications.framework

Rev

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

Rev 334 Rev 335
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