Subversion Repositories eFlore/Applications.del

Compare Revisions

Ignore whitespace Rev 1611 → Rev 1612

/trunk/services/modules/0.1/observations/VoteObservation.php
54,15 → 54,16
}
 
private function chargerVotes($id_commentaire) {
$requeteVotes = 'SELECT * FROM '.
$this->gestionBdd->formaterTable('del_commentaire_vote').
'WHERE ce_proposition = '.$this->proteger($id_commentaire);
$id_commentaire = $this->proteger($id_commentaire);
$requeteVotes = 'SELECT * '.
'FROM del_commentaire_vote '.
"WHERE ce_proposition = $id_commentaire ";
$resultatsVotes = $this->bdd->recupererTous($requeteVotes);
$votes = array();
foreach ($resultatsVotes as $vote) {
$votes[$vote['id_vote']] = $this->formaterVotes($vote);
$utilisateur = $this->chercherUtilisateur($vote['ce_utilisateur']);
if($utilisateur) {
if ($utilisateur) {
$votes[$vote['id_vote']] = array_merge($votes[$vote['id_vote']], $utilisateur);
}
}
75,9 → 76,10
* */
private function chercherUtilisateur($id) {
$utilisateur = array();
$requete = "SELECT id_utilisateur as 'auteur.id', nom as 'auteur.nom', prenom as 'auteur.prenom', courriel as 'auteur.courriel' ".
'FROM '.$this->gestionBdd->formaterTable('del_utilisateur').
'WHERE id_utilisateur = '.$this->bdd->proteger($id);
$requete = "SELECT id_utilisateur AS 'auteur.id', nom AS 'auteur.nom', prenom AS 'auteur.prenom', ".
"courriel AS 'auteur.courriel' ".
'FROM del_utilisateur '.
'WHERE id_utilisateur = '.$this->bdd->proteger($id);
$utilisateur = $this->bdd->recuperer($requete);
 
return $utilisateur;
104,7 → 106,6
*
* */
public function ajouter($ressources, $parametres) {
 
$this->verifierParametresAjoutModif($ressources, $parametres);
 
// Vérifie si la proposition existe, et la crée sinon
114,9 → 115,9
}
 
$insertion = 'INSERT INTO del_commentaire_vote '.
'(ce_proposition , ce_utilisateur , valeur , date) '.
'VALUES ('.$this->proteger($ressources[1]).','.$this->proteger($parametres['utilisateur']).','.
$this->proteger($parametres['valeur']).', NOW());';
'(ce_proposition , ce_utilisateur , valeur , date) '.
'VALUES ('.$this->proteger($ressources[1]).','.$this->proteger($parametres['utilisateur']).','.
$this->proteger($parametres['valeur']).', NOW());';
$resultatsVotes = $this->bdd->requeter($insertion);
if ($resultatsVotes == false) {
RestServeur::envoyerEnteteStatutHttp(RestServeur::HTTP_CODE_MAUVAISE_REQUETE);
126,25 → 127,28
}
 
private function renvoyerIdPropositionObservation($id_observation) {
 
$id_commentaire = null;
// Récupération de l'utilisateur + nom sel de l'observation originale
$requete_selection_obs = 'SELECT ce_utilisateur, nom_sel '.
'FROM del_observation '.
'WHERE id_observation ='.$this->proteger($id_observation);
'FROM del_observation '.
'WHERE id_observation ='.$this->proteger($id_observation);
 
$obs = $this->bdd->recuperer($requete_selection_obs);
 
if(is_array($obs) && isset($obs['ce_utilisateur'])) {
if (is_array($obs) && isset($obs['ce_utilisateur'])) {
// On considère que la proposition faite par le même utilisateur et ayant le même
// nom sélectionné est bien la proposition composée à partir de l'obs originale
$requete_selection_comm = 'SELECT id_commentaire FROM del_commentaire '.
'WHERE ce_observation = '.$this->proteger($id_observation).' '.
' AND nom_sel = '.$this->proteger($obs['nom_sel']).' AND '.
' ce_utilisateur = '.$this->proteger($obs['ce_utilisateur']);
$requete_selection_comm = 'SELECT id_commentaire '.
'FROM del_commentaire '.
'WHERE ce_observation = '.$this->proteger($id_observation).' '.
' AND nom_sel = '.$this->proteger($obs['nom_sel']).' AND '.
' ce_utilisateur = '.$this->proteger($obs['ce_utilisateur']);
 
$commentaire = $this->bdd->recuperer($requete_selection_comm);
$id_commentaire = (is_array($commentaire) && $commentaire['id_commentaire'] != null) ? $commentaire['id_commentaire'] : null;
$id_commentaire = null;
if (is_array($commentaire) && $commentaire['id_commentaire'] != null) {
$id_commentaire = $commentaire['id_commentaire'];
}
}
 
return $id_commentaire;
155,8 → 159,10
if(!$proposition_existe) {
$id_proposition = $this->creerPropositionAPartirObservation($id_observation);
} else {
$requete = "SELECT id_commentaire FROM del_commentaire WHERE ce_observation = ".$id_observation." ".
"AND proposition_initiale = 1";
$requete = 'SELECT id_commentaire '.
'FROM del_commentaire '.
"WHERE ce_observation = $id_observation ".
'AND proposition_initiale = 1 ';
$resultat = $this->bdd->recuperer($requete);
$id_proposition = $resultat['id_commentaire'];
}
164,15 → 170,15
}
 
private function propositionInitialeExiste($id_observation) {
 
$requete = "SELECT COUNT(*) >= 1 as existe FROM del_commentaire WHERE ce_observation = ".$id_observation." ".
"AND proposition_initiale = 1";
$requete = 'SELECT COUNT(*) >= 1 AS existe '.
'FROM del_commentaire '.
"WHERE ce_observation = $id_observation ".
'AND proposition_initiale = 1 ';
$resultat = $this->bdd->recuperer($requete);
return $resultat['existe'] == 1;
}
 
private function creerPropositionAPartirObservation($id_observation) {
 
$insertion = 'INSERT IGNORE INTO del_commentaire '.
'(ce_observation, ce_utilisateur, utilisateur_prenom, utilisateur_nom, utilisateur_courriel, '.
'nom_sel, nom_sel_nn, nom_ret, nom_ret_nn, nt, famille, nom_referentiel, date, proposition_initiale) '.
180,14 → 186,13
' courriel, nom_sel, nom_sel_nn, nom_ret, nom_ret_nn, '.
" nt, famille, 'bdtfx_v1', NOW(), '1' ".
'FROM del_observation do '.
' LEFT JOIN del_utilisateur du ON '.
'do.ce_utilisateur = du.id_utilisateur '.
' LEFT JOIN del_utilisateur du ON (do.ce_utilisateur = du.id_utilisateur) '.
'WHERE id_observation = '.$this->proteger($id_observation);
 
$resultat = $this->bdd->requeter($insertion);
 
// Attention à l'abstraction utilisée, récupérer le dernier id en mysql ou msqli ça marche bien, mais pour d'autres moins
$id = $this->bdd->recupererIdDernierAjout();
 
return $id;
}
 
200,7 → 205,6
*
* */
public function modifier($ressources, $parametres) {
 
$this->verifierParametresAjoutModif($ressources, $parametres);
 
// Si l'identifiant de proposition vaut 0, c'est un vote sur une proposition
218,11 → 222,10
}
 
$modification = 'UPDATE del_commentaire_vote '.
'SET valeur ='.$this->proteger($parametres['valeur']).', '.
'date = NOW() '.
'WHERE '.
'ce_proposition = '.$this->proteger($ressources[1]).' AND '.
'ce_utilisateur = '.$this->proteger($parametres['utilisateur']);
'SET valeur ='.$this->proteger($parametres['valeur']).', '.
'date = NOW() '.
'WHERE ce_proposition = '.$this->proteger($ressources[1]).' '.
'AND ce_utilisateur = '.$this->proteger($parametres['utilisateur']);
 
$resultatsVotes = $this->bdd->requeter($modification);
if ($resultatsVotes == false) {