diff --git a/lib/classes/task/file_temp_cleanup_task.php b/lib/classes/task/file_temp_cleanup_task.php index b5aeea8d0b0..c4801fe9060 100644 --- a/lib/classes/task/file_temp_cleanup_task.php +++ b/lib/classes/task/file_temp_cleanup_task.php @@ -88,8 +88,10 @@ class file_temp_cleanup_task extends scheduled_task { } } } else { - // Return the time modified to the original date. - touch($node, $modifieddateobject[$node]); + // Return the time modified to the original date only for real files. + if ($iter->isDir() && !$iter->isDot()) { + touch($node, $modifieddateobject[$node]); + } } } } diff --git a/lib/tests/scheduled_task_test.php b/lib/tests/scheduled_task_test.php index 95a5a0dc3a6..9c1f95990ee 100644 --- a/lib/tests/scheduled_task_test.php +++ b/lib/tests/scheduled_task_test.php @@ -395,8 +395,10 @@ class core_scheduled_task_testcase extends advanced_testcase { $iter = new \RecursiveIteratorIterator($dir, \RecursiveIteratorIterator::CHILD_FIRST); for ($iter->rewind(); $iter->valid(); $iter->next()) { - $node = $iter->getRealPath(); - touch($node, time() - (8 * 24 * 3600)); + if ($iter->isDir() && !$iter->isDot()) { + $node = $iter->getRealPath(); + touch($node, time() - (8 * 24 * 3600)); + } } // Run the scheduled task again to remove all of the files and directories.