From 77da0c5517c40428fc8b8cefd34869355475ac87 Mon Sep 17 00:00:00 2001 From: Jonathan Miller Date: Sun, 21 Jun 2026 16:42:54 -0500 Subject: [PATCH] fix: remove remaining @ suppression, check Folder::create() returns MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Remove @getimagesize() suppression in ImageHelper, ImageGenerator, MokoOG — let PHP report warnings for corrupt/unreadable images - Add Log::add() when ImageHelper::resize() cannot read image dimensions - Check Folder::create() return value in ImageGenerator and ImageHelper, return graceful fallback if directory creation fails --- .../plg_system_mokoog/src/Extension/MokoOG.php | 2 +- .../plg_system_mokoog/src/Helper/ImageGenerator.php | 8 +++++--- .../plg_system_mokoog/src/Helper/ImageHelper.php | 12 ++++++++---- 3 files changed, 14 insertions(+), 8 deletions(-) diff --git a/source/packages/plg_system_mokoog/src/Extension/MokoOG.php b/source/packages/plg_system_mokoog/src/Extension/MokoOG.php index 37e826e..cd7d710 100644 --- a/source/packages/plg_system_mokoog/src/Extension/MokoOG.php +++ b/source/packages/plg_system_mokoog/src/Extension/MokoOG.php @@ -686,7 +686,7 @@ final class MokoOG extends CMSPlugin implements SubscriberInterface return null; } - $info = @getimagesize($absPath); + $info = getimagesize($absPath); if (!$info) { return null; diff --git a/source/packages/plg_system_mokoog/src/Helper/ImageGenerator.php b/source/packages/plg_system_mokoog/src/Helper/ImageGenerator.php index 4b35818..7a16305 100644 --- a/source/packages/plg_system_mokoog/src/Helper/ImageGenerator.php +++ b/source/packages/plg_system_mokoog/src/Helper/ImageGenerator.php @@ -63,8 +63,10 @@ class ImageGenerator $outputDir = JPATH_ROOT . '/' . self::OUTPUT_DIR; - if (!is_dir($outputDir)) { - Folder::create($outputDir); + if (!is_dir($outputDir) && !Folder::create($outputDir)) { + Log::add('MokoOG ImageGenerator: Cannot create output directory: ' . self::OUTPUT_DIR, Log::WARNING, 'mokoog'); + + return ''; } $hash = md5($title . $templateImage . $fontSize); @@ -78,7 +80,7 @@ class ImageGenerator } // Load template image - $imageInfo = @getimagesize($templateAbs); + $imageInfo = getimagesize($templateAbs); if (!$imageInfo) { Log::add('MokoOG ImageGenerator: Cannot read image dimensions: ' . $templateImage, Log::WARNING, 'mokoog'); diff --git a/source/packages/plg_system_mokoog/src/Helper/ImageHelper.php b/source/packages/plg_system_mokoog/src/Helper/ImageHelper.php index a5f1386..6bdca69 100644 --- a/source/packages/plg_system_mokoog/src/Helper/ImageHelper.php +++ b/source/packages/plg_system_mokoog/src/Helper/ImageHelper.php @@ -64,9 +64,11 @@ class ImageHelper return $imagePath; } - $imageInfo = @getimagesize($absPath); + $imageInfo = getimagesize($absPath); if (!$imageInfo) { + Log::add('MokoOG ImageHelper: Cannot read image dimensions: ' . basename($absPath), Log::WARNING, 'mokoog'); + return $imagePath; } @@ -80,8 +82,10 @@ class ImageHelper // Ensure output directory exists $outputDir = JPATH_ROOT . '/' . self::OUTPUT_DIR; - if (!is_dir($outputDir)) { - Folder::create($outputDir); + if (!is_dir($outputDir) && !Folder::create($outputDir)) { + Log::add('MokoOG ImageHelper: Cannot create output directory: ' . self::OUTPUT_DIR, Log::WARNING, 'mokoog'); + + return $imagePath; } // Generate output filename based on source hash + dimensions @@ -180,7 +184,7 @@ class ImageHelper return ['valid' => false, 'width' => 0, 'height' => 0, 'message' => 'File not found']; } - $imageInfo = @getimagesize($absPath); + $imageInfo = getimagesize($absPath); if (!$imageInfo) { return ['valid' => false, 'width' => 0, 'height' => 0, 'message' => 'Not a valid image'];