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:
53
lib/classes/ImageRoot.php
Normal file
53
lib/classes/ImageRoot.php
Normal file
@@ -0,0 +1,53 @@
|
||||
<?php
|
||||
|
||||
namespace WebPExpress;
|
||||
|
||||
use \WebPExpress\PathHelper;
|
||||
|
||||
class ImageRoot
|
||||
{
|
||||
public $id;
|
||||
private $imageRootDef;
|
||||
|
||||
/**
|
||||
* Constructor.
|
||||
*
|
||||
* @param array $imageRootDef assoc array containing "id", "url" and either "abs-path", "rel-path" or both.
|
||||
*/
|
||||
public function __construct($imageRootDef)
|
||||
{
|
||||
$this->imageRootDef = $imageRootDef;
|
||||
$this->id = $imageRootDef['id'];
|
||||
}
|
||||
|
||||
/**
|
||||
* Get / calculate abs path.
|
||||
*
|
||||
* If "rel-path" is set and document root is available, the abs path will be calculated from the relative path.
|
||||
* Otherwise the "abs-path" is returned.
|
||||
* @throws Exception In case rel-path is not
|
||||
*/
|
||||
public function getAbsPath()
|
||||
{
|
||||
$def = $this->imageRootDef;
|
||||
if (isset($def['rel-path']) && PathHelper::isDocRootAvailable()) {
|
||||
return rtrim($_SERVER["DOCUMENT_ROOT"], '/') . '/' . $def['rel-path'];
|
||||
} elseif (isset($def['abs-path'])) {
|
||||
return $def['abs-path'];
|
||||
} else {
|
||||
if (!isset($def['rel-path'])) {
|
||||
throw new \Exception(
|
||||
'Image root definition in config file is must either have a "rel-path" or "abs-path" property defined. ' .
|
||||
'Probably your system setup has changed. Please re-save WebP Express options and regenerate .htaccess'
|
||||
);
|
||||
} else {
|
||||
throw new \Exception(
|
||||
'Image root definition in config file is defined by "rel-path". However, DOCUMENT_ROOT is unavailable so we ' .
|
||||
'cannot use that (as the rel-path is relative to that. ' .
|
||||
'Probably your system setup has changed. Please re-save WebP Express options and regenerate .htaccess'
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user