You are here

function uc_product_minmax_feature_form_submit in Ubercart Product Minimum & Maximum 6

Same name and namespace in other branches
  1. 7 uc_product_minmax.module \uc_product_minmax_feature_form_submit()

File

./uc_product_minmax.module, line 143
This module adds a textfield to product forms for you to enter a minimum and maximum quantity of the product that must be in the cart for it to be checked out.

Code

function uc_product_minmax_feature_form_submit($form, &$form_state) {

  // Use the form specified pfid if available.
  if (!empty($form_state['values']['pfid'])) {
    $pfid = $form_state['values']['pfid'];
  }
  $minmax->pfid = $pfid;
  $minmax->nid = $form_state['values']['nid'];
  $minmax->product_min = intval($form_state['values']['product_min']);
  $minmax->pmin_multiple = intval($form_state['values']['pmin_multiple']);
  $minmax->product_max = intval($form_state['values']['product_max']);
  $minmax->display_min = $form_state['values']['display_min'];
  $minmax->display_multiple = $form_state['values']['display_multiple'];
  $minmax->display_max = $form_state['values']['display_max'];
  $minmax->display_weight = $form_state['values']['display_weight'];
  $args = array(
    '@min' => $minmax->pmin_multiple > 1 ? t('Requires item to be purchased in multiples of @multiple.', array(
      '@multiple' => $minmax->pmin_multiple,
    )) : t('Requires a minimum of @minimum to checkout.', array(
      '@minimum' => $minmax->product_min,
    )),
    '@max' => $minmax->product_max >= 1 ? t('Limits checkout to a maximum of @maximum.', array(
      '@maximum' => $minmax->product_max,
    )) : '',
  );
  $data = array(
    'pfid' => $form_state['values']['pfid'],
    'nid' => $form_state['values']['nid'],
    'fid' => 'minmax',
    'description' => t('@min @max', $args),
  );

  // Save the product feature and store the returned URL as our redirect.
  $form_state['redirect'] = uc_product_feature_save($data);
  if (empty($pfid)) {
    $minmax->pfid = db_last_insert_id('uc_product_features', 'pfid');
  }
  uc_product_minmax_values_save($minmax);
}