Skip to content

Commit 06580eb

Browse files
Merge branch '2.4.5-develop' into 2.4.5-develop-2.4-develop-sync-05172022
2 parents 7db61f1 + 61932a2 commit 06580eb

File tree

4 files changed

+68
-54
lines changed

4 files changed

+68
-54
lines changed

app/code/Magento/CatalogRule/Controller/Adminhtml/Promo/Catalog/NewConditionHtml.php

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,14 +6,17 @@
66
*/
77
namespace Magento\CatalogRule\Controller\Adminhtml\Promo\Catalog;
88

9+
use Magento\CatalogRule\Controller\Adminhtml\Promo\Catalog as CatalogAction;
910
use Magento\Framework\App\Action\HttpGetActionInterface;
1011
use Magento\Framework\App\Action\HttpPostActionInterface as HttpPostActionInterface;
1112
use Magento\Rule\Model\Condition\AbstractCondition;
12-
use Magento\CatalogRule\Controller\Adminhtml\Promo\Catalog as CatalogAction;
13+
use Magento\Rule\Model\Condition\ConditionInterface;
1314

1415
class NewConditionHtml extends CatalogAction implements HttpPostActionInterface, HttpGetActionInterface
1516
{
1617
/**
18+
* New condition html action
19+
*
1720
* @return void
1821
*/
1922
public function execute()
@@ -23,6 +26,12 @@ public function execute()
2326
$typeArr = explode('|', str_replace('-', '/', $this->getRequest()->getParam('type')));
2427
$type = $typeArr[0];
2528

29+
if (class_exists($type) && !in_array(ConditionInterface::class, class_implements($type))) {
30+
$html = '';
31+
$this->getResponse()->setBody($html);
32+
return;
33+
}
34+
2635
$model = $this->_objectManager->create($type)
2736
->setId($id)
2837
->setType($type)

app/code/Magento/Config/Model/Config/Backend/Admin/Custom.php

Lines changed: 43 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -17,46 +17,46 @@
1717
*/
1818
class Custom extends \Magento\Framework\App\Config\Value
1919
{
20-
const CONFIG_SCOPE = 'stores';
20+
public const CONFIG_SCOPE = 'stores';
2121

22-
const CONFIG_SCOPE_ID = 0;
22+
public const CONFIG_SCOPE_ID = 0;
2323

24-
const XML_PATH_UNSECURE_BASE_URL = 'web/unsecure/base_url';
25-
const XML_PATH_SECURE_BASE_URL = 'web/secure/base_url';
26-
const XML_PATH_UNSECURE_BASE_LINK_URL = 'web/unsecure/base_link_url';
27-
const XML_PATH_SECURE_BASE_LINK_URL = 'web/secure/base_link_url';
28-
const XML_PATH_CURRENCY_OPTIONS_BASE = 'currency/options/base';
29-
const XML_PATH_ADMIN_SECURITY_USEFORMKEY = 'admin/security/use_form_key';
30-
const XML_PATH_MAINTENANCE_MODE = 'maintenance_mode';
31-
const XML_PATH_WEB_COOKIE_COOKIE_LIFETIME = 'web/cookie/cookie_lifetime';
24+
public const XML_PATH_UNSECURE_BASE_URL = 'web/unsecure/base_url';
25+
public const XML_PATH_SECURE_BASE_URL = 'web/secure/base_url';
26+
public const XML_PATH_UNSECURE_BASE_LINK_URL = 'web/unsecure/base_link_url';
27+
public const XML_PATH_SECURE_BASE_LINK_URL = 'web/secure/base_link_url';
28+
public const XML_PATH_CURRENCY_OPTIONS_BASE = 'currency/options/base';
29+
public const XML_PATH_ADMIN_SECURITY_USEFORMKEY = 'admin/security/use_form_key';
30+
public const XML_PATH_MAINTENANCE_MODE = 'maintenance_mode';
31+
public const XML_PATH_WEB_COOKIE_COOKIE_LIFETIME = 'web/cookie/cookie_lifetime';
3232
/**
3333
* @deprecated Misspelled constant - use XML_PATH_WEB_COOKIE_COOKIE_PATH instead
3434
*/
35-
const XML_PATH_WEB_COOKIE_COOKE_PATH = 'web/cookie/cookie_path';
36-
const XML_PATH_WEB_COOKIE_COOKIE_PATH = 'web/cookie/cookie_path';
37-
const XML_PATH_WEB_COOKIE_COOKIE_DOMAIN = 'web/cookie/cookie_domain';
38-
const XML_PATH_WEB_COOKIE_HTTPONLY = 'web/cookie/cookie_httponly';
39-
const XML_PATH_WEB_COOKIE_RESTRICTION = 'web/cookie/cookie_restriction';
40-
const XML_PATH_GENERAL_LOCALE_TIMEZONE = 'general/locale/timezone';
41-
const XML_PATH_GENERAL_LOCALE_CODE = 'general/locale/code';
42-
const XML_PATH_GENERAL_COUNTRY_DEFAULT = 'general/country/default';
43-
const XML_PATH_SYSTEM_BACKUP_ENABLED = 'system/backup/enabled';
44-
const XML_PATH_DEV_JS_MERGE_FILES = 'dev/js/merge_files';
45-
const XML_PATH_DEV_JS_MINIFY_FILES = 'dev/js/minify_files';
46-
const XML_PATH_DEV_CSS_MERGE_CSS_FILES = 'dev/css/merge_css_files';
47-
const XML_PATH_DEV_CSS_MINIFY_FILES = 'dev/css/minify_files';
48-
const XML_PATH_DEV_IMAGE_DEFAULT_ADAPTER = 'dev/image/default_adapter';
49-
const XML_PATH_WEB_SESSION_USE_FRONTEND_SID = 'web/session/use_frontend_sid';
50-
const XML_PATH_WEB_SESSION_USE_HTTP_X_FORWARDED_FOR = 'web/session/use_http_x_forwarded_for';
51-
const XML_PATH_WEB_SESSION_USE_HTTP_VIA = 'web/session/use_http_via';
52-
const XML_PATH_WEB_SESSION_USE_REMOTE_ADDR = 'web/session/use_remote_addr';
53-
const XML_PATH_WEB_SESSION_USE_HTTP_USER_AGENT = 'web/session/use_http_user_agent';
54-
const XML_PATH_CATALOG_FRONTEND_FLAT_CATALOG_CATEGORY = 'catalog/frontend/flat_catalog_category';
55-
const XML_PATH_CATALOG_FRONTEND_FLAT_CATALOG_PRODUCT = 'catalog/frontend/flat_catalog_product';
56-
const XML_PATH_TAX_WEEE_ENABLE = 'tax/weee/enable';
57-
const XML_PATH_CATALOG_SEARCH_ENGINE = 'catalog/search/engine';
58-
const XML_PATH_CARRIERS = 'carriers';
59-
const XML_PATH_PAYMENT = 'payment';
35+
public const XML_PATH_WEB_COOKIE_COOKE_PATH = 'web/cookie/cookie_path';
36+
public const XML_PATH_WEB_COOKIE_COOKIE_PATH = 'web/cookie/cookie_path';
37+
public const XML_PATH_WEB_COOKIE_COOKIE_DOMAIN = 'web/cookie/cookie_domain';
38+
public const XML_PATH_WEB_COOKIE_HTTPONLY = 'web/cookie/cookie_httponly';
39+
public const XML_PATH_WEB_COOKIE_RESTRICTION = 'web/cookie/cookie_restriction';
40+
public const XML_PATH_GENERAL_LOCALE_TIMEZONE = 'general/locale/timezone';
41+
public const XML_PATH_GENERAL_LOCALE_CODE = 'general/locale/code';
42+
public const XML_PATH_GENERAL_COUNTRY_DEFAULT = 'general/country/default';
43+
public const XML_PATH_SYSTEM_BACKUP_ENABLED = 'system/backup/enabled';
44+
public const XML_PATH_DEV_JS_MERGE_FILES = 'dev/js/merge_files';
45+
public const XML_PATH_DEV_JS_MINIFY_FILES = 'dev/js/minify_files';
46+
public const XML_PATH_DEV_CSS_MERGE_CSS_FILES = 'dev/css/merge_css_files';
47+
public const XML_PATH_DEV_CSS_MINIFY_FILES = 'dev/css/minify_files';
48+
public const XML_PATH_DEV_IMAGE_DEFAULT_ADAPTER = 'dev/image/default_adapter';
49+
public const XML_PATH_WEB_SESSION_USE_FRONTEND_SID = 'web/session/use_frontend_sid';
50+
public const XML_PATH_WEB_SESSION_USE_HTTP_X_FORWARDED_FOR = 'web/session/use_http_x_forwarded_for';
51+
public const XML_PATH_WEB_SESSION_USE_HTTP_VIA = 'web/session/use_http_via';
52+
public const XML_PATH_WEB_SESSION_USE_REMOTE_ADDR = 'web/session/use_remote_addr';
53+
public const XML_PATH_WEB_SESSION_USE_HTTP_USER_AGENT = 'web/session/use_http_user_agent';
54+
public const XML_PATH_CATALOG_FRONTEND_FLAT_CATALOG_CATEGORY = 'catalog/frontend/flat_catalog_category';
55+
public const XML_PATH_CATALOG_FRONTEND_FLAT_CATALOG_PRODUCT = 'catalog/frontend/flat_catalog_product';
56+
public const XML_PATH_TAX_WEEE_ENABLE = 'tax/weee/enable';
57+
public const XML_PATH_CATALOG_SEARCH_ENGINE = 'catalog/search/engine';
58+
public const XML_PATH_CARRIERS = 'carriers';
59+
public const XML_PATH_PAYMENT = 'payment';
6060

6161
/**
6262
* @var \Magento\Framework\App\Config\Storage\WriterInterface
@@ -119,18 +119,16 @@ public function afterSave()
119119
}
120120

121121
if ($useCustomUrl == 1) {
122-
$this->_configWriter->save(
122+
$paths = [
123123
self::XML_PATH_SECURE_BASE_URL,
124-
$value,
125-
self::CONFIG_SCOPE,
126-
self::CONFIG_SCOPE_ID
127-
);
128-
$this->_configWriter->save(
129124
self::XML_PATH_UNSECURE_BASE_URL,
130-
$value,
131-
self::CONFIG_SCOPE,
132-
self::CONFIG_SCOPE_ID
133-
);
125+
self::XML_PATH_SECURE_BASE_LINK_URL,
126+
self::XML_PATH_UNSECURE_BASE_LINK_URL,
127+
];
128+
129+
foreach ($paths as $path) {
130+
$this->_configWriter->save($path, $value, self::CONFIG_SCOPE, self::CONFIG_SCOPE_ID);
131+
}
134132
}
135133

136134
return parent::afterSave();

app/code/Magento/Config/Model/Config/Backend/Admin/Usecustom.php

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -78,16 +78,16 @@ public function afterSave()
7878
$value = $this->getValue();
7979

8080
if (!$value) {
81-
$this->_configWriter->delete(
81+
$paths = [
8282
Custom::XML_PATH_SECURE_BASE_URL,
83-
Custom::CONFIG_SCOPE,
84-
Custom::CONFIG_SCOPE_ID
85-
);
86-
$this->_configWriter->delete(
8783
Custom::XML_PATH_UNSECURE_BASE_URL,
88-
Custom::CONFIG_SCOPE,
89-
Custom::CONFIG_SCOPE_ID
90-
);
84+
Custom::XML_PATH_SECURE_BASE_LINK_URL,
85+
Custom::XML_PATH_UNSECURE_BASE_LINK_URL,
86+
];
87+
88+
foreach ($paths as $path) {
89+
$this->_configWriter->delete($path, Custom::CONFIG_SCOPE, Custom::CONFIG_SCOPE_ID);
90+
}
9191
}
9292

9393
return parent::afterSave();

app/code/Magento/SalesRule/Controller/Adminhtml/Promo/Quote/NewConditionHtml.php

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77

88
use Magento\Framework\App\Action\HttpPostActionInterface;
99
use Magento\Rule\Model\Condition\AbstractCondition;
10+
use Magento\Rule\Model\Condition\ConditionInterface;
1011
use Magento\SalesRule\Controller\Adminhtml\Promo\Quote;
1112

1213
/**
@@ -26,6 +27,12 @@ public function execute()
2627
$typeArr = explode('|', str_replace('-', '/', $this->getRequest()->getParam('type')));
2728
$type = $typeArr[0];
2829

30+
if (class_exists($type) && !in_array(ConditionInterface::class, class_implements($type))) {
31+
$html = '';
32+
$this->getResponse()->setBody($html);
33+
return;
34+
}
35+
2936
$model = $this->_objectManager->create(
3037
$type
3138
)->setId(

0 commit comments

Comments
 (0)