You are here

function uc_extra_fields_pane_uc_addresses_preprocess_address_alter in Extra Fields Checkout Pane 6.2

Same name and namespace in other branches
  1. 7 uc_extra_fields_pane.uc_addresses.inc \uc_extra_fields_pane_uc_addresses_preprocess_address_alter()

Implementation of 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.module, line 765
Module: uc_extra_fields_pane.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]);
      }
    }
  }
}