WebP Express CloudHost.es Fix v0.25.9-cloudhost
✅ Fixed bulk conversion getting stuck on missing files ✅ Added robust error handling and timeout protection ✅ Improved JavaScript response parsing ✅ Added file existence validation ✅ Fixed missing PHP class imports ✅ Added comprehensive try-catch error recovery 🔧 Key fixes: - File existence checks before conversion attempts - 30-second timeout protection per file - Graceful handling of 500 errors and JSON parsing issues - Automatic continuation to next file on failures - Cache busting for JavaScript updates 🎯 Result: Bulk conversion now completes successfully even with missing files 🚀 Generated with Claude Code (https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
42
lib/classes/HandleDeleteFileHook.php
Normal file
42
lib/classes/HandleDeleteFileHook.php
Normal file
@@ -0,0 +1,42 @@
|
||||
<?php
|
||||
|
||||
namespace WebPExpress;
|
||||
use \WebPExpress\Convert;
|
||||
use \WebPExpress\Mime;
|
||||
use \WebPExpress\SanityCheck;
|
||||
|
||||
class HandleDeleteFileHook
|
||||
{
|
||||
|
||||
/**
|
||||
* hook: wp_delete_file
|
||||
*/
|
||||
public static function deleteAssociatedWebP($filename)
|
||||
{
|
||||
try {
|
||||
$filename = SanityCheck::absPathExistsAndIsFileInDocRoot($filename);
|
||||
|
||||
$mimeTypes = [
|
||||
'image/jpeg',
|
||||
'image/png',
|
||||
];
|
||||
if (!Mime::isOneOfTheseImageMimeTypes($filename, $mimeTypes)) {
|
||||
return $filename;
|
||||
}
|
||||
|
||||
$config = Config::loadConfigAndFix();
|
||||
$destination = Convert::getDestination($filename, $config);
|
||||
if (@file_exists($destination)) {
|
||||
if (@unlink($destination)) {
|
||||
Convert::updateBiggerThanOriginalMark($filename, $destination, $config);
|
||||
} else {
|
||||
error_log('WebP Express failed deleting webp:' . $destination);
|
||||
}
|
||||
}
|
||||
} catch (SanityException $e) {
|
||||
// fail silently. (maybe we should write to debug log instead?)
|
||||
}
|
||||
|
||||
return $filename;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user