Subversion Repositories Applications.framework

Rev

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

Rev 451 Rev 452
Line 443... Line 443...
443
	private function post() {
443
	private function post() {
444
		$retour = '';
444
		$retour = '';
445
		$paires = $this->parserDonneesRequete();
445
		$paires = $this->parserDonneesRequete();
446
		if (count($paires) != 0) {
446
		if (count($paires) != 0) {
447
			if (isset($paires['action']) && $paires['action'] == 'DELETE') {// Alternative à l'utilisation de DELETE
447
			if (isset($paires['action']) && $paires['action'] == 'DELETE') {// Alternative à l'utilisation de DELETE
448
				$this->delete();
448
				$retour = $this->delete();
449
			} else if (count($this->ressources) == 0) {// Alternative à l'utilisation de PUT
449
			} else if (count($this->ressources) == 0) {// Alternative à l'utilisation de PUT
450
				$retour = $this->put();
450
				$retour = $this->put();
451
			} else {
451
			} else {
452
				if ($this->service != null) {
452
				if ($this->service != null) {
453
					$Service = new $this->service(self::$config);
453
					$Service = new $this->service(self::$config);
454
					if (method_exists($Service, self::METHODE_POST)) {
454
					if (method_exists($Service, self::METHODE_POST)) {
455
						$methodePost = self::METHODE_POST;
455
						$methodePost = self::METHODE_POST;
456
						$info = $Service->$methodePost($this->ressources, $paires);
456
						$info = $Service->$methodePost($this->ressources, $paires);
457
						if ($info === true) {
457
						if ($info !== false) {
458
							$this->envoyerEnteteStatutHttp(self::HTTP_CODE_CREATION_OK);
458
							$this->envoyerEnteteStatutHttp(self::HTTP_CODE_CREATION_OK);
-
 
459
							$retour = $info;
459
						}
460
						}
460
					} else {
461
					} else {
461
						self::envoyerEnteteStatutHttp(self::HTTP_CODE_RESSOURCE_INTROUVABLE);
462
						self::envoyerEnteteStatutHttp(self::HTTP_CODE_RESSOURCE_INTROUVABLE);
462
						$e = "Le service '{$this->service}' ne contient pas la méthode '".self::METHODE_POST."' nécessaire ".
463
						$e = "Le service '{$this->service}' ne contient pas la méthode '".self::METHODE_POST."' nécessaire ".
463
							"lors de l'appel du service via la méthode HTTP GET.";
464
							"lors de l'appel du service via la méthode HTTP GET.";
Line 480... Line 481...
480
		if (count($paires) != 0) {
481
		if (count($paires) != 0) {
481
			if ($this->service != null) {
482
			if ($this->service != null) {
482
				$Service = new $this->service(self::$config);
483
				$Service = new $this->service(self::$config);
483
				if (method_exists($Service, self::METHODE_PUT)) {
484
				if (method_exists($Service, self::METHODE_PUT)) {
484
					$methodePut = self::METHODE_PUT;
485
					$methodePut = self::METHODE_PUT;
485
					$retour = $Service->$methodePut($this->ressources, $paires);
486
					$info = $Service->$methodePut($this->ressources, $paires);
486
					if ($retour !== false) {
487
					if ($info !== false) {
487
						$this->envoyerEnteteStatutHttp(self::HTTP_CODE_CREATION_OK);
488
						$this->envoyerEnteteStatutHttp(self::HTTP_CODE_CREATION_OK);
-
 
489
						$retour = $info;
488
					}
490
					}
489
				} else {
491
				} else {
490
					self::envoyerEnteteStatutHttp(self::HTTP_CODE_RESSOURCE_INTROUVABLE);
492
					self::envoyerEnteteStatutHttp(self::HTTP_CODE_RESSOURCE_INTROUVABLE);
491
					$e = "Le service '{$this->service}' ne contient pas la méthode '".self::METHODE_PUT."' nécessaire ".
493
					$e = "Le service '{$this->service}' ne contient pas la méthode '".self::METHODE_PUT."' nécessaire ".
492
						"lors de l'appel du service via la méthode HTTP GET.";
494
						"lors de l'appel du service via la méthode HTTP GET.";
Line 514... Line 516...
514
						$this->envoyerEnteteStatutHttp(self::HTTP_CODE_SUPPRESSION_OK);
516
						$this->envoyerEnteteStatutHttp(self::HTTP_CODE_SUPPRESSION_OK);
515
					} else if ($info === false) {
517
					} else if ($info === false) {
516
						$this->envoyerEnteteStatutHttp(self::HTTP_CODE_RESSOURCE_INTROUVABLE);
518
						$this->envoyerEnteteStatutHttp(self::HTTP_CODE_RESSOURCE_INTROUVABLE);
517
						$e = "La ressource à supprimer est introuvable. Il se peut qu'elle ait été préalablement supprimé.";
519
						$e = "La ressource à supprimer est introuvable. Il se peut qu'elle ait été préalablement supprimé.";
518
						self::ajouterMessage($e);
520
						self::ajouterMessage($e);
-
 
521
					} else {
-
 
522
						$this->envoyerEnteteStatutHttp(self::HTTP_CODE_CREATION_OK);
-
 
523
						$retour = $info;
519
					}
524
					}
520
				} else {
525
				} else {
521
					self::envoyerEnteteStatutHttp(self::HTTP_CODE_RESSOURCE_INTROUVABLE);
526
					self::envoyerEnteteStatutHttp(self::HTTP_CODE_RESSOURCE_INTROUVABLE);
522
					$e = "Le service '{$this->service}' ne contient pas la méthode '".self::METHODE_DELETE."' nécessaire ".
527
					$e = "Le service '{$this->service}' ne contient pas la méthode '".self::METHODE_DELETE."' nécessaire ".
523
						"lors de l'appel du service via la méthode HTTP GET.";
528
						"lors de l'appel du service via la méthode HTTP GET.";
Line 527... Line 532...
527
		} else {
532
		} else {
528
			$this->envoyerEnteteStatutHttp(self::HTTP_CODE_MAUVAISE_REQUETE);
533
			$this->envoyerEnteteStatutHttp(self::HTTP_CODE_MAUVAISE_REQUETE);
529
			$e = "Il est nécessaire d'indiquer dans l'url la ressource à supprimer.";
534
			$e = "Il est nécessaire d'indiquer dans l'url la ressource à supprimer.";
530
			self::ajouterMessage($e);
535
			self::ajouterMessage($e);
531
		}
536
		}
-
 
537
		return $retour;
532
	}
538
	}
Line 533... Line 539...
533
 
539
 
534
	/**
540
	/**
535
	 * Parse les données contenu dans le corps de la requête HTTP (= POST) en :
541
	 * Parse les données contenu dans le corps de la requête HTTP (= POST) en :