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)) { |