Skip to content

Commit b47f8cb

Browse files
committed
Merge branch 'main' into feat/dotenv
# Conflicts: # composer.json # composer.lock
2 parents a87fcde + 34da228 commit b47f8cb

File tree

114 files changed

+3246
-1027
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

114 files changed

+3246
-1027
lines changed

.phpstan.dist.baseline.neon

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -570,12 +570,6 @@ parameters:
570570
count: 1
571571
path: app/code/core/Mage/Api2/Model/Resource/Validator/Eav.php
572572

573-
-
574-
rawMessage: 'Call to an undefined method Zend_Validate_Interface::setMessage().'
575-
identifier: method.notFound
576-
count: 1
577-
path: app/code/core/Mage/Api2/Model/Resource/Validator/Fields.php
578-
579573
-
580574
rawMessage: 'Parameter #1 $request (Mage_Api2_Model_Request) of method Mage_Api2_Model_Route_Abstract::match() should be compatible with parameter $path (string) of method Zend_Controller_Router_Route::match()'
581575
identifier: method.childParameterType
@@ -3479,3 +3473,9 @@ parameters:
34793473
identifier: argument.type
34803474
count: 1
34813475
path: lib/Varien/Simplexml/Element.php
3476+
3477+
-
3478+
rawMessage: Dead catch - PhpUnitsOfMeasure\Exception\UnknownUnitOfMeasure is never thrown in the try block.
3479+
identifier: catch.neverThrown
3480+
count: 2
3481+
path: tests/unit/Mage/Usa/Helper/DataTest.php

.phpstorm.meta.php/magento_helpers.meta.php

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -103,6 +103,8 @@
103103
'core/unserializeArray' => \Mage_Core_Helper_UnserializeArray::class,
104104
'core/url' => \Mage_Core_Helper_Url::class,
105105
'core/url_rewrite' => \Mage_Core_Helper_Url_Rewrite::class,
106+
'core/validate' => \Mage_Core_Helper_Validate::class,
107+
'core/validate_abstract' => \Mage_Core_Helper_Validate_Abstract::class,
106108
'csp' => \Mage_Csp_Helper_Data::class,
107109
'csp/data' => \Mage_Csp_Helper_Data::class,
108110
'currencysymbol' => \Mage_CurrencySymbol_Helper_Data::class,

.phpstorm.meta.php/magento_helpers_methods.meta.php

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -103,6 +103,8 @@
103103
'core/unserializeArray' => \Mage_Core_Helper_UnserializeArray::class,
104104
'core/url' => \Mage_Core_Helper_Url::class,
105105
'core/url_rewrite' => \Mage_Core_Helper_Url_Rewrite::class,
106+
'core/validate' => \Mage_Core_Helper_Validate::class,
107+
'core/validate_abstract' => \Mage_Core_Helper_Validate_Abstract::class,
106108
'csp' => \Mage_Csp_Helper_Data::class,
107109
'csp/data' => \Mage_Csp_Helper_Data::class,
108110
'currencysymbol' => \Mage_CurrencySymbol_Helper_Data::class,
@@ -302,6 +304,8 @@
302304
'core/unserializeArray' => \Mage_Core_Helper_UnserializeArray::class,
303305
'core/url' => \Mage_Core_Helper_Url::class,
304306
'core/url_rewrite' => \Mage_Core_Helper_Url_Rewrite::class,
307+
'core/validate' => \Mage_Core_Helper_Validate::class,
308+
'core/validate_abstract' => \Mage_Core_Helper_Validate_Abstract::class,
305309
'csp' => \Mage_Csp_Helper_Data::class,
306310
'csp/data' => \Mage_Csp_Helper_Data::class,
307311
'currencysymbol' => \Mage_CurrencySymbol_Helper_Data::class,
@@ -501,6 +505,8 @@
501505
'core/unserializeArray' => \Mage_Core_Helper_UnserializeArray::class,
502506
'core/url' => \Mage_Core_Helper_Url::class,
503507
'core/url_rewrite' => \Mage_Core_Helper_Url_Rewrite::class,
508+
'core/validate' => \Mage_Core_Helper_Validate::class,
509+
'core/validate_abstract' => \Mage_Core_Helper_Validate_Abstract::class,
504510
'csp' => \Mage_Csp_Helper_Data::class,
505511
'csp/data' => \Mage_Csp_Helper_Data::class,
506512
'currencysymbol' => \Mage_CurrencySymbol_Helper_Data::class,
@@ -700,6 +706,8 @@
700706
'core/unserializeArray' => \Mage_Core_Helper_UnserializeArray::class,
701707
'core/url' => \Mage_Core_Helper_Url::class,
702708
'core/url_rewrite' => \Mage_Core_Helper_Url_Rewrite::class,
709+
'core/validate' => \Mage_Core_Helper_Validate::class,
710+
'core/validate_abstract' => \Mage_Core_Helper_Validate_Abstract::class,
703711
'csp' => \Mage_Csp_Helper_Data::class,
704712
'csp/data' => \Mage_Csp_Helper_Data::class,
705713
'currencysymbol' => \Mage_CurrencySymbol_Helper_Data::class,
@@ -899,6 +907,8 @@
899907
'core/unserializeArray' => \Mage_Core_Helper_UnserializeArray::class,
900908
'core/url' => \Mage_Core_Helper_Url::class,
901909
'core/url_rewrite' => \Mage_Core_Helper_Url_Rewrite::class,
910+
'core/validate' => \Mage_Core_Helper_Validate::class,
911+
'core/validate_abstract' => \Mage_Core_Helper_Validate_Abstract::class,
902912
'csp' => \Mage_Csp_Helper_Data::class,
903913
'csp/data' => \Mage_Csp_Helper_Data::class,
904914
'currencysymbol' => \Mage_CurrencySymbol_Helper_Data::class,
@@ -1098,6 +1108,8 @@
10981108
'core/unserializeArray' => \Mage_Core_Helper_UnserializeArray::class,
10991109
'core/url' => \Mage_Core_Helper_Url::class,
11001110
'core/url_rewrite' => \Mage_Core_Helper_Url_Rewrite::class,
1111+
'core/validate' => \Mage_Core_Helper_Validate::class,
1112+
'core/validate_abstract' => \Mage_Core_Helper_Validate_Abstract::class,
11011113
'csp' => \Mage_Csp_Helper_Data::class,
11021114
'csp/data' => \Mage_Csp_Helper_Data::class,
11031115
'currencysymbol' => \Mage_CurrencySymbol_Helper_Data::class,
@@ -1297,6 +1309,8 @@
12971309
'core/unserializeArray' => \Mage_Core_Helper_UnserializeArray::class,
12981310
'core/url' => \Mage_Core_Helper_Url::class,
12991311
'core/url_rewrite' => \Mage_Core_Helper_Url_Rewrite::class,
1312+
'core/validate' => \Mage_Core_Helper_Validate::class,
1313+
'core/validate_abstract' => \Mage_Core_Helper_Validate_Abstract::class,
13001314
'csp' => \Mage_Csp_Helper_Data::class,
13011315
'csp/data' => \Mage_Csp_Helper_Data::class,
13021316
'currencysymbol' => \Mage_CurrencySymbol_Helper_Data::class,
@@ -1496,6 +1510,8 @@
14961510
'core/unserializeArray' => \Mage_Core_Helper_UnserializeArray::class,
14971511
'core/url' => \Mage_Core_Helper_Url::class,
14981512
'core/url_rewrite' => \Mage_Core_Helper_Url_Rewrite::class,
1513+
'core/validate' => \Mage_Core_Helper_Validate::class,
1514+
'core/validate_abstract' => \Mage_Core_Helper_Validate_Abstract::class,
14991515
'csp' => \Mage_Csp_Helper_Data::class,
15001516
'csp/data' => \Mage_Csp_Helper_Data::class,
15011517
'currencysymbol' => \Mage_CurrencySymbol_Helper_Data::class,
@@ -1695,6 +1711,8 @@
16951711
'core/unserializeArray' => \Mage_Core_Helper_UnserializeArray::class,
16961712
'core/url' => \Mage_Core_Helper_Url::class,
16971713
'core/url_rewrite' => \Mage_Core_Helper_Url_Rewrite::class,
1714+
'core/validate' => \Mage_Core_Helper_Validate::class,
1715+
'core/validate_abstract' => \Mage_Core_Helper_Validate_Abstract::class,
16981716
'csp' => \Mage_Csp_Helper_Data::class,
16991717
'csp/data' => \Mage_Csp_Helper_Data::class,
17001718
'currencysymbol' => \Mage_CurrencySymbol_Helper_Data::class,
@@ -1894,6 +1912,8 @@
18941912
'core/unserializeArray' => \Mage_Core_Helper_UnserializeArray::class,
18951913
'core/url' => \Mage_Core_Helper_Url::class,
18961914
'core/url_rewrite' => \Mage_Core_Helper_Url_Rewrite::class,
1915+
'core/validate' => \Mage_Core_Helper_Validate::class,
1916+
'core/validate_abstract' => \Mage_Core_Helper_Validate_Abstract::class,
18971917
'csp' => \Mage_Csp_Helper_Data::class,
18981918
'csp/data' => \Mage_Csp_Helper_Data::class,
18991919
'currencysymbol' => \Mage_CurrencySymbol_Helper_Data::class,
@@ -2093,6 +2113,8 @@
20932113
'core/unserializeArray' => \Mage_Core_Helper_UnserializeArray::class,
20942114
'core/url' => \Mage_Core_Helper_Url::class,
20952115
'core/url_rewrite' => \Mage_Core_Helper_Url_Rewrite::class,
2116+
'core/validate' => \Mage_Core_Helper_Validate::class,
2117+
'core/validate_abstract' => \Mage_Core_Helper_Validate_Abstract::class,
20962118
'csp' => \Mage_Csp_Helper_Data::class,
20972119
'csp/data' => \Mage_Csp_Helper_Data::class,
20982120
'currencysymbol' => \Mage_CurrencySymbol_Helper_Data::class,
@@ -2292,6 +2314,8 @@
22922314
'core/unserializeArray' => \Mage_Core_Helper_UnserializeArray::class,
22932315
'core/url' => \Mage_Core_Helper_Url::class,
22942316
'core/url_rewrite' => \Mage_Core_Helper_Url_Rewrite::class,
2317+
'core/validate' => \Mage_Core_Helper_Validate::class,
2318+
'core/validate_abstract' => \Mage_Core_Helper_Validate_Abstract::class,
22952319
'csp' => \Mage_Csp_Helper_Data::class,
22962320
'csp/data' => \Mage_Csp_Helper_Data::class,
22972321
'currencysymbol' => \Mage_CurrencySymbol_Helper_Data::class,
@@ -2491,6 +2515,8 @@
24912515
'core/unserializeArray' => \Mage_Core_Helper_UnserializeArray::class,
24922516
'core/url' => \Mage_Core_Helper_Url::class,
24932517
'core/url_rewrite' => \Mage_Core_Helper_Url_Rewrite::class,
2518+
'core/validate' => \Mage_Core_Helper_Validate::class,
2519+
'core/validate_abstract' => \Mage_Core_Helper_Validate_Abstract::class,
24942520
'csp' => \Mage_Csp_Helper_Data::class,
24952521
'csp/data' => \Mage_Csp_Helper_Data::class,
24962522
'currencysymbol' => \Mage_CurrencySymbol_Helper_Data::class,
@@ -2690,6 +2716,8 @@
26902716
'core/unserializeArray' => \Mage_Core_Helper_UnserializeArray::class,
26912717
'core/url' => \Mage_Core_Helper_Url::class,
26922718
'core/url_rewrite' => \Mage_Core_Helper_Url_Rewrite::class,
2719+
'core/validate' => \Mage_Core_Helper_Validate::class,
2720+
'core/validate_abstract' => \Mage_Core_Helper_Validate_Abstract::class,
26932721
'csp' => \Mage_Csp_Helper_Data::class,
26942722
'csp/data' => \Mage_Csp_Helper_Data::class,
26952723
'currencysymbol' => \Mage_CurrencySymbol_Helper_Data::class,
@@ -2889,6 +2917,8 @@
28892917
'core/unserializeArray' => \Mage_Core_Helper_UnserializeArray::class,
28902918
'core/url' => \Mage_Core_Helper_Url::class,
28912919
'core/url_rewrite' => \Mage_Core_Helper_Url_Rewrite::class,
2920+
'core/validate' => \Mage_Core_Helper_Validate::class,
2921+
'core/validate_abstract' => \Mage_Core_Helper_Validate_Abstract::class,
28922922
'csp' => \Mage_Csp_Helper_Data::class,
28932923
'csp/data' => \Mage_Csp_Helper_Data::class,
28942924
'currencysymbol' => \Mage_CurrencySymbol_Helper_Data::class,
@@ -3088,6 +3118,8 @@
30883118
'core/unserializeArray' => \Mage_Core_Helper_UnserializeArray::class,
30893119
'core/url' => \Mage_Core_Helper_Url::class,
30903120
'core/url_rewrite' => \Mage_Core_Helper_Url_Rewrite::class,
3121+
'core/validate' => \Mage_Core_Helper_Validate::class,
3122+
'core/validate_abstract' => \Mage_Core_Helper_Validate_Abstract::class,
30913123
'csp' => \Mage_Csp_Helper_Data::class,
30923124
'csp/data' => \Mage_Csp_Helper_Data::class,
30933125
'currencysymbol' => \Mage_CurrencySymbol_Helper_Data::class,

.phpunit.dist.xml

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,9 @@
8282
<testsuite name="Mage_Newsletter">
8383
<directory>tests/unit/Mage/Newsletter</directory>
8484
</testsuite>
85+
<testsuite name="Mage_Oauth">
86+
<directory>tests/unit/Mage/Oauth</directory>
87+
</testsuite>
8588
<testsuite name="Mage_Page">
8689
<directory>tests/unit/Mage/Page</directory>
8790
</testsuite>
@@ -106,6 +109,9 @@
106109
<testsuite name="Mage_Uploader">
107110
<directory>tests/unit/Mage/Uploader</directory>
108111
</testsuite>
112+
<testsuite name="Mage_Usa">
113+
<directory>tests/unit/Mage/Usa</directory>
114+
</testsuite>
109115
<testsuite name="Mage_Wishlist">
110116
<directory>tests/unit/Mage/Wishlist</directory>
111117
</testsuite>
@@ -119,13 +125,12 @@
119125
processUncoveredFiles="false"
120126
>
121127
<include>
128+
<file>Mage.php</file>
122129
<directory suffix=".php">app/code</directory>
123130
<directory suffix=".php">lib</directory>
124131
</include>
125132
<exclude>
126133
<file>app/bootstrap.php</file>
127-
<file>app/code/core/Mage/Admin/Model/Acl/Assert/Ip.php</file>
128-
<file>app/code/core/Mage/Admin/Model/Acl/Assert/Time.php</file>
129134
<directory>app/code/community</directory>
130135
<directory>app/code/local/</directory>
131136
<directory>app/code/core/Mage/*/data</directory>

.rector.php

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,8 @@
2222
use Rector\PHPUnit\CodeQuality\Rector\Class_\PreferPHPUnitThisCallRector;
2323
use Rector\Privatization\Rector as Privatization;
2424
use Rector\Renaming\Rector as Renaming;
25+
use Rector\Renaming\Rector\ClassConstFetch\RenameClassConstFetchRector;
26+
use Rector\Renaming\ValueObject\RenameClassAndConstFetch;
2527
use Rector\Strict\Rector as Strict;
2628
use Rector\Transform\Rector as Transform;
2729
use Rector\TypeDeclaration\Rector as TypeDeclaration;
@@ -43,6 +45,21 @@
4345
->withRules([
4446
Php85\ArrayDimFetch\ArrayFirstLastRector::class,
4547
])
48+
->withConfiguredRule(RenameClassConstFetchRector::class, [
49+
new RenameClassAndConstFetch('Zend_Log', 'EMERG', 'Monolog\Level', 'Emergency'),
50+
new RenameClassAndConstFetch('Zend_Log', 'ALERT', 'Monolog\Level', 'Alert'),
51+
new RenameClassAndConstFetch('Zend_Log', 'CRIT', 'Monolog\Level', 'Critical'),
52+
new RenameClassAndConstFetch('Zend_Log', 'ERR', 'Monolog\Level', 'Error'),
53+
new RenameClassAndConstFetch('Zend_Log', 'WARN', 'Monolog\Level', 'Warning'),
54+
new RenameClassAndConstFetch('Zend_Log', 'NOTICE', 'Monolog\Level', 'Notice'),
55+
new RenameClassAndConstFetch('Zend_Log', 'INFO', 'Monolog\Level', 'Info'),
56+
new RenameClassAndConstFetch('Zend_Log', 'DEBUG', 'Monolog\Level', 'Debug'),
57+
new RenameClassAndConstFetch('Zend_Measure_Length', 'CENTIMETER', 'Mage_Core_Helper_Measure_Length', 'CENTIMETER'),
58+
new RenameClassAndConstFetch('Zend_Measure_Length', 'INCH', 'Mage_Core_Helper_Measure_Length', 'INCH'),
59+
new RenameClassAndConstFetch('Zend_Measure_Weight', 'KILOGRAM', 'Mage_Core_Helper_Measure_Weight', 'KILOGRAM'),
60+
new RenameClassAndConstFetch('Zend_Measure_Weight', 'OUNCE', 'Mage_Core_Helper_Measure_Weight', 'OUNCE'),
61+
new RenameClassAndConstFetch('Zend_Measure_Weight', 'POUND', 'Mage_Core_Helper_Measure_Weight', 'POUND'),
62+
])
4663
->withSkip([
4764
CodeQuality\BooleanNot\SimplifyDeMorganBinaryRector::class,
4865
# skip: causes issues with Mage_Api2_Model_Auth_Adapter_Oauth::getUserParams()

app/Mage.php

Lines changed: 38 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,11 @@
77
* @package Mage
88
*/
99

10+
use Monolog\Formatter\LineFormatter;
11+
use Monolog\Handler\StreamHandler;
12+
use Monolog\Level;
13+
use Monolog\Logger;
14+
1015
defined('DS') || define('DS', DIRECTORY_SEPARATOR);
1116
defined('PS') || define('PS', PATH_SEPARATOR);
1217

@@ -869,20 +874,20 @@ public static function isInstalled($options = [])
869874
* log facility (??)
870875
*
871876
* @param array|object|string $message
872-
* @param int $level
877+
* @param null|int|Level::* $level
873878
* @param null|string $file
874879
* @param bool $forceLog
875880
*/
876-
public static function log($message, $level = null, $file = '', $forceLog = false)
881+
public static function log($message, $level = null, $file = '', $forceLog = false, array $context = [])
877882
{
878883
if (!self::getConfig()) {
879884
return;
880885
}
881886

882887
try {
883-
$logActive = self::getStoreConfig('dev/log/active');
888+
$logActive = self::getStoreConfigFlag(Mage_Core_Helper_Data::XML_PATH_DEV_LOG_ENABLED);
884889
if (empty($file)) {
885-
$file = self::getStoreConfig('dev/log/file');
890+
$file = self::getStoreConfig(Mage_Core_Helper_Data::XML_PATH_DEV_LOG_FILE);
886891
}
887892
} catch (Exception) {
888893
$logActive = true;
@@ -895,26 +900,39 @@ public static function log($message, $level = null, $file = '', $forceLog = fals
895900
static $loggers = [];
896901

897902
try {
898-
$maxLogLevel = (int) self::getStoreConfig('dev/log/max_level');
903+
$maxLogLevel = self::getStoreConfigAsInt(Mage_Core_Helper_Data::XML_PATH_DEV_LOG_MAX_LEVEL);
899904
} catch (Throwable) {
900-
$maxLogLevel = Zend_Log::DEBUG;
905+
$maxLogLevel = Level::Debug->value;
901906
}
902907

903-
$level = is_null($level) ? Zend_Log::DEBUG : $level;
908+
// Normalize both $level and $maxLogLevel to integers for comparison
909+
if ($level instanceof Level) {
910+
$levelValue = $level->value;
911+
} elseif (is_null($level)) {
912+
$levelValue = Level::Debug->value;
913+
} else {
914+
$levelValue = (int) $level;
915+
}
904916

905-
if (!self::$_isDeveloperMode && $level > $maxLogLevel && !$forceLog) {
917+
if (!self::$_isDeveloperMode && $levelValue > $maxLogLevel && !$forceLog) {
906918
return;
907919
}
908920

909921
$file = empty($file)
910-
? (string) self::getConfig()->getNode('dev/log/file', Mage_Core_Model_Store::DEFAULT_CODE) : basename($file);
922+
? (string) self::getConfig()->getNode(
923+
Mage_Core_Helper_Data::XML_PATH_DEV_LOG_FILE,
924+
Mage_Core_Model_Store::DEFAULT_CODE,
925+
) : basename($file);
911926

912927
try {
913928
if (!isset($loggers[$file])) {
914929
// Validate file extension before save. Allowed file extensions: log, txt, html, csv
915930
$_allowedFileExtensions = explode(
916931
',',
917-
(string) self::getConfig()->getNode('dev/log/allowedFileExtensions', Mage_Core_Model_Store::DEFAULT_CODE),
932+
(string) self::getConfig()->getNode(
933+
Mage_Core_Helper_Data::XML_PATH_DEV_LOG_ALLOWED_EXTENSIONS,
934+
Mage_Core_Model_Store::DEFAULT_CODE,
935+
),
918936
);
919937
if (! ($extension = pathinfo($file, PATHINFO_EXTENSION)) || ! in_array($extension, $_allowedFileExtensions)) {
920938
return;
@@ -933,25 +951,27 @@ public static function log($message, $level = null, $file = '', $forceLog = fals
933951
chmod($logFile, 0640);
934952
}
935953

936-
$format = '%timestamp% %priorityName% (%priority%): %message%' . PHP_EOL;
937-
$formatter = new Zend_Log_Formatter_Simple($format);
954+
$format = '%datetime% %level_name% (%level%): %message% %context% %extra%' . PHP_EOL;
955+
$formatter = new LineFormatter($format, null, true, true, true);
938956
$writerModel = (string) self::getConfig()->getNode('global/log/core/writer_model');
939957
if (!self::$_app || !$writerModel) {
940-
$writer = new Zend_Log_Writer_Stream($logFile);
958+
$writer = new StreamHandler($logFile, Level::Debug);
941959
} else {
942-
$writer = new $writerModel($logFile);
960+
$writer = new $writerModel($logFile, Level::Debug);
943961
}
944962

945963
$writer->setFormatter($formatter);
946-
$loggers[$file] = new Zend_Log($writer);
964+
$logger = new Logger('OpenMage');
965+
$logger->pushHandler($writer);
966+
$loggers[$file] = $logger;
947967
}
948968

949969
if (is_array($message) || is_object($message)) {
950970
$message = print_r($message, true);
951971
}
952972

953973
$message = addcslashes($message, '<?');
954-
$loggers[$file]->log($message, $level);
974+
$loggers[$file]->log($levelValue, $message, $context);
955975
} catch (Exception) {
956976
}
957977
}
@@ -965,8 +985,8 @@ public static function logException(Throwable $e)
965985
return;
966986
}
967987

968-
$file = self::getStoreConfig('dev/log/exception_file');
969-
self::log("\n" . $e->__toString(), Zend_Log::ERR, $file);
988+
$file = self::getStoreConfig(Mage_Core_Helper_Data::XML_PATH_DEV_LOG_EXCEPTION_FILE);
989+
self::log("\n" . $e->__toString(), Level::Error, $file);
970990
}
971991

972992
/**

0 commit comments

Comments
 (0)