/trunk/services/configurations/config_mapping_commentaires.ini |
---|
New file |
0,0 → 1,12 |
; +------------------------------------------------------------------------------------------------------+ |
[mapping_commentaire] |
id_commentaire = "id_commentaire" |
ce_observation = "observation" |
ce_proposition = "proposition" |
ce_utilisateur = "auteur.id" |
texte = "texte" |
utilisateur_nom = "auteur.nom" |
utilisateur_prenom = "auteur.prenom" |
utilisateur_courriel = "auteur.courriel" |
date = "date" |
nom_sel = "nom_sel" |
/trunk/services/configurations/config_commentaires.ini |
---|
16,18 → 16,6 |
[mapping_service] |
votes = "votes-image" |
[mapping_commentaire] |
id_commentaire = "id_commentaire" |
ce_observation = "observation" |
ce_proposition = "proposition" |
ce_utilisateur = "auteur.id" |
texte = "texte" |
utilisateur_nom = "auteur.nom" |
utilisateur_prenom = "auteur.prenom" |
utilisateur_courriel = "auteur.courriel" |
date = "date" |
nom_sel = "nom_sel" |
[mapping_masque] |
observation = "ce_observation" |
/trunk/services/modules/0.1/commentaires/ListeCommentaires.php |
---|
28,6 → 28,7 |
public function __construct(Conteneur $conteneur = null) { |
$this->conteneur = $conteneur == null ? new Conteneur() : $conteneur; |
$this->conteneur->chargerConfiguration('config_commentaires.ini'); |
$this->conteneur->chargerConfiguration('config_mapping_commentaires.ini'); |
$this->navigation = $conteneur->getNavigation(); |
$this->masque = $conteneur->getMasque(); |
$this->gestionBdd = $conteneur->getGestionBdd(); |
/trunk/services/modules/0.1/commentaires/SupprimerCommentaire.php |
---|
31,6 → 31,7 |
public function __construct(Conteneur $conteneur = null) { |
$this->conteneur = $conteneur == null ? new Conteneur() : $conteneur; |
$this->conteneur->chargerConfiguration('config_commentaires.ini'); |
$this->conteneur->chargerConfiguration('config_mapping_commentaires.ini'); |
$this->navigation = $conteneur->getNavigation(); |
$this->masque = $conteneur->getMasque(); |
$this->gestionBdd = $conteneur->getGestionBdd(); |
/trunk/services/modules/0.1/commentaires/AjouterCommentaire.php |
---|
30,6 → 30,7 |
public function __construct(Conteneur $conteneur = null) { |
$this->conteneur = $conteneur == null ? new Conteneur() : $conteneur; |
$this->conteneur->chargerConfiguration('config_commentaires.ini'); |
$this->conteneur->chargerConfiguration('config_mapping_commentaires.ini'); |
$this->navigation = $conteneur->getNavigation(); |
$this->masque = $conteneur->getMasque(); |
$this->gestionBdd = $conteneur->getGestionBdd(); |
82,7 → 83,18 |
* */ |
public function verifierConfiguration() { |
$erreurs = array(); |
$erreurs = array(); |
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 ;'; |
} |
} |
} |
$parametresPossibles = array('observation', 'proposition', 'id_parent', 'texte', 'auteur.id', |
'auteur.prenom', 'auteur.nom', 'auteur.courriel', 'nom_sel', |
/trunk/services/modules/0.1/commentaires/ConsulterCommentaire.php |
---|
29,6 → 29,7 |
public function __construct(Conteneur $conteneur = null) { |
$this->conteneur = $conteneur == null ? new Conteneur() : $conteneur; |
$this->conteneur->chargerConfiguration('config_commentaires.ini'); |
$this->conteneur->chargerConfiguration('config_mapping_commentaires.ini'); |
$this->navigation = $conteneur->getNavigation(); |
$this->masque = $conteneur->getMasque(); |
$this->gestionBdd = $conteneur->getGestionBdd(); |
/trunk/services/modules/0.1/observations/ListeObservations.php |
---|
33,6 → 33,7 |
$this->conteneur->chargerConfiguration('config_departements_bruts.ini'); |
$this->conteneur->chargerConfiguration('config_observations.ini'); |
$this->conteneur->chargerConfiguration('config_mapping_votes.ini'); |
$this->conteneur->chargerConfiguration('config_mapping_commentaires.ini'); |
$this->navigation = $conteneur->getNavigation(); |
$this->masque = $conteneur->getMasque(); |
$this->gestionBdd = $conteneur->getGestionBdd(); |
110,6 → 111,7 |
$this->mappingFiltre = $this->conteneur->getParametre('mapping_masque'); |
$this->mappingObservation = $this->conteneur->getParametre('mapping_observation'); |
$this->mappingVotes = $this->conteneur->getParametre('mapping_votes'); |
$this->mappingCommentaire = $this->conteneur->getParametre('mapping_commentaire'); |
} |
/** |
145,6 → 147,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($this->mappingFiltre)) { |
$erreurs[] = '- le fichier de configuration ne contient pas le tableau [mapping_masque] ou celui-ci est vide ;'; |
} else { |
447,22 → 460,6 |
return $observations; |
} |
private function formaterDeterminations($listePropositions) { |
$propositions_format = array(); |
if ($listePropositions != array()) { |
foreach ($listePropositions as $id => $proposition) { |
$propositions_format[$proposition['id_commentaire']] = $proposition; |
$propositions_format[$proposition['id_commentaire']]['nb_commentaires'] = "0"; |
$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 observations à mettre à jour |
474,7 → 471,7 |
$resultatsVotes = $this->bdd->recupererTous($requeteVotes); |
foreach ($resultatsVotes as $vote) { |
$propositions[$vote['ce_proposition']]['votes'][$vote['id_vote']] = $this->formaterVotes($vote); |
$propositions[$vote['ce_proposition']]['votes'][$vote['id_vote']] = $this->formaterVote($vote); |
} |
return $propositions; |
} |
540,7 → 537,6 |
return $observation; |
} |
/** |
* Formater le lien de l'image en fonction du fichier de config et de l'identifiant de l'image |
* */ |
552,10 → 548,35 |
} |
/** |
* |
* Formate une liste de proposition en fonction du fichier de configuration |
*/ |
private function formaterDeterminations($listePropositions) { |
$propositions_format = array(); |
if ($listePropositions != array()) { |
foreach ($listePropositions as $id => $proposition) { |
$ids_proposition[] = $proposition['id_commentaire']; |
$proposition_formatee = array('nb_commentaires' => "0"); |
foreach ($this->mappingCommentaire as $nomOriginal => $nomFinal) { |
$proposition_formatee[$nomFinal] = $proposition[$nomOriginal]; |
} |
$propositions_format[$proposition['id_commentaire']] = $proposition_formatee; |
} |
$propositions_format = $this->chargerVotes($ids_proposition, $propositions_format); |
$propositions_format = $this->chargerNombreCommentaire($ids_proposition, $propositions_format); |
} |
return $propositions_format; |
} |
/** |
* 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; |
/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; |