From d51bcba5be9755a12c987809068142c5030536fd Mon Sep 17 00:00:00 2001 From: Cole Thorsen <959538+colethorsen@users.noreply.github.com> Date: Thu, 16 Nov 2023 08:07:45 -0800 Subject: [PATCH 1/4] allow get_filenames to follow symlinks --- system/Helpers/filesystem_helper.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/system/Helpers/filesystem_helper.php b/system/Helpers/filesystem_helper.php index 47c829bbc3c6..4e0e8b1532e9 100644 --- a/system/Helpers/filesystem_helper.php +++ b/system/Helpers/filesystem_helper.php @@ -209,7 +209,7 @@ function get_filenames( try { foreach (new RecursiveIteratorIterator( - new RecursiveDirectoryIterator($sourceDir, RecursiveDirectoryIterator::SKIP_DOTS), + new RecursiveDirectoryIterator($sourceDir, RecursiveDirectoryIterator::SKIP_DOTS | FilesystemIterator::FOLLOW_SYMLINKS), RecursiveIteratorIterator::SELF_FIRST ) as $name => $object) { $basename = pathinfo($name, PATHINFO_BASENAME); From 833e331ead2b8215379499ffb540b79190b02ce5 Mon Sep 17 00:00:00 2001 From: Cole Thorsen <959538+colethorsen@users.noreply.github.com> Date: Thu, 16 Nov 2023 15:11:36 -0800 Subject: [PATCH 2/4] docs --- user_guide_src/source/changelogs/v4.4.4.rst | 6 ++++++ user_guide_src/source/helpers/filesystem_helper.rst | 2 ++ 2 files changed, 8 insertions(+) diff --git a/user_guide_src/source/changelogs/v4.4.4.rst b/user_guide_src/source/changelogs/v4.4.4.rst index bb4250f1e63f..1d13cc0328ca 100644 --- a/user_guide_src/source/changelogs/v4.4.4.rst +++ b/user_guide_src/source/changelogs/v4.4.4.rst @@ -27,6 +27,12 @@ Validation rules matches and differs Bugs have been fixed in the case where ``matches`` and ``differs`` in the Strict and Traditional rules validate data of non-string types. +Filesystem Helper +==================================== + +``get_filenames()`` now follows symlink folders, which it previously just returned +without following. + *************** Message Changes *************** diff --git a/user_guide_src/source/helpers/filesystem_helper.rst b/user_guide_src/source/helpers/filesystem_helper.rst index 75062ae054a3..d11288a2ea96 100644 --- a/user_guide_src/source/helpers/filesystem_helper.rst +++ b/user_guide_src/source/helpers/filesystem_helper.rst @@ -164,6 +164,8 @@ The following functions are available: the second parameter to 'relative' for relative paths or any other non-empty value for a full file path. + Prior to v4.4.4, due to a bug, this function did not follow symlink folders. + Example: .. literalinclude:: filesystem_helper/010.php From 51cf3c1056fbabfcfb68c82134216c23f1a2d07f Mon Sep 17 00:00:00 2001 From: Cole Thorsen <959538+colethorsen@users.noreply.github.com> Date: Thu, 16 Nov 2023 15:28:22 -0800 Subject: [PATCH 3/4] Apply suggestions from code review Co-authored-by: kenjis --- user_guide_src/source/changelogs/v4.4.4.rst | 2 +- user_guide_src/source/helpers/filesystem_helper.rst | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/user_guide_src/source/changelogs/v4.4.4.rst b/user_guide_src/source/changelogs/v4.4.4.rst index 1d13cc0328ca..a8c47ec943f7 100644 --- a/user_guide_src/source/changelogs/v4.4.4.rst +++ b/user_guide_src/source/changelogs/v4.4.4.rst @@ -30,7 +30,7 @@ and Traditional rules validate data of non-string types. Filesystem Helper ==================================== -``get_filenames()`` now follows symlink folders, which it previously just returned +:php:func:`get_filenames()` now follows symlink folders, which it previously just returned without following. *************** diff --git a/user_guide_src/source/helpers/filesystem_helper.rst b/user_guide_src/source/helpers/filesystem_helper.rst index d11288a2ea96..b95ae2134fb7 100644 --- a/user_guide_src/source/helpers/filesystem_helper.rst +++ b/user_guide_src/source/helpers/filesystem_helper.rst @@ -164,7 +164,7 @@ The following functions are available: the second parameter to 'relative' for relative paths or any other non-empty value for a full file path. - Prior to v4.4.4, due to a bug, this function did not follow symlink folders. + .. note:: Prior to v4.4.4, due to a bug, this function did not follow symlink folders. Example: From 12a64e701a19abc67c36704f195b34e522b1bd85 Mon Sep 17 00:00:00 2001 From: Cole Thorsen <959538+colethorsen@users.noreply.github.com> Date: Thu, 16 Nov 2023 15:57:50 -0800 Subject: [PATCH 4/4] Update user_guide_src/source/changelogs/v4.4.4.rst Co-authored-by: kenjis --- user_guide_src/source/changelogs/v4.4.4.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/user_guide_src/source/changelogs/v4.4.4.rst b/user_guide_src/source/changelogs/v4.4.4.rst index a8c47ec943f7..f7130f54e7a9 100644 --- a/user_guide_src/source/changelogs/v4.4.4.rst +++ b/user_guide_src/source/changelogs/v4.4.4.rst @@ -28,7 +28,7 @@ Bugs have been fixed in the case where ``matches`` and ``differs`` in the Strict and Traditional rules validate data of non-string types. Filesystem Helper -==================================== +================= :php:func:`get_filenames()` now follows symlink folders, which it previously just returned without following.