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.";
|