diff --git a/.all-contributorsrc b/.all-contributorsrc
index e2ce8b9ae93..16a3a91a860 100644
--- a/.all-contributorsrc
+++ b/.all-contributorsrc
@@ -1382,7 +1382,25 @@
"contributions": [
"code"
]
- }
+ },
+ {
+ "login": "gorbunovav",
+ "name": "Andrey Gorbunov",
+ "avatar_url": "https://avatars.githubusercontent.com/u/2665015?v=4",
+ "profile": "https://github.com/gorbunovav",
+ "contributions": [
+ "code"
+ ]
+ },
+ {
+ "login": "Tomasz-Silpion",
+ "name": "Tomasz Gregorczyk",
+ "avatar_url": "https://avatars.githubusercontent.com/u/5328659?v=4",
+ "profile": "https://github.com/Tomasz-Silpion",
+ "contributions": [
+ "code"
+ ]
+ },
],
"contributorsPerLine": 7
}
diff --git a/.github/workflows/check-files.yml b/.github/workflows/check-files.yml
index ac14aa845bc..b9c092c84ca 100644
--- a/.github/workflows/check-files.yml
+++ b/.github/workflows/check-files.yml
@@ -41,16 +41,16 @@ jobs:
name: Changed
runs-on: [ubuntu-latest]
outputs:
- composer: ${{ steps.all.outputs.composer }}
- php: ${{ steps.all.outputs.php }}
- xml: ${{ steps.all.outputs.xml }}
- workflow: ${{ steps.all.outputs.workflow }}
- phpcs: ${{ steps.all.outputs.phpcs }}
- php-cs-fixer: ${{ steps.all.outputs.php-cs-fixer }}
- phpstan: ${{ steps.all.outputs.phpstan }}
- phpunit-test: ${{ steps.all.outputs.phpunit-test }}
- phpunit: ${{ steps.all.outputs.phpunit }}
- sonar: ${{ steps.all.outputs.sonar }}
+ composer: ${{ steps.changes-composer.outputs.composer }}
+ php: ${{ steps.changes-php.outputs.php }}
+ xml: ${{ steps.changes-xml.outputs.xml }}
+ workflow: ${{ steps.changes-workflow.outputs.workflow }}
+ phpcs: ${{ steps.changes-phpcs.outputs.phpcs }}
+ php-cs-fixer: ${{ steps.changes-php-cs-fixer.outputs.php-cs-fixer }}
+ phpstan: ${{ steps.changes-phpstan.outputs.phpstan }}
+ phpunit-test: ${{ steps.changes-phpunit-test.outputs.phpunit-test }}
+ phpunit: ${{ steps.changes-phpunit.outputs.phpunit }}
+ sonar: ${{ steps.changes-sonar.outputs.sonar }}
steps:
- name: Checkout code
@@ -86,8 +86,8 @@ jobs:
dev/phpunit*
dev/sonar*
- - name: Run step if any file(s) changed
- id: all
+ - name: Check if composer files changed
+ id: changes-composer
if: steps.changed-files-specific.outputs.any_modified == 'true'
run: |
echo "One or more files have changed."
@@ -96,38 +96,74 @@ jobs:
echo "$count Composer file(s) changed"
echo "composer=$count" >> $GITHUB_OUTPUT
+ - name: Check if PHP files changed
+ id: changes-php
+ if: steps.changed-files-specific.outputs.any_modified == 'true'
+ run: |
count="$(grep -oE "*.php" <<< "${{ steps.changed-files-specific.outputs.all_modified_files }}" | wc -l)"
echo "$count PHP file(s) changed"
echo "php=$count" >> $GITHUB_OUTPUT
+ - name: Check if XML files changed
+ id: changes-xml
+ if: steps.changed-files-specific.outputs.any_modified == 'true'
+ run: |
count="$(grep -oE "*.xml" <<< "${{ steps.changed-files-specific.outputs.all_modified_files }}" | wc -l)"
echo "$count XML file(s) changed"
echo "xml=$count" >> $GITHUB_OUTPUT
+ - name: Check if Workflow files changed
+ id: changes-workflow
+ if: steps.changed-files-specific.outputs.any_modified == 'true'
+ run: |
count="$(grep -oE ".github/workflows/**" <<< "${{ steps.changed-files-specific.outputs.all_modified_files }}" | wc -l)"
echo "$count Workflow file(s) changed"
echo "workflow=$count" >> $GITHUB_OUTPUT
+ - name: Check if PHPCS test files changed
+ id: changes-phpcs
+ if: steps.changed-files-specific.outputs.any_modified == 'true'
+ run: |
count="$(grep -oE "**phpcs**" <<< "${{ steps.changed-files-specific.outputs.all_modified_files }}" | wc -l)"
echo "$count PHPCS file(s) changed"
echo "phpcs=$count" >> $GITHUB_OUTPUT
+ - name: Check if PHP-CS-Fixer files changed
+ id: changes-php-cs-fixer
+ if: steps.changed-files-specific.outputs.any_modified == 'true'
+ run: |
count="$(grep -oE "**php-cs-fixer**" <<< "${{ steps.changed-files-specific.outputs.all_modified_files }}" | wc -l)"
echo "$count PHP-CS-Fixer file(s) changed"
echo "php-cs-fixer=$count" >> $GITHUB_OUTPUT
+ - name: Check if PHPStan files changed
+ id: changes-phpstan
+ if: steps.changed-files-specific.outputs.any_modified == 'true'
+ run: |
count="$(grep -oE "**phpstan**" <<< "${{ steps.changed-files-specific.outputs.all_modified_files }}" | wc -l)"
echo "$count PHPStan file(s) changed"
echo "phpstan=$count" >> $GITHUB_OUTPUT
+ - name: Check if PHPUnit test files changed
+ id: changes-phpunit-test
+ if: steps.changed-files-specific.outputs.any_modified == 'true'
+ run: |
count="$(grep -oE "dev/tests/" <<< "${{ steps.changed-files-specific.outputs.all_modified_files }}" | wc -l)"
echo "$count UnitTest test file(s) changed"
echo "phpunit-test=$count" >> $GITHUB_OUTPUT
+ - name: Check if PHPUnit files changed
+ id: changes-phpunit
+ if: steps.changed-files-specific.outputs.any_modified == 'true'
+ run: |
count="$(grep -oE "dev/phpunit*" <<< "${{ steps.changed-files-specific.outputs.all_modified_files }}" | wc -l)"
- echo "$count UnitTest file(s) changed"
+ echo "$count PHPUnit file(s) changed"
echo "phpunit=$count" >> $GITHUB_OUTPUT
+ - name: Check if Sonar files changed
+ id: changes-sonar
+ if: steps.changed-files-specific.outputs.any_modified == 'true'
+ run: |
count="$(grep -oE "dev/sonar*" <<< "${{ steps.changed-files-specific.outputs.all_modified_files }}" | wc -l)"
echo "$count Sonar file(s) changed"
echo "sonar=$count" >> $GITHUB_OUTPUT
diff --git a/.htaccess b/.htaccess
index 9a9d3b18db0..7251495a9dc 100644
--- a/.htaccess
+++ b/.htaccess
@@ -40,6 +40,34 @@
+############################################
+## php8 settings
+
+
+
+############################################
+## adjust max execution time
+
+ php_value max_execution_time 18000
+
+############################################
+## disable automatic session start
+## before autoload was initialized
+
+ php_flag session.auto_start off
+
+############################################
+## enable resulting html compression
+
+ #php_flag zlib.output_compression on
+
+###########################################
+# disable user agent verification to not break multiple image upload
+
+ php_flag suhosin.session.cryptua off
+
+
+
###########################################
# disable POST processing to not break multiple image upload
diff --git a/app/code/core/Mage/Oauth/controllers/Adminhtml/Oauth/Admin/TokenController.php b/app/code/core/Mage/Oauth/controllers/Adminhtml/Oauth/Admin/TokenController.php
index 6914471f929..1e51d84dbb9 100644
--- a/app/code/core/Mage/Oauth/controllers/Adminhtml/Oauth/Admin/TokenController.php
+++ b/app/code/core/Mage/Oauth/controllers/Adminhtml/Oauth/Admin/TokenController.php
@@ -155,6 +155,6 @@ protected function _isAllowed()
{
/** @var Mage_Admin_Model_Session $session */
$session = Mage::getSingleton('admin/session');
- return $session->isAllowed('system/acl/admin_token');
+ return $session->isAllowed('system/api/oauth_admin_token');
}
}
diff --git a/app/code/core/Mage/Oauth/controllers/Adminhtml/Oauth/AuthorizedTokensController.php b/app/code/core/Mage/Oauth/controllers/Adminhtml/Oauth/AuthorizedTokensController.php
index 55b0e372bc9..d6a1b9e84c6 100644
--- a/app/code/core/Mage/Oauth/controllers/Adminhtml/Oauth/AuthorizedTokensController.php
+++ b/app/code/core/Mage/Oauth/controllers/Adminhtml/Oauth/AuthorizedTokensController.php
@@ -149,7 +149,7 @@ protected function _isAllowed()
{
/** @var Mage_Admin_Model_Session $session */
$session = Mage::getSingleton('admin/session');
- return $session->isAllowed('system/oauth/authorizedTokens');
+ return $session->isAllowed('system/api/oauth_authorized_tokens');
}
/**
diff --git a/app/code/core/Mage/Oauth/controllers/Adminhtml/Oauth/ConsumerController.php b/app/code/core/Mage/Oauth/controllers/Adminhtml/Oauth/ConsumerController.php
index fbf8056771d..bc25301639d 100644
--- a/app/code/core/Mage/Oauth/controllers/Adminhtml/Oauth/ConsumerController.php
+++ b/app/code/core/Mage/Oauth/controllers/Adminhtml/Oauth/ConsumerController.php
@@ -240,7 +240,7 @@ protected function _isAllowed()
}
/** @var Mage_Admin_Model_Session $session */
$session = Mage::getSingleton('admin/session');
- return $session->isAllowed('system/oauth/consumer' . $action);
+ return $session->isAllowed('system/api/oauth_consumer' . $action);
}
/**
diff --git a/app/code/core/Mage/Oauth/data/oauth_setup/upgrade-1.0.0.0-1.0.0.1.php b/app/code/core/Mage/Oauth/data/oauth_setup/upgrade-1.0.0.0-1.0.0.1.php
new file mode 100644
index 00000000000..fd764978c23
--- /dev/null
+++ b/app/code/core/Mage/Oauth/data/oauth_setup/upgrade-1.0.0.0-1.0.0.1.php
@@ -0,0 +1,35 @@
+startSetup();
+
+$table = $installer->getTable('admin/rule');
+$resourceIds = [
+ 'admin/system/api/consumer' => 'admin/system/api/oauth_consumer',
+ 'admin/system/api/consumer/delete' => 'admin/system/api/oauth_consumer/delete',
+ 'admin/system/api/consumer/edit' => 'admin/system/api/oauth_consumer/edit',
+ 'admin/system/api/authorizedTokens' => 'admin/system/api/oauth_authorized_tokens'
+];
+
+foreach ($resourceIds as $oldId => $newId) {
+ $installer->getConnection()->update(
+ $table,
+ ['resource_id' => $newId],
+ ['resource_id = ?' => $oldId]
+ );
+}
+
+$installer->endSetup();
diff --git a/app/code/core/Mage/Oauth/etc/adminhtml.xml b/app/code/core/Mage/Oauth/etc/adminhtml.xml
index 1e6ea5d4ed0..dc2f3c02664 100644
--- a/app/code/core/Mage/Oauth/etc/adminhtml.xml
+++ b/app/code/core/Mage/Oauth/etc/adminhtml.xml
@@ -23,7 +23,7 @@
-
+
OAuth Consumers
20
@@ -36,11 +36,11 @@
40
-
-
+
+
OAuth Authorized Tokens
30
-
+
OAuth Admin My Apps
40
diff --git a/app/code/core/Mage/Oauth/etc/config.xml b/app/code/core/Mage/Oauth/etc/config.xml
index d1745e635aa..ccf844d1660 100644
--- a/app/code/core/Mage/Oauth/etc/config.xml
+++ b/app/code/core/Mage/Oauth/etc/config.xml
@@ -17,7 +17,7 @@
- 1.0.0.0
+ 1.0.0.1
diff --git a/lib/Varien/Data/Collection/Db.php b/lib/Varien/Data/Collection/Db.php
index 1126bed1297..b20a4791d38 100644
--- a/lib/Varien/Data/Collection/Db.php
+++ b/lib/Varien/Data/Collection/Db.php
@@ -241,7 +241,7 @@ public function getSelectCountSql()
$countSelect->columns('COUNT(*)');
// Simple optimization - remove all joins if there are no where clauses using joined tables and all joins are left joins
- $leftJoins = array_filter($countSelect->getPart(Zend_Db_Select::FROM), function($table) {
+ $leftJoins = array_filter($countSelect->getPart(Zend_Db_Select::FROM), function ($table) {
return ($table['joinType'] == Zend_Db_Select::LEFT_JOIN || $table['joinType'] == Zend_Db_Select::FROM);
});
if (count($leftJoins) == count($countSelect->getPart(Zend_Db_Select::FROM))) {