|
Hey,
I switched from carrier-calcualted to merchant calculated shipping (since for whatever reason Magento imposed a 150 lb limit on using google checkout when carrier shipping is enabled, which is another bug that should be fixed). When I did this, i’d get an error:
Notice: unserialize() [function.unserialize]: Error at offset 5 of 165 bytes in /home/italian/public_html/app/code/core/Mage/GoogleCheckout/Model/Api/Xml/Checkout.php on line 342
#0 /home/italian/public_html/app/code/core/Mage/GoogleCheckout/Model/Api/Xml/Checkout.php(342): mageCoreErrorHandler(8, 'unserialize() [...', '/home/italian/p...', 342, Array) #1 /home/italian/public_html/app/code/core/Mage/GoogleCheckout/Model/Api/Xml/Checkout.php(215): Mage_GoogleCheckout_Model_Api_Xml_Checkout->_getMerchantCalculatedShippingXml('a:2:{s:6:"...') #2 /home/italian/public_html/app/code/core/Mage/GoogleCheckout/Model/Api/Xml/Checkout.php(162): Mage_GoogleCheckout_Model_Api_Xml_Checkout->_getShippingMethodsXml() #3 /home/italian/public_html/app/code/core/Mage/GoogleCheckout/Model/Api/Xml/Checkout.php(48): Mage_GoogleCheckout_Model_Api_Xml_Checkout->_getMerchantCheckoutFlowSupportXml() #4 /home/italian/public_html/app/code/core/Mage/GoogleCheckout/Model/Api.php(35): Mage_GoogleCheckout_Model_Api_Xml_Checkout->checkout() #5 /home/italian/public_html/app/code/core/Mage/GoogleCheckout/controllers/RedirectController.php(42): Mage_GoogleCheckout_Model_Api->checkout() #6 /home/italian/public_html/app/code/core/Mage/GoogleCheckout/controllers/RedirectController.php(59): Mage_GoogleCheckout_RedirectController->_getApi(Object(Mage_Sales_Model_Quote)) #7 /home/italian/public_html/app/code/core/Mage/Core/Controller/Varien/Action.php(343): Mage_GoogleCheckout_RedirectController->checkoutAction() #8 /home/italian/public_html/app/code/core/Mage/Core/Controller/Varien/Router/Standard.php(144): Mage_Core_Controller_Varien_Action->dispatch() #9 /home/italian/public_html/app/code/core/Mage/Core/Controller/Varien/Front.php(168): Mage_Core_Controller_Varien_Router_Standard->match('checkout') #10 /home/italian/public_html/app/Mage.php(420): Mage_Core_Controller_Varien_Front->dispatch(Object(Mage_Core_Controller_Request_Http)) #11 /home/italian/public_html/index.php(46): Mage::run() #12 {main}
So i did some debugging and found that the data was stored with the htmlspecialchars() function, so i had to change line 342 in the Checkout.php to
$methods = htmlspecialchars_decode(Mage::getStoreConfig('google/checkout_shipping_merchant/allowed_methods'));
Not sure if this should be added to corrected at the point where it is being serialized. Also, the fact that I can’t have carrier-enabled shipping on the google checkout without magento imposing a 150lb limit is quite annoying, even when merchant calculated shipping is enabled as well.
Just letting you all know!
|