54,7 → 54,6 |
$observations = $this->chargerObservations($liaisons); |
$observations = $this->chargerImages($observations); |
$observations = $this->chargerDeterminations($observations); |
$observations = $this->chargerNombreCommentaire($observations); |
|
// Mettre en forme le résultat et l'envoyer pour affichage |
$resultat = new ResultatService(); |
286,28 → 285,52 |
$requetePropositions = 'SELECT * FROM '.$this->gestionBdd->formaterTable('del_commentaire', 'dc'). |
'WHERE dc.nom_sel IS NOT NULL AND ce_observation = '.$observation['id_observation']; |
$propositions = $this->bdd->recupererTous($requetePropositions); |
$observations[$id]['propositions'] = $propositions; |
$observations[$id]['propositions'] = $this->formaterDeterminations($propositions); |
} |
return $observations; |
} |
|
private function formaterDeterminations($propositions) { |
$propositions_format = array(); |
if ($propositions != array()) { |
foreach ($propositions as $id => $proposition) { |
$propositions_format[$proposition['id_commentaire']] = $proposition; |
$ids_proposition[] = $proposition['id_commentaire']; |
} |
$propositions_format = $this->chargerVotes($ids_proposition, $propositions_format); |
$propositions_format = $this->chargerNombreCommentaire($ids_proposition, $propositions_format); |
} |
return $propositions_format; |
} |
/** |
* Charger les votes sur les déterminations |
* @param Array $observations le tableau des observatins à mettre à jour |
* */ |
private function chargerVotes($ids_proposition, $propositions) { |
$requeteVotes = 'SELECT * FROM '. |
$this->gestionBdd->formaterTable('del_commentaire_vote'). |
'WHERE ce_proposition IN ('.implode(', ', $ids_proposition).')'; |
|
$resultatsVotes = $this->bdd->recupererTous($requeteVotes); |
foreach ($resultatsVotes as $vote) { |
$propositions[$vote['ce_proposition']]['votes'][] = $vote; |
} |
return $propositions; |
} |
|
/** |
* Charger le nombre de commentaires (sans détermination) associé à l'observation |
* @param Array $observations le tableau des observatins à mettre à jour |
* */ |
private function chargerNombreCommentaire($observations) { |
foreach ($observations as $id => $observation) { |
$requeteNbCommentaires = 'SELECT COUNT('.$this->proteger('id_commentaire').') as nb '. |
'FROM '.$this->gestionBdd->formaterTable('del_commentaire'). |
'WHERE ce_observation = '.$observation['id_observation'].' '. |
'AND nom_sel IS NULL'; |
$nbCommentaires = $this->bdd->recuperer($requeteNbCommentaires); |
$observations[$id]['commentaires'] = (int) $nbCommentaires['nb']; |
private function chargerNombreCommentaire($ids_proposition, $propositions) { |
$requeteNbCommentaires = 'SELECT ce_proposition, COUNT('.$this->proteger('id_commentaire').') as nb '. |
'FROM '.$this->gestionBdd->formaterTable('del_commentaire'). |
'WHERE ce_proposition IN ('.implode(', ', $ids_proposition).')'; |
$nbCommentaires = $this->bdd->recuperer($requeteNbCommentaires); |
foreach ($nbCommentaires as $vote) { |
$propositions[$vote['ce_proposition']]['commentaires']= $vote; |
} |
return $observations; |
|
|
|
return $propositions; |
} |
|
/*------------------------------------------------------------------------------- |