24,13 → 24,11 |
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 |
45,7 → 43,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); |
77,60 → 75,6 |
} |
|
/** |
* 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 |
* */ |
145,15 → 89,14 |
$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)); |
if (isset($masquesPossibles[$champ])) { |
$this->masque[$champ] = $parametre; |
} |
} |
} |
} |
|
/** |
* Créer la chaine de limite de requête en fonction des paramètres donnés |