/** * Log the Delivery API call * * @param bool $success * @param string $error (optional) * @param Bronto_Api_ $delivery (optional) * * @return void */ protected function _afterSend($success, $error = null, Bronto_Api_Model_Delivery $delivery = null) { Mage::dispatchEvent('bronto_reminder_send_after'); if (Mage::helper('bronto_reminder')->isLogEnabled()) { $this->_log->setSuccess((int) $success); if (!empty($error)) { $this->_log->setError($error); } if ($delivery) { $this->_log->setDeliveryId($delivery->id); if (Mage::helper('bronto_reminder')->isLogFieldsEnabled()) { $this->_log->setFields(serialize($delivery->getFields())); } } $this->_log->save(); $this->_log = null; } }
/** * Allows the retryer to trigger * * @param Bronto_Api_Delivery $deliveryObject * TODO: API fix */ public function triggerBeforeAfterSend(Bronto_Api_Operation_Delivery $deliveryOps, Bronto_Api_Model_Delivery $delivery) { $contactObject = $deliveryOps->getApi()->transferContact(); $messageObject = $deliveryOps->getApi()->transferMessage(); try { $this->_flushLogs($deliveryOps->getApi()); $message = $messageObject->getById($delivery->getMessageId()); $contact = $contactObject->getById($delivery->recipients[0]['id']); $this->_beforeSend($contact, $message); $this->_afterSend(true, null, $delivery); } catch (Exception $e) { Mage::helper($this->_helper)->writeError('Failed to trigger email send: ' . $e->getMessage()); } }