From fc9b0c814fc776aad3ed4f2ae67efb0ff0c13193 Mon Sep 17 00:00:00 2001 From: Adarsh Santoria Date: Mon, 24 Mar 2025 02:30:14 +0530 Subject: [PATCH 1/5] Enable Multi extension random image --- .../src/Helper/RandomImageHelper.php | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/modules/mod_random_image/src/Helper/RandomImageHelper.php b/modules/mod_random_image/src/Helper/RandomImageHelper.php index 0345f26a1d9b..54cca06cc6ea 100644 --- a/modules/mod_random_image/src/Helper/RandomImageHelper.php +++ b/modules/mod_random_image/src/Helper/RandomImageHelper.php @@ -83,6 +83,13 @@ public static function getRandomImage(&$params, $images) public static function getImages(&$params, $folder) { $type = $params->get('type', 'jpg'); + $extensions = array_map('trim', explode(',', $type)); + + // Normalize to lowercase and strip leading dots + $extensions = array_map(function ($ext) { + return ltrim(strtolower($ext), '.'); + }, $extensions); + $files = []; $images = []; @@ -103,9 +110,13 @@ public static function getImages(&$params, $folder) $i = 0; foreach ($files as $img) { - if (!is_dir($dir . '/' . $img) && preg_match('/' . $type . '/', $img)) { + if (is_dir($dir . '/' . $img)) { + continue; + } + + $ext = pathinfo($img, PATHINFO_EXTENSION); + if (in_array(strtolower($ext), $extensions, true)) { $images[$i] = new \stdClass(); - $images[$i]->name = $img; $images[$i]->folder = $folder; $i++; From 53b5e507bfecc08a051c5708b7b0b060c2f018ae Mon Sep 17 00:00:00 2001 From: Adarsh Santoria Date: Mon, 24 Mar 2025 03:02:57 +0530 Subject: [PATCH 2/5] fix style --- modules/mod_random_image/src/Helper/RandomImageHelper.php | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/modules/mod_random_image/src/Helper/RandomImageHelper.php b/modules/mod_random_image/src/Helper/RandomImageHelper.php index 54cca06cc6ea..afbb7c7bb6c4 100644 --- a/modules/mod_random_image/src/Helper/RandomImageHelper.php +++ b/modules/mod_random_image/src/Helper/RandomImageHelper.php @@ -82,7 +82,7 @@ public static function getRandomImage(&$params, $images) */ public static function getImages(&$params, $folder) { - $type = $params->get('type', 'jpg'); + $type = $params->get('type', 'jpg'); $extensions = array_map('trim', explode(',', $type)); // Normalize to lowercase and strip leading dots @@ -96,7 +96,7 @@ public static function getImages(&$params, $folder) $dir = JPATH_BASE . '/' . $folder; // Check if directory exists - if (is_dir($dir)) { + if (\is_dir($dir)) { if ($handle = opendir($dir)) { while (false !== ($file = readdir($handle))) { if ($file !== '.' && $file !== '..' && $file !== 'CVS' && $file !== 'index.html') { @@ -110,12 +110,12 @@ public static function getImages(&$params, $folder) $i = 0; foreach ($files as $img) { - if (is_dir($dir . '/' . $img)) { + if (\is_dir($dir . '/' . $img)) { continue; } $ext = pathinfo($img, PATHINFO_EXTENSION); - if (in_array(strtolower($ext), $extensions, true)) { + if (\in_array(strtolower($ext), $extensions, true)) { $images[$i] = new \stdClass(); $images[$i]->name = $img; $images[$i]->folder = $folder; From 62764c4e20a74148861082716a12a455b2736b08 Mon Sep 17 00:00:00 2001 From: Adarsh Santoria Date: Mon, 24 Mar 2025 03:05:13 +0530 Subject: [PATCH 3/5] fix style --- modules/mod_random_image/src/Helper/RandomImageHelper.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/mod_random_image/src/Helper/RandomImageHelper.php b/modules/mod_random_image/src/Helper/RandomImageHelper.php index afbb7c7bb6c4..966a801704e2 100644 --- a/modules/mod_random_image/src/Helper/RandomImageHelper.php +++ b/modules/mod_random_image/src/Helper/RandomImageHelper.php @@ -113,7 +113,7 @@ public static function getImages(&$params, $folder) if (\is_dir($dir . '/' . $img)) { continue; } - + $ext = pathinfo($img, PATHINFO_EXTENSION); if (\in_array(strtolower($ext), $extensions, true)) { $images[$i] = new \stdClass(); From 4296d27cd4c44653ac4d7db42a95c55f31505d1b Mon Sep 17 00:00:00 2001 From: Adarsh Santoria Date: Mon, 24 Mar 2025 03:14:03 +0530 Subject: [PATCH 4/5] Update RandomImageHelper.php --- modules/mod_random_image/src/Helper/RandomImageHelper.php | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/modules/mod_random_image/src/Helper/RandomImageHelper.php b/modules/mod_random_image/src/Helper/RandomImageHelper.php index 966a801704e2..854261e71343 100644 --- a/modules/mod_random_image/src/Helper/RandomImageHelper.php +++ b/modules/mod_random_image/src/Helper/RandomImageHelper.php @@ -82,7 +82,7 @@ public static function getRandomImage(&$params, $images) */ public static function getImages(&$params, $folder) { - $type = $params->get('type', 'jpg'); + $type = $params->get('type', 'jpg'); $extensions = array_map('trim', explode(',', $type)); // Normalize to lowercase and strip leading dots @@ -96,7 +96,7 @@ public static function getImages(&$params, $folder) $dir = JPATH_BASE . '/' . $folder; // Check if directory exists - if (\is_dir($dir)) { + if (is_dir($dir)) { if ($handle = opendir($dir)) { while (false !== ($file = readdir($handle))) { if ($file !== '.' && $file !== '..' && $file !== 'CVS' && $file !== 'index.html') { @@ -110,13 +110,13 @@ public static function getImages(&$params, $folder) $i = 0; foreach ($files as $img) { - if (\is_dir($dir . '/' . $img)) { + if (is_dir($dir . '/' . $img)) { continue; } $ext = pathinfo($img, PATHINFO_EXTENSION); if (\in_array(strtolower($ext), $extensions, true)) { - $images[$i] = new \stdClass(); + $images[$i] = new \stdClass(); $images[$i]->name = $img; $images[$i]->folder = $folder; $i++; From cb04f7a0d52b4e8d462cd7ec5c3cf2d4ecb28de4 Mon Sep 17 00:00:00 2001 From: Richard Fath Date: Sun, 8 Jun 2025 01:04:37 +0200 Subject: [PATCH 5/5] CS fix --- modules/mod_random_image/src/Helper/RandomImageHelper.php | 1 + 1 file changed, 1 insertion(+) diff --git a/modules/mod_random_image/src/Helper/RandomImageHelper.php b/modules/mod_random_image/src/Helper/RandomImageHelper.php index 854261e71343..4d49952e0275 100644 --- a/modules/mod_random_image/src/Helper/RandomImageHelper.php +++ b/modules/mod_random_image/src/Helper/RandomImageHelper.php @@ -115,6 +115,7 @@ public static function getImages(&$params, $folder) } $ext = pathinfo($img, PATHINFO_EXTENSION); + if (\in_array(strtolower($ext), $extensions, true)) { $images[$i] = new \stdClass(); $images[$i]->name = $img;