diff --git a/.phpstorm.meta.php/magento_helpers.meta.php b/.phpstorm.meta.php/magento_helpers.meta.php index 5971fb5ca06..900e74533cf 100644 --- a/.phpstorm.meta.php/magento_helpers.meta.php +++ b/.phpstorm.meta.php/magento_helpers.meta.php @@ -2,10 +2,6 @@ namespace PHPSTORM_META { override( \Mage::helper(0), map( [ - 'mm_ignition' => \MM_Ignition_Helper_Data::class, - 'mm_ignition/data' => \MM_Ignition_Helper_Data::class, - 'mm_ignition/flare' => \MM_Ignition_Helper_Flare::class, - 'mm_ignition/openAi' => \MM_Ignition_Helper_OpenAi::class, 'adminnotification' => \Mage_AdminNotification_Helper_Data::class, 'adminnotification/data' => \Mage_AdminNotification_Helper_Data::class, 'admin/block' => \Mage_Admin_Helper_Block::class, @@ -96,6 +92,9 @@ 'core/hint' => \Mage_Core_Helper_Hint::class, 'core/http' => \Mage_Core_Helper_Http::class, 'core/js' => \Mage_Core_Helper_Js::class, + 'core/log' => \Mage_Core_Helper_Log::class, + 'core/measure_length' => \Mage_Core_Helper_Measure_Length::class, + 'core/measure_weight' => \Mage_Core_Helper_Measure_Weight::class, 'core/purifier' => \Mage_Core_Helper_Purifier::class, 'core/security' => \Mage_Core_Helper_Security::class, 'core/string' => \Mage_Core_Helper_String::class, diff --git a/.phpstorm.meta.php/magento_helpers_methods.meta.php b/.phpstorm.meta.php/magento_helpers_methods.meta.php index e55d8b590b3..0a8d465cf24 100644 --- a/.phpstorm.meta.php/magento_helpers_methods.meta.php +++ b/.phpstorm.meta.php/magento_helpers_methods.meta.php @@ -2,10 +2,6 @@ namespace PHPSTORM_META { override( \Mage_Admin_Model_User::_getHelper(0), map( [ - 'mm_ignition' => \MM_Ignition_Helper_Data::class, - 'mm_ignition/data' => \MM_Ignition_Helper_Data::class, - 'mm_ignition/flare' => \MM_Ignition_Helper_Flare::class, - 'mm_ignition/openAi' => \MM_Ignition_Helper_OpenAi::class, 'adminnotification' => \Mage_AdminNotification_Helper_Data::class, 'adminnotification/data' => \Mage_AdminNotification_Helper_Data::class, 'admin/block' => \Mage_Admin_Helper_Block::class, @@ -96,6 +92,9 @@ 'core/hint' => \Mage_Core_Helper_Hint::class, 'core/http' => \Mage_Core_Helper_Http::class, 'core/js' => \Mage_Core_Helper_Js::class, + 'core/log' => \Mage_Core_Helper_Log::class, + 'core/measure_length' => \Mage_Core_Helper_Measure_Length::class, + 'core/measure_weight' => \Mage_Core_Helper_Measure_Weight::class, 'core/purifier' => \Mage_Core_Helper_Purifier::class, 'core/security' => \Mage_Core_Helper_Security::class, 'core/string' => \Mage_Core_Helper_String::class, @@ -203,10 +202,6 @@ ); override( \Mage_Adminhtml_Controller_Rss_Abstract::_getHelper(0), map( [ - 'mm_ignition' => \MM_Ignition_Helper_Data::class, - 'mm_ignition/data' => \MM_Ignition_Helper_Data::class, - 'mm_ignition/flare' => \MM_Ignition_Helper_Flare::class, - 'mm_ignition/openAi' => \MM_Ignition_Helper_OpenAi::class, 'adminnotification' => \Mage_AdminNotification_Helper_Data::class, 'adminnotification/data' => \Mage_AdminNotification_Helper_Data::class, 'admin/block' => \Mage_Admin_Helper_Block::class, @@ -297,6 +292,9 @@ 'core/hint' => \Mage_Core_Helper_Hint::class, 'core/http' => \Mage_Core_Helper_Http::class, 'core/js' => \Mage_Core_Helper_Js::class, + 'core/log' => \Mage_Core_Helper_Log::class, + 'core/measure_length' => \Mage_Core_Helper_Measure_Length::class, + 'core/measure_weight' => \Mage_Core_Helper_Measure_Weight::class, 'core/purifier' => \Mage_Core_Helper_Purifier::class, 'core/security' => \Mage_Core_Helper_Security::class, 'core/string' => \Mage_Core_Helper_String::class, @@ -404,10 +402,6 @@ ); override( \Mage_Adminhtml_Tax_RuleController::_getHelperModel(0), map( [ - 'mm_ignition' => \MM_Ignition_Helper_Data::class, - 'mm_ignition/data' => \MM_Ignition_Helper_Data::class, - 'mm_ignition/flare' => \MM_Ignition_Helper_Flare::class, - 'mm_ignition/openAi' => \MM_Ignition_Helper_OpenAi::class, 'adminnotification' => \Mage_AdminNotification_Helper_Data::class, 'adminnotification/data' => \Mage_AdminNotification_Helper_Data::class, 'admin/block' => \Mage_Admin_Helper_Block::class, @@ -498,6 +492,9 @@ 'core/hint' => \Mage_Core_Helper_Hint::class, 'core/http' => \Mage_Core_Helper_Http::class, 'core/js' => \Mage_Core_Helper_Js::class, + 'core/log' => \Mage_Core_Helper_Log::class, + 'core/measure_length' => \Mage_Core_Helper_Measure_Length::class, + 'core/measure_weight' => \Mage_Core_Helper_Measure_Weight::class, 'core/purifier' => \Mage_Core_Helper_Purifier::class, 'core/security' => \Mage_Core_Helper_Security::class, 'core/string' => \Mage_Core_Helper_String::class, @@ -605,10 +602,6 @@ ); override( \Mage_Api_Model_User::_getHelper(0), map( [ - 'mm_ignition' => \MM_Ignition_Helper_Data::class, - 'mm_ignition/data' => \MM_Ignition_Helper_Data::class, - 'mm_ignition/flare' => \MM_Ignition_Helper_Flare::class, - 'mm_ignition/openAi' => \MM_Ignition_Helper_OpenAi::class, 'adminnotification' => \Mage_AdminNotification_Helper_Data::class, 'adminnotification/data' => \Mage_AdminNotification_Helper_Data::class, 'admin/block' => \Mage_Admin_Helper_Block::class, @@ -699,6 +692,9 @@ 'core/hint' => \Mage_Core_Helper_Hint::class, 'core/http' => \Mage_Core_Helper_Http::class, 'core/js' => \Mage_Core_Helper_Js::class, + 'core/log' => \Mage_Core_Helper_Log::class, + 'core/measure_length' => \Mage_Core_Helper_Measure_Length::class, + 'core/measure_weight' => \Mage_Core_Helper_Measure_Weight::class, 'core/purifier' => \Mage_Core_Helper_Purifier::class, 'core/security' => \Mage_Core_Helper_Security::class, 'core/string' => \Mage_Core_Helper_String::class, @@ -806,10 +802,6 @@ ); override( \Mage_Bundle_Model_Product_Price::_getHelperData(0), map( [ - 'mm_ignition' => \MM_Ignition_Helper_Data::class, - 'mm_ignition/data' => \MM_Ignition_Helper_Data::class, - 'mm_ignition/flare' => \MM_Ignition_Helper_Flare::class, - 'mm_ignition/openAi' => \MM_Ignition_Helper_OpenAi::class, 'adminnotification' => \Mage_AdminNotification_Helper_Data::class, 'adminnotification/data' => \Mage_AdminNotification_Helper_Data::class, 'admin/block' => \Mage_Admin_Helper_Block::class, @@ -900,6 +892,9 @@ 'core/hint' => \Mage_Core_Helper_Hint::class, 'core/http' => \Mage_Core_Helper_Http::class, 'core/js' => \Mage_Core_Helper_Js::class, + 'core/log' => \Mage_Core_Helper_Log::class, + 'core/measure_length' => \Mage_Core_Helper_Measure_Length::class, + 'core/measure_weight' => \Mage_Core_Helper_Measure_Weight::class, 'core/purifier' => \Mage_Core_Helper_Purifier::class, 'core/security' => \Mage_Core_Helper_Security::class, 'core/string' => \Mage_Core_Helper_String::class, @@ -1007,10 +1002,6 @@ ); override( \Mage_Core_Block_Abstract::helper(0), map( [ - 'mm_ignition' => \MM_Ignition_Helper_Data::class, - 'mm_ignition/data' => \MM_Ignition_Helper_Data::class, - 'mm_ignition/flare' => \MM_Ignition_Helper_Flare::class, - 'mm_ignition/openAi' => \MM_Ignition_Helper_OpenAi::class, 'adminnotification' => \Mage_AdminNotification_Helper_Data::class, 'adminnotification/data' => \Mage_AdminNotification_Helper_Data::class, 'admin/block' => \Mage_Admin_Helper_Block::class, @@ -1101,6 +1092,9 @@ 'core/hint' => \Mage_Core_Helper_Hint::class, 'core/http' => \Mage_Core_Helper_Http::class, 'core/js' => \Mage_Core_Helper_Js::class, + 'core/log' => \Mage_Core_Helper_Log::class, + 'core/measure_length' => \Mage_Core_Helper_Measure_Length::class, + 'core/measure_weight' => \Mage_Core_Helper_Measure_Weight::class, 'core/purifier' => \Mage_Core_Helper_Purifier::class, 'core/security' => \Mage_Core_Helper_Security::class, 'core/string' => \Mage_Core_Helper_String::class, @@ -1208,10 +1202,6 @@ ); override( \Mage_Core_Model_App::getHelper(0), map( [ - 'mm_ignition' => \MM_Ignition_Helper_Data::class, - 'mm_ignition/data' => \MM_Ignition_Helper_Data::class, - 'mm_ignition/flare' => \MM_Ignition_Helper_Flare::class, - 'mm_ignition/openAi' => \MM_Ignition_Helper_OpenAi::class, 'adminnotification' => \Mage_AdminNotification_Helper_Data::class, 'adminnotification/data' => \Mage_AdminNotification_Helper_Data::class, 'admin/block' => \Mage_Admin_Helper_Block::class, @@ -1302,6 +1292,9 @@ 'core/hint' => \Mage_Core_Helper_Hint::class, 'core/http' => \Mage_Core_Helper_Http::class, 'core/js' => \Mage_Core_Helper_Js::class, + 'core/log' => \Mage_Core_Helper_Log::class, + 'core/measure_length' => \Mage_Core_Helper_Measure_Length::class, + 'core/measure_weight' => \Mage_Core_Helper_Measure_Weight::class, 'core/purifier' => \Mage_Core_Helper_Purifier::class, 'core/security' => \Mage_Core_Helper_Security::class, 'core/string' => \Mage_Core_Helper_String::class, @@ -1409,10 +1402,6 @@ ); override( \Mage_Core_Model_Factory::getHelper(0), map( [ - 'mm_ignition' => \MM_Ignition_Helper_Data::class, - 'mm_ignition/data' => \MM_Ignition_Helper_Data::class, - 'mm_ignition/flare' => \MM_Ignition_Helper_Flare::class, - 'mm_ignition/openAi' => \MM_Ignition_Helper_OpenAi::class, 'adminnotification' => \Mage_AdminNotification_Helper_Data::class, 'adminnotification/data' => \Mage_AdminNotification_Helper_Data::class, 'admin/block' => \Mage_Admin_Helper_Block::class, @@ -1503,6 +1492,9 @@ 'core/hint' => \Mage_Core_Helper_Hint::class, 'core/http' => \Mage_Core_Helper_Http::class, 'core/js' => \Mage_Core_Helper_Js::class, + 'core/log' => \Mage_Core_Helper_Log::class, + 'core/measure_length' => \Mage_Core_Helper_Measure_Length::class, + 'core/measure_weight' => \Mage_Core_Helper_Measure_Weight::class, 'core/purifier' => \Mage_Core_Helper_Purifier::class, 'core/security' => \Mage_Core_Helper_Security::class, 'core/string' => \Mage_Core_Helper_String::class, @@ -1610,10 +1602,6 @@ ); override( \Mage_Core_Model_Layout::helper(0), map( [ - 'mm_ignition' => \MM_Ignition_Helper_Data::class, - 'mm_ignition/data' => \MM_Ignition_Helper_Data::class, - 'mm_ignition/flare' => \MM_Ignition_Helper_Flare::class, - 'mm_ignition/openAi' => \MM_Ignition_Helper_OpenAi::class, 'adminnotification' => \Mage_AdminNotification_Helper_Data::class, 'adminnotification/data' => \Mage_AdminNotification_Helper_Data::class, 'admin/block' => \Mage_Admin_Helper_Block::class, @@ -1704,6 +1692,9 @@ 'core/hint' => \Mage_Core_Helper_Hint::class, 'core/http' => \Mage_Core_Helper_Http::class, 'core/js' => \Mage_Core_Helper_Js::class, + 'core/log' => \Mage_Core_Helper_Log::class, + 'core/measure_length' => \Mage_Core_Helper_Measure_Length::class, + 'core/measure_weight' => \Mage_Core_Helper_Measure_Weight::class, 'core/purifier' => \Mage_Core_Helper_Purifier::class, 'core/security' => \Mage_Core_Helper_Security::class, 'core/string' => \Mage_Core_Helper_String::class, @@ -1811,10 +1802,6 @@ ); override( \Mage_Customer_AccountController::_getHelper(0), map( [ - 'mm_ignition' => \MM_Ignition_Helper_Data::class, - 'mm_ignition/data' => \MM_Ignition_Helper_Data::class, - 'mm_ignition/flare' => \MM_Ignition_Helper_Flare::class, - 'mm_ignition/openAi' => \MM_Ignition_Helper_OpenAi::class, 'adminnotification' => \Mage_AdminNotification_Helper_Data::class, 'adminnotification/data' => \Mage_AdminNotification_Helper_Data::class, 'admin/block' => \Mage_Admin_Helper_Block::class, @@ -1905,6 +1892,9 @@ 'core/hint' => \Mage_Core_Helper_Hint::class, 'core/http' => \Mage_Core_Helper_Http::class, 'core/js' => \Mage_Core_Helper_Js::class, + 'core/log' => \Mage_Core_Helper_Log::class, + 'core/measure_length' => \Mage_Core_Helper_Measure_Length::class, + 'core/measure_weight' => \Mage_Core_Helper_Measure_Weight::class, 'core/purifier' => \Mage_Core_Helper_Purifier::class, 'core/security' => \Mage_Core_Helper_Security::class, 'core/string' => \Mage_Core_Helper_String::class, @@ -2012,10 +2002,6 @@ ); override( \Mage_Customer_Model_Customer::_getHelper(0), map( [ - 'mm_ignition' => \MM_Ignition_Helper_Data::class, - 'mm_ignition/data' => \MM_Ignition_Helper_Data::class, - 'mm_ignition/flare' => \MM_Ignition_Helper_Flare::class, - 'mm_ignition/openAi' => \MM_Ignition_Helper_OpenAi::class, 'adminnotification' => \Mage_AdminNotification_Helper_Data::class, 'adminnotification/data' => \Mage_AdminNotification_Helper_Data::class, 'admin/block' => \Mage_Admin_Helper_Block::class, @@ -2106,6 +2092,9 @@ 'core/hint' => \Mage_Core_Helper_Hint::class, 'core/http' => \Mage_Core_Helper_Http::class, 'core/js' => \Mage_Core_Helper_Js::class, + 'core/log' => \Mage_Core_Helper_Log::class, + 'core/measure_length' => \Mage_Core_Helper_Measure_Length::class, + 'core/measure_weight' => \Mage_Core_Helper_Measure_Weight::class, 'core/purifier' => \Mage_Core_Helper_Purifier::class, 'core/security' => \Mage_Core_Helper_Security::class, 'core/string' => \Mage_Core_Helper_String::class, @@ -2213,10 +2202,6 @@ ); override( \Mage_ImportExport_Model_Import_Entity_Product::getHelper(0), map( [ - 'mm_ignition' => \MM_Ignition_Helper_Data::class, - 'mm_ignition/data' => \MM_Ignition_Helper_Data::class, - 'mm_ignition/flare' => \MM_Ignition_Helper_Flare::class, - 'mm_ignition/openAi' => \MM_Ignition_Helper_OpenAi::class, 'adminnotification' => \Mage_AdminNotification_Helper_Data::class, 'adminnotification/data' => \Mage_AdminNotification_Helper_Data::class, 'admin/block' => \Mage_Admin_Helper_Block::class, @@ -2307,6 +2292,9 @@ 'core/hint' => \Mage_Core_Helper_Hint::class, 'core/http' => \Mage_Core_Helper_Http::class, 'core/js' => \Mage_Core_Helper_Js::class, + 'core/log' => \Mage_Core_Helper_Log::class, + 'core/measure_length' => \Mage_Core_Helper_Measure_Length::class, + 'core/measure_weight' => \Mage_Core_Helper_Measure_Weight::class, 'core/purifier' => \Mage_Core_Helper_Purifier::class, 'core/security' => \Mage_Core_Helper_Security::class, 'core/string' => \Mage_Core_Helper_String::class, @@ -2414,10 +2402,6 @@ ); override( \Mage_Rss_Controller_Abstract::_getHelper(0), map( [ - 'mm_ignition' => \MM_Ignition_Helper_Data::class, - 'mm_ignition/data' => \MM_Ignition_Helper_Data::class, - 'mm_ignition/flare' => \MM_Ignition_Helper_Flare::class, - 'mm_ignition/openAi' => \MM_Ignition_Helper_OpenAi::class, 'adminnotification' => \Mage_AdminNotification_Helper_Data::class, 'adminnotification/data' => \Mage_AdminNotification_Helper_Data::class, 'admin/block' => \Mage_Admin_Helper_Block::class, @@ -2508,6 +2492,9 @@ 'core/hint' => \Mage_Core_Helper_Hint::class, 'core/http' => \Mage_Core_Helper_Http::class, 'core/js' => \Mage_Core_Helper_Js::class, + 'core/log' => \Mage_Core_Helper_Log::class, + 'core/measure_length' => \Mage_Core_Helper_Measure_Length::class, + 'core/measure_weight' => \Mage_Core_Helper_Measure_Weight::class, 'core/purifier' => \Mage_Core_Helper_Purifier::class, 'core/security' => \Mage_Core_Helper_Security::class, 'core/string' => \Mage_Core_Helper_String::class, @@ -2615,10 +2602,6 @@ ); override( \Mage_SalesRule_Model_Validator::_getHelper(0), map( [ - 'mm_ignition' => \MM_Ignition_Helper_Data::class, - 'mm_ignition/data' => \MM_Ignition_Helper_Data::class, - 'mm_ignition/flare' => \MM_Ignition_Helper_Flare::class, - 'mm_ignition/openAi' => \MM_Ignition_Helper_OpenAi::class, 'adminnotification' => \Mage_AdminNotification_Helper_Data::class, 'adminnotification/data' => \Mage_AdminNotification_Helper_Data::class, 'admin/block' => \Mage_Admin_Helper_Block::class, @@ -2709,6 +2692,9 @@ 'core/hint' => \Mage_Core_Helper_Hint::class, 'core/http' => \Mage_Core_Helper_Http::class, 'core/js' => \Mage_Core_Helper_Js::class, + 'core/log' => \Mage_Core_Helper_Log::class, + 'core/measure_length' => \Mage_Core_Helper_Measure_Length::class, + 'core/measure_weight' => \Mage_Core_Helper_Measure_Weight::class, 'core/purifier' => \Mage_Core_Helper_Purifier::class, 'core/security' => \Mage_Core_Helper_Security::class, 'core/string' => \Mage_Core_Helper_String::class, @@ -2816,10 +2802,6 @@ ); override( \Mage_Weee_Helper_Data::_getHelper(0), map( [ - 'mm_ignition' => \MM_Ignition_Helper_Data::class, - 'mm_ignition/data' => \MM_Ignition_Helper_Data::class, - 'mm_ignition/flare' => \MM_Ignition_Helper_Flare::class, - 'mm_ignition/openAi' => \MM_Ignition_Helper_OpenAi::class, 'adminnotification' => \Mage_AdminNotification_Helper_Data::class, 'adminnotification/data' => \Mage_AdminNotification_Helper_Data::class, 'admin/block' => \Mage_Admin_Helper_Block::class, @@ -2910,6 +2892,9 @@ 'core/hint' => \Mage_Core_Helper_Hint::class, 'core/http' => \Mage_Core_Helper_Http::class, 'core/js' => \Mage_Core_Helper_Js::class, + 'core/log' => \Mage_Core_Helper_Log::class, + 'core/measure_length' => \Mage_Core_Helper_Measure_Length::class, + 'core/measure_weight' => \Mage_Core_Helper_Measure_Weight::class, 'core/purifier' => \Mage_Core_Helper_Purifier::class, 'core/security' => \Mage_Core_Helper_Security::class, 'core/string' => \Mage_Core_Helper_String::class, @@ -3017,10 +3002,6 @@ ); override( \Mage_Weee_Model_Config_Source_Fpt_Tax::_getHelper(0), map( [ - 'mm_ignition' => \MM_Ignition_Helper_Data::class, - 'mm_ignition/data' => \MM_Ignition_Helper_Data::class, - 'mm_ignition/flare' => \MM_Ignition_Helper_Flare::class, - 'mm_ignition/openAi' => \MM_Ignition_Helper_OpenAi::class, 'adminnotification' => \Mage_AdminNotification_Helper_Data::class, 'adminnotification/data' => \Mage_AdminNotification_Helper_Data::class, 'admin/block' => \Mage_Admin_Helper_Block::class, @@ -3111,6 +3092,9 @@ 'core/hint' => \Mage_Core_Helper_Hint::class, 'core/http' => \Mage_Core_Helper_Http::class, 'core/js' => \Mage_Core_Helper_Js::class, + 'core/log' => \Mage_Core_Helper_Log::class, + 'core/measure_length' => \Mage_Core_Helper_Measure_Length::class, + 'core/measure_weight' => \Mage_Core_Helper_Measure_Weight::class, 'core/purifier' => \Mage_Core_Helper_Purifier::class, 'core/security' => \Mage_Core_Helper_Security::class, 'core/string' => \Mage_Core_Helper_String::class, diff --git a/.phpstorm.meta.php/magento_models.meta.php b/.phpstorm.meta.php/magento_models.meta.php index 6859629995a..577b7ef53de 100644 --- a/.phpstorm.meta.php/magento_models.meta.php +++ b/.phpstorm.meta.php/magento_models.meta.php @@ -8,11 +8,6 @@ 'cm_redissession/session_config' => \Cm_RedisSession_Model_Session_Config::class, 'cm_redissession/session_handler' => \Cm_RedisSession_Model_Session_Handler::class, 'cm_redissession/session_logger' => \Cm_RedisSession_Model_Session_Logger::class, - 'mm_ignition/observer_abstract' => \MM_Ignition_Model_Observer_Abstract::class, - 'mm_ignition/observer_handleIgnitionException' => \MM_Ignition_Model_Observer_HandleIgnitionException::class, - 'mm_ignition/observer_handleIgnitionRegister' => \MM_Ignition_Model_Observer_HandleIgnitionRegister::class, - 'mm_ignition/system_config_source_editor' => \MM_Ignition_Model_System_Config_Source_Editor::class, - 'mm_ignition/system_config_source_theme' => \MM_Ignition_Model_System_Config_Source_Theme::class, 'adminnotification/feed' => \Mage_AdminNotification_Model_Feed::class, 'adminnotification/inbox' => \Mage_AdminNotification_Model_Inbox::class, 'adminnotification/mysql4_inbox' => \Mage_AdminNotification_Model_Mysql4_Inbox::class, @@ -3172,11 +3167,6 @@ 'cm_redissession/session_config' => \Cm_RedisSession_Model_Session_Config::class, 'cm_redissession/session_handler' => \Cm_RedisSession_Model_Session_Handler::class, 'cm_redissession/session_logger' => \Cm_RedisSession_Model_Session_Logger::class, - 'mm_ignition/observer_abstract' => \MM_Ignition_Model_Observer_Abstract::class, - 'mm_ignition/observer_handleIgnitionException' => \MM_Ignition_Model_Observer_HandleIgnitionException::class, - 'mm_ignition/observer_handleIgnitionRegister' => \MM_Ignition_Model_Observer_HandleIgnitionRegister::class, - 'mm_ignition/system_config_source_editor' => \MM_Ignition_Model_System_Config_Source_Editor::class, - 'mm_ignition/system_config_source_theme' => \MM_Ignition_Model_System_Config_Source_Theme::class, 'adminnotification/feed' => \Mage_AdminNotification_Model_Feed::class, 'adminnotification/inbox' => \Mage_AdminNotification_Model_Inbox::class, 'adminnotification/mysql4_inbox' => \Mage_AdminNotification_Model_Mysql4_Inbox::class, diff --git a/.phpstorm.meta.php/magento_models_methods.meta.php b/.phpstorm.meta.php/magento_models_methods.meta.php index 2b6431c9f3a..8c60cceccfd 100644 --- a/.phpstorm.meta.php/magento_models_methods.meta.php +++ b/.phpstorm.meta.php/magento_models_methods.meta.php @@ -8,11 +8,6 @@ 'cm_redissession/session_config' => \Cm_RedisSession_Model_Session_Config::class, 'cm_redissession/session_handler' => \Cm_RedisSession_Model_Session_Handler::class, 'cm_redissession/session_logger' => \Cm_RedisSession_Model_Session_Logger::class, - 'mm_ignition/observer_abstract' => \MM_Ignition_Model_Observer_Abstract::class, - 'mm_ignition/observer_handleIgnitionException' => \MM_Ignition_Model_Observer_HandleIgnitionException::class, - 'mm_ignition/observer_handleIgnitionRegister' => \MM_Ignition_Model_Observer_HandleIgnitionRegister::class, - 'mm_ignition/system_config_source_editor' => \MM_Ignition_Model_System_Config_Source_Editor::class, - 'mm_ignition/system_config_source_theme' => \MM_Ignition_Model_System_Config_Source_Theme::class, 'adminnotification/feed' => \Mage_AdminNotification_Model_Feed::class, 'adminnotification/inbox' => \Mage_AdminNotification_Model_Inbox::class, 'adminnotification/mysql4_inbox' => \Mage_AdminNotification_Model_Mysql4_Inbox::class, @@ -3172,11 +3167,6 @@ 'cm_redissession/session_config' => \Cm_RedisSession_Model_Session_Config::class, 'cm_redissession/session_handler' => \Cm_RedisSession_Model_Session_Handler::class, 'cm_redissession/session_logger' => \Cm_RedisSession_Model_Session_Logger::class, - 'mm_ignition/observer_abstract' => \MM_Ignition_Model_Observer_Abstract::class, - 'mm_ignition/observer_handleIgnitionException' => \MM_Ignition_Model_Observer_HandleIgnitionException::class, - 'mm_ignition/observer_handleIgnitionRegister' => \MM_Ignition_Model_Observer_HandleIgnitionRegister::class, - 'mm_ignition/system_config_source_editor' => \MM_Ignition_Model_System_Config_Source_Editor::class, - 'mm_ignition/system_config_source_theme' => \MM_Ignition_Model_System_Config_Source_Theme::class, 'adminnotification/feed' => \Mage_AdminNotification_Model_Feed::class, 'adminnotification/inbox' => \Mage_AdminNotification_Model_Inbox::class, 'adminnotification/mysql4_inbox' => \Mage_AdminNotification_Model_Mysql4_Inbox::class, @@ -6336,11 +6326,6 @@ 'cm_redissession/session_config' => \Cm_RedisSession_Model_Session_Config::class, 'cm_redissession/session_handler' => \Cm_RedisSession_Model_Session_Handler::class, 'cm_redissession/session_logger' => \Cm_RedisSession_Model_Session_Logger::class, - 'mm_ignition/observer_abstract' => \MM_Ignition_Model_Observer_Abstract::class, - 'mm_ignition/observer_handleIgnitionException' => \MM_Ignition_Model_Observer_HandleIgnitionException::class, - 'mm_ignition/observer_handleIgnitionRegister' => \MM_Ignition_Model_Observer_HandleIgnitionRegister::class, - 'mm_ignition/system_config_source_editor' => \MM_Ignition_Model_System_Config_Source_Editor::class, - 'mm_ignition/system_config_source_theme' => \MM_Ignition_Model_System_Config_Source_Theme::class, 'adminnotification/feed' => \Mage_AdminNotification_Model_Feed::class, 'adminnotification/inbox' => \Mage_AdminNotification_Model_Inbox::class, 'adminnotification/mysql4_inbox' => \Mage_AdminNotification_Model_Mysql4_Inbox::class, @@ -9500,11 +9485,6 @@ 'cm_redissession/session_config' => \Cm_RedisSession_Model_Session_Config::class, 'cm_redissession/session_handler' => \Cm_RedisSession_Model_Session_Handler::class, 'cm_redissession/session_logger' => \Cm_RedisSession_Model_Session_Logger::class, - 'mm_ignition/observer_abstract' => \MM_Ignition_Model_Observer_Abstract::class, - 'mm_ignition/observer_handleIgnitionException' => \MM_Ignition_Model_Observer_HandleIgnitionException::class, - 'mm_ignition/observer_handleIgnitionRegister' => \MM_Ignition_Model_Observer_HandleIgnitionRegister::class, - 'mm_ignition/system_config_source_editor' => \MM_Ignition_Model_System_Config_Source_Editor::class, - 'mm_ignition/system_config_source_theme' => \MM_Ignition_Model_System_Config_Source_Theme::class, 'adminnotification/feed' => \Mage_AdminNotification_Model_Feed::class, 'adminnotification/inbox' => \Mage_AdminNotification_Model_Inbox::class, 'adminnotification/mysql4_inbox' => \Mage_AdminNotification_Model_Mysql4_Inbox::class, @@ -12664,11 +12644,6 @@ 'cm_redissession/session_config' => \Cm_RedisSession_Model_Session_Config::class, 'cm_redissession/session_handler' => \Cm_RedisSession_Model_Session_Handler::class, 'cm_redissession/session_logger' => \Cm_RedisSession_Model_Session_Logger::class, - 'mm_ignition/observer_abstract' => \MM_Ignition_Model_Observer_Abstract::class, - 'mm_ignition/observer_handleIgnitionException' => \MM_Ignition_Model_Observer_HandleIgnitionException::class, - 'mm_ignition/observer_handleIgnitionRegister' => \MM_Ignition_Model_Observer_HandleIgnitionRegister::class, - 'mm_ignition/system_config_source_editor' => \MM_Ignition_Model_System_Config_Source_Editor::class, - 'mm_ignition/system_config_source_theme' => \MM_Ignition_Model_System_Config_Source_Theme::class, 'adminnotification/feed' => \Mage_AdminNotification_Model_Feed::class, 'adminnotification/inbox' => \Mage_AdminNotification_Model_Inbox::class, 'adminnotification/mysql4_inbox' => \Mage_AdminNotification_Model_Mysql4_Inbox::class, @@ -15828,11 +15803,6 @@ 'cm_redissession/session_config' => \Cm_RedisSession_Model_Session_Config::class, 'cm_redissession/session_handler' => \Cm_RedisSession_Model_Session_Handler::class, 'cm_redissession/session_logger' => \Cm_RedisSession_Model_Session_Logger::class, - 'mm_ignition/observer_abstract' => \MM_Ignition_Model_Observer_Abstract::class, - 'mm_ignition/observer_handleIgnitionException' => \MM_Ignition_Model_Observer_HandleIgnitionException::class, - 'mm_ignition/observer_handleIgnitionRegister' => \MM_Ignition_Model_Observer_HandleIgnitionRegister::class, - 'mm_ignition/system_config_source_editor' => \MM_Ignition_Model_System_Config_Source_Editor::class, - 'mm_ignition/system_config_source_theme' => \MM_Ignition_Model_System_Config_Source_Theme::class, 'adminnotification/feed' => \Mage_AdminNotification_Model_Feed::class, 'adminnotification/inbox' => \Mage_AdminNotification_Model_Inbox::class, 'adminnotification/mysql4_inbox' => \Mage_AdminNotification_Model_Mysql4_Inbox::class, @@ -18992,11 +18962,6 @@ 'cm_redissession/session_config' => \Cm_RedisSession_Model_Session_Config::class, 'cm_redissession/session_handler' => \Cm_RedisSession_Model_Session_Handler::class, 'cm_redissession/session_logger' => \Cm_RedisSession_Model_Session_Logger::class, - 'mm_ignition/observer_abstract' => \MM_Ignition_Model_Observer_Abstract::class, - 'mm_ignition/observer_handleIgnitionException' => \MM_Ignition_Model_Observer_HandleIgnitionException::class, - 'mm_ignition/observer_handleIgnitionRegister' => \MM_Ignition_Model_Observer_HandleIgnitionRegister::class, - 'mm_ignition/system_config_source_editor' => \MM_Ignition_Model_System_Config_Source_Editor::class, - 'mm_ignition/system_config_source_theme' => \MM_Ignition_Model_System_Config_Source_Theme::class, 'adminnotification/feed' => \Mage_AdminNotification_Model_Feed::class, 'adminnotification/inbox' => \Mage_AdminNotification_Model_Inbox::class, 'adminnotification/mysql4_inbox' => \Mage_AdminNotification_Model_Mysql4_Inbox::class, @@ -22156,11 +22121,6 @@ 'cm_redissession/session_config' => \Cm_RedisSession_Model_Session_Config::class, 'cm_redissession/session_handler' => \Cm_RedisSession_Model_Session_Handler::class, 'cm_redissession/session_logger' => \Cm_RedisSession_Model_Session_Logger::class, - 'mm_ignition/observer_abstract' => \MM_Ignition_Model_Observer_Abstract::class, - 'mm_ignition/observer_handleIgnitionException' => \MM_Ignition_Model_Observer_HandleIgnitionException::class, - 'mm_ignition/observer_handleIgnitionRegister' => \MM_Ignition_Model_Observer_HandleIgnitionRegister::class, - 'mm_ignition/system_config_source_editor' => \MM_Ignition_Model_System_Config_Source_Editor::class, - 'mm_ignition/system_config_source_theme' => \MM_Ignition_Model_System_Config_Source_Theme::class, 'adminnotification/feed' => \Mage_AdminNotification_Model_Feed::class, 'adminnotification/inbox' => \Mage_AdminNotification_Model_Inbox::class, 'adminnotification/mysql4_inbox' => \Mage_AdminNotification_Model_Mysql4_Inbox::class, @@ -25320,11 +25280,6 @@ 'cm_redissession/session_config' => \Cm_RedisSession_Model_Session_Config::class, 'cm_redissession/session_handler' => \Cm_RedisSession_Model_Session_Handler::class, 'cm_redissession/session_logger' => \Cm_RedisSession_Model_Session_Logger::class, - 'mm_ignition/observer_abstract' => \MM_Ignition_Model_Observer_Abstract::class, - 'mm_ignition/observer_handleIgnitionException' => \MM_Ignition_Model_Observer_HandleIgnitionException::class, - 'mm_ignition/observer_handleIgnitionRegister' => \MM_Ignition_Model_Observer_HandleIgnitionRegister::class, - 'mm_ignition/system_config_source_editor' => \MM_Ignition_Model_System_Config_Source_Editor::class, - 'mm_ignition/system_config_source_theme' => \MM_Ignition_Model_System_Config_Source_Theme::class, 'adminnotification/feed' => \Mage_AdminNotification_Model_Feed::class, 'adminnotification/inbox' => \Mage_AdminNotification_Model_Inbox::class, 'adminnotification/mysql4_inbox' => \Mage_AdminNotification_Model_Mysql4_Inbox::class, diff --git a/.rector.php b/.rector.php index 6d994316a2f..0648c907e11 100644 --- a/.rector.php +++ b/.rector.php @@ -47,6 +47,11 @@ Php85\ArrayDimFetch\ArrayFirstLastRector::class, ]) ->withConfiguredRule(RenameClassConstFetchRector::class, [ + new RenameClassAndConstFetch('Mage_Core_Helper_Data', 'XML_PATH_DEV_LOG_ENABLED', 'Mage_Core_Helper_Log', 'XML_PATH_DEV_LOG_ENABLED'), + new RenameClassAndConstFetch('Mage_Core_Helper_Data', 'XML_PATH_DEV_LOG_ALLOWED_EXTENSIONS', 'Mage_Core_Helper_Log', 'XML_PATH_DEV_LOG_ALLOWED_EXTENSIONS'), + new RenameClassAndConstFetch('Mage_Core_Helper_Data', 'XML_PATH_DEV_LOG_FILE', 'Mage_Core_Helper_Log', 'XML_PATH_DEV_LOG_FILE'), + new RenameClassAndConstFetch('Mage_Core_Helper_Data', 'XML_PATH_DEV_LOG_EXCEPTION_FILE', 'Mage_Core_Helper_Log', 'XML_PATH_DEV_LOG_EXCEPTION_FILE'), + new RenameClassAndConstFetch('Mage_Core_Helper_Data', 'XML_PATH_DEV_LOG_MAX_LEVEL', 'Mage_Core_Helper_Log', 'XML_PATH_DEV_LOG_MAX_LEVEL'), new RenameClassAndConstFetch('Zend_Log', 'EMERG', 'Monolog\Level', 'Emergency'), new RenameClassAndConstFetch('Zend_Log', 'ALERT', 'Monolog\Level', 'Alert'), new RenameClassAndConstFetch('Zend_Log', 'CRIT', 'Monolog\Level', 'Critical'), diff --git a/app/Mage.php b/app/Mage.php index 209e2cfc42a..ebad3155046 100644 --- a/app/Mage.php +++ b/app/Mage.php @@ -8,10 +8,7 @@ */ use Carbon\Carbon; -use Monolog\Formatter\LineFormatter; -use Monolog\Handler\StreamHandler; use Monolog\Level; -use Monolog\Logger; defined('DS') || define('DS', DIRECTORY_SEPARATOR); defined('PS') || define('PS', PATH_SEPARATOR); @@ -886,93 +883,10 @@ public static function log($message, $level = null, $file = '', $forceLog = fals } try { - $logActive = self::getStoreConfigFlag(Mage_Core_Helper_Data::XML_PATH_DEV_LOG_ENABLED); - if (empty($file)) { - $file = self::getStoreConfig(Mage_Core_Helper_Data::XML_PATH_DEV_LOG_FILE); + $logger = self::getModel('core/logger'); + if ($logger instanceof Mage_Core_Model_Logger) { + $logger->log($message, $level, $file, $forceLog, $context); } - } catch (Exception) { - $logActive = true; - } - - if (!self::$_isDeveloperMode && !$logActive && !$forceLog) { - return; - } - - static $loggers = []; - - try { - $maxLogLevel = self::getStoreConfigAsInt(Mage_Core_Helper_Data::XML_PATH_DEV_LOG_MAX_LEVEL); - } catch (Throwable) { - $maxLogLevel = Level::Debug->value; - } - - // Normalize both $level and $maxLogLevel to integers for comparison - if ($level instanceof Level) { - $levelValue = $level->value; - } elseif (is_null($level)) { - $levelValue = Level::Debug->value; - } else { - $levelValue = (int) $level; - } - - if (!self::$_isDeveloperMode && $levelValue > $maxLogLevel && !$forceLog) { - return; - } - - $file = empty($file) - ? (string) self::getConfig()->getNode( - Mage_Core_Helper_Data::XML_PATH_DEV_LOG_FILE, - Mage_Core_Model_Store::DEFAULT_CODE, - ) : basename($file); - - try { - if (!isset($loggers[$file])) { - // Validate file extension before save. Allowed file extensions: log, txt, html, csv - $_allowedFileExtensions = explode( - ',', - (string) self::getConfig()->getNode( - Mage_Core_Helper_Data::XML_PATH_DEV_LOG_ALLOWED_EXTENSIONS, - Mage_Core_Model_Store::DEFAULT_CODE, - ), - ); - if (! ($extension = pathinfo($file, PATHINFO_EXTENSION)) || ! in_array($extension, $_allowedFileExtensions)) { - return; - } - - $logDir = self::getBaseDir('var') . DS . 'log'; - $logFile = $logDir . DS . $file; - - if (!is_dir($logDir)) { - mkdir($logDir); - chmod($logDir, 0750); - } - - if (!file_exists($logFile)) { - file_put_contents($logFile, ''); - chmod($logFile, 0640); - } - - $format = '%datetime% %level_name% (%level%): %message% %context% %extra%' . PHP_EOL; - $formatter = new LineFormatter($format, null, true, true, true); - $writerModel = (string) self::getConfig()->getNode('global/log/core/writer_model'); - if (!self::$_app || !$writerModel) { - $writer = new StreamHandler($logFile, Level::Debug); - } else { - $writer = new $writerModel($logFile, Level::Debug); - } - - $writer->setFormatter($formatter); - $logger = new Logger('OpenMage'); - $logger->pushHandler($writer); - $loggers[$file] = $logger; - } - - if (is_array($message) || is_object($message)) { - $message = print_r($message, true); - } - - $message = addcslashes($message, 'log($levelValue, $message, $context); } catch (Exception) { } } @@ -980,14 +894,14 @@ public static function log($message, $level = null, $file = '', $forceLog = fals /** * Write exception to log */ - public static function logException(Throwable $e) + public static function logException(Throwable $throwable) { if (!self::getConfig()) { return; } - $file = self::getStoreConfig(Mage_Core_Helper_Data::XML_PATH_DEV_LOG_EXCEPTION_FILE); - self::log("\n" . $e->__toString(), Level::Error, $file); + $file = self::getStoreConfig(Mage_Core_Helper_Log::XML_PATH_DEV_LOG_EXCEPTION_FILE); + self::log("\n" . $throwable->__toString(), Level::Error, $file); } /** diff --git a/app/code/core/Mage/Adminhtml/Model/System/Config/Source/Log/Level.php b/app/code/core/Mage/Adminhtml/Model/System/Config/Source/Log/Level.php index ba1f32d82d1..77e2a54ab84 100644 --- a/app/code/core/Mage/Adminhtml/Model/System/Config/Source/Log/Level.php +++ b/app/code/core/Mage/Adminhtml/Model/System/Config/Source/Log/Level.php @@ -7,6 +7,7 @@ * @package Mage_Adminhtml */ +use Mage_Core_Helper_Log as Log; use Monolog\Level; /** @@ -21,14 +22,14 @@ public function toOptionArray() $helper = Mage::helper('adminhtml'); return [ - Level::Emergency->value => $helper->__('Emergency'), - Level::Alert->value => $helper->__('Alert'), - Level::Critical->value => $helper->__('Critical'), - Level::Error->value => $helper->__('Error'), - Level::Warning->value => $helper->__('Warning'), - Level::Notice->value => $helper->__('Notice'), - Level::Info->value => $helper->__('Informational'), - Level::Debug->value => $helper->__('Debug'), + Log::getLogLevelValue(Level::Emergency) => $helper->__('Emergency'), + Log::getLogLevelValue(Level::Alert) => $helper->__('Alert'), + Log::getLogLevelValue(Level::Critical) => $helper->__('Critical'), + Log::getLogLevelValue(Level::Error) => $helper->__('Error'), + Log::getLogLevelValue(Level::Warning) => $helper->__('Warning'), + Log::getLogLevelValue(Level::Notice) => $helper->__('Notice'), + Log::getLogLevelValue(Level::Info) => $helper->__('Informational'), + Log::getLogLevelValue(Level::Debug) => $helper->__('Debug'), ]; } } diff --git a/app/code/core/Mage/Core/Helper/Data.php b/app/code/core/Mage/Core/Helper/Data.php index 4e5880fac97..ddef245ba0c 100644 --- a/app/code/core/Mage/Core/Helper/Data.php +++ b/app/code/core/Mage/Core/Helper/Data.php @@ -27,15 +27,30 @@ class Mage_Core_Helper_Data extends Mage_Core_Helper_Abstract public const XML_PATH_DEV_ALLOW_IPS = 'dev/restrict/allow_ips'; - public const XML_PATH_DEV_LOG_ENABLED = 'dev/log/active'; + /** + * @deprecated use Mage_Core_Helper_Log::XML_PATH_DEV_LOG_ENABLED instead + */ + public const XML_PATH_DEV_LOG_ENABLED = Mage_Core_Helper_Log::XML_PATH_DEV_LOG_ENABLED; - public const XML_PATH_DEV_LOG_ALLOWED_EXTENSIONS = 'dev/log/allowedFileExtensions'; + /** + * @deprecated use Mage_Core_Helper_Log::XML_PATH_DEV_LOG_ALLOWED_EXTENSIONS instead + */ + public const XML_PATH_DEV_LOG_ALLOWED_EXTENSIONS = Mage_Core_Helper_Log::XML_PATH_DEV_LOG_ALLOWED_EXTENSIONS; - public const XML_PATH_DEV_LOG_FILE = 'dev/log/file'; + /** + * @deprecated use Mage_Core_Helper_Log::XML_PATH_DEV_LOG_FILE instead + */ + public const XML_PATH_DEV_LOG_FILE = Mage_Core_Helper_Log::XML_PATH_DEV_LOG_FILE; - public const XML_PATH_DEV_LOG_EXCEPTION_FILE = 'dev/log/exception_file'; + /** + * @deprecated use Mage_Core_Helper_Log::XML_PATH_DEV_LOG_EXCEPTION_FILE instead + */ + public const XML_PATH_DEV_LOG_EXCEPTION_FILE = Mage_Core_Helper_Log::XML_PATH_DEV_LOG_EXCEPTION_FILE; - public const XML_PATH_DEV_LOG_MAX_LEVEL = 'dev/log/max_level'; + /** + * @deprecated use Mage_Core_Helper_Log::XML_PATH_DEV_LOG_MAX_LEVEL instead + */ + public const XML_PATH_DEV_LOG_MAX_LEVEL = Mage_Core_Helper_Log::XML_PATH_DEV_LOG_MAX_LEVEL; public const XML_PATH_CACHE_BETA_TYPES = 'global/cache/betatypes'; diff --git a/app/code/core/Mage/Core/Helper/Log.php b/app/code/core/Mage/Core/Helper/Log.php new file mode 100644 index 00000000000..2c21bc6e9e3 --- /dev/null +++ b/app/code/core/Mage/Core/Helper/Log.php @@ -0,0 +1,181 @@ +getNode( + self::XML_PATH_DEV_LOG_ALLOWED_EXTENSIONS, + Mage_Core_Model_Store::DEFAULT_CODE, + ), + ); + } + + /** + * Retrieve log file name from configuration + */ + public static function getConfigLogFile(): string + { + return (string) Mage::getConfig()->getNode( + self::XML_PATH_DEV_LOG_FILE, + Mage_Core_Model_Store::DEFAULT_CODE, + ); + } + + /** + * Retrieve log handler instance + */ + public static function getHandler(string $logFile, Level $logLevel = Level::Debug): HandlerInterface + { + $writerModel = (string) Mage::getConfig()->getNode('global/log/core/writer_model'); + if (!Mage::app() || !$writerModel) { + $handler = new StreamHandler($logFile, $logLevel); + } else { + $handler = new $writerModel($logFile, $logLevel); + } + + if ($handler instanceof FormattableHandlerInterface) { + $format = '%datetime% %level_name% (%level%): %message% %context% %extra%' . PHP_EOL; + $handler->setFormatter(self::getLineFormatter( + format: $format, + allowInlineLineBreaks: true, + ignoreEmptyContextAndExtra: true, + includeStacktraces: true, + )); + } + + return $handler; + } + + /** + * Retrieve line formatter instance + */ + public static function getLineFormatter( + ?string $format = null, + ?string $dateFormat = null, + bool $allowInlineLineBreaks = false, + bool $ignoreEmptyContextAndExtra = false, + bool $includeStacktraces = false, + ): FormatterInterface { + return new LineFormatter( + format: $format, + dateFormat: $dateFormat, + allowInlineLineBreaks: $allowInlineLineBreaks, + ignoreEmptyContextAndExtra: $ignoreEmptyContextAndExtra, + includeStacktraces: $includeStacktraces, + ); + } + + /** + * Retrieve log level value + * + * @param self::LOG_FORMAT_* $format + */ + public static function getLogLevelValue(null|int|Level|string $level, int $format = self::LOG_FORMAT_RFC5424): int|string + { + return match ($format) { + self::LOG_FORMAT_MONOLOG => self::getLogLevel($level)->value, + self::LOG_FORMAT_PSR_3 => self::getLogLevel($level)->toPsrLogLevel(), + self::LOG_FORMAT_RFC5424 => self::getLogLevel($level)->toRFC5424Level(), + }; + } + + /** + * Retrieve log level instance + */ + public static function getLogLevel(null|int|Level|string $level): Level + { + if (is_null($level)) { + return Level::Debug; + } + + if ($level instanceof Level) { + return $level; + } + + if (is_numeric($level)) { + $level = (int) $level; + } + + if (is_string($level)) { + // PSR 3 Log level + try { + return Level::fromName($level); + } catch (UnhandledMatchError) { + return Level::Debug; + } + } else { + return match ($level) { + 7, 100 => Level::Debug, + 6, 200 => Level::Info, + 5, 250 => Level::Notice, + 4, 300 => Level::Warning, + 3, 400 => Level::Error, + 2, 500 => Level::Critical, + 1, 550 => Level::Alert, + 0, 600 => Level::Emergency, + default => Level::Debug, + }; + } + } + + /** + * Retrieve maximum log level from configuration + */ + public static function getLogLevelMaxValue(): int + { + try { + $maxLogLevel = Mage::getStoreConfigAsInt(self::XML_PATH_DEV_LOG_MAX_LEVEL); + } catch (Throwable) { + $maxLogLevel = Level::Debug; + } + + return self::getLogLevelValue($maxLogLevel); + } +} diff --git a/app/code/core/Mage/Core/Model/Logger.php b/app/code/core/Mage/Core/Model/Logger.php index bf07be9ade6..3f07b73135b 100644 --- a/app/code/core/Mage/Core/Model/Logger.php +++ b/app/code/core/Mage/Core/Model/Logger.php @@ -7,7 +7,9 @@ * @package Mage_Core */ +use Mage_Core_Helper_Log as HelperLog; use Monolog\Level; +use Monolog\Logger; /** * Logger model @@ -16,6 +18,12 @@ */ class Mage_Core_Model_Logger { + /** Loggers storage + * + * @var Logger[] + */ + private static array $loggers = []; + /** * Log wrapper * @@ -24,17 +32,100 @@ class Mage_Core_Model_Logger * @param string $file * @param bool $forceLog * @param array $context additional context for the log entry + * @SuppressWarnings("PHPMD.DevelopmentCodeFragment") */ public function log($message, $level = null, $file = '', $forceLog = false, array $context = []) { - Mage::log($message, $level, $file, $forceLog, $context); + $useStdout = in_array($file, ['php://stdout', 'php://stderr'], true); + + if ((bool) $forceLog !== true) { + $forceLog = Mage::getIsDeveloperMode(); + } + + try { + $logActive = Mage::getStoreConfigFlag(HelperLog::XML_PATH_DEV_LOG_ENABLED); + if (empty($file)) { + $file = Mage::getStoreConfig(HelperLog::XML_PATH_DEV_LOG_FILE); + } + } catch (Throwable) { + $logActive = true; + } + + if (!$logActive && !$forceLog) { + return; + } + + $levelValue = HelperLog::getLogLevelValue($level); + + if ($levelValue > HelperLog::getLogLevelMaxValue() && !$forceLog) { + return; + } + + if (!$useStdout) { + $file = empty($file) ? HelperLog::getConfigLogFile() : basename($file); + } + + try { + if (!isset(self::$loggers[$file])) { + if ($useStdout) { + $logFile = $file; + } else { + $logFile = $this->getLogFilePath($file); + if ($logFile === null) { + return; + } + } + + $handler = HelperLog::getHandler($logFile); + + $logger = new Logger('OpenMage'); + $logger->pushHandler($handler); + self::$loggers[$file] = $logger; + } + + if (is_array($message) || is_object($message)) { + $message = print_r($message, true); + } + + $message = addcslashes($message, 'log($levelValue, $message, $context); + } catch (Exception) { + // Silent catch + } } /** * Log exception wrapper */ - public function logException(Exception $e) + public function logException(Exception $exception) { - Mage::logException($e); + Mage::logException($exception); + } + + /** + * Get log file path + */ + protected function getLogFilePath(string $file): ?string + { + // Validate file extension before save. Allowed file extensions: log, txt, html, csv + $_allowedFileExtensions = HelperLog::getConfigAllowedFileExtensions(); + if (! ($extension = pathinfo($file, PATHINFO_EXTENSION)) || ! in_array($extension, $_allowedFileExtensions)) { + return null; + } + + $logDir = Mage::getBaseDir('var') . DS . 'log'; + $logFile = $logDir . DS . $file; + + if (!is_dir($logDir)) { + mkdir($logDir); + chmod($logDir, 0750); + } + + if (!file_exists($logFile)) { + file_put_contents($logFile, ''); + chmod($logFile, 0640); + } + + return $logFile; } } diff --git a/app/code/core/Mage/Core/etc/config.xml b/app/code/core/Mage/Core/etc/config.xml index 146f60f73de..b0d7c482628 100644 --- a/app/code/core/Mage/Core/etc/config.xml +++ b/app/code/core/Mage/Core/etc/config.xml @@ -10,7 +10,7 @@ - 1.6.0.11 + 1.6.0.10 diff --git a/app/code/core/Mage/Core/sql/core_setup/upgrade-1.6.0.10-1.6.0.11.php b/app/code/core/Mage/Core/sql/core_setup/upgrade-1.6.0.10-1.6.0.11.php deleted file mode 100644 index f3b7a642a7b..00000000000 --- a/app/code/core/Mage/Core/sql/core_setup/upgrade-1.6.0.10-1.6.0.11.php +++ /dev/null @@ -1,50 +0,0 @@ -startSetup(); - -$connection = $installer->getConnection(); -$table = $installer->getTable('core/config_data'); - -$select = $connection->select() - ->from($table) - ->where('path = ?', Mage_Core_Helper_Data::XML_PATH_DEV_LOG_MAX_LEVEL); - -$logConfig = $connection->fetchAll($select); - -foreach ($logConfig as $config) { - $zendValue = (int) $config['value']; - $monologValue = match ($zendValue) { - 0 => Level::Emergency->value, - 1 => Level::Alert->value, - 2 => Level::Critical->value, - 3 => Level::Error->value, - 4 => Level::Warning->value, - 5 => Level::Notice->value, - 6 => Level::Info->value, - default => Level::Debug->value, - }; - - $connection->insertOnDuplicate( - $table, - [ - 'scope' => $config['scope'], - 'scope_id' => $config['scope_id'], - 'path' => Mage_Core_Helper_Data::XML_PATH_DEV_LOG_MAX_LEVEL, - 'value' => $monologValue, - ], - ['value'], - ); -} - -$installer->endSetup(); diff --git a/tests/unit/Mage/Core/Helper/LogTest.php b/tests/unit/Mage/Core/Helper/LogTest.php new file mode 100644 index 00000000000..1955fb34973 --- /dev/null +++ b/tests/unit/Mage/Core/Helper/LogTest.php @@ -0,0 +1,90 @@ + [ + Level::Debug->toRFC5424Level(), + null, + ]; + yield 'empty string' => [ + Level::Debug->toRFC5424Level(), + '', + ]; + yield 'invalid string' => [ + Level::Debug->toRFC5424Level(), + 'abc', + ]; + yield 'string psr3' => [ + Level::Info->toRFC5424Level(), + 'info', + ]; + yield 'numeric string 0' => [ + Level::Emergency->toRFC5424Level(), + '0', + ]; + yield 'numeric string 200' => [ + Level::Info->toRFC5424Level(), + '200', + ]; + yield 'numeric string 999' => [ + Level::Debug->toRFC5424Level(), + '999', + ]; + yield 'int 0' => [ + Level::Emergency->toRFC5424Level(), + 0, + ]; + yield 'int 66' => [ + Level::Debug->toRFC5424Level(), + 66, + ]; + yield 'int 200' => [ + Level::Info->toRFC5424Level(), + 200, + ]; + yield 'int 999' => [ + Level::Debug->toRFC5424Level(), + 999, + ]; + yield 'monolog level' => [ + Level::Debug->toRFC5424Level(), + Level::Debug, + ]; + } +}