Subversion Repositories eFlore/Applications.cel

Rev

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

Rev 2131 Rev 2135
Line 1... Line 1...
1
<?php
1
<?php
2
class CelImageFormat extends Cel {
2
class CelImageFormat {
-
 
3
	
-
 
4
	private $config;
-
 
5
	private $formats = array('CRX2S','CRXS','CXS','CS','CRS','XS','S','M','L','XL','X2L','X3L','O');
-
 
6
	
-
 
7
	// Pas besoin d'étendre Cel ici, surtout que le constructeur 
-
 
8
	// de la classe Cel instancie toujours une connexion à la bdd
-
 
9
	// dont on a pas besoin ici. Ceci évite de planter le service
-
 
10
	// quand la bdd est surchargée.
-
 
11
	public function __construct($config) {
-
 
12
		$this->config = $config;
-
 
13
	}
Line 3... Line 14...
3
	
14
	
4
	/**
15
	/**
5
	* Méthode appelée avec une requête de type GET.
16
	* Méthode appelée avec une requête de type GET.
6
	*/
17
	*/
-
 
18
	public function getElement($params) {
7
	public function getElement($params) {
19
		// suppression des 0 non significatifs à gauche
8
		$id = ltrim($params[0],'0');
20
		$id = ltrim($params[0],'0');
Line -... Line 21...
-
 
21
		$format = isset($_GET['format']) ? $_GET['format'] : 'M';	
9
		$format = isset($_GET['format']) ? $_GET['format'] : 'M';	
22
		
10
		
23
		if($this->verifierParametres($id, $format)) {
-
 
24
			$gestion_formats_images = new ImageRecreation($this->config);
-
 
25
			$image_binaire = $gestion_formats_images->creerOuRenvoyerImage($params[0], $format);
-
 
26
			
-
 
27
			if($image_binaire) {
-
 
28
				header('Content-Type: image/jpeg');
-
 
29
				echo $image_binaire;
-
 
30
				exit;
-
 
31
			} else {
-
 
32
				header("HTTP/1.0 404 Not Found");
-
 
33
				echo 'Aucune image ne correspond à cet identifiant';
-
 
34
			}
-
 
35
		}
-
 
36
	}
-
 
37
	
-
 
38
	private function verifierParametres($id, $format) {
-
 
39
		$ok = true;
-
 
40
		$message = '';
-
 
41
		if(!is_numeric($id)) {
-
 
42
			$message .= "L'identifiant de format doit être un entier. ";
-
 
43
			$ok = false;
-
 
44
		}
-
 
45
		
-
 
46
		if(!in_array($format, $this->formats)) {
-
 
47
			$message .= "Le format d'image est inconnu, les formats acceptés sont ".implode(',', $this->formats).". ";
Line 11... Line 48...
11
		$gestion_formats_images = new ImageRecreation($this->config);
48
			$ok = false;
12
		$image_binaire = $gestion_formats_images->creerOuRenvoyerImage($params[0], $format);
49
		}
13
		
50
		
14
		if($image_binaire) {
-
 
15
			header('Content-Type: image/jpeg');
-
 
16
			echo $image_binaire;
-
 
17
			exit;
51
		if(!empty($message)) {
-
 
52
			header("HTTP/1.0 400 Bad Request");
-
 
53
			echo $message;
18
		} else {
54
		}
19
			header("HTTP/1.0 404 Not Found");
55
		
20
		}
56
		return $ok;