New file |
0,0 → 1,47 |
<?php |
class Versions { |
private $parametres = null; |
private $projet = null; |
private $versions = array(); |
|
public function __construct(AnalyseurParametres $parametres, $projetNom) { |
$this->parametres = $parametres; |
$this->projet = $projet; |
} |
|
private function getVersion() { |
$version = $this->parametres->getVersionProjet(); |
$versionBdd = ''; |
if ($version == '+') { |
$versionBdd = Config::get('Versions.derniere'); |
} else if (is_numeric($version)) { |
$versionBdd = str_replace('.', '_', $version); |
} else if ($version == '*') { |
$message = "La version du projet ne peut valoir * pour cette ressource."; |
$code = RestServeur::HTTP_CODE_MAUVAISE_REQUETE; |
throw new Exception($message, $code); |
} |
return $versionBdd; |
} |
|
public function chargerVersionsDisponibles() { |
$tableMeta = $this->projetNom.'_meta'; |
$req_version = "SELECT version FROM $tableMeta"; |
$res_version = $this->getBdd()->recupererTous($req_version); |
if ($res_version == '') { |
//cas ou la requete comporte des erreurs |
$e = "La requête SQL de versionnage formée comporte une erreur : $req_version"; |
$this->renvoyerErreur(RestServeur::HTTP_CODE_RESSOURCE_INTROUVABLE, $e); |
} elseif ($res_version) { |
foreach ($res_version as $version) { |
$versions_dispo[] = $version['version']; |
} |
} else { |
$m = 'Versions introuvables dans la table des méta-données'; |
$this->renvoyerErreur(RestServeur::HTTP_CODE_RESSOURCE_INTROUVABLE, $m); |
} |
return $versions_dispo; |
} |
|
} |
?> |