Technical resource
Call to a member function setUrl() on a non-object after SUPEE-8788
Note: This is a historical reference, not a current security baseline. Magento 1 is end-of-life.
Problem description
After SUPEE-8788 patch bundle or upgrade to 1.9.3.0 edit product page is broken in backend at Catalog > Manage products > Edit product. The following error logged in PHP error log:Fatal error: Call to a member function setUrl() on a non-object in app/code/local/MagicToolbox/Magic360/Block/Adminhtml/Settings/Edit/Tab/Form/Element/Gallery/Content.php on line 16
or
Fatal error: Call to a member function setUrl() on a non-object in app/code/community/Unirgy/Giftcert/Block/Adminhtml/Import.php on line 45
Fatal error: Call to a member function setUrl() on a non-object in app/code/local/Webtex/Giftcards/Block/Adminhtml/Catalog/Product/Tab/Pregenerated.php on line 64
Cause
getUploader()->getConfig() method is replaced with getUploader()->getUploaderConfig() in SUPEE-8788/1.9.3.0, as result some extensions that use it (Unirgy/Giftcert, MagicToolbox/MagicZoomPlus, MagicToolbox/Magic360 or Unirgy/Rapidflow) are now broken.
Solution
ReplacegetUploader()->getConfig() with getUploader()->getUploaderConfig() in extension code or request a fix from the extension developers.
fix for MagicToolbox/Magic360 extension
--- app/code/local/MagicToolbox/Magic360/Block/Adminhtml/Settings/Edit/Tab/Form/Element/Gallery/Content.php.pre-patch
+++ app/code/local/MagicToolbox/Magic360/Block/Adminhtml/Settings/Edit/Tab/Form/Element/Gallery/Content.php
@@ -14,3 +14,3 @@
- $this->getUploader()->getConfig()
+ $this->getUploader()->getUploaderConfig()
->setUrl(Mage::getModel('adminhtml/url')->addSessionParam()->getUrl('*/magic360_gallery/upload'))
fix for Unirgy/Giftcert extension
--- app/code/community/Unirgy/Giftcert/Block/Adminhtml/Import.php
+++ app/code/community/Unirgy/Giftcert/Block/Adminhtml/Import.php
@@ -44,3 +44,3 @@
- $this->getUploader()->getConfig()
+ $this->getUploader()->getUploaderConfig()
->setUrl(Mage::getModel('adminhtml/url')->addSessionParam()->getUrl('*/*/upload'))
fix for MagicToolbox/MagicZoomPlus extension
--- app/code/local/MagicToolbox/MagicZoomPlus/Block/Adminhtml/Settings/Edit/Tab/Form/Element/Gallery/Content.php
+++ app/code/local/MagicToolbox/MagicZoomPlus/Block/Adminhtml/Settings/Edit/Tab/Form/Element/Gallery/Content.php
@@ -14,3 +14,3 @@
- $this->getUploader()->getConfig()
+ $this->getUploader()->getUploaderConfig()
->setUrl(Mage::getModel('adminhtml/url')->addSessionParam()->getUrl('*/magiczoomplus_gallery/upload'))
fix for Magegaga Mg/EbayIntegration extension
--- app/code/local/Mg/EbayIntegration/Block/Listing/Catalog/Product/Helper/Form/Gallery/Content.php
+++ app/code/local/Mg/EbayIntegration/Block/Listing/Catalog/Product/Helper/Form/Gallery/Content.php
@@ -47,7 +47,7 @@
$this->getLayout()->createBlock('vendorhtml/media_uploader')
);
- $this->getUploader()->getConfig()
+ $this->getUploader()->getUploaderConfig()
->setUrl(Mage::getModel('vendorhtml/url')->addSessionParam()->getUrl('*/catalog_product_gallery/upload'))
->setFileField('image')
->setFilters(array(
Comments
Archived discussion