Subversion Repositories Applications.framework

Rev

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

Rev 399 Rev 412
Line 329... Line 329...
329
	*/
329
	*/
330
	public static function chargerClasse($classe) {
330
	public static function chargerClasse($classe) {
331
		if (class_exists($classe)) {
331
		if (class_exists($classe)) {
332
			return null;
332
			return null;
333
		}
333
		}
334
		$classeTrouvee = false;
-
 
335
		$chemins = array('', self::$config['chemins']['api']);
334
		$chemins = array('', self::$config['chemins']['api']);
336
		foreach ($chemins as $chemin) {
335
		foreach ($chemins as $chemin) {
337
			$chemin = $chemin.$classe.'.php';
336
			$chemin = $chemin.$classe.'.php';
338
			if (file_exists($chemin)) {
337
			if (file_exists($chemin)) {
339
				require_once $chemin;
338
				require_once $chemin;
340
				$classeTrouvee = true;
-
 
341
			}
339
			}
342
		}
340
		}
343
		if ($classeTrouvee === false && phpversion() >= 5.3) {
-
 
344
			self::envoyerEnteteStatutHttp(self::HTTP_CODE_RESSOURCE_INTROUVABLE);
-
 
345
			$e = "La classe '$classe' du service n'a pas été trouvée par le serveur.\n".
-
 
346
				"Cela peut signifier que le nom du service saisi comporte une erreur.";
-
 
347
			self::ajouterMessage($e);
-
 
348
			self::cloreAccesServeur();
-
 
349
		}
-
 
350
	}
341
	}
Line 351... Line 342...
351
 
342
 
352
	/**
343
	/**
353
	 * Execute la requête.
344
	 * Execute la requête.
Line 357... Line 348...
357
		switch ($this->methode) {
348
		switch ($this->methode) {
358
			case 'GET':
349
			case 'GET':
359
				$retour = $this->get();
350
				$retour = $this->get();
360
				break;
351
				break;
361
			case 'POST':
352
			case 'POST':
362
				$this->post();
353
				$retour = $this->post();// Retour pour l'alternative PUT
363
				break;
354
				break;
364
			case 'DELETE':
355
			case 'DELETE':
365
				$this->delete();
356
				$this->delete();
366
				break;
357
				break;
367
			case 'PUT':
358
			case 'PUT':
Line 398... Line 389...
398
		}
389
		}
399
		return $retour;
390
		return $retour;
400
	}
391
	}
Line 401... Line 392...
401
 
392
 
-
 
393
	private function post() {
402
	private function post() {
394
		$retour = '';
403
		$paires = $this->parserDonneesRequete();
395
		$paires = $this->parserDonneesRequete();
404
		if (count($paires) != 0) {
396
		if (count($paires) != 0) {
405
			if (isset($paires['action']) && $paires['action'] == 'DELETE') {// Altnative à l'utilisation de DELETE
397
			if (isset($paires['action']) && $paires['action'] == 'DELETE') {// Altnative à l'utilisation de DELETE
406
				$this->delete();
398
				$this->delete();
407
			} else if (count($this->ressources) == 0) {// Altnative à l'utilisation de PUT
399
			} else if (count($this->ressources) == 0) {// Altnative à l'utilisation de PUT
408
				$this->put();
400
				$retour = $this->put();
409
			} else {
401
			} else {
410
				if ($this->service != null) {
402
				if ($this->service != null) {
411
					$Service = new $this->service(self::$config);
403
					$Service = new $this->service(self::$config);
412
					if (method_exists($Service, self::METHODE_POST)) {
404
					if (method_exists($Service, self::METHODE_POST)) {
Line 427... Line 419...
427
			$this->envoyerEnteteStatutHttp(self::HTTP_CODE_CONTENU_REQUIS);
419
			$this->envoyerEnteteStatutHttp(self::HTTP_CODE_CONTENU_REQUIS);
428
			$e = "Le service '{$this->service}' requiert de fournir le contenu à modifier dans le corps ".
420
			$e = "Le service '{$this->service}' requiert de fournir le contenu à modifier dans le corps ".
429
				"de la requête avec la méthode HTTP POST.";
421
				"de la requête avec la méthode HTTP POST.";
430
			self::ajouterMessage($e);
422
			self::ajouterMessage($e);
431
		}
423
		}
-
 
424
		return $retour;
432
	}
425
	}
Line 433... Line 426...
433
 
426
 
434
	private function put() {
427
	private function put() {
435
		$retour = '';
428
		$retour = '';