From cbe4ffa9a4ea823ce7f628eb09532ed6b553b62b Mon Sep 17 00:00:00 2001 From: Sergio Vera Date: Tue, 28 Sep 2021 13:20:42 +0200 Subject: [PATCH 1/2] AC-669: Fixed directory name checking too lax --- Magento2/Sniffs/Legacy/InstallUpgradeSniff.php | 4 +++- .../InstallUpgradeUnitTest/another-data-folder/file3.inc | 1 + .../InstallUpgradeUnitTest/another-sql-folder/file4.inc | 1 + 3 files changed, 5 insertions(+), 1 deletion(-) create mode 100644 Magento2/Tests/Legacy/_files/InstallUpgradeUnitTest/another-data-folder/file3.inc create mode 100644 Magento2/Tests/Legacy/_files/InstallUpgradeUnitTest/another-sql-folder/file4.inc diff --git a/Magento2/Sniffs/Legacy/InstallUpgradeSniff.php b/Magento2/Sniffs/Legacy/InstallUpgradeSniff.php index fe31088e..c9823242 100644 --- a/Magento2/Sniffs/Legacy/InstallUpgradeSniff.php +++ b/Magento2/Sniffs/Legacy/InstallUpgradeSniff.php @@ -64,7 +64,9 @@ public function process(File $phpcsFile, $stackPtr) } } - if (preg_match('/(sql|data)/', $fileInfo->getPath()) === 1) { + $folderName = basename($fileInfo->getPath()); + + if ($folderName === 'data' || $folderName === 'sql') { $phpcsFile->addError( $fileInfo->getFilename()." is in an invalid directory ".$fileInfo->getPath().":\n" . "- Create a data patch within module's Setup/Patch/Data folder for data upgrades.\n" diff --git a/Magento2/Tests/Legacy/_files/InstallUpgradeUnitTest/another-data-folder/file3.inc b/Magento2/Tests/Legacy/_files/InstallUpgradeUnitTest/another-data-folder/file3.inc new file mode 100644 index 00000000..b3d9bbc7 --- /dev/null +++ b/Magento2/Tests/Legacy/_files/InstallUpgradeUnitTest/another-data-folder/file3.inc @@ -0,0 +1 @@ + Date: Tue, 28 Sep 2021 13:27:37 +0200 Subject: [PATCH 2/2] AC-669: Fixed directory name checking too lax --- Magento2/Sniffs/Legacy/InstallUpgradeSniff.php | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Magento2/Sniffs/Legacy/InstallUpgradeSniff.php b/Magento2/Sniffs/Legacy/InstallUpgradeSniff.php index c9823242..c7df570c 100644 --- a/Magento2/Sniffs/Legacy/InstallUpgradeSniff.php +++ b/Magento2/Sniffs/Legacy/InstallUpgradeSniff.php @@ -64,7 +64,8 @@ public function process(File $phpcsFile, $stackPtr) } } - $folderName = basename($fileInfo->getPath()); + $folders = array_filter(explode('/', $fileInfo->getPath())); + $folderName = array_pop($folders); if ($folderName === 'data' || $folderName === 'sql') { $phpcsFile->addError(