| Line 48... |
Line 48... |
| 48 |
// Traitement des observations et des images
|
48 |
// Traitement des observations et des images
|
| 49 |
if (filter_var($requeteDonnees['utilisateur']['courriel'], FILTER_VALIDATE_EMAIL)) {
|
49 |
if (filter_var($requeteDonnees['utilisateur']['courriel'], FILTER_VALIDATE_EMAIL)) {
|
| 50 |
$this->debug[] = 'Utilisateur : '.print_r($requeteDonnees['utilisateur'], true);
|
50 |
$this->debug[] = 'Utilisateur : '.print_r($requeteDonnees['utilisateur'], true);
|
| 51 |
$utilisateur = $requeteDonnees['utilisateur'];
|
51 |
$utilisateur = $requeteDonnees['utilisateur'];
|
| 52 |
if (array_key_exists('courriel', $utilisateur)) {
|
52 |
if (array_key_exists('courriel', $utilisateur)) {
|
| - |
|
53 |
// début transaction car si insertions par le même utilisateur en parallèle,
|
| - |
|
54 |
// le getMaxOrdre et le INSERT sont en concurrence et risquent de foirer
|
| - |
|
55 |
//Cel::db()->setAttribute(PDO::ATTR_AUTOCOMMIT, false);
|
| - |
|
56 |
Cel::db()->beginTransaction();
|
| - |
|
57 |
|
| 53 |
$this->debug[] = 'Courriel : '.$utilisateur['courriel'];
|
58 |
$this->debug[] = 'Courriel : '.$utilisateur['courriel'];
|
| 54 |
$utilisateur = $this->affecterChampsManquantsUtilisateur($utilisateur);
|
59 |
$utilisateur = $this->affecterChampsManquantsUtilisateur($utilisateur);
|
| 55 |
extract($utilisateur);
|
60 |
extract($utilisateur);
|
| 56 |
$this->utilisateur_id = $id_utilisateur;
|
61 |
$this->utilisateur_id = $id_utilisateur;
|
| 57 |
$ordre = $this->getMaxOrdre($id_utilisateur);
|
62 |
$ordre = $this->getMaxOrdre($id_utilisateur);
|
| Line 165... |
Line 170... |
| 165 |
// Les champs taggés sont des champs supplémentaires stockés sous forme de clé => valeur
|
170 |
// Les champs taggés sont des champs supplémentaires stockés sous forme de clé => valeur
|
| 166 |
$this->ajouterChampsEtendusObs($obs_a_taguer_ids, $this->champsEtendusObs);
|
171 |
$this->ajouterChampsEtendusObs($obs_a_taguer_ids, $this->champsEtendusObs);
|
| 167 |
} else {
|
172 |
} else {
|
| 168 |
$this->messages[] = "Un nouveau numéro d'ordre d'observation n'a pu être généré.";
|
173 |
$this->messages[] = "Un nouveau numéro d'ordre d'observation n'a pu être généré.";
|
| 169 |
}
|
174 |
}
|
| - |
|
175 |
Cel::db()->commit();
|
| 170 |
} else {
|
176 |
} else {
|
| 171 |
$this->messages[] = "L'identifiant de l'utilisateur (courriel) n'a pas été transmis.";
|
177 |
$this->messages[] = "L'identifiant de l'utilisateur (courriel) n'a pas été transmis.";
|
| 172 |
}
|
178 |
}
|
| 173 |
} else {
|
179 |
} else {
|
| 174 |
$this->messages[] = "Les informations concernant l'utilisateur (prénom, nom, courriel) n'ont pas été transmises.";
|
180 |
$this->messages[] = "Les informations concernant l'utilisateur (prénom, nom, courriel) n'ont pas été transmises.";
|