Subversion Repositories eFlore/Applications.cel

Rev

Rev 2334 | Rev 2370 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 2334 Rev 2342
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.";