protected function _toHtml() { try { $email = Mage::getSingleton('customer/session')->getCustomer()->getEmail(); if (!$email) { return ''; } $helper = new Expressly_Expressly_Helper_Client(); $merchant = $helper->getMerchant(); $event = new BannerEvent($merchant, $email); try { $helper->getDispatcher()->dispatch(BannerSubscriber::BANNER_REQUEST, $event); if (!$event->isSuccessful()) { throw new GenericException(Expressly_Expressly_Helper_Client::errorFormatter($event)); } } catch (GenericException $e) { $helper->getLogger()->error($e); return ''; } return BannerHelper::toHtml($event); } catch (Exception $ignore) { // never break the shop return ''; } }
public function registerUpdateMerchant($observer) { $helper = new Expressly_Expressly_Helper_Client(); $provider = $helper->getMerchantProvider(); $merchant = $provider->getMerchant(); $event = new PasswordedEvent($merchant); try { $provider->setMerchant($merchant); $helper->getDispatcher()->dispatch(MerchantSubscriber::MERCHANT_REGISTER, $event); if (!$event->isSuccessful()) { throw new InvalidAPIKeyException(); } } catch (\Exception $e) { $helper->getLogger()->error(ExceptionFormatter::format($e)); $response = array('error' => -1, 'message' => $helper->__('Your values could not be transmitted to the server. Please try resubmitting, or contacting info@buyexpressly.com')); \Mage::app()->getResponse()->setBody(Mage::helper('core')->jsonEncode($response)); } }