Subversion Repositories eFlore/Applications.del

Rev

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

Rev 754 Rev 758
Line 70... Line 70...
70
			$retour = $this->initialiserService();
70
			$retour = $this->initialiserService();
71
		}
71
		}
72
		return $retour;
72
		return $retour;
73
	}
73
	}
Line 74... Line -...
74
	
-
 
75
	private function avoirRessourceIdentifiant() {
-
 
76
		$presenceId = false;
-
 
77
			if (is_numeric($this->ressources[0])) {
-
 
78
				$presenceId = true;
-
 
79
			} else {
-
 
80
				$message = "Le service demandé '$service' nécessite d'avoir un identifiant d'image valide";
-
 
81
				$code = RestServeur::HTTP_CODE_RESSOURCE_INTROUVABLE;
-
 
82
				throw new Exception($message, $code);
-
 
83
			}
-
 
84
		return $presenceId;
74
	
85
	}
75
 
86
	/*------------------------------------------------------------------------------------------------------------------
76
	/*------------------------------------------------------------------------------------------------------------------
87
										CONFIGURATION DU PROJET
77
										CONFIGURATION DU PROJET
88
	------------------------------------------------------------------------------------------------------------------*/
78
	------------------------------------------------------------------------------------------------------------------*/
89
	private function initialiserProjet() {
79
	private function initialiserProjet() {
Line 114... Line 104...
114
		* http://localhost/del/services/0.1/images/#id/votes/protocole/#id => tous les votes d'une image et d'un protocole donné
104
		* http://localhost/del/services/0.1/images/#id/votes/protocole/#id => tous les votes d'une image et d'un protocole donné
115
		* http://localhost/del/services/0.1/images/#id/votes/#id => un vote donné pour une image donnée.
105
		* http://localhost/del/services/0.1/images/#id/votes/#id => un vote donné pour une image donnée.
116
		* */
106
		* */
117
		$presenceRessourceService = false;
107
		$presenceRessourceService = false;
118
		if (isset($this->ressources[0])) {
108
		if (isset($this->ressources[0])) {
119
			if ($this->avoirRessourceIdentifiant()) {
109
			if ($this->etreRessourceIdentifiant(0)) {
120
				if (isset($this->ressources[1])) {
110
				if (isset($this->ressources[1])) {
121
				$presenceRessourceService = $this->avoirRessourceSousService();
111
					$presenceRessourceService = $this->avoirRessourceSousService();
122
				} else {
112
				} else {
123
					$message = "Le service demandé 'image/#id' n'est pas disponible pour le projet {$this->projetNom} !";
-
 
124
					$code = RestServeur::HTTP_CODE_RESSOURCE_INTROUVABLE;
-
 
125
					throw new Exception($message, $code);
113
					$this->editerMessageErreurRessource();
126
				}
114
				}
127
			} 
115
			}
128
		} else {
116
		} else {
129
			$presenceRessourceService = true;
117
			$presenceRessourceService = true;
130
			$this->serviceNom = 'liste-images';
118
			$this->serviceNom = 'liste-images';
131
		}
119
		}
132
		return $presenceRessourceService;
120
		return $presenceRessourceService;
133
	}
121
	}
Line 134... Line 122...
134
	
122
	
135
	private function avoirRessourceSousService() {
123
	private function avoirRessourceSousService() {
136
		$presenceRessourceService = false;
124
		$presenceRessourceService = false;
137
		$servicesDispo = Outils::recupererTableauConfig('servicesDispo');
125
		if (sizeof($this->ressources) == 2) {
-
 
126
			if ($this->ressources[1] == 'votes') {
138
		$service = $this->ressources[1];
127
				$presenceRessourceService = true;
-
 
128
				$this->serviceNom = 'votes-image';
-
 
129
			} else {
-
 
130
				$this->editerMessageErreurRessource();
-
 
131
			}
-
 
132
		} else {
139
		if (in_array($service, $servicesDispo)) {
133
			if (isset($this->ressources[2]) && $this->etreRessourceIdentifiant(2)) {
140
			$presenceRessourceService = true;
134
				$presenceRessourceService = true;
-
 
135
				$this->serviceNom = 'vote-image';
-
 
136
			} else {
-
 
137
				$this->editerMessageErreurRessource();
-
 
138
			}
-
 
139
		}
-
 
140
		return $presenceRessourceService;
-
 
141
	}
-
 
142
	
-
 
143
	private function editerMessageErreurRessource() {
-
 
144
		$message = "Le service demandé '".$this->projetNom.'/'.implode('/', $this->ressources).
-
 
145
					"' n'est pas disponible pour le projet ".$this->projetNom." !\n".
-
 
146
					"Les services disponibles sont : images, images/#id/votes, images/#id/vote/#id_vote";
-
 
147
		$code = RestServeur::HTTP_CODE_RESSOURCE_INTROUVABLE;
-
 
148
		throw new Exception($message, $code);
-
 
149
	}
-
 
150
	
-
 
151
	private function etreRessourceIdentifiant($num) {
-
 
152
		$presenceId = false;
-
 
153
		if (is_numeric($this->ressources[$num])) {
141
			$this->serviceNom = 'votes-image';
154
			$presenceId = true;
142
		} else {
155
		} else {
143
			$message = "Le service demandé '$service' n'est pas disponible pour le projet {$this->projetNom} !\n".
-
 
144
						"Les services disponibles sont : ".implode(', ', $servicesDispo);
156
			$message = "Le service demandé '$service' nécessite d'avoir un identifiant d'image valide";
145
			$code = RestServeur::HTTP_CODE_RESSOURCE_INTROUVABLE;
157
			$code = RestServeur::HTTP_CODE_RESSOURCE_INTROUVABLE;
146
			throw new Exception($message, $code);
158
			throw new Exception($message, $code);
147
		}
159
		}
148
		return $presenceRessourceService;
160
		return $presenceId;
Line 149... Line 161...
149
	}
161
	}
150
 
162