/** * @see plugins/tienda/payment_paypalpro/library/plgTiendaPayment_Paypalpro_Processor#validateData() */ function validateData() { /* * perform initial checks */ if (!count($this->_data)) { $this->setError(JText::_('COM_TIENDA_PAYPALPRO_NO_DATA_IS_PROVIDED')); return false; } if (!JRequest::checkToken()) { $this->setError(JText::_('COM_TIENDA_INVALID_TOKEN')); return false; } // if (!$this->getSubscrTypeObj()) { // $this->setError(JText::_('COM_TIENDA_PAYPALPRO_MESSAGE_INVALID_ITEM_TYPE')); // return false; // } if (!$this->_getParam('api_username') || !$this->_getParam('api_password') || !$this->_getParam('api_signature')) { $this->setError(JText::_('COM_TIENDA_PAYPALPRO_MESSAGE_MERCHANT_CREDENTIALS_ARE_INVALID')); return false; } /* * do form verification to make sure information is both present and valid */ // check required fields foreach ($this->_required as $required_field) { if (empty($this->_data[$required_field])) { $this->setError(JText::_('COM_TIENDA_PAYPALPRO_MESSAGE_FILL_IN_REQUIRED_FIELDS')); return false; } } // check some specific fields if (JString::strlen($this->_data['state']) != 2) { $this->setError(JText::_('COM_TIENDA_PAYPALPRO_MESSAGE_STATE_INVALID')); return false; } $user = JFactory::getUser(); if (!$user->id) { // require email address for guest users jimport('joomla.mail.helper'); if (empty($this->_data['email']) || !JMailHelper::isEmailAddress($this->_data['email'])) { $this->setError(JText::_('COM_TIENDA_PAYPALPRO_MESSAGE_EMAIL_ADDRESS_REQUIRED')); return false; } if (TiendaHelperUser::emailExists($this->_data['email'])) { $this->setError(JText::_('COM_TIENDA_PAYPALPRO_MESSAGE_EMAIL_EXISTS')); return false; } } if (JString::strlen($this->_data['cardexp_month']) != 2 || JString::strlen($this->_data['cardexp_year']) != 4) { $this->setError(JText::_('COM_TIENDA_PAYPALPRO_MESSAGE_EXPIRATION_DATE_INVALID=')); return false; } return true; }
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(); }
/** * (non-PHPdoc) * @see tienda/site/TiendaController#validate() */ function validate() { $response = array(); $response['msg'] = ''; $response['error'] = ''; Tienda::load('TiendaHelperBase', 'helpers._base'); $helper = TiendaHelperBase::getInstance(); // get elements from post $elements = json_decode(preg_replace('/[\\n\\r]+/', '\\n', JRequest::getVar('elements', '', 'post', 'string'))); // Test if elements are empty // Return proper message to user if (empty($elements)) { // do form validation // if it fails check, return message $response['error'] = '1'; $response['msg'] = $helper->generateMessage(JText::_('COM_TIENDA_ERROR_WHILE_VALIDATING_THE_PARAMETERS')); echo json_encode($response); return; } // convert elements to array that can be binded Tienda::load('TiendaHelperBase', 'helpers._base'); $helper = TiendaHelperBase::getInstance(); $submitted_values = $helper->elementsToArray($elements); $step = !empty($submitted_values['step']) ? strtolower($submitted_values['step']) : ''; switch ($step) { case "selectshipping": // Validate the email address if it is a guest checkout! if ($this->defines->get('guest_checkout_enabled', '1') && !empty($submitted_values['guest'])) { jimport('joomla.mail.helper'); if (!JMailHelper::isEmailAddress($submitted_values['email_address'])) { $response['msg'] = $helper->generateMessage(JText::_('COM_TIENDA_PLEASE_INSERT_A_CORRECT_EMAIL_ADDRESS')); $response['error'] = '1'; echo json_encode($response); return; } Tienda::load('TiendaHelperUser', 'helpers.user'); if (TiendaHelperUser::emailExists($submitted_values['email_address'])) { $response['msg'] = $helper->generateMessage(JText::_('COM_TIENDA_THIS_EMAIL_ADDRESS_IS_ALREADY_REGISTERED')); $response['error'] = '1'; echo json_encode($response); return; } } // checking for the registartion if (!empty($submitted_values['register'])) { // verify that fields are present if (empty($submitted_values['email_address']) || empty($submitted_values['name']) || empty($submitted_values['username']) || empty($submitted_values['password']) || empty($submitted_values['password2'])) { $response['error'] = '1'; $response['msg'] .= $helper->generateMessage(JText::_('COM_TIENDA_ALL_FIELDS_OF_REGISTRATION_SECTIONS_ARE_MANDATORY')); echo json_encode($response); return; } jimport('joomla.mail.helper'); if (!JMailHelper::isEmailAddress($submitted_values['email_address'])) { $response['msg'] = $helper->generateMessage(JText::_('COM_TIENDA_PLEASE_INSERT_A_CORRECT_EMAIL_ADDRESS')); $response['error'] = '1'; echo json_encode($response); return; } Tienda::load('TiendaHelperUser', 'helpers.user'); if (TiendaHelperUser::emailExists($submitted_values['email_address'])) { $response['msg'] = $helper->generateMessage(JText::_('COM_TIENDA_THIS_EMAIL_ADDRESS_IS_ALREADY_REGISTERED=')); $response['error'] = '1'; echo json_encode($response); return; } if (TiendaHelperUser::usernameExists($submitted_values['username'])) { $response['error'] = '1'; $response['msg'] .= $helper->generateMessage(JText::_('COM_TIENDA_USER_NAME_ALREADY_EXISTS')); echo json_encode($response); return; // TODO user already exists } if (strcmp($submitted_values['password'], $submitted_values['password2'])) { $response['error'] = '1'; $response['msg'] .= $helper->generateMessage(JText::_('COM_TIENDA_PASSWORDS_ARE_NOT_MATCHING')); echo json_encode($response); return; // TODO user already exists } } // Check if there are errors in the Shipping area. If yes, return without going on if (!$this->validateSelectShipping($submitted_values)) { return; } break; case "selectpayment": $this->validateSelectPayment($submitted_values); break; default: $response['error'] = '1'; $response['msg'] = $helper->generateMessage(JText::_('COM_TIENDA_INVALID_STEP_IN_CHECKOUT_PROCESS')); echo json_encode($response); break; } return; }
/** * * @param $moneris_values * @return unknown_type */ function _verifyForm($data) { Tienda::load('TiendaHelperUser', 'helpers.user'); $object = new JObject(); $object->error = false; $object->message = ''; $user = JFactory::getUser(); $required = array('first_name', 'last_name', 'address_line_1', 'city', 'state', 'postal_code', 'card_type', 'card_number', 'expiration_month', 'expiration_year', 'cvv_number'); // verify the fields in the form // if any fail verification, set // $object->error = true // $object->message .= '<li>x item failed verification</li>' foreach ($data as $key => $value) { switch (strtolower($key)) { case "email": if (!$user->id) { if (!isset($data[$key]) || !JString::strlen($data[$key])) { $object->error = true; $object->message .= "<li>" . JText::_('Email Address Required') . "</li>"; } if ($emailExists = TiendaHelperUser::emailExists($data[$key])) { $object->error = true; $object->message .= '<li>' . JText::_('Email Exists') . '</li>'; } jimport('joomla.mail.helper'); if (!($isValidEmail = JMailHelper::isEmailAddress($data[$key]))) { $object->error = true; $object->message .= "<li>" . JText::_('Email Address Invalid') . "</li>"; } } break; default: if (in_array($key, $required) && empty($value)) { $object->error = true; $object->message .= "<li>" . JText::_("Invalid " . $key) . "</li>"; } break; } } return $object; }