Subversion Repositories eFlore/Applications.eflore-consultation

Compare Revisions

Ignore whitespace Rev 1114 → Rev 1115

/trunk/metier/api_0.1/Eflore.php
17,9 → 17,12
const RANG_FAMILLE = 180;
const RANG_GENRE = 220;
const RANG_ESPECE = 290;
const API_EFLORE = '';
const API_DEL = 'del';
 
private $entete = null;
private $projet = null;
private $api = null;
 
public function __construct($projet = null) {
$this->projet = Registre::get('parametres.referentiel');
26,8 → 29,18
if (!is_null($projet)) {
$this->projet = $projet;
}
$this->api = self::API_EFLORE;
}
 
public function setApi($api) {
$this->api = $api;
return $this;
}
 
public function getApi() {
return $this->api;
}
 
public function setProjet($projet) {
$this->projet = $projet;
}
41,6 → 54,26
}
 
/**
* Récupère un squelette d'URL dans le fichier de configuration, en fonction de l'API spécifiée dans $this->api
*
* @param string $squelette squelette d'URL à chercher dans le fichier de config, sans le préfixe d'API
* @param string $api forcer l'API, false par défaut pour utiliser l'API spécifié dans $this->api (utiliser les constantes)
* @throws Exception si la clef générée n'est pas présente dans le fichier de configuration
*/
protected function obtenirSqueletteSelonApi($squelette) {
$api = $this->api;
if ($api != '') {
$squelette = ucfirst($squelette);
}
$clef = $api . $squelette . 'Tpl';
if (Config::existe($clef)) {
return Config::get($clef);
} else {
throw new Exception("Squelette indisponible pour l'API spécifiée");
}
}
 
/**
* Formate une url à partir d'un template contenant des paramètres à remplacer sous la forme {monParametre}.
* Le tableau associatif de paramètres doit contenir en clé le paramêtre (monParametre) sans les accolades,
* la valeur correspondante sera la valeur de remplacement.
49,7 → 82,7
*
* @param String $tpl le squelette d'url à formater.
* @param Array $parametres le tableau de parametres (sans accolades pour les clés).*/
protected function formaterUrl($tpl, Array $parametres) {
public function formaterUrl($tpl, Array $parametres) {
$parametres = $this->ajouterParametreParDefaut($parametres);
foreach($parametres as $key=> $value) {
if(is_array($value)) {