Subversion Repositories eFlore/Projets.eflore-projets

Rev

Rev 609 | Rev 767 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 609 Rev 654
Line 45... Line 45...
45
	private static $tri_type = '';
45
	private static $tri_type = '';
Line 46... Line 46...
46
 
46
 
47
	public function __construct($config = null) {
47
	public function __construct($config = null) {
48
		$this->config = is_null($config) ? Config::get($this->serviceNom) : $config;
48
		$this->config = is_null($config) ? Config::get($this->serviceNom) : $config;
49
	}
49
	}
50
	
50
 
51
	public function consulter($ressources, $parametres) {
51
	public function consulter($ressources, $parametres) {
52
		$this->ressources = $ressources;
52
		$this->ressources = $ressources;
53
		$this->parametres = $parametres;
53
		$this->parametres = $parametres;
Line 59... Line 59...
59
		$resultats = '';
59
		$resultats = '';
60
		foreach ($this->table_version as $version) {
60
		foreach ($this->table_version as $version) {
61
			$this->table = $version; //on stocke le nom de la table correspondant à la version du projet en cours
61
			$this->table = $version; //on stocke le nom de la table correspondant à la version du projet en cours
62
			$this->recupererNomChamp($this->table); //on récupère les noms des champs disponibles (Ds Commun.php)
62
			$this->recupererNomChamp($this->table); //on récupère les noms des champs disponibles (Ds Commun.php)
63
			$this->traiterRessources(); //dans CommunNomsTaxons.php
63
			$this->traiterRessources(); //dans CommunNomsTaxons.php
64
			$requete = $this->assemblerLaRequete();
64
			$requete = $this->assemblerLaRequete();// dans Noms ou Taxons...
65
			$resultat = $this->getBdd()->recupererTous($requete);
65
			$resultat = $this->getBdd()->recupererTous($requete);
66
			$versionResultat = $this->traiterResultat($resultat, $version, $requete);
66
			$versionResultat = $this->traiterResultat($resultat, $version, $requete);
67
			if (count($this->table_version) > 1) {
67
			if (count($this->table_version) > 1) {
68
				$resultats[$version] = $versionResultat;
68
				$resultats[$version] = $versionResultat;
69
			} else {
69
			} else {
Line 76... Line 76...
76
 
76
 
77
	private function chargerNomDuService() {
77
	private function chargerNomDuService() {
78
		$this->serviceNom = get_class($this);
78
		$this->serviceNom = get_class($this);
Line 79... Line 79...
79
	}
79
	}
80
 
80
 
81
		public function traiterResultat($resultat, $version) {
81
	public function traiterResultat($resultat, $version) {
82
		$versionResultat = null;
82
		$versionResultat = null;
83
		if ($resultat == '') {
83
		if ($resultat == '') {
84
			//cas ou la requete comporte des erreurs
84
			//cas ou la requete comporte des erreurs
Line 220... Line 220...
220
				$this->limite_requete['limite'] = $valeur;
220
				$this->limite_requete['limite'] = $valeur;
221
			} else {
221
			} else {
222
				$e = "Erreur : valeur erronnée pour le paramètre navigation.limite.";
222
				$e = "Erreur : valeur erronnée pour le paramètre navigation.limite.";
223
				throw new Exception($e, RestServeur::HTTP_CODE_MAUVAISE_REQUETE);
223
				throw new Exception($e, RestServeur::HTTP_CODE_MAUVAISE_REQUETE);
224
			}
224
			}
225
		} 
225
		}
226
	}
226
	}
227
	
227
 
228
	public function definirNavigationDepart($valeur){
228
	public function definirNavigationDepart($valeur){
229
		if (isset($this->parametres['navigation.depart'])) {
229
		if (isset($this->parametres['navigation.depart'])) {
230
			if(preg_match('/^([0-9]+)$/', $valeur)){
230
			if(preg_match('/^([0-9]+)$/', $valeur)){
231
				$this->limite_requete['depart'] = $valeur;
231
				$this->limite_requete['depart'] = $valeur;
232
			} else {
232
			} else {
Line 321... Line 321...
321
		if ($dureecache == null || !is_numeric($dureecache) || $dureecache < 0) {
321
		if ($dureecache == null || !is_numeric($dureecache) || $dureecache < 0) {
322
			$dureecache = 0;
322
			$dureecache = 0;
323
		}
323
		}
324
		return (int) $dureecache;
324
		return (int) $dureecache;
325
	}
325
	}
326
	
326
 
327
	public function ajouterHref($service, $val) {
327
	public function ajouterHref($service, $val) {
328
		// http://tela-botanica.org/service:eflore:0.1/[projet]/[version_projet]/[service]/[ressource]:[valeur]
328
		// http://tela-botanica.org/service:eflore:0.1/[projet]/[version_projet]/[service]/[ressource]:[valeur]
329
		if ($this->version_projet == '+') {
329
		if ($this->version_projet == '+') {
330
			$url = Config::get('url_service_base').Config::get('nom_projet').'/'.$service.'/'.$val;
330
			$url = Config::get('url_service_base').Config::get('nom_projet').'/'.$service.'/'.$val;
331
		} else {
331
		} else {