public static function createFromCustomer(Mage_Customer_Model_Customer $customer) { /** @var Mage_Log_Model_Customer $logCustomer */ $logCustomer = Mage::getModel('log/customer')->loadByCustomer($customer->getId()); switch ($customer->getGender()) { case '1': $gender = 1; break; case '2': $gender = 2; break; default: $gender = 0; } $aCustomer = new self(); $aCustomer->email = $customer->getEmail(); $aCustomer->type = 'e'; $aCustomer->gender = $gender; $aCustomer->id = $customer->getId(); $aCustomer->first_name = $customer->getFirstname(); $aCustomer->last_name = $customer->getLastname(); if (($birthday = $customer->getDob()) !== null) { $aCustomer->birthday = Aplazame_Sdk_Serializer_Date::fromDateTime(new DateTime($birthday)); } if (($document_id = $customer->getTaxvat()) !== null) { $aCustomer->document_id = $document_id; } $aCustomer->date_joined = Aplazame_Sdk_Serializer_Date::fromDateTime(new DateTime('@' . $customer->getCreatedAtTimestamp())); if (($lastLogin = $logCustomer->getLoginAtTimestamp()) != null) { $aCustomer->last_login = Aplazame_Sdk_Serializer_Date::fromDateTime(new DateTime('@' . $lastLogin)); } return $aCustomer; }
/** * Validate customer attributes * * @param Mage_Customer_Model_Customer $customer * @return bool */ public function validateCustomerAttributes(Mage_Customer_Model_Customer $customer) { $errors = array(); $customerHelper = Mage::helper('customer'); if (!Zend_Validate::is(trim($customer->getFirstname()), 'NotEmpty')) { $errors[] = $customerHelper->__('The first name cannot be empty.'); } /* if (!Zend_Validate::is( trim($customer->getLastname()) , 'NotEmpty')) { $errors[] = $customerHelper->__('The last name cannot be empty.'); } */ if (!Zend_Validate::is($customer->getEmail(), 'EmailAddress')) { $errors[] = $customerHelper->__('Invalid email address "%s".', $customer->getEmail()); } $password = $customer->getPassword(); if (!$customer->getId() && !Zend_Validate::is($password, 'NotEmpty')) { $errors[] = $customerHelper->__('The password cannot be empty.'); } if (strlen($password) && !Zend_Validate::is($password, 'StringLength', array(6))) { $errors[] = $customerHelper->__('The minimum password length is %s', 6); } $confirmation = $customer->getConfirmation(); if ($password != $confirmation) { $errors[] = $customerHelper->__('Please make sure your passwords match.'); } $entityType = Mage::getSingleton('eav/config')->getEntityType('customer'); $attribute = Mage::getModel('customer/attribute')->loadByCode($entityType, 'dob'); if ($attribute->getIsRequired() && '' == trim($customer->getDob())) { $errors[] = $customerHelper->__('The Date of Birth is required.'); } $attribute = Mage::getModel('customer/attribute')->loadByCode($entityType, 'taxvat'); if ($attribute->getIsRequired() && '' == trim($customer->getTaxvat())) { $errors[] = $customerHelper->__('The TAX/VAT number is required.'); } $attribute = Mage::getModel('customer/attribute')->loadByCode($entityType, 'gender'); if ($attribute->getIsRequired() && '' == trim($customer->getGender())) { $errors[] = $customerHelper->__('Gender is required.'); } return empty($errors) ? true : $errors; }