You are here

function uc_extra_fields_pane_address_fields_uc_store_address_fields_submit in Extra Fields Checkout Pane 6.2

uc_extra_fields_pane_address_fields_uc_store_address_fields_submit() Saves 'enabled' and 'required' for address fields

_state

Parameters

array $form:

See also

_uc_extra_fields_pane_address_fields_uc_store_address_fields_alter()

1 string reference to 'uc_extra_fields_pane_address_fields_uc_store_address_fields_submit'
_uc_extra_fields_pane_address_fields_uc_store_address_fields_alter in includes/addressfields.inc
_uc_extra_fields_pane_address_fields_uc_store_address_fields_alter() Adds extra address fields to form which can be defined at /admin/store/settings/addressfields/add

File

includes/addressfields.inc, line 154
These functions adds extra address fields to forms

Code

function uc_extra_fields_pane_address_fields_uc_store_address_fields_submit($form, $form_state) {
  try {
    $address_fields = UCXF_FieldList::getFieldsFromPane(array(
      'extra_delivery',
      'extra_billing',
    ));
    if (isset($form_state['values']['fields'])) {
      $fields = $form_state['values']['fields'];
    }
    foreach ($address_fields as $fieldname => $field) {
      if (isset($form['uc_address_fields'])) {

        // We're dealing with an Ubercart version dated July 18, 2012 or later.
        // Some fields are structured differently.
        $field->enabled = empty($form_state['values']['uc_address_fields'][$fieldname]) ? FALSE : TRUE;
        $field->required = empty($form_state['values']['uc_address_fields_required'][$fieldname]) ? FALSE : TRUE;
        $field->weight = $form_state['values']['uc_address_fields_weight'][$fieldname];
      }
      else {
        $field->enabled = empty($fields[$fieldname]['enabled']) ? FALSE : TRUE;
        $field->required = empty($fields[$fieldname]['required']) ? FALSE : TRUE;
        $field->weight = $fields[$fieldname]['weight'];
      }
      $field
        ->save();
    }
  } catch (UCXF_Exception $e) {
    $e
      ->printMessage();
    $e
      ->logError();
  }
}