/** * 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; }
/** * @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; }
/** * Login to WordPress * * @param Mage_Customer_Model_Customer $customer * @param Fishpig_Wordpress_Model_User $user = null * @return bool */ public function loginToWordPress(Mage_Customer_Model_Customer $customer, Fishpig_Wordpress_Model_User $user = null) { if (is_null($user)) { $user = $customer->getWordpressUser(); if (!$user) { return false; } } if (!$customer->getPassword()) { return false; } try { return Mage::helper('wordpress/system')->loginToWordPress($user->getUserLogin(), $customer->getPassword()); } catch (Exception $e) { Mage::helper('wordpress')->log($e); return false; } }