/** * Updates an existing customer record in the legacy customer table. * * @param Model_Core_Customer $customer * An up-to-date Customer object that will be used to update the corresponding * record in the data store. * * @return void */ public function updateCustomer($customer) { //Retrieve the data from the Customer object and format where necessary //ready for insertion into the data storage. $legacyIdentifier = $customer->getIdentifier(Model_Core_Customer::LEGACY_IDENTIFIER); $address1 = $customer->getAddressLine(Model_Core_Customer::ADDRESSLINE1); $address2 = $customer->getAddressLine(Model_Core_Customer::ADDRESSLINE2); $address3 = $customer->getAddressLine(Model_Core_Customer::ADDRESSLINE3); $telephone1 = $customer->getTelephone(Model_Core_Customer::TELEPHONE1); $telephone2 = $customer->getTelephone(Model_Core_Customer::TELEPHONE2); if ($customer->getIsForeignAddress()) { $isForeignAddress = 'yes'; } else { $isForeignAddress = 'no'; } $data = array('password' => $customer->getPassword(), 'title' => $customer->getTitle(), 'firstname' => $customer->getFirstName(), 'lastname' => $customer->getLastName(), 'landname' => $customer->getLandlordName(), 'personaladdress1' => $address1, 'personaladdress3' => $address2, 'personaladdress5' => $address3, 'personalpostcode' => $customer->getPostcode(), 'country' => $customer->getCountry(), 'isForeignAddress' => $isForeignAddress, 'phone1' => $telephone1, 'phone2' => $telephone2, 'fax' => $customer->getFax(), 'email' => $customer->getEmailAddress(), 'occupation' => $customer->getOccupation(), 'date_of_birth_at' => $customer->getDateOfBirthAt()); $where = $this->quoteInto('refno = ?', $legacyIdentifier); $this->update($data, $where); }
/** * Updates an existing customer record in the customers table. * * @param Model_Core_Customer $customer * An up-to-date Customer object that will be used to update the corresponding * record in the data store. * * @return void */ public function updateCustomer($customer) { //Retrieve the data from the Customer object and format where necessary //ready for insertion into the data storage. $identifier = $customer->getIdentifier(Model_Core_Customer::IDENTIFIER); $address1 = $customer->getAddressLine(Model_Core_Customer::ADDRESSLINE1); $address2 = $customer->getAddressLine(Model_Core_Customer::ADDRESSLINE2); $address3 = $customer->getAddressLine(Model_Core_Customer::ADDRESSLINE3); $telephone1 = $customer->getTelephone(Model_Core_Customer::TELEPHONE1); $telephone2 = $customer->getTelephone(Model_Core_Customer::TELEPHONE2); if ($customer->getIsForeignAddress()) { $isForeignAddress = 1; } else { $isForeignAddress = 0; } $landlordName = $customer->getLandlordName(); if (empty($landlordName)) { $landlordName = ''; } $data = array('password' => $customer->getPassword(), 'title' => $customer->getTitle(), 'first_name' => $customer->getFirstName(), 'last_name' => $customer->getLastName(), 'landname' => $landlordName, 'address1' => $address1, 'address2' => $address2, 'address3' => $address3, 'postcode' => $customer->getPostcode(), 'country' => $customer->getCountry(), 'foreign_address' => $isForeignAddress, 'telephone1' => $telephone1, 'telephone2' => $telephone2, 'email_address' => $customer->getEmailAddress(), 'occupation' => $customer->getOccupation(), 'type_id' => isset($this->_legacyTypeMap[$customer->typeID]) ? $this->_legacyTypeMap[$customer->typeID] : null); // Check account loading flag if ($customer->getAccountLoadComplete() != null) { $data['account_load_complete'] = $customer->getAccountLoadComplete() == true ? 1 : 0; } // Check email validation flag has been set to a boolean value. // This check must be performed as the customer manager sometimes // retrieves legacy customers which don't know about email validation // and runs this store method on the new customer record, resulting // in a reset of the validation flag. if ($customer->getEmailValidated() != null) { // Email validation flag has been set, stored within the record $data['email_validated'] = $customer->getEmailValidated() == true ? 1 : 0; } $where = $this->quoteInto('id = ?', $identifier); $this->update($data, $where); }