✅ 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>
34 lines
780 B
PHP
34 lines
780 B
PHP
<?php
|
|
|
|
namespace WebPExpress;
|
|
|
|
use \WebPExpress\FileHelper;
|
|
use \WebPExpress\Option;
|
|
use \WebPExpress\Paths;
|
|
|
|
/**
|
|
*
|
|
*/
|
|
|
|
class PluginUninstall
|
|
{
|
|
// The hook was registred in AdminInit
|
|
public static function uninstall() {
|
|
|
|
$optionsToDelete = [
|
|
'webp-express-messages-pending',
|
|
'webp-express-action-pending',
|
|
'webp-express-state',
|
|
'webp-express-version',
|
|
'webp-express-activation-error',
|
|
'webp-express-migration-version'
|
|
];
|
|
foreach ($optionsToDelete as $i => $optionName) {
|
|
Option::deleteOption($optionName);
|
|
}
|
|
|
|
// remove content dir (config plus images plus htaccess-tests)
|
|
FileHelper::rrmdir(Paths::getWebPExpressContentDirAbs());
|
|
}
|
|
}
|