Subversion Repositories eFlore/Applications.del

Compare Revisions

Ignore whitespace Rev 943 → Rev 950

/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;