Subversion Repositories eFlore/Applications.cel

Compare Revisions

Ignore whitespace Rev 1122 → Rev 1123

/branches/v1.5-cisaille/jrest/services/CelWidgetSaisie.php
33,6 → 33,7
$this->utilisateur_id = $courriel;
$ordre = $this->getMaxOrdre($courriel);
if (!is_null($ordre)) {
$requeteDonnees = $this->supprimerSlashesProfond($requeteDonnees);
 
// Triage et manipulation des données
$observations = array();
75,6 → 76,7
$imgAAjouter['id_obs'] = $idObs;
$imgAAjouter['nom'] = $obs['image_nom'];
$imgAAjouter['b64'] = $obs['image_b64'];
$this->debug[] = 'Contient B64 : '.(empty($obs['image_b64']) ? 'non' : 'oui');
}
 
$observations[$idObs] = array(
95,11 → 97,13
if ($img != null) {
$this->nettoyerImagesUploades();
$nomFichierImg = $this->traiterNomFichierImage($img['nom']);
$cheminImage = $this->config['cel_db']['chemin_stockage_temp']."/$nomFichierImg";
// Si l'image est transmise en base 64
if (empty($img['b64']) === false) {
$this->transformerBase64enFichier($nomFichierImg, $img['b64']);
$this->transformerBase64enFichier($cheminImage, $img['b64']);
}
$cheminImage = $this->config['cel_db']['chemin_stockage_temp']."/$nomFichierImg";
 
$this->debug[] = 'Nom fichier img debut :'.$nomFichierImg;
$idImg = $this->ajouterImageSurDdEtBdd($img['id_utilisateur'], $cheminImage, $nomFichierImg);
if ($idImg !== false) {
$this->lierObsEtImg($idImg, $img['id_utilisateur'], $img['id_obs']);
145,6 → 149,12
$this->envoyerJson($retour);
}
 
private function supprimerSlashesProfond($valeur) {
$valeur = is_array($valeur) ? array_map(array($this, 'supprimerSlashesProfond'), $valeur) : stripslashes($valeur);
return $valeur;
}
 
 
private function getMaxOrdre($identifiant) {
$ordre = null;
$identifiant = $this->bdd->quote($identifiant);
195,14 → 205,12
* Décode l'image en base64,enregistre celle-ci sous forme de fichier du type de l'image
* dans un dossier temporaire.
*/
private function transformerBase64enFichier($fichierNom, $imageInfosB64) {
private function transformerBase64enFichier($cheminImage, $imageInfosB64) {
// Enleve la partie data:image qui permet la previsalisation pour firefox de l'image en base64
$imageBase64 = explode(';', $imageInfosB64);
$type = explode('/',$imageBase64[0]);
$dataBase64 = explode(',',$imageBase64[1]);
$dataImg = base64_decode($dataBase64[1]);
 
$cheminImage = $this->config['cel_db']['chemin_stockage_temp'].'/'.$fichierNom.'.'.$type[1];
$imageRessource = fopen($cheminImage, 'wb');
fwrite($imageRessource, $dataImg);
fclose($imageRessource);
270,7 → 278,7
$infosImage['ci_nom_original'] = $nomFichierImage;
$infosImage['ci_ce_utilisateur'] = $idUtilisateur;
$infosImage['ci_md5'] = md5_file($cheminImage);
 
$this->debug[] = 'Nom fichier img meta :'.$nomFichierImage;
$requete = $this->construireRequeteInsertionImage($infosImage);
$resultat = $this->executerRequeteSimple($requete);
if ($resultat !== false) {
315,7 → 323,7
"WHERE ci_ce_utilisateur = $id_utilisateur ";
$resultat = $this->executerRequete($requete);
 
$ordre = ($resultat) ? $resultat[0]['max_ordre']++ : 0;
$ordre = ($resultat) ? ++$resultat[0]['max_ordre'] : 0;
return $ordre;
}