/** * Log data on sending message * * @param bool $success * @param string $error * @param Bronto_Api_Delivery_Row $delivery * * @return void */ protected function _afterSend($success, $error = null, Bronto_Api_Delivery_Row $delivery = null) { Mage::dispatchEvent('bronto_email_send_after'); if (Mage::helper('bronto_email')->isLogEnabled()) { $this->_log->setSuccess((int) $success); if (!empty($error)) { $this->_log->setError($error); } if ($delivery) { $this->_log->setDeliveryId($delivery->id); if (Mage::helper('bronto_email')->isLogFieldsEnabled()) { $this->_log->setFields(serialize($delivery->getFields())); } } $this->_log->save(); $this->_log = null; } }
/** * Sets an array of products, representing related products * in a delivery as relatedXxx_# API fields * * @param Bronto_Api_Delivery_Row $delivery * @param array $productHash * @param int $storeId * @return void */ public function setRelatedFields($delivery, $productHash, $storeId = null) { $currentData = $delivery->hasFields() ? $delivery->getFields() : array(); foreach ($this->relatedFields($productHash, $storeId) as $fields) { $currentData = array_merge($currentData, $fields); } // By passing the setField call on the API is far more efficient $delivery->withFields($currentData); }