From 69c16032f34412254b9400091a136f63e30ded70 Mon Sep 17 00:00:00 2001 From: Exodus4D Date: Mon, 24 Jul 2017 20:29:27 +0200 Subject: [PATCH] - fixed an issue where /setup page shows 5xx error because of not existing /tmp/cache dir --- app/main/data/filesystem/search.php | 56 +++++++++++++++-------------- 1 file changed, 30 insertions(+), 26 deletions(-) diff --git a/app/main/data/filesystem/search.php b/app/main/data/filesystem/search.php index 73414ccb..36c1d8b0 100644 --- a/app/main/data/filesystem/search.php +++ b/app/main/data/filesystem/search.php @@ -22,37 +22,41 @@ class Search { * recursive file filter by mTime * @param string $dir * @param int $mTime - * @return \RecursiveIteratorIterator + * @return array|\RecursiveCallbackFilterIterator */ static function getFilesByMTime($dir, $mTime = null){ + $files = []; - if(is_null($mTime)){ - self::$filterTime = time(); - }else{ - self::$filterTime = (int)$mTime; + if(is_dir($dir)){ + if(is_null($mTime)){ + self::$filterTime = time(); + }else{ + self::$filterTime = (int)$mTime; + } + + $directory = new \RecursiveDirectoryIterator( $dir, \FilesystemIterator::SKIP_DOTS ); + $files = new \RecursiveCallbackFilterIterator($directory, function ($current, $key, $iterator) { + + // Check for last modification date + /** + * @var $current \RecursiveDirectoryIterator + */ + if ( + !$current->isFile() || // allow recursion + ( + strpos($current->getFilename(), '.') !== 0 && // skip e.g. ".gitignore" + $current->getMTime() < self::$filterTime // check last modification date + ) + ){ + return true; + } + return false; + }); + + $files = new \RecursiveIteratorIterator($files); } - - $directory = new \RecursiveDirectoryIterator( $dir, \FilesystemIterator::SKIP_DOTS ); - $files = new \RecursiveCallbackFilterIterator($directory, function ($current, $key, $iterator) { - - // Check for last modification date - /** - * @var $current \RecursiveDirectoryIterator - */ - if ( - !$current->isFile() || // allow recursion - ( - strpos($current->getFilename(), '.') !== 0 && // skip e.g. ".gitignore" - $current->getMTime() < self::$filterTime // check last modification date - ) - ){ - return true; - } - return false; - }); - - return new \RecursiveIteratorIterator($files); + return $files; } } \ No newline at end of file