144,14 → 144,18 |
*/ |
public function traiterVersionProjet() { |
if (isset($this->parametres['version.projet'])) { |
if (preg_match('/(?:v[0-9]+(?:(?:_|[.])[0-9]+)?|[*])/', $this->parametres['version.projet'])) { |
if (preg_match('/^[0-9]+(?:[._][0-9]+|)$/', $this->parametres['version.projet'])) { |
$this->version_projet = $this->parametres['version.projet']; |
$this->version_projet = str_replace('.', '_', $this->version_projet); |
$this->version_projet = 'v'.str_replace('.', '_', $this->version_projet); |
} else { |
$this->version_projet = $this->parametres['version.projet']; |
} |
} |
//si la liste des noms est demandée pr toutes les versions, on affiche seulement la dernière version : |
if ($this->version_projet == '*' && $this->ressources == array()) { |
$this->version_projet = '+'; |
$message = "L'affichage de plusieurs versions ne fonctionne que pour les ressources de type /ressources/#id"; |
$code = RestServeur::HTTP_CODE_MAUVAISE_REQUETE; |
throw new Exception($message, $code); |
} |
//on recupère les versions du projet disponible dans la table des meta-donnees (utilisation service MetaDonnees) |
$table_num_version = $this->recupererVersionDisponible(); |