diff --git a/system/src/Grav/Common/Filesystem/Folder.php b/system/src/Grav/Common/Filesystem/Folder.php index 3d30d12eb..c839d02aa 100644 --- a/system/src/Grav/Common/Filesystem/Folder.php +++ b/system/src/Grav/Common/Filesystem/Folder.php @@ -44,15 +44,12 @@ abstract class Folder { $last_modified = 0; - $dirItr = new \RecursiveDirectoryIterator($path, \RecursiveDirectoryIterator::SKIP_DOTS); - $filterItr = new RecursiveFileFilterIterator($dirItr); - $itr = new \RecursiveIteratorIterator($filterItr, \RecursiveIteratorIterator::SELF_FIRST); + $dirItr = new \RecursiveDirectoryIterator($path, \RecursiveDirectoryIterator::SKIP_DOTS); + $itrItr = new \RecursiveIteratorIterator($dirItr, \RecursiveIteratorIterator::SELF_FIRST); + $itr = new RecursiveFileFilterIterator($itrItr); /** @var \RecursiveDirectoryIterator $file */ foreach ($itr as $file) { - if ($file->isDir()) { - continue; - } $file_modified = $file->getMTime(); if ($file_modified > $last_modified) { $last_modified = $file_modified; diff --git a/system/src/Grav/Common/Filesystem/RecursiveFileFilterIterator.php b/system/src/Grav/Common/Filesystem/RecursiveFileFilterIterator.php index be9667c3b..dcf1c640d 100644 --- a/system/src/Grav/Common/Filesystem/RecursiveFileFilterIterator.php +++ b/system/src/Grav/Common/Filesystem/RecursiveFileFilterIterator.php @@ -1,13 +1,16 @@ current()->getFilename(), self::$FILTERS, true); + // Ensure only valid file names are skipped + $current = $this->current()->getFilename(); + $accept = Utils::endsWith($current, '.md'); + + return $accept; } }