Subversion Repositories eFlore/Projets.eflore-projets

Rev

Go to most recent revision | Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
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
?>