/** * Create array of customer values for API * * @param Mage_Customer_Model_Customer $customer * @return array */ public function getCustomerData(Mage_Customer_Model_Customer $customer) { try { if ($primaryBillingAddress = $customer->getPrimaryBillingAddress()) { $address = implode(', ', $primaryBillingAddress->getStreet()); $state = $customer->getPrimaryBillingAddress()->getRegion(); $zipcode = $customer->getPrimaryBillingAddress()->getPostcode(); } else { $address = ''; $state = ''; $zipcode = ''; } $data = array('id' => $customer->getEmail(), 'key' => 'email', 'fields' => array('keys' => 1), 'keysconfict' => 'merge', 'vars' => array('id' => $customer->getId(), 'name' => $customer->getName(), 'suffix' => $customer->getSuffix() ? $customer->getSuffix() : '', 'prefix' => $customer->getPrefix() ? $customer->getPrefix() : '', 'firstName' => $customer->getFirstname(), 'middleName' => $customer->getMiddlename() ? $customer->getMiddlename() : '', 'lastName' => $customer->getLastname(), 'address' => $address, 'storeID' => $customer->getStoreId(), 'groupId' => $customer->getGroupId(), 'taxClassId' => $customer->getTaxClassId(), 'createdAt' => date("Y-m-d H:i:s", $customer->getCreatedAtTimestamp()), 'primaryBillingAddress' => $this->getAddress($customer->getPrimaryBillingAddress()), 'defaultBillingAddress' => $this->getAddress($customer->getDefaultBillingAddress()), 'defaultShippingAddress' => $this->getAddress($customer->getDefaultShippingAddress()), 'state' => $state, 'zipCode' => $zipcode), 'lists' => array(Mage::helper('sailthruemail')->getMasterList() => 1)); return $data; } catch (Exception $e) { Mage::logException($e); } }
/** * @param Mage_Customer_Model_Customer $customer * * @return Bronto_Common_Model_Email_Template_Filter */ protected function _filterCustomer(Mage_Customer_Model_Customer $customer) { if (!in_array('customer', $this->_filteredObjects)) { // Handle Defaults from settings $customerName = trim($customer->getName()) == '' ? Mage::helper('bronto_common')->getDefaultGreeting('full', 'store', $this->getStoreId()) : $customer->getName(); $customerPrefix = trim($customer->getPrefix()) == '' ? Mage::helper('bronto_common')->getDefaultGreeting('prefix', 'store', $this->getStoreId()) : $customer->getPrefix(); $customerFirstName = trim($customer->getFirstname()) == '' ? Mage::helper('bronto_common')->getDefaultGreeting('firstname', 'store', $this->getStoreId()) : $customer->getFirstname(); $customerLastName = trim($customer->getLastname()) == '' ? Mage::helper('bronto_common')->getDefaultGreeting('lastname', 'store', $this->getStoreId()) : $customer->getLastname(); $this->setField('customerName', $customerName); $this->setField('firstName', $customerFirstName); $this->setField('prefix', $customerPrefix); $this->setField('lastName', $customerLastName); $this->setField('customerEmail', $customer->getEmail()); $this->setField('customerPassword', $customer->getPassword()); if ($store = $customer->getStore()) { $this->setField('confirmationLink', $store->getUrl('customer/account/confirm', array('_query' => array('id' => $customer->getId(), 'key' => $customer->getConfirmation())))); if (Mage::helper('bronto_common')->isVersionMatch(Mage::getVersionInfo(), 1, array(array('>=', '6')))) { $this->setField('passwordResetLink', $store->getUrl('customer/account/resetpassword', array('_query' => array('id' => $customer->getId(), 'token' => $customer->getRpToken())))); } } else { $this->setField('confirmationLink', Mage::getUrl('customer/account/confirm', array('_query' => array('id' => $customer->getId(), 'key' => $customer->getConfirmation())))); if (Mage::helper('bronto_common')->isVersionMatch(Mage::getVersionInfo(), 1, array(array('>=', '6')))) { $this->setField('passwordResetLink', Mage::getUrl('customer/account/resetpassword', array('_query' => array('id' => $customer->getId(), 'token' => $customer->getRpToken())))); } } $this->_filteredObjects[] = 'customer'; } return $this; }
/** * Create OCL Name record * * @param Mage_Sales_Model_Order_Address|Mage_Customer_Model_Customer $address * @return array */ public function createName($address) { $data = array('firstName' => (string) $address->getFirstname(), 'middleName' => $address->getMiddlename(), 'lastName' => (string) $address->getLastname(), 'prefix' => $address->getPrefix(), 'suffix' => $address->getSuffix()); return $data; }