Subversion Repositories eFlore/Projets.eflore-projets

Rev

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

Rev 88 Rev 92
Line 142... Line 142...
142
	 * Permet de remplir la variable version_projet et de retirer cette donnée du tableau des ressources
142
	 * Permet de remplir la variable version_projet et de retirer cette donnée du tableau des ressources
143
	 * @param $ressources
143
	 * @param $ressources
144
	 */
144
	 */
145
	public function traiterVersionProjet() {
145
	public function traiterVersionProjet() {
146
		if (isset($this->parametres['version.projet'])) {
146
		if (isset($this->parametres['version.projet'])) {
147
			if (preg_match('/(?:v[0-9]+(?:(?:_|[.])[0-9]+)?|[*])/', $this->parametres['version.projet'])) {
147
			if (preg_match('/^[0-9]+(?:[._][0-9]+|)$/', $this->parametres['version.projet'])) {
-
 
148
				$this->version_projet = $this->parametres['version.projet'];
-
 
149
				$this->version_projet = 'v'.str_replace('.', '_', $this->version_projet);
-
 
150
			} else  {
148
				$this->version_projet = $this->parametres['version.projet'];
151
				$this->version_projet = $this->parametres['version.projet'];
149
				$this->version_projet = str_replace('.', '_', $this->version_projet);
-
 
150
			}
152
			}
151
		}
153
		}
152
		//si la liste des noms est demandée pr toutes les versions, on affiche seulement la dernière version :
154
		//si la liste des noms est demandée pr toutes les versions, on affiche seulement la dernière version :
153
		if ($this->version_projet == '*' && $this->ressources == array()) {
155
		if ($this->version_projet == '*' && $this->ressources == array()) {
-
 
156
			$message = "L'affichage de plusieurs versions ne fonctionne que pour les ressources de type /ressources/#id";
-
 
157
			$code = RestServeur::HTTP_CODE_MAUVAISE_REQUETE;
154
			$this->version_projet = '+';
158
			throw new Exception($message, $code);
155
		}
159
		}
156
		//on recupère les versions du projet disponible dans la table des meta-donnees (utilisation service MetaDonnees)
160
		//on recupère les versions du projet disponible dans la table des meta-donnees (utilisation service MetaDonnees)
157
		$table_num_version = $this->recupererVersionDisponible();
161
		$table_num_version = $this->recupererVersionDisponible();
158
		//on recupere la liste des noms des tables de la bdd correspondant aux differentes versions du projet en fct de la ou les versions demandées
162
		//on recupere la liste des noms des tables de la bdd correspondant aux differentes versions du projet en fct de la ou les versions demandées
159
		$this->recupererListeNomTablePrChaqueVersion($table_num_version);
163
		$this->recupererListeNomTablePrChaqueVersion($table_num_version);