28,6 → 28,7 |
$this->conteneur = $conteneur == null ? new Conteneur() : $conteneur; |
$this->conteneur->chargerConfiguration('config_votes.ini'); |
$this->conteneur->chargerConfiguration('config_mapping_votes.ini'); |
$this->conteneur->chargerConfiguration('config_mapping_commentaires.ini'); |
$this->gestionBdd = $conteneur->getGestionBdd(); |
$this->bdd = $this->gestionBdd->getBdd(); |
} |
67,6 → 68,7 |
private function configurer($ressources) { |
$this->mappingObservation = $this->conteneur->getParametre('mapping_observation'); |
$this->mappingVotes = $this->conteneur->getParametre('mapping_votes'); |
$this->mappingCommentaire = $this->conteneur->getParametre('mapping_commentaire'); |
if (empty($ressources) || sizeof($ressources) > 1 ) { |
$e = 'Le service observation accepete 1 et 1 seule ressource'; |
throw new Exception($e, RestServeur::HTTP_CODE_ERREUR); |
108,6 → 110,17 |
} |
} |
|
if (empty($this->mappingCommentaire)) { |
$erreurs[] = '- le fichier de configuration ne contient pas le tableau [mapping_commentaire] ou celui-ci est vide ;'; |
} else { |
$champsMappingCom = array('id_commentaire', 'texte', 'ce_utilisateur', 'utilisateur_nom', 'utilisateur_prenom', 'utilisateur_courriel', 'date'); |
foreach ($champsMappingCom as $champ) { |
if (!isset($this->mappingCommentaire[$champ])) { |
$erreurs[] = '- le mapping du champ "'.$champ.'" pour le commentaire est manquant ;'; |
} |
} |
} |
|
if (!empty($erreurs)) { |
$e = 'Erreur lors de la configuration : '."\n"; |
$e .= implode("\n", $erreurs); |
213,6 → 226,7 |
|
$commentaires_formates = array(); |
foreach ($commentaires as $commentaire) { |
$commentaire = $this->formaterCommentaire($commentaire); |
if ($commentaire['nom_sel'] != null) { |
$commentaire['votes'] = $this->chargerVotes($commentaire['id_commentaire']); |
} |
230,7 → 244,8 |
$resultatsVotes = $this->bdd->recupererTous($requeteVotes); |
$votes = array(); |
foreach ($resultatsVotes as $vote) { |
$votes[$vote['id_vote']] = $this->formaterVotes($vote); |
$id_vote = $vote['id_vote']; |
$votes[$id_vote] = $this->formaterVote($vote); |
} |
return $votes; |
} |
298,10 → 313,22 |
} |
|
/** |
* |
* Formate un commentaire en fonction du fichier de configuration |
*/ |
private function formaterCommentaire($commentaire) { |
$commentaire_formate = array(); |
foreach ($this->mappingCommentaire as $nomOriginal => $nomFinal) { |
$commentaire_formate[$nomFinal] = $commentaire[$nomOriginal]; |
} |
return $commentaire_formate; |
} |
|
/** |
* Formater un vote en fonction du fichier de configuration config_votes.ini |
* @param $votes array() |
* */ |
private function formaterVotes($vote) { |
private function formaterVote($vote) { |
$retour = array(); |
foreach ($vote as $param => $valeur) { |
$retour[$this->mappingVotes[$param]] = $valeur; |