C'est ok avec la mise à jour de la fonction delete() ?
-
RE: Images produit qui disparaissent
-
RE: devcustom ?
@camille Je viens de controller il n'existe pas de acinclude.m4 sur les serveurs. Ce fichier fait normalement partie du code source de curl et sert à la compilation de ce dernier.
https://github.com/curl/curl/blob/1611e87d66df8bb8d2c28bf0815ec006230ae648/acinclude.m4 -
RE: Images produit qui disparaissent
@camille Bravo pour nous avoir donné les pistes d'un problème dont nous n'arrivions pas à reproduire le scénario. @Eolia vous a donné un correctif et nous allons rendre celui-ci encore plus robuste sur la version à venir. Si je puis me permettre, évitez de penser qu'un outils comme ChatGPT peut vous sauver si vous n'avez pas suffisamment de connaissance sur un sujet. Les IA sont impressionnante mais quasiment exclusivement sur des sujets des milliers/millions de fois vu et revu dans leurs apprentissages. En dehors de ces cas, les IA font 60% bien 30% bof et 10% BS.
Encore un fois ce n'est pas une critique, juste qu'il faut être conscient du problème. Des outils très puissant mais qui requièrent une connaissance amont pour remettre en cause leurs "output"Encore merci d'avoir ciblé le problème avec vos tests clairement documentés.
-
RE: Images produit qui disparaissent
Function à remplacer dans Image.php:
public function deleteImage($force_delete = false) { if(!$this->id) { return false; } $parent_dir = $this->image_dir.$this->getImgFolder(); if(Configuration::get('PS_LEGACY_IMAGES')) { $files_to_delete = array(); // Delete base image if(file_exists($this->image_dir.$this->getExistingImgPath().'.'.$this->image_format)) { @unlink($this->image_dir.$this->getExistingImgPath().'.'.$this->image_format); } // Delete auto-generated images $image_types = ImageType::getImagesTypes(); foreach($image_types as $image_type) { $files_to_delete[] = $this->image_dir.$this->getExistingImgPath().'-'.$image_type['name'].'.'.$this->image_format; $files_to_delete[] = $this->image_dir.$this->getExistingImgPath().'-'.$image_type['name'].'.webp'; if(Configuration::get('WATERMARK_HASH')) { $files_to_delete[] = $this->image_dir.$this->getExistingImgPath().'-'.$image_type['name'].'-'.Configuration::get('WATERMARK_HASH').'.'.$this->image_format; $files_to_delete[] = $this->image_dir.$this->getExistingImgPath().'-'.$image_type['name'].'-'.Configuration::get('WATERMARK_HASH').'.webp'; } } // Delete watermark image $files_to_delete[] = $this->image_dir.$this->getExistingImgPath().'-watermark.'.$this->image_format; $files_to_delete[] = $this->image_dir.$this->getExistingImgPath().'-watermark.webp'; // Delete index.php $files_to_delete[] = $parent_dir.'index.php'; foreach ($files_to_delete as $file) { if (file_exists($file) && !@unlink($file)) { return false; } } } else { if(is_dir($parent_dir)) { $files = glob($parent_dir.'*'); foreach($files as $file) { if(is_file($file)) { unlink($file); } } } } self::deleteTempImages($this->id_product); // Delete the image folder if empty if(is_dir($parent_dir)) { $delete_folder = true; foreach(scandir($parent_dir) as $file) { if($file != '.' && $file != '..') { $delete_folder = false; file_put_contents($parent_dir.'index.php', Tools::getDefaultIndexContent($path)); break; } } } if(isset($delete_folder) && $delete_folder) { @rmdir($this->image_dir.$this->getImgFolder()); } return true; }
-
RE: Images produit qui disparaissent
Je me répète mais Phenix ne regénère jamais toutes les miniatures (ce qui provoquait souvent des erreurs 500).
Si vous cliquez sur regénérer en ayant coché "supprimer les images" seules les miniatures sont supprimées. L'image de base jpg reste seule.Lorsque vous naviguerez sur le FO les images manquantes seront regénérées à la volée pour le ou les produits en cours de visualisation.
-
RE: Images produit qui disparaissent
commentez la ligne 665 de Image.php ( //Tools::cleanDirectory($this->image_dir.$this->getImgFolder()); ) en attendant le patch. Les répertoires vides ne seront pas nettoyés mais ce n'est pas grave pour l'instant.
-
RE: Images produit qui disparaissent
Le problème est sur la fonction Tools::cleanDirectory($this->image_dir.$this->getImgFolder()); rien d'autre et c'est en cours de résolution.
Pour le bouton "Effacer les images" (actif par défaut) si celui-ci n'est pas actif il ne se passera rien pour les produits lorsque vous cliquerez sur "Regénérer", seules les miniatures manquantes seront générées lorsqu'elles seront appelées. -
RE: Images produit qui disparaissent
Je vais regarder vos pistes.
Concernant la regénération:- Plus d'erreur 500 car on ne les regénère plus, c'est en direct au 1er appel en FO ou BO.
- Si vous cochez "Effacer les images précédentes" cela supprime uniquement les miniatures mais jamais l'image d'origine
-
RE: devcustom ?
A priori ce fichier sert à effectuer des connections Curl indépendamment de Prestashop. Si ce n'est pas vous qui l'avez installé je vous conseillerai de le supprimer.
-
RE: devcustom ?
devcustom.net est un des serveurs statiques de Phenix et Cleaner.
curl.log enregistre les dernier appels effectués en curl à de fins de debug au cas où.
Le fichier acinclude.m4 n'est pas un fichier natif, que contient-il ?