Subversion Repositories eFlore/Projets.eflore-projets

Rev

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

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