/trunk/services/modules/0.1/bdtfx/CommunNomsTaxons.php |
---|
154,30 → 154,7 |
//+-------------------------------Fonctions d'analyse des ressources-----------------------------------------+ |
public function traiterVersionProjet() { |
if (isset($this->ressources) && count($this->ressources) > 0) { |
if (preg_match('/^(?:v[0-9]+[._][0-9]+|[*]|[+]|%2B| )$/', $this->ressources[0])) { |
$this->version_projet = array_shift($this->ressources); |
if (preg_match('/^(v[0-9]+[._][0-9]+)$/', $this->version_projet, $match)) { |
$this->version_projet = str_replace('.', '_', $match[1]); |
} else if (preg_match('/^(?:[+]|%2B| )$/', $this->version_projet)) { |
$this->version_projet = '+'; |
} else if (preg_match('/^(?:[*]|%2A)$/', $this->version_projet)) { |
$this->version_projet = '*'; |
} |
} else { |
$this->version_projet = '+'; |
} |
} |
//L'affichage de plusieurs versions ne fonctionne que pour les ressources de type /ressources/#id |
if ($this->version_projet == '*' && $this->etreRessourceId() == false ) { |
$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); |
} |
$table_num_version = $this->recupererVersionDisponible(); |
$this->recupererListeNomTablePrChaqueVersion($table_num_version); |
} |
private function etreRessourceId() { |
$ok = false; |
/trunk/services/modules/0.1/commun/Commun.php |
---|
143,12 → 143,10 |
* @param $ressources |
*/ |
public function traiterVersionProjet() { |
if (isset($this->parametres['version'])) { |
if (preg_match('/(?:v[0-9]+(?:(?:_|[.])[0-9]+)?|[*])/', $this->parametres['version'])) { |
$this->version_projet = $this->parametres['version']; |
if (isset($this->parametres['version.projet'])) { |
if (preg_match('/(?:v[0-9]+(?:(?:_|[.])[0-9]+)?|[*])/', $this->parametres['version.projet'])) { |
$this->version_projet = $this->parametres['version.projet']; |
$this->version_projet = str_replace('.', '_', $this->version_projet); |
} else { |
$this->version_projet = '+'; |
} |
} |
//si la liste des noms est demandée pr toutes les versions, on affiche seulement la dernière version : |
290,7 → 288,7 |
if ($this->version_projet == '+') { |
$url = Config::get('url_service_base').Config::get('nom_projet').'/'.$service.'/'.$val; |
} else { |
$url = Config::get('url_service_base').Config::get('nom_projet').'/'.$this->version_projet.'/'.$service.'/'.$val; |
$url = Config::get('url_service_base').Config::get('nom_projet').'/'.$service.'/'.$val.'?version.projet='.$this->version_projet; |
} |
return $url; |
} |
314,7 → 312,12 |
$ressource = ''; |
} |
} |
$param = ($param) ? "?$param" : ""; |
if (isset($this->parametres['version.projet'])) { |
$param = ($param) ? "?version.projet=".$this->parametres['version.projet']."&".$param : "?".$this->parametres['version.projet']; |
} else { |
$param = ($param) ? "?".$param : ""; |
} |
$url = Config::get('url_service_base').$projet.'/'.$service.'/'.$ressource.$valeur.$param; |
return $url; |
} |