| 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 |
|