Subversion Repositories eFlore/Projets.eflore-projets

Compare Revisions

Ignore whitespace Rev 69 → Rev 81

/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;
}
/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;