Files
MalinandClaude 37cf714058 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>
2025-09-23 10:22:32 +02:00

47 lines
1.1 KiB
PHP

<?php
namespace WebPExpress;
use \WebPExpress\Option;
use \WebPExpress\State;
/**
*
*/
class Actions
{
/**
* $action: identifier
*/
public static function procastinate($action) {
Option::updateOption('webp-express-actions-pending', true, true);
$pendingActions = State::getState('pendingActions', []);
$pendingActions[] = $action;
State::setState('pendingActions', $pendingActions);
}
public static function takeAction($action) {
switch ($action) {
case 'deactivate':
add_action('admin_init', function () {
deactivate_plugins(plugin_basename(WEBPEXPRESS_PLUGIN));
});
break;
}
}
public static function processQueuedActions() {
$actions = State::getState('pendingActions', []);
foreach ($actions as $action) {
self::takeAction($action);
}
State::setState('pendingActions', []);
Option::updateOption('webp-express-actions-pending', false, true);
}
}