You are here

function uc_extra_fields_pane_uc_addresses_preprocess_address_alter in Extra Fields Checkout Pane 7

Same name and namespace in other branches
  1. 6.2 uc_extra_fields_pane.module \uc_extra_fields_pane_uc_addresses_preprocess_address_alter()

Implements hook_uc_addresses_preprocess_address_alter().

Don't display address fields in panes if is set they shouldn't appear in that pane. (UCXF_AddressField->pane_types setting)

File

./uc_extra_fields_pane.uc_addresses.inc, line 133
Hook implementations for the Ubercart Addresses module.

Code

function uc_extra_fields_pane_uc_addresses_preprocess_address_alter(&$fields, $address, $context) {
  if (!empty($address->ucxf_pane_type)) {

    // Check which fields may be displayed in one pane only.
    // Remove fields that may not be shown in the active pane.
    $ucxf_fields = UCXF_FieldList::getAllAddressFields();
    foreach ($ucxf_fields as $ucxf_field) {
      if (isset($fields[$ucxf_field->db_name]) && !$ucxf_field
        ->in_pane($address->ucxf_pane_type)) {
        unset($fields[$ucxf_field->db_name]);
      }
    }
  }
}