/** * Return the Store Id to read configuration settings for this customer from * * @param Mage_Customer_Model_Customer $customer * @return int */ public function getCustomerStoreId(Mage_Customer_Model_Customer $customer) { /* * Only set in Adminhtml UI */ if (!($storeId = $customer->getSendemailStoreId())) { /* * store_id might be zero if the account was created in the admin interface */ $storeId = $customer->getStoreId(); if (!$storeId && $customer->getWebsiteId()) { /* * Use the default store groups store of the customers website */ if ($store = Mage::app()->getWebsite($customer->getWebsiteId())->getDefaultStore()) { $storeId = $store->getId(); } } // In case the website_id is not yet set on the customer, and the // current store is a frontend store, use the current store ID if (!$storeId && !Mage::app()->getStore()->isAdmin()) { $storeId = Mage::app()->getStore()->getId(); } } return $storeId; }
/** * Send welcome email to customer * * @param Mage_Customer_Model_Customer $customer * @param array $customerData * @return Mage_Customer_Service_Customer */ protected function _sendWelcomeEmail($customer, array $customerData) { if ($customer->getWebsiteId() && ($this->_isSendEmail($customerData) || $this->_isAutogeneratePassword($customerData))) { $isNewCustomer = !(bool) $customer->getOrigData($customer->getIdFieldName()); $storeId = $customer->getSendemailStoreId(); if ($isNewCustomer) { $customer->sendNewAccountEmail('registered', '', $storeId); } elseif (!$customer->getConfirmation()) { // Confirm not confirmed customer $customer->sendNewAccountEmail('confirmed', '', $storeId); } } return $this; }