function uc_extra_fields_pane_addressfields_uc_addresses_get_address_form_submit in Extra Fields Checkout Pane 6.2
uc_extra_fields_pane_addressfields_uc_addresses_get_address_form_submit()
_state
Parameters
array $form:
See also
uc_extra_fields_pane_addressfields_uc_addresses_get_address_form_alter()
1 string reference to 'uc_extra_fields_pane_addressfields_uc_addresses_get_address_form_submit'
File
- includes/
addressfields.inc, line 389 - These functions adds extra address fields to forms
Code
function uc_extra_fields_pane_addressfields_uc_addresses_get_address_form_submit($form, $form_state) {
$address = $form_state['values']['panes']['address'];
// Load field definitions
$fields = UCXF_FieldList::getFieldsFromPane(array(
'extra_delivery',
'extra_billing',
));
// MegaChriz:
// address id is not available when address is added, only when it is edited,
// we need to wait until uc_addresses is improved on this part.
// see: drupal.org/node/851658
// with the patch applied in #4, $form_state['storage']['aid'] will contain the address id.
// Get address id
// WARNING: $form_state['storage']['aid'] will never contain anything with current version of uc_addresses (v1.0)
$address_id = $address['aid'] ? $address['aid'] : $form_state['storage']['aid'];
// Save values
if ($address_id) {
foreach ($fields as $fieldname => $field) {
uc_extra_fields_pane_value_save(array(
'element_id' => $address_id,
'element_type' => UCXF_VALUE_ADDRESS,
'field_id' => $field->field_id,
'value' => $address[$fieldname],
));
}
}
}