163 |
jpm |
1 |
<?php
|
|
|
2 |
class Versions {
|
|
|
3 |
private $parametres = null;
|
|
|
4 |
private $projet = null;
|
|
|
5 |
private $versions = array();
|
|
|
6 |
|
|
|
7 |
public function __construct(AnalyseurParametres $parametres, $projetNom) {
|
|
|
8 |
$this->parametres = $parametres;
|
|
|
9 |
$this->projet = $projet;
|
|
|
10 |
}
|
|
|
11 |
|
|
|
12 |
private function getVersion() {
|
|
|
13 |
$version = $this->parametres->getVersionProjet();
|
|
|
14 |
$versionBdd = '';
|
|
|
15 |
if ($version == '+') {
|
|
|
16 |
$versionBdd = Config::get('Versions.derniere');
|
|
|
17 |
} else if (is_numeric($version)) {
|
|
|
18 |
$versionBdd = str_replace('.', '_', $version);
|
|
|
19 |
} else if ($version == '*') {
|
|
|
20 |
$message = "La version du projet ne peut valoir * pour cette ressource.";
|
|
|
21 |
$code = RestServeur::HTTP_CODE_MAUVAISE_REQUETE;
|
|
|
22 |
throw new Exception($message, $code);
|
|
|
23 |
}
|
|
|
24 |
return $versionBdd;
|
|
|
25 |
}
|
|
|
26 |
|
|
|
27 |
public function chargerVersionsDisponibles() {
|
|
|
28 |
$tableMeta = $this->projetNom.'_meta';
|
|
|
29 |
$req_version = "SELECT version FROM $tableMeta";
|
|
|
30 |
$res_version = $this->getBdd()->recupererTous($req_version);
|
|
|
31 |
if ($res_version == '') {
|
|
|
32 |
//cas ou la requete comporte des erreurs
|
|
|
33 |
$e = "La requête SQL de versionnage formée comporte une erreur : $req_version";
|
|
|
34 |
$this->renvoyerErreur(RestServeur::HTTP_CODE_RESSOURCE_INTROUVABLE, $e);
|
|
|
35 |
} elseif ($res_version) {
|
|
|
36 |
foreach ($res_version as $version) {
|
|
|
37 |
$versions_dispo[] = $version['version'];
|
|
|
38 |
}
|
|
|
39 |
} else {
|
|
|
40 |
$m = 'Versions introuvables dans la table des méta-données';
|
|
|
41 |
$this->renvoyerErreur(RestServeur::HTTP_CODE_RESSOURCE_INTROUVABLE, $m);
|
|
|
42 |
}
|
|
|
43 |
return $versions_dispo;
|
|
|
44 |
}
|
|
|
45 |
|
|
|
46 |
}
|
|
|
47 |
?>
|