Line 50... |
Line 50... |
50 |
$resultat->corps = array('id_commentaire' => $idCommentaireAjoute);
|
50 |
$resultat->corps = array('id_commentaire' => $idCommentaireAjoute);
|
Line 51... |
Line 51... |
51 |
|
51 |
|
52 |
return $resultat;
|
52 |
return $resultat;
|
Line -... |
Line 53... |
- |
|
53 |
}
|
- |
|
54 |
|
- |
|
55 |
/**
|
- |
|
56 |
* Vérifie notamment que l'auteur du vote est désigné soit par un ID, soit
|
53 |
}
|
57 |
* par un triplet (nom, prénom, adresse courriel)
|
54 |
|
58 |
*/
|
55 |
private function verifierParametres() {
|
59 |
private function verifierParametres() {
|
56 |
if (!isset($this->parametres['observation'])) {
|
60 |
if (!isset($this->parametres['observation'])) {
|
Line 97... |
Line 101... |
97 |
$this->erreurs[] = "S'il est présent le paramètre «$param» ne peut pas être vide.";
|
101 |
$this->erreurs[] = "S'il est présent le paramètre «$param» ne peut pas être vide.";
|
98 |
}
|
102 |
}
|
99 |
}
|
103 |
}
|
100 |
}
|
104 |
}
|
Line -... |
Line 105... |
- |
|
105 |
|
- |
|
106 |
/**
|
- |
|
107 |
* Si l'auteur du vote est désigné par un ID, va chercher ses nom, prénom, courriel;
|
- |
|
108 |
* s'il est désigné par un triplet (nom, prénom, adresse courriel), va chercher son ID
|
101 |
|
109 |
*/
|
102 |
private function completerParametresUtilisateur() {
|
110 |
private function completerParametresUtilisateur() {
|
103 |
$utilisateur = (isset($this->parametres['auteur.id'])) ? $this->obtenirUtilisateurAvecId() : $this->obtenirUtilisateurSansId();
|
111 |
$utilisateur = (isset($this->parametres['auteur.id'])) ? $this->obtenirUtilisateurAvecId() : $this->obtenirUtilisateurSansId();
|
104 |
if ($utilisateur !== false) {
|
112 |
if ($utilisateur != false) {
|
105 |
foreach ($utilisateur as $param => $valeur) {
|
113 |
foreach ($utilisateur as $param => $valeur) {
|
106 |
$this->parametres[$param] = $valeur;
|
114 |
$this->parametres[$param] = $valeur;
|
107 |
}
|
115 |
}
|
108 |
}
|
116 |
}
|
Line -... |
Line 117... |
- |
|
117 |
}
|
- |
|
118 |
|
- |
|
119 |
/**
|
- |
|
120 |
* On suppose que si l'utilisateur envoie sa proposition avec un ID, c'est
|
- |
|
121 |
* qu'il est connu d'IP, donc qu'on trouvera ses coordonnées dans
|
- |
|
122 |
* del_utilisateur_infos
|
- |
|
123 |
*
|
109 |
}
|
124 |
* @TODO valider cette hypothèse
|
110 |
|
125 |
*/
|
111 |
private function obtenirUtilisateurAvecId() {
|
126 |
private function obtenirUtilisateurAvecId() {
|
112 |
$auteurIdP = $this->bdd->proteger($this->parametres['auteur.id']);
|
127 |
$auteurIdP = $this->bdd->proteger($this->parametres['auteur.id']);
|
113 |
$requete = "SELECT id_utilisateur AS 'auteur.id', nom AS 'auteur.nom', prenom AS 'auteur.prenom', courriel AS 'auteur.courriel' ".
|
128 |
$requete = "SELECT id_utilisateur AS 'auteur.id', nom AS 'auteur.nom', prenom AS 'auteur.prenom', courriel AS 'auteur.courriel' ".
|
114 |
'FROM del_utilisateur '.
|
129 |
'FROM del_utilisateur_infos '.
|
115 |
"WHERE id_utilisateur = $auteurIdP ".
|
130 |
"WHERE id_utilisateur = $auteurIdP ".
|
116 |
' -- '.__FILE__.' : '.__LINE__;
|
131 |
' -- '.__FILE__.' : '.__LINE__;
|
117 |
$utilisateur = $this->bdd->recuperer($requete);
|
132 |
$utilisateur = $this->bdd->recuperer($requete);
|
Line -... |
Line 133... |
- |
|
133 |
return $utilisateur;
|
- |
|
134 |
}
|
- |
|
135 |
|
- |
|
136 |
/**
|
- |
|
137 |
* Pour un utilisateur désigné par un triplet (nom, prenom, adresse courriel), demande
|
- |
|
138 |
* son ID à l'annuaire - vue la base de données (2017-03-24), aucun tuple ne contient
|
118 |
return $utilisateur;
|
139 |
* une adresse courriel sans contenir d'ID, mais beaucoup ne contiennent ni l'un ni
|
119 |
}
|
140 |
* l'autre (code stupide, tentative de correction ajd)
|
120 |
|
141 |
*/
|
121 |
private function obtenirUtilisateurSansId() {
|
142 |
private function obtenirUtilisateurSansId() {
|
Line -... |
Line 143... |
- |
|
143 |
$nomP = $this->bdd->proteger($this->parametres['auteur.nom']);
|
- |
|
144 |
$prenomP = $this->bdd->proteger($this->parametres['auteur.prenom']);
|
122 |
$nomP = $this->bdd->proteger($this->parametres['auteur.nom']);
|
145 |
$courrielP = $this->bdd->proteger($this->parametres['auteur.courriel']);
|
123 |
$prenomP = $this->bdd->proteger($this->parametres['auteur.prenom']);
|
146 |
|
124 |
$courrielP = $this->bdd->proteger($this->parametres['auteur.courriel']);
|
147 |
// Si l'utilisateur s'est déjà connecté à DeL au moins une fois, on récupère ses
|
125 |
|
148 |
// nom et prénom connus dans la base; on lui interdit d'usurper sa propre identité
|
126 |
$requete = "SELECT id_utilisateur AS 'auteur.id', nom AS 'auteur.nom', prenom AS 'auteur.prenom', ".
|
149 |
$requete = "SELECT id_utilisateur AS 'auteur.id', nom AS 'auteur.nom', prenom AS 'auteur.prenom', ".
|
127 |
"courriel AS 'auteur.courriel' ".
|
150 |
"courriel AS 'auteur.courriel' ".
|
- |
|
151 |
'FROM del_utilisateur_infos '.
|
- |
|
152 |
"WHERE courriel = $courrielP ".
|
- |
|
153 |
' -- '.__FILE__.' : '.__LINE__;
|
- |
|
154 |
$utilisateur = $this->bdd->recuperer($requete);
|
- |
|
155 |
|
128 |
'FROM del_utilisateur '.
|
156 |
// si l'utilisateur n'a pas été trouvé, on devrait aller le chercher dans
|
129 |
"WHERE courriel = $courrielP AND nom = $nomP AND prenom = $prenomP ".
|
157 |
// l'annuaire, au cas où il soit inscrit à TB mais ne se soit pas connecté
|
Line 130... |
Line 158... |
130 |
' -- '.__FILE__.' : '.__LINE__;
|
158 |
// @TODO faire un appel au service annuaire/identite-par-courriel
|
131 |
$utilisateur = $this->bdd->recuperer($requete);
|
159 |
|
Line 150... |
Line 178... |
150 |
return $resultat['existe'] == 1;
|
178 |
return $resultat['existe'] == 1;
|
151 |
}
|
179 |
}
|
Line 152... |
Line 180... |
152 |
|
180 |
|
153 |
private function creerPropositionInitiale() {
|
181 |
private function creerPropositionInitiale() {
|
- |
|
182 |
$idObsP = $this->bdd->proteger($this->parametres['observation']);
|
154 |
$idObsP = $this->bdd->proteger($this->parametres['observation']);
|
183 |
|
155 |
$requete = 'INSERT IGNORE INTO del_commentaire '.
|
184 |
$requete = 'INSERT IGNORE INTO del_commentaire '.
|
156 |
'(ce_observation, ce_utilisateur, utilisateur_prenom, utilisateur_nom, utilisateur_courriel, '.
|
185 |
'(ce_observation, ce_utilisateur, utilisateur_prenom, utilisateur_nom, utilisateur_courriel, '.
|
157 |
'nom_sel, nom_sel_nn, nom_ret, nom_ret_nn, nt, famille, nom_referentiel, date, proposition_initiale) '.
|
186 |
'nom_sel, nom_sel_nn, nom_ret, nom_ret_nn, nt, famille, nom_referentiel, date, proposition_initiale) '.
|
158 |
'SELECT id_observation, ce_utilisateur, prenom, nom, courriel, nom_sel, '.
|
187 |
'SELECT id_observation, ce_utilisateur, prenom_utilisateur, nom_utilisateur, courriel_utilisateur, nom_sel, '.
|
159 |
"IF(nom_sel_nn = 0, NULL, nom_sel_nn), IF(nom_ret = '', NULL, nom_ret), IF(nom_ret_nn = 0, NULL, nom_ret_nn), ".
|
188 |
"IF(nom_sel_nn = 0, NULL, nom_sel_nn), IF(nom_ret = '', NULL, nom_ret), IF(nom_ret_nn = 0, NULL, nom_ret_nn), ".
|
160 |
"IF(nt = 0, NULL, nt), IF(famille = '', NULL, famille), IF(nom_sel_nn = 0, NULL, nom_referentiel), NOW(), '1' ".
|
189 |
"IF(nt = 0, NULL, nt), IF(famille = '', NULL, famille), IF(nom_sel_nn = 0, NULL, nom_referentiel), NOW(), '1' ".
|
161 |
'FROM del_observation AS do '.
|
- |
|
162 |
' LEFT JOIN del_utilisateur AS du '.
|
- |
|
163 |
' ON do.ce_utilisateur = du.id_utilisateur '.
|
190 |
'FROM del_observation AS do '.
|
164 |
"WHERE id_observation = $idObsP ".
|
191 |
"WHERE id_observation = $idObsP ".
|
- |
|
192 |
' -- '.__FILE__.' : '.__LINE__;
|
165 |
' -- '.__FILE__.' : '.__LINE__;
|
193 |
|
- |
|
194 |
$resultat = $this->bdd->executer($requete);
|
166 |
$resultat = $this->bdd->executer($requete);
|
195 |
|
167 |
return $resultat;
|
196 |
return $resultat;
|
Line 168... |
Line 197... |
168 |
}
|
197 |
}
|
169 |
|
198 |
|