Subversion Repositories eFlore/Applications.del

Compare Revisions

Ignore whitespace Rev 949 → Rev 950

/trunk/services/modules/0.1/observations/Observation.php
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;