/** * (non-PHPdoc) * see citruscart/site/CitruscartController#validate() */ function validate() { $input = JFactory::getApplication()->input; $response = array(); $response['msg'] = ''; $response['error'] = ''; Citruscart::load('CitruscartHelperBase', 'helpers._base'); $helper = CitruscartHelperBase::getInstance(); // get elements from post $elements = json_decode(preg_replace('/[\\n\\r]+/', '\\n', $input->get('elements'))); // 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_CITRUSCART_ERROR_WHILE_VALIDATING_THE_PARAMETERS')); echo json_encode($response); return; } // convert elements to array that can be binded Citruscart::load('CitruscartHelperBase', 'helpers._base'); $helper = CitruscartHelperBase::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_CITRUSCART_PLEASE_INSERT_A_CORRECT_EMAIL_ADDRESS')); $response['error'] = '1'; echo json_encode($response); return; } Citruscart::load('CitruscartHelperUser', 'helpers.user'); if (CitruscartHelperUser::emailExists($submitted_values['email_address'])) { $response['msg'] = $helper->generateMessage(JText::_('COM_CITRUSCART_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_CITRUSCART_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_CITRUSCART_PLEASE_INSERT_A_CORRECT_EMAIL_ADDRESS')); $response['error'] = '1'; echo json_encode($response); return; } Citruscart::load('CitruscartHelperUser', 'helpers.user'); if (CitruscartHelperUser::emailExists($submitted_values['email_address'])) { $response['msg'] = $helper->generateMessage(JText::_('COM_CITRUSCART_THIS_EMAIL_ADDRESS_IS_ALREADY_REGISTERED=')); $response['error'] = '1'; echo json_encode($response); return; } if (CitruscartHelperUser::usernameExists($submitted_values['username'])) { $response['error'] = '1'; $response['msg'] .= $helper->generateMessage(JText::_('COM_CITRUSCART_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_CITRUSCART_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_CITRUSCART_INVALID_STEP_IN_CHECKOUT_PROCESS')); echo json_encode($response); break; } return; }