Subversion Repositories eFlore/Projets.eflore-projets

Rev

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

Rev 531 Rev 534
Line 82... Line 82...
82
					break;
82
					break;
83
			}
83
			}
84
		}
84
		}
85
	}
85
	}
Line -... Line 86...
-
 
86
	
-
 
87
	/*private function traiterVersion() {
-
 
88
		if( isset($this->parametres['version.projet']) ) {
-
 
89
			$version = $this->parametres['version.projet'];
-
 
90
			if (preg_match('/^([0-9]+(?:[._][0-9]+|))$/', $version, $retour)) {
-
 
91
					$this->version[] = $retour[0];
-
 
92
					$this->version_projet[] = 'v'.str_replace('.', '_', $this->version[0]);
-
 
93
					$this->table_version[] = Config::get('bdd_table').''.$this->version_projet[0];
-
 
94
				} elseif ($version ==  '+')  {
-
 
95
					$this->obtenirDerniereVersion();
-
 
96
				} elseif ($version ==  '*' && empty($this->ressources) == false ) {
-
 
97
					$this->chargerVersions();
-
 
98
					$total = count($this->metadonnees);
-
 
99
					for($i = 0 ; $i < $total ; $i++) {
-
 
100
						$this->version[$i] = $this->metadonnees[$i]['version'];
-
 
101
						$this->version_projet[$i] = 'v'.str_replace('.', '_',$this->version[$i]);
-
 
102
						$this->table_version[$i] = Config::get('bdd_table').''.$this->version_projet[$i];
-
 
103
					}
-
 
104
				}else {
-
 
105
					$e = 'Erreur parametre version inconnu. ';
-
 
106
					$this->renvoyerErreur(RestServeur::HTTP_CODE_MAUVAISE_REQUETE,$e);
-
 
107
				}
-
 
108
		} else {
-
 
109
			$this->obtenirDerniereVersion();
-
 
110
		}
-
 
111
		
Line -... Line 112...
-
 
112
	}
-
 
113
	
-
 
114
	private function obtenirDerniereVersion(){
-
 
115
		$this->chargerVersions();
-
 
116
		$this->version[] = $this->metadonnees[0]['version'];
-
 
117
		$this->version_projet[] ='v'.str_replace('.', '_',$this->metadonnees[0]['version']);
-
 
118
		$this->table_version[] = Config::get('bdd_table').''.$this->version_projet[0];
-
 
119
	}
-
 
120
 
-
 
121
	private function chargerVersions() {
-
 
122
		$requete = "SELECT version ".
-
 
123
							"FROM ".Config::get('bdd_table_meta')." ".
-
 
124
							"ORDER BY date_creation DESC ";
-
 
125
		$resultats = $this->Bdd->recupererTous($requete);
-
 
126
		if (!is_array($resultats) || count($resultats) <= 0) {
-
 
127
			$message = "Les méta-données n'ont pu être chargée pour la ressource demandée";
-
 
128
			$code = RestServeur::HTTP_CODE_RESSOURCE_INTROUVABLE;
-
 
129
			throw new Exception($message, $code);
-
 
130
		}
-
 
131
	 
Line 86... Line 132...
86
	
132
		$this->metadonnees = $resultats;
87
	
133
	}*/
Line 113... Line 159...
113
	}
159
	}
Line -... Line 160...
-
 
160
	
-
 
161
	
-
 
162
	
-
 
163
	
-
 
164
	/*public function verifierFormat($format) {
-
 
165
		if (in_array($format, $this->formats_supportes)) {
-
 
166
			$this->format_retour = $format;
-
 
167
		} else {
114
	
168
			$e = "Le format $format demandé n'est pas disponible.";
Line 115... Line 169...
115
	
169
			$this->renvoyerErreur(RestServeur::HTTP_CODE_MAUVAISE_REQUETE,$e);
Line 116... Line 170...
116
	
170
		}
117
	
171
	}*/
118
 
172
	
119
	
173
	
120
//+-------------------------------------------formatage résultats---------------------------------------------+
174
//+-------------------------------------------formatage résultats---------------------------------------------+
121
 
175
 
122
	public function formaterResultat($resultat) {
176
	public function formaterResultat($resultat) {
123
		$versionResultat['entete'] = $this->formaterEnteteResultat();;
177
		$versionResultat['entete'] = $this->formaterEnteteResultat();;
124
		if ($resultat == '') {
178
		if ($resultat == '') {
125
			$message = 'La requête SQL formée comporte une erreur!';
179
			$message = 'La requête SQL formée comporte une erreur!';
126
			$code = RestServeur::HTTP_CODE_MAUVAISE_REQUETE;
180
			$code = RestServeur::HTTP_CODE_MAUVAISE_REQUETE;
127
			throw new Exception($message, $code);
181
			throw new Exception($message, $code);
128
		} elseif ($resultat) {
182
		} elseif ($resultat) {
Line 150... Line 204...
150
		$chemin = config::get('donnees')."2.00/img/$fichier"; 
204
		$chemin = config::get('donnees')."2.00/img/$fichier"; 
151
		return $chemin;
205
		return $chemin;
152
	}
206
	}
Line -... Line 207...
-
 
207
	
-
 
208
 
-
 
209
	/*public function donnerVersionDuneTable($table) {
-
 
210
		$version = strstr($table,'v');
-
 
211
		$version = str_replace('v','', $version);
153
	
212
		$version = str_replace('_','.', $version);
Line 154... Line 213...
154
 
213
		return $version;
155
	
214
	}*/
156
	
215
	
157
	public function formaterEnteteResultat() {
216
	public function formaterEnteteResultat() {
Line 206... Line 265...
206
	
265
	
207
	public function delimiterResultatsRequete() {
266
	public function delimiterResultatsRequete() {
208
		$this->calculerTotalResultat();
267
		$this->calculerTotalResultat();
209
		$requete_limite = '';
268
		$requete_limite = '';
210
		if ((count($this->ressources)) == 0)  {
269
		if ((count($this->ressources)) == 0)  {
211
			if (($this->limite_requete['depart'] <=  $this->total_resultat) ){
270
			if (($this->limite_requete['depart'] <  $this->total_resultat) && 
212
				if (($this->limite_requete['limite'] + $this->limite_requete['depart'] )
271
				(($this->limite_requete['limite'] + $this->limite_requete['depart'] )
213
				 < $this->total_resultat  ) {  
272
				 < $this->total_resultat  )) {  
214
					$requete_limite = 'LIMIT '.$this->limite_requete['depart'].', '
273
					$requete_limite = 'LIMIT '.$this->limite_requete['depart'].', '
215
					.$this->limite_requete['limite'];
-
 
216
				}
-
 
217
			} else {
-
 
218
				$e = "Erreur : la valeur pour le paramètre navigation.départ est supérieure".
-
 
219
				" au nombre total de résultats.";
-
 
220
				throw new Exception($e, RestServeur::HTTP_CODE_RESSOURCE_INTROUVABLE);
274
					.$this->limite_requete['limite'];
221
			}
275
			} 
222
		}
276
		}
223
		return $requete_limite;
277
		return $requete_limite;
Line 224... Line 278...
224
	}
278
	}