Line 738... |
Line 738... |
738 |
$infosImage['user_id'] = $this->userId;
|
738 |
$infosImage['user_id'] = $this->userId;
|
739 |
$infosImage['user_email'] = $this->userEmail;
|
739 |
$infosImage['user_email'] = $this->userEmail;
|
740 |
$infosImage['user_pseudo'] = $this->userIntitule;
|
740 |
$infosImage['user_pseudo'] = $this->userIntitule;
|
741 |
$infosImage['content_url'] = $cheminImage;
|
741 |
$infosImage['content_url'] = $cheminImage;
|
742 |
$infosImage['mime_type'] = mime_content_type($cheminImage);
|
742 |
$infosImage['mime_type'] = mime_content_type($cheminImage);
|
743 |
$infosImage['url'] = "concat('https://api.tela-botanica.org/img:',
|
- |
|
744 |
lpad(`id`, 9, '0'), 'O')";
|
743 |
$infosImage['url'] = '';
|
745 |
// $infosImage['md5'] = md5_file($cheminImage);
|
744 |
// $infosImage['md5'] = md5_file($cheminImage);
|
746 |
$infosImage['date_created'] = 'NOW()';
|
745 |
$infosImage['date_created'] = 'NOW()';
|
747 |
$infosImage['date_updated'] = 'NOW()';
|
746 |
$infosImage['date_updated'] = 'NOW()';
|
748 |
$infosImage['date_linked_to_occurrence'] = 'NOW()';
|
747 |
$infosImage['date_linked_to_occurrence'] = 'NOW()';
|
749 |
$this->debug[] = 'Nom fichier img meta :'.$nomFichierImage;
|
748 |
$this->debug[] = 'Nom fichier img meta :'.$nomFichierImage;
|
750 |
$requete = $this->construireRequeteInsertionImage($infosImage);
|
749 |
$requete = $this->construireRequeteInsertionImage($infosImage);
|
751 |
$resultat = Cel::db()->executer($requete);
|
750 |
$resultat = Cel::db()->executer($requete);
|
752 |
if ($resultat !== false) {
|
751 |
if ($resultat !== false) {
|
753 |
$idImage = $this->obtenirIdImagePourIdentifiantEtNomOriginal($nomFichierImage);
|
752 |
$idImage = $this->traiterEtRecupererIdImage($nomFichierImage);
|
754 |
if ($idImage !== false) {
|
753 |
if ($idImage !== false) {
|
755 |
$manipulateurImage = new ImageRecreation($this->config);
|
754 |
$manipulateurImage = new ImageRecreation($this->config);
|
756 |
// Stocke le fichier en conservant les fichiers temporaires, ce qui permet de réessayer
|
755 |
// Stocke le fichier en conservant les fichiers temporaires, ce qui permet de réessayer
|
757 |
// de les traiter en cas d'échec de la totalité du processus de traitement de l'obs
|
756 |
// de les traiter en cas d'échec de la totalité du processus de traitement de l'obs
|
758 |
$stockageOk = $manipulateurImage->stockerFichierOriginal($cheminImage, $idImage, true);
|
757 |
$stockageOk = $manipulateurImage->stockerFichierOriginal($cheminImage, $idImage, true);
|
Line 796... |
Line 795... |
796 |
$ok = $manipulateurImage->detruireImageSurDisque($idImageASupprimer);
|
795 |
$ok = $manipulateurImage->detruireImageSurDisque($idImageASupprimer);
|
Line 797... |
Line 796... |
797 |
|
796 |
|
798 |
return $ok;
|
797 |
return $ok;
|
Line 799... |
Line 798... |
799 |
}
|
798 |
}
|
800 |
|
799 |
|
801 |
private function obtenirIdImagePourIdentifiantEtNomOriginal($original_name) {
|
800 |
private function traiterEtRecupererIdImage($original_name) {
|
802 |
$id_utilisateur = Cel::db()->proteger($this->userId);
|
801 |
$id_utilisateur = Cel::db()->proteger($this->userId);
|
Line 803... |
Line 802... |
803 |
$email_utilisateur = Cel::db()->proteger($this->userEmail);
|
802 |
$email_utilisateur = Cel::db()->proteger($this->userEmail);
|
804 |
$original_name = Cel::db()->proteger($original_name);
|
803 |
$original_name = Cel::db()->proteger($original_name);
|
805 |
|
804 |
|
806 |
$requete = 'SELECT id '.
|
805 |
$requete = 'SELECT id '.
|
807 |
'FROM photo '.
|
806 |
'FROM photo '.
|
808 |
"WHERE (user_id = $id_utilisateur OR user_email = $email_utilisateur)".
|
807 |
"WHERE (user_id = $id_utilisateur OR user_email = $email_utilisateur)".
|
- |
|
808 |
" AND original_name = $original_name ";
|
- |
|
809 |
$resultat = Cel::db()->requeter($requete);
|
- |
|
810 |
$id_image = $resultat[0]['id'] ?? false;
|
- |
|
811 |
|
- |
|
812 |
if ($id_image) {
|
- |
|
813 |
$full_id_image = str_pad($id_image, 9, '0', STR_PAD_LEFT) . 'O';
|
- |
|
814 |
$image_url = sprintf(config::get('celImgUrlTpl'), $full_id_image);
|
- |
|
815 |
$requete = 'UPDATE photo'.
|
- |
|
816 |
' SET url = ' . Cel::db()->proteger($image_url)
|
- |
|
817 |
' WHERE id = ' Cel::db()->proteger($id_image);
|
809 |
" AND original_name = $original_name ";
|
818 |
$resultat = Cel::db()->requeter($requete);
|
Line 810... |
Line 819... |
810 |
$resultat = Cel::db()->requeter($requete);
|
819 |
}
|
Line 811... |
Line 820... |
811 |
$id_image = (count($resultat) > 0) ? $resultat[0]['id'] : false;
|
820 |
|