Line 31... |
Line 31... |
31 |
$this->debug[] = 'Courriel : ok';
|
31 |
$this->debug[] = 'Courriel : ok';
|
32 |
extract($utilisateur);
|
32 |
extract($utilisateur);
|
33 |
$this->utilisateur_id = $courriel;
|
33 |
$this->utilisateur_id = $courriel;
|
34 |
$ordre = $this->getMaxOrdre($courriel);
|
34 |
$ordre = $this->getMaxOrdre($courriel);
|
35 |
if (!is_null($ordre)) {
|
35 |
if (!is_null($ordre)) {
|
- |
|
36 |
$requeteDonnees = $this->supprimerSlashesProfond($requeteDonnees);
|
Line 36... |
Line 37... |
36 |
|
37 |
|
37 |
// Triage et manipulation des données
|
38 |
// Triage et manipulation des données
|
38 |
$observations = array();
|
39 |
$observations = array();
|
39 |
foreach ($requeteDonnees as $cle => $obs) {
|
40 |
foreach ($requeteDonnees as $cle => $obs) {
|
Line 73... |
Line 74... |
73 |
$imgAAjouter = array();
|
74 |
$imgAAjouter = array();
|
74 |
$imgAAjouter['id_utilisateur'] = $courriel;
|
75 |
$imgAAjouter['id_utilisateur'] = $courriel;
|
75 |
$imgAAjouter['id_obs'] = $idObs;
|
76 |
$imgAAjouter['id_obs'] = $idObs;
|
76 |
$imgAAjouter['nom'] = $obs['image_nom'];
|
77 |
$imgAAjouter['nom'] = $obs['image_nom'];
|
77 |
$imgAAjouter['b64'] = $obs['image_b64'];
|
78 |
$imgAAjouter['b64'] = $obs['image_b64'];
|
- |
|
79 |
$this->debug[] = 'Contient B64 : '.(empty($obs['image_b64']) ? 'non' : 'oui');
|
78 |
}
|
80 |
}
|
Line 79... |
Line 81... |
79 |
|
81 |
|
80 |
$observations[$idObs] = array(
|
82 |
$observations[$idObs] = array(
|
81 |
'obs' => $this->protegerTableau($obsAAjouter),
|
83 |
'obs' => $this->protegerTableau($obsAAjouter),
|
Line 93... |
Line 95... |
93 |
|
95 |
|
94 |
// si le formulaire contient une image on la traite
|
96 |
// si le formulaire contient une image on la traite
|
95 |
if ($img != null) {
|
97 |
if ($img != null) {
|
96 |
$this->nettoyerImagesUploades();
|
98 |
$this->nettoyerImagesUploades();
|
- |
|
99 |
$nomFichierImg = $this->traiterNomFichierImage($img['nom']);
|
97 |
$nomFichierImg = $this->traiterNomFichierImage($img['nom']);
|
100 |
$cheminImage = $this->config['cel_db']['chemin_stockage_temp']."/$nomFichierImg";
|
98 |
// Si l'image est transmise en base 64
|
101 |
// Si l'image est transmise en base 64
|
99 |
if (empty($img['b64']) === false) {
|
102 |
if (empty($img['b64']) === false) {
|
100 |
$this->transformerBase64enFichier($nomFichierImg, $img['b64']);
|
103 |
$this->transformerBase64enFichier($cheminImage, $img['b64']);
|
- |
|
104 |
}
|
101 |
}
|
105 |
|
102 |
$cheminImage = $this->config['cel_db']['chemin_stockage_temp']."/$nomFichierImg";
|
106 |
$this->debug[] = 'Nom fichier img debut :'.$nomFichierImg;
|
103 |
$idImg = $this->ajouterImageSurDdEtBdd($img['id_utilisateur'], $cheminImage, $nomFichierImg);
|
107 |
$idImg = $this->ajouterImageSurDdEtBdd($img['id_utilisateur'], $cheminImage, $nomFichierImg);
|
104 |
if ($idImg !== false) {
|
108 |
if ($idImg !== false) {
|
105 |
$this->lierObsEtImg($idImg, $img['id_utilisateur'], $img['id_obs']);
|
109 |
$this->lierObsEtImg($idImg, $img['id_utilisateur'], $img['id_obs']);
|
106 |
}
|
110 |
}
|
Line 143... |
Line 147... |
143 |
$msg = (count($this->messages) > 0) ? 'erreur' : 'ok';
|
147 |
$msg = (count($this->messages) > 0) ? 'erreur' : 'ok';
|
144 |
$retour = (object) array('msg' => $msg);
|
148 |
$retour = (object) array('msg' => $msg);
|
145 |
$this->envoyerJson($retour);
|
149 |
$this->envoyerJson($retour);
|
146 |
}
|
150 |
}
|
Line -... |
Line 151... |
- |
|
151 |
|
- |
|
152 |
private function supprimerSlashesProfond($valeur) {
|
- |
|
153 |
$valeur = is_array($valeur) ? array_map(array($this, 'supprimerSlashesProfond'), $valeur) : stripslashes($valeur);
|
- |
|
154 |
return $valeur;
|
- |
|
155 |
}
|
- |
|
156 |
|
147 |
|
157 |
|
148 |
private function getMaxOrdre($identifiant) {
|
158 |
private function getMaxOrdre($identifiant) {
|
149 |
$ordre = null;
|
159 |
$ordre = null;
|
150 |
$identifiant = $this->bdd->quote($identifiant);
|
160 |
$identifiant = $this->bdd->quote($identifiant);
|
151 |
$requete = "SELECT MAX(ordre) AS ordre ".
|
161 |
$requete = "SELECT MAX(ordre) AS ordre ".
|
Line 193... |
Line 203... |
193 |
|
203 |
|
194 |
/**
|
204 |
/**
|
195 |
* Décode l'image en base64,enregistre celle-ci sous forme de fichier du type de l'image
|
205 |
* Décode l'image en base64,enregistre celle-ci sous forme de fichier du type de l'image
|
196 |
* dans un dossier temporaire.
|
206 |
* dans un dossier temporaire.
|
197 |
*/
|
207 |
*/
|
198 |
private function transformerBase64enFichier($fichierNom, $imageInfosB64) {
|
208 |
private function transformerBase64enFichier($cheminImage, $imageInfosB64) {
|
199 |
// Enleve la partie data:image qui permet la previsalisation pour firefox de l'image en base64
|
209 |
// Enleve la partie data:image qui permet la previsalisation pour firefox de l'image en base64
|
200 |
$imageBase64 = explode(';', $imageInfosB64);
|
- |
|
201 |
$type = explode('/',$imageBase64[0]);
|
210 |
$imageBase64 = explode(';', $imageInfosB64);
|
202 |
$dataBase64 = explode(',',$imageBase64[1]);
|
211 |
$dataBase64 = explode(',',$imageBase64[1]);
|
Line 203... |
Line -... |
203 |
$dataImg = base64_decode($dataBase64[1]);
|
- |
|
204 |
|
212 |
$dataImg = base64_decode($dataBase64[1]);
|
205 |
$cheminImage = $this->config['cel_db']['chemin_stockage_temp'].'/'.$fichierNom.'.'.$type[1];
|
213 |
|
206 |
$imageRessource = fopen($cheminImage, 'wb');
|
214 |
$imageRessource = fopen($cheminImage, 'wb');
|
Line 207... |
Line 215... |
207 |
fwrite($imageRessource, $dataImg);
|
215 |
fwrite($imageRessource, $dataImg);
|
Line 268... |
Line 276... |
268 |
$infosImage['ci_ordre'] = $nouvelOrdre;
|
276 |
$infosImage['ci_ordre'] = $nouvelOrdre;
|
269 |
$infosImage['ci_publiable_eflore'] = 'false';
|
277 |
$infosImage['ci_publiable_eflore'] = 'false';
|
270 |
$infosImage['ci_nom_original'] = $nomFichierImage;
|
278 |
$infosImage['ci_nom_original'] = $nomFichierImage;
|
271 |
$infosImage['ci_ce_utilisateur'] = $idUtilisateur;
|
279 |
$infosImage['ci_ce_utilisateur'] = $idUtilisateur;
|
272 |
$infosImage['ci_md5'] = md5_file($cheminImage);
|
280 |
$infosImage['ci_md5'] = md5_file($cheminImage);
|
273 |
|
- |
|
- |
|
281 |
$this->debug[] = 'Nom fichier img meta :'.$nomFichierImage;
|
274 |
$requete = $this->construireRequeteInsertionImage($infosImage);
|
282 |
$requete = $this->construireRequeteInsertionImage($infosImage);
|
275 |
$resultat = $this->executerRequeteSimple($requete);
|
283 |
$resultat = $this->executerRequeteSimple($requete);
|
276 |
if ($resultat !== false) {
|
284 |
if ($resultat !== false) {
|
277 |
$idImage = $this->obtenirIdImagePourIdentifiantEtOrdre($idUtilisateur, $nouvelOrdre);
|
285 |
$idImage = $this->obtenirIdImagePourIdentifiantEtOrdre($idUtilisateur, $nouvelOrdre);
|
278 |
if ($idImage !== false) {
|
286 |
if ($idImage !== false) {
|
Line 313... |
Line 321... |
313 |
$requete = 'SELECT MAX(ci_ordre) as max_ordre '.
|
321 |
$requete = 'SELECT MAX(ci_ordre) as max_ordre '.
|
314 |
'FROM cel_images '.
|
322 |
'FROM cel_images '.
|
315 |
"WHERE ci_ce_utilisateur = $id_utilisateur ";
|
323 |
"WHERE ci_ce_utilisateur = $id_utilisateur ";
|
316 |
$resultat = $this->executerRequete($requete);
|
324 |
$resultat = $this->executerRequete($requete);
|
Line 317... |
Line 325... |
317 |
|
325 |
|
318 |
$ordre = ($resultat) ? $resultat[0]['max_ordre']++ : 0;
|
326 |
$ordre = ($resultat) ? ++$resultat[0]['max_ordre'] : 0;
|
319 |
return $ordre;
|
327 |
return $ordre;
|
Line 320... |
Line 328... |
320 |
}
|
328 |
}
|
321 |
|
329 |
|