You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Upon inspecting my system.log file, I am seeing errors related to the Klaviyo SalesQuoteSaveAfter.php observer.
report.CRITICAL: Deprecated Functionality: base64_encode(): Passing null to parameter #1 ($string) of type string is deprecated in /var/vhosts/domain.com/www/vendor/klaviyo/magento2-extension/Observer/SalesQuoteSaveAfter.php on line 139
Thank you for letting us know - we are intending on doing a full clean-up of the extension to ensure compatibility w/ PHP 8.3 and will get this deprecation fixed as part of that work.
Environment details
PHP version: 8.1-latest
Magento version: 2.4.6-p6 (Commerce B2B)
Klaviyo extension version: 4.1.3
Steps to reproduce
Upon inspecting my system.log file, I am seeing errors related to the Klaviyo SalesQuoteSaveAfter.php observer.
report.CRITICAL: Deprecated Functionality: base64_encode(): Passing null to parameter #1 ($string) of type string is deprecated in /var/vhosts/domain.com/www/vendor/klaviyo/magento2-extension/Observer/SalesQuoteSaveAfter.php on line 139
Full stack trace
report.CRITICAL: Deprecated Functionality: base64_encode(): Passing null to parameter #1 ($string) of type string is deprecated in /var/vhosts/domain.com/www/vendor/klaviyo/magento2-extension/Observer/SalesQuoteSaveAfter.php on line 139 #0 [internal function]: Magento\Framework\App\ErrorHandler->handler() #1 /var/vhosts/domain.com/www/vendor/klaviyo/magento2-extension/Observer/SalesQuoteSaveAfter.php(139): base64_encode() #2 /var/vhosts/domain.com/www/vendor/klaviyo/magento2-extension/Observer/SalesQuoteSaveAfter.php(96): Klaviyo\Reclaim\Observer\SalesQuoteSaveAfter->checkCustomerAndReturnEncodedId() #3 /var/vhosts/domain.com/www/vendor/magento/framework/Event/Invoker/InvokerDefault.php(88): Klaviyo\Reclaim\Observer\SalesQuoteSaveAfter->execute() #4 /var/vhosts/domain.com/www/vendor/magento/framework/Event/Invoker/InvokerDefault.php(74): Magento\Framework\Event\Invoker\InvokerDefault->_callObserverMethod() #5 /var/vhosts/domain.com/www/vendor/magento/module-staging/Model/Event/Manager.php(97): Magento\Framework\Event\Invoker\InvokerDefault->dispatch() #6 /var/vhosts/domain.com/www/generated/code/Magento/Staging/Model/Event/Manager/Proxy.php(95): Magento\Staging\Model\Event\Manager->dispatch() #7 /var/vhosts/domain.com/www/vendor/magento/framework/Model/AbstractModel.php(837): Magento\Staging\Model\Event\Manager\Proxy->dispatch() #8 /var/vhosts/domain.com/www/vendor/magento/framework/Model/ResourceModel/Db/VersionControl/AbstractDb.php(56): Magento\Framework\Model\AbstractModel->afterSave() #9 /var/vhosts/domain.com/www/vendor/magento/framework/Model/ResourceModel/Db/AbstractDb.php(402): Magento\Framework\Model\ResourceModel\Db\VersionControl\AbstractDb->processAfterSaves() #10 /var/vhosts/domain.com/www/vendor/magento/module-quote/Model/ResourceModel/Quote.php(317): Magento\Framework\Model\ResourceModel\Db\AbstractDb->save() #11 /var/vhosts/domain.com/www/vendor/magento/module-quote/Model/QuoteRepository/SaveHandler.php(121): Magento\Quote\Model\ResourceModel\Quote->save() #12 /var/vhosts/domain.com/www/vendor/magento/framework/Interception/Interceptor.php(58): Magento\Quote\Model\QuoteRepository\SaveHandler->save() #13 /var/vhosts/domain.com/www/vendor/magento/framework/Interception/Interceptor.php(138): Magento\Quote\Model\QuoteRepository\SaveHandler\Interceptor->___callParent() #14 /var/vhosts/domain.com/www/vendor/magento/framework/Interception/Interceptor.php(153): Magento\Quote\Model\QuoteRepository\SaveHandler\Interceptor->Magento\Framework\Interception\{closure}() #15 /var/vhosts/domain.com/www/generated/code/Magento/Quote/Model/QuoteRepository/SaveHandler/Interceptor.php(23): Magento\Quote\Model\QuoteRepository\SaveHandler\Interceptor->___callPlugins() #16 /var/vhosts/domain.com/www/vendor/magento/module-quote/Model/QuoteRepository.php(202): Magento\Quote\Model\QuoteRepository\SaveHandler\Interceptor->save() #17 /var/vhosts/domain.com/www/vendor/magento/framework/Interception/Interceptor.php(58): Magento\Quote\Model\QuoteRepository->save() #18 /var/vhosts/domain.com/www/vendor/magento/framework/Interception/Interceptor.php(138): Magento\Quote\Model\QuoteRepository\Interceptor->___callParent() #19 /var/vhosts/domain.com/www/vendor/magento/module-negotiable-quote/Model/Plugin/Quote/Model/QuoteRepositoryPlugin.php(98): Magento\Quote\Model\QuoteRepository\Interceptor->Magento\Framework\Interception\{closure}() #20 /var/vhosts/domain.com/www/vendor/magento/framework/Interception/Interceptor.php(135): Magento\NegotiableQuote\Model\Plugin\Quote\Model\QuoteRepositoryPlugin->aroundSave() #21 /var/vhosts/domain.com/www/vendor/magento/framework/Interception/Interceptor.php(153): Magento\Quote\Model\QuoteRepository\Interceptor->Magento\Framework\Interception\{closure}() #22 /var/vhosts/domain.com/www/generated/code/Magento/Quote/Model/QuoteRepository/Interceptor.php(59): Magento\Quote\Model\QuoteRepository\Interceptor->___callPlugins() #23 /var/vhosts/domain.com/www/vendor/magento/module-backend/Model/Session/Quote.php(158): Magento\Quote\Model\QuoteRepository\Interceptor->save() #24 /var/vhosts/domain.com/www/vendor/vertexinc/vertex-tax-module/Model/RequestLogger.php(223): Magento\Backend\Model\Session\Quote->getQuote() #25 /var/vhosts/domain.com/www/vendor/vertexinc/vertex-tax-module/Model/RequestLogger.php(135): Vertex\Tax\Model\RequestLogger->getCurrentAdminQuote() #26 /var/vhosts/domain.com/www/vendor/vertexinc/vertex-tax-module/Model/Api/Logger.php(107): Vertex\Tax\Model\RequestLogger->log() #27 /var/vhosts/domain.com/www/vendor/vertexinc/vertex-tax-module/Model/Api/Logger.php(67): Vertex\Tax\Model\Api\Logger->logRequest() #28 /var/vhosts/domain.com/www/vendor/vertexinc/vertex-tax-module/Service/QuoteProxy.php(50): Vertex\Tax\Model\Api\Logger->wrapCall() #29 /var/vhosts/domain.com/www/vendor/vertexinc/vertex-tax-module/Model/TaxQuote/TaxQuoteRequest.php(92): Vertex\Tax\Service\QuoteProxy->request() #30 /var/vhosts/domain.com/www/vendor/vertexinc/vertex-tax-module/Model/Calculator.php(152): Vertex\Tax\Model\TaxQuote\TaxQuoteRequest->taxQuote() #31 /var/vhosts/domain.com/www/vendor/vertexinc/vertex-tax-module/Model/Plugin/TaxCalculationPlugin.php(75): Vertex\Tax\Model\Calculator->calculateTax() #32 /var/vhosts/domain.com/www/vendor/magento/framework/Interception/Interceptor.php(135): Vertex\Tax\Model\Plugin\TaxCalculationPlugin->aroundCalculateTax() #33 /var/vhosts/domain.com/www/vendor/magento/framework/Interception/Interceptor.php(153): Magento\Tax\Model\TaxCalculation\Interceptor->Magento\Framework\Interception\{closure}() #34 /var/vhosts/domain.com/www/generated/code/Magento/Tax/Model/TaxCalculation/Interceptor.php(23): Magento\Tax\Model\TaxCalculation\Interceptor->___callPlugins() #35 /var/vhosts/domain.com/www/vendor/magento/module-tax/Model/Sales/Total/Quote/Subtotal.php(43): Magento\Tax\Model\TaxCalculation\Interceptor->calculateTax() #36 /var/vhosts/domain.com/www/vendor/magento/module-quote/Model/Quote/TotalsCollector.php(261): Magento\Tax\Model\Sales\Total\Quote\Subtotal->collect() #37 /var/vhosts/domain.com/www/vendor/magento/framework/Interception/Interceptor.php(58): Magento\Quote\Model\Quote\TotalsCollector->collectAddressTotals() #38 /var/vhosts/domain.com/www/vendor/magento/framework/Interception/Interceptor.php(138): Magento\Quote\Model\Quote\TotalsCollector\Interceptor->___callParent() #39 /var/vhosts/domain.com/www/vendor/amasty/promo/Plugin/Quote/Model/Quote/TotalsCollectorPlugin.php(157): Magento\Quote\Model\Quote\TotalsCollector\Interceptor->Magento\Framework\Interception\{closure}() #40 /var/vhosts/domain.com/www/vendor/magento/framework/Interception/Interceptor.php(135): Amasty\Promo\Plugin\Quote\Model\Quote\TotalsCollectorPlugin->aroundCollectAddressTotals() #41 /var/vhosts/domain.com/www/vendor/magento/framework/Interception/Interceptor.php(153): Magento\Quote\Model\Quote\TotalsCollector\Interceptor->Magento\Framework\Interception\{closure}() #42 /var/vhosts/domain.com/www/generated/code/Magento/Quote/Model/Quote/TotalsCollector/Interceptor.php(41): Magento\Quote\Model\Quote\TotalsCollector\Interceptor->___callPlugins() #43 /var/vhosts/domain.com/www/vendor/magento/module-quote/Model/Quote/TotalsCollector.php(156): Magento\Quote\Model\Quote\TotalsCollector\Interceptor->collectAddressTotals() #44 /var/vhosts/domain.com/www/vendor/magento/framework/Interception/Interceptor.php(58): Magento\Quote\Model\Quote\TotalsCollector->collect() #45 /var/vhosts/domain.com/www/vendor/magento/framework/Interception/Interceptor.php(138): Magento\Quote\Model\Quote\TotalsCollector\Interceptor->___callParent() #46 /var/vhosts/domain.com/www/vendor/magento/framework/Interception/Interceptor.php(153): Magento\Quote\Model\Quote\TotalsCollector\Interceptor->Magento\Framework\Interception\{closure}() #47 /var/vhosts/domain.com/www/generated/code/Magento/Quote/Model/Quote/TotalsCollector/Interceptor.php(32): Magento\Quote\Model\Quote\TotalsCollector\Interceptor->___callPlugins() #48 /var/vhosts/domain.com/www/vendor/magento/module-quote/Model/Quote.php(2021): Magento\Quote\Model\Quote\TotalsCollector\Interceptor->collect() #49 /var/vhosts/domain.com/www/vendor/magento/framework/Interception/Interceptor.php(58): Magento\Quote\Model\Quote->collectTotals() #50 /var/vhosts/domain.com/www/vendor/magento/framework/Interception/Interceptor.php(138): Magento\Quote\Model\Quote\Interceptor->___callParent() #51 /var/vhosts/domain.com/www/vendor/magento/module-deferred-total-calculating/Plugin/TotalsCollectorPlugin.php(137): Magento\Quote\Model\Quote\Interceptor->Magento\Framework\Interception\{closure}() #52 /var/vhosts/domain.com/www/vendor/magento/framework/Interception/Interceptor.php(135): Magento\DeferredTotalCalculating\Plugin\TotalsCollectorPlugin->aroundCollectTotals() #53 /var/vhosts/domain.com/www/vendor/magento/module-purchase-order/Plugin/Quote/Model/QuotePlugin.php(46): Magento\Quote\Model\Quote\Interceptor->Magento\Framework\Interception\{closure}() #54 /var/vhosts/domain.com/www/vendor/magento/framework/Interception/Interceptor.php(135): Magento\PurchaseOrder\Plugin\Quote\Model\QuotePlugin->aroundCollectTotals() #55 /var/vhosts/domain.com/www/vendor/magento/module-negotiable-quote/Plugin/Quote/Model/QuotePlugin.php(102): Magento\Quote\Model\Quote\Interceptor->Magento\Framework\Interception\{closure}() #56 /var/vhosts/domain.com/www/vendor/magento/framework/Interception/Interceptor.php(135): Magento\NegotiableQuote\Plugin\Quote\Model\QuotePlugin->aroundCollectTotals() #57 /var/vhosts/domain.com/www/vendor/magento/framework/Interception/Interceptor.php(153): Magento\Quote\Model\Quote\Interceptor->Magento\Framework\Interception\{closure}() #58 /var/vhosts/domain.com/www/generated/code/Magento/Quote/Model/Quote/Interceptor.php(95): Magento\Quote\Model\Quote\Interceptor->___callPlugins() #59 /var/vhosts/domain.com/www/vendor/magento/module-checkout/Model/Cart.php(594): Magento\Quote\Model\Quote\Interceptor->collectTotals() #60 /var/vhosts/domain.com/www/vendor/magento/framework/Interception/Interceptor.php(58): Magento\Checkout\Model\Cart->save() #61 /var/vhosts/domain.com/www/vendor/magento/framework/Interception/Interceptor.php(138): Magento\Checkout\Model\Cart\Interceptor->___callParent() #62 /var/vhosts/domain.com/www/vendor/magento/framework/Interception/Interceptor.php(153): Magento\Checkout\Model\Cart\Interceptor->Magento\Framework\Interception\{closure}() #63 /var/vhosts/domain.com/www/generated/code/Magento/Checkout/Model/Cart/Interceptor.php(23): Magento\Checkout\Model\Cart\Interceptor->___callPlugins() #64 /var/vhosts/domain.com/www/vendor/amasty/cart/Controller/Cart/Add.php(247): Magento\Checkout\Model\Cart\Interceptor->save() #65 /var/vhosts/domain.com/www/vendor/magento/framework/Interception/Interceptor.php(58): Amasty\Cart\Controller\Cart\Add->execute() #66 /var/vhosts/domain.com/www/vendor/magento/framework/Interception/Interceptor.php(138): Amasty\Cart\Controller\Cart\Add\Interceptor->___callParent() #67 /var/vhosts/domain.com/www/vendor/magento/framework/Interception/Interceptor.php(153): Amasty\Cart\Controller\Cart\Add\Interceptor->Magento\Framework\Interception\{closure}() #68 /var/vhosts/domain.com/www/generated/code/Amasty/Cart/Controller/Cart/Add/Interceptor.php(23): Amasty\Cart\Controller\Cart\Add\Interceptor->___callPlugins() #69 /var/vhosts/domain.com/www/vendor/magento/framework/App/Action/Action.php(111): Amasty\Cart\Controller\Cart\Add\Interceptor->execute() #70 /var/vhosts/domain.com/www/vendor/magento/framework/Interception/Interceptor.php(58): Magento\Framework\App\Action\Action->dispatch() #71 /var/vhosts/domain.com/www/vendor/magento/framework/Interception/Interceptor.php(138): Amasty\Cart\Controller\Cart\Add\Interceptor->___callParent() #72 /var/vhosts/domain.com/www/vendor/magento/module-company/Plugin/Framework/App/Action/AbstractActionPlugin.php(65): Amasty\Cart\Controller\Cart\Add\Interceptor->Magento\Framework\Interception\{closure}() #73 /var/vhosts/domain.com/www/vendor/magento/framework/Interception/Interceptor.php(135): Magento\Company\Plugin\Framework\App\Action\AbstractActionPlugin->aroundDispatch() #74 /var/vhosts/domain.com/www/vendor/magento/framework/Interception/Interceptor.php(153): Amasty\Cart\Controller\Cart\Add\Interceptor->Magento\Framework\Interception\{closure}() #75 /var/vhosts/domain.com/www/generated/code/Amasty/Cart/Controller/Cart/Add/Interceptor.php(32): Amasty\Cart\Controller\Cart\Add\Interceptor->___callPlugins() #76 /var/vhosts/domain.com/www/vendor/magento/framework/App/FrontController.php(245): Amasty\Cart\Controller\Cart\Add\Interceptor->dispatch() #77 /var/vhosts/domain.com/www/vendor/magento/framework/App/FrontController.php(212): Magento\Framework\App\FrontController->getActionResponse() #78 /var/vhosts/domain.com/www/vendor/magento/framework/App/FrontController.php(147): Magento\Framework\App\FrontController->processRequest() #79 /var/vhosts/domain.com/www/vendor/magento/framework/Interception/Interceptor.php(58): Magento\Framework\App\FrontController->dispatch() #80 /var/vhosts/domain.com/www/vendor/magento/framework/Interception/Interceptor.php(138): Magento\Framework\App\FrontController\Interceptor->___callParent() #81 /var/vhosts/domain.com/www/vendor/magento/module-store/App/FrontController/Plugin/RequestPreprocessor.php(99): Magento\Framework\App\FrontController\Interceptor->Magento\Framework\Interception\{closure}() #82 /var/vhosts/domain.com/www/vendor/magento/framework/Interception/Interceptor.php(135): Magento\Store\App\FrontController\Plugin\RequestPreprocessor->aroundDispatch() #83 /var/vhosts/domain.com/www/vendor/amasty/aminvisiblecaptcha/Plugin/Framework/App/FrontControllerInterface/ValidateCaptcha.php(124): Magento\Framework\App\FrontController\Interceptor->Magento\Framework\Interception\{closure}() #84 /var/vhosts/domain.com/www/vendor/magento/framework/Interception/Interceptor.php(135): Amasty\InvisibleCaptcha\Plugin\Framework\App\FrontControllerInterface\ValidateCaptcha->aroundDispatch() #85 /var/vhosts/domain.com/www/vendor/magento/module-page-cache/Model/App/FrontController/BuiltinPlugin.php(75): Magento\Framework\App\FrontController\Interceptor->Magento\Framework\Interception\{closure}() #86 /var/vhosts/domain.com/www/vendor/magento/framework/Interception/Interceptor.php(135): Magento\PageCache\Model\App\FrontController\BuiltinPlugin->aroundDispatch() #87 /var/vhosts/domain.com/www/vendor/magento/framework/Interception/Interceptor.php(153): Magento\Framework\App\FrontController\Interceptor->Magento\Framework\Interception\{closure}() #88 /var/vhosts/domain.com/www/generated/code/Magento/Framework/App/FrontController/Interceptor.php(23): Magento\Framework\App\FrontController\Interceptor->___callPlugins() #89 /var/vhosts/domain.com/www/vendor/magento/framework/App/Http.php(116): Magento\Framework\App\FrontController\Interceptor->dispatch() #90 /var/vhosts/domain.com/www/vendor/magento/framework/App/Bootstrap.php(264): Magento\Framework\App\Http->launch() #91 /var/vhosts/domain.com/www/pub/index.php(30): Magento\Framework\App\Bootstrap->run() #92 {main} [] []
Expected result
No Errors in log files
Actual result
Error in log file
Additional information
No response
The text was updated successfully, but these errors were encountered: