/** * Checkout with PayPal image URL getter * Spares API calls of getting "pal" variable, by putting it into cache per store view * @return string */ public function getCheckoutShortcutImageUrl() { // get "pal" thing from cache or lookup it via API $pal = null; if ($this->_config->areButtonsDynamic()) { $cacheId = self::PAL_CACHE_ID . Mage::app()->getStore()->getId(); $pal = Mage::app()->loadCache($cacheId); if (-1 == $pal) { $pal = null; } elseif (!$pal) { $pal = null; $this->_getApi(); try { $this->_api->callGetPalDetails(); $pal = $this->_api->getPal(); Mage::app()->saveCache($pal, $cacheId, array(Mage_Core_Model_Config::CACHE_TAG)); } catch (Exception $e) { Mage::app()->saveCache(-1, $cacheId, array(Mage_Core_Model_Config::CACHE_TAG)); Mage::logException($e); } } } return $this->_config->getExpressCheckoutShortcutImageUrl(Mage::app()->getLocale()->getLocaleCode(), $this->_quote->getBaseGrandTotal(), $pal); }