Пример #1
0
 public function validate($values, $options = array())
 {
     // fail if user hasn't checked terms & condition
     if ($this->defines->get('require_terms', '0') && empty($values["terms-conditions"])) {
         $this->setError(JText::_('COM_TIENDA_PLEASE_CHECK_THE_TERMS_CONDITIONS'));
     }
     // fail if no user->id and email address fails validation
     jimport('joomla.mail.helper');
     if ($values["user_id"] < 1 && !JMailHelper::isEmailAddress($values['email_address'])) {
         $this->setError(JText::_('COM_TIENDA_PLEASE_ENTER_CORRECT_EMAIL'));
     }
     // fail if registering new user but one of passwords is empty
     if ($values["user_id"] < 1 && $values["checkout_method"] == 'register' && (empty($values["register-new-password"]) || empty($values["register-new-password2"]))) {
         $this->setError(JText::_('COM_TIENDA_PASSWORD_INVALID'));
     }
     // fail if registering new user but passwords don't match
     if ($values["user_id"] < 1 && $values["checkout_method"] == 'register' && $values["register-new-password"] != $values["register-new-password2"]) {
         $this->setError(JText::_('COM_TIENDA_PASSWORDS_DO_NOT_MATCH'));
     }
     // fail if registering new user but account exists for email address provided
     $userHelper = new TiendaHelperUser();
     if ($values["user_id"] < 1 && $values["checkout_method"] == 'register' && $userHelper->emailExists($values['email_address'])) {
         $this->setError(JText::_('COM_TIENDA_EMAIL_ALREADY_EXIST'));
     }
     // fail if user logged in and guest/register method selected
     if ($values["user_id"] > 0 && ($values["checkout_method"] == 'register' || $values["checkout_method"] == 'guest')) {
         $this->setError(JText::_('COM_TIENDA_CANNOT_REGISTER_OR_GUEST_CHECKOUT_WHEN_LOGGED_IN'));
     }
     // fail if password doesn't validate and validation is enabled
     if ($this->defines->get('password_php_validate', '0')) {
         Tienda::load('TiendaHelperUser', 'helpers.user');
         $userHelper = new TiendaHelperUser();
         $validate_pass = $userHelper->validatePassword($values['register-new-password']);
         if (!$validate_pass[0]) {
             foreach ($validate_pass[1] as $error) {
                 $this->setError($error);
             }
         }
     }
     return $this->check();
 }