You are here

function uc_termsofservice_checkout_form_validate in Ubercart Terms of Service 7

Same name and namespace in other branches
  1. 6 uc_termsofservice.module \uc_termsofservice_checkout_form_validate()

Validate function for checkout, if required by our configuration.

This way, we can display a better 'required' message than the default Form API message for a required element.

1 string reference to 'uc_termsofservice_checkout_form_validate'
uc_termsofservice_form_uc_cart_checkout_form_alter in ./uc_termsofservice.module
Implements hook_form_FORM_ID_alter() for uc_cart_checkout_form.

File

./uc_termsofservice.module, line 363
Ubercart Terms of Service.

Code

function uc_termsofservice_checkout_form_validate($form, &$form_state) {

  // Only check for validation when the pane really exists.
  if (isset($form_state['values']['panes']['uc_termsofservice_agreement_checkout'])) {
    $required = variable_get('uc_termsofservice_checkout_required', 0);
    if ($required) {
      $popup = variable_get('uc_termsofservice_checkout_popup', 0);
      if (!$popup) {
        $agreed = $form_state['values']['panes']['uc_termsofservice_agreement_checkout']['tos_agree']['agreed'];
      }
      else {
        $agreed = $form_state['values']['panes']['uc_termsofservice_agreement_checkout']['tos_agree_popup']['agreed'];
      }
      if (!$agreed) {
        $node = uc_termsofservice_get_node('checkout');
        form_set_error('panes][uc_termsofservice_agreement_checkout][tos_agree', t("In order to continue with the checkout process you must first accept the !tos", array(
          '!tos' => $node->title,
        )));
      }
    }
  }
}