Subversion Repositories eFlore/Applications.del

Compare Revisions

Ignore whitespace Rev 709 → Rev 710

/trunk/services/modules/0.1/del/Images.php
24,11 → 24,13
private $limite = 10;
private $total; // Le nombre total d'images
private $masque = array(); //Enregistrer les paramètres du masque
private $masquesPossibles = array('famille', 'genre', 'ns', 'nn', 'auteur', 'date', 'commune', 'departement', 'tag');
private $imageIds = array();
private $UrlNavigation;
private $mappingFiltre;
private $mappingObservation;
/**
* Méthode principale de la classe.
* Lance la récupération des images dans la base et les place dans un objet ResultatService
43,7 → 45,7
// voir les paramètres par défaut
// vérifier les valeurs (voir try catch JP)
$this->configurer();
//$this->verifierConfiguration();
$this->schemaBdd = $this->config['schemaBdd'];
$this->UrlNavigation = new Url($this->config['url_service']);
$this->UrlNavigation->setOption(Url::OPTION_ENCODER_VALEURS, true);
75,6 → 77,60
}
/**
* Vérifier que le service est bien configuré
* */
public function verifierConfiguration() {
$erreurs = array();
if (empty($this->config)) {
$erreurs[] = '- le fichier de configuration ne contient pas le tableau [images] ou celui-ci est vide ;';
} else {
if (!isset($this->config['url_service'])) {
$erreurs[] = '- paramètre "url_service" manquant ;';
}
if (!isset($this->config['url_images'])) {
$erreurs[] = '- paramètre "url_images" manquant ;';
}
if (!isset($this->config['schemaBdd'])) {
$erreurs[] = '- paramètre "schemaBdd" manquant ;';
}
}
 
if (empty($this->mappingObservation)) {
$erreurs[] = '- le fichier de configuration ne contient pas le tableau [mapping_observation] ou celui-ci est vide ;';
} else {
$champsMappingObs = array('id_observation', 'date_observation', 'date_transmission', 'famille', 'nom_sel', 'nom_sel_nn', 'nt',
'ce_zone_geo', 'lieudit', 'station', 'milieu', 'ce_utilisateur', 'nom', 'prenom');
foreach ($champsMappingObs as $champ) {
if (!isset($this->mappingObservation[$champ])) {
$erreurs[] = '- le mapping du champ "'.$champ.'" pour l\'observation est manquant ;';
}
}
}
if (empty($this->mappingFiltre)) {
$erreurs[] = '- le fichier de configuration ne contient pas le tableau [mapping_masque] ou celui-ci est vide ;';
} else {
$champsMappingFiltre = array('famille', 'ns', 'nn', 'date', 'tag', 'commune');
foreach ($champsMappingFiltre as $champ) {
if (!isset($this->mappingFiltre[$champ])) {
$erreurs[] = '- le mapping du champ "'.$champ.'" pour l\'observation est manquant ;';
}
}
}
if (!empty($erreurs)) {
$e = 'Erreur lors de la configuration : '."\n";
$e .= implode("\n", $erreurs);
$this->renvoyerErreur(RestServeur::HTTP_CODE_ERREUR, $e);
}
}
/**
* Gestion des paramètres de l'application pour stockage dans variable de classe
* @param array $parametres les paramètres tels que passés à la méthode consulter
* */
89,11 → 145,12
$this->limite = $this->parametres['navigation.limite'];
}
// TODO : voir méthode gérer Masque pour gérer les spécificités de chaque paramètre
foreach ($parametres as $id => $parametre) {
if (strpos($id, 'masque.') === 0) {
$champ = substr($id, 7, strlen($id));
$this->masque[$champ] = $parametre;
$champ = substr($id, 7, strlen($id));
if (isset($masquesPossibles[$champ])) {
$this->masque[$champ] = $parametre;
}
}
}
}
125,7 → 182,7
// TODO : vérifier les communes et les communes avec une apostrophe
foreach($this->masque as $idMasque => $valeurMasque) {
switch ($idMasque) {
// nom du masque => nom BDD
case 'auteur' :
/trunk/services/configurations/config_del.ini
7,8 → 7,6
; URL de base des services de ce projet
url_service="{ref:url_base}del/services/0.1/projets/del/images"
url_images= "http://www.tela-botanica.org/appli:cel-img:%sXL.jpg";
; URL de l'ontologie des bdnt
url_ontologie="{ref:url_base}service:eflore:0.1/bdnt/ontologies/"
; Nom de la base utilisée.
schemaBdd = "del"