From bc5271b0eb0efffb314ee8f5a6b80cd6c7e4979e Mon Sep 17 00:00:00 2001 From: berumuron Date: Mon, 17 Jan 2022 13:13:27 +0100 Subject: fix: Ignore non-PHP files in migrations/ folder (#4163) Some NAS create folders named `@eaDir` in the FreshRSS tree, including the `migrations/` folder. This broke the migration system which expected only valid PHP files to be present in this folder. Now, it ignores non-PHP files. Reference: https://github.com/FreshRSS/FreshRSS/issues/4044 --- lib/Minz/Migrator.php | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'lib/Minz/Migrator.php') diff --git a/lib/Minz/Migrator.php b/lib/Minz/Migrator.php index 7afc5240e..0f28237c5 100644 --- a/lib/Minz/Migrator.php +++ b/lib/Minz/Migrator.php @@ -39,7 +39,8 @@ class Minz_Migrator $migration_files = scandir($migrations_path); $migration_files = array_filter($migration_files, function ($filename) { - return $filename[0] !== '.'; + $file_extension = pathinfo($filename, PATHINFO_EXTENSION); + return $file_extension === 'php'; }); $migration_versions = array_map(function ($filename) { return basename($filename, '.php'); @@ -134,7 +135,8 @@ class Minz_Migrator } foreach (scandir($directory) as $filename) { - if ($filename[0] === '.') { + $file_extension = pathinfo($filename, PATHINFO_EXTENSION); + if ($file_extension !== 'php') { continue; } -- cgit v1.2.3