function uc_extra_fields_pane_views_get_fields in Extra Fields Checkout Pane 7
Same name and namespace in other branches
- 6.2 views/uc_extra_fields_pane.views.inc \uc_extra_fields_pane_views_get_fields()
Get all uc_extra_fields_pane fields.
Return value
array
1 call to uc_extra_fields_pane_views_get_fields()
- uc_extra_fields_pane_views_data in views/
uc_extra_fields_pane.views.inc - Implementation of hook_views_data().
File
- views/
uc_extra_fields_pane.views.inc, line 103 - Provide views data and handlers for Extra Fields Pane
Code
function uc_extra_fields_pane_views_get_fields() {
$fields =& drupal_static(__FUNCTION__);
if (!isset($fields)) {
// Make sure all fields are loaded.
$ucxf_fields = UCXF_FieldList::getAllFields();
$fields = array();
$fields_by_pane = array(
'extra_delivery' => UCXF_FieldList::getFieldsFromPane('extra_delivery'),
'extra_billing' => UCXF_FieldList::getFieldsFromPane('extra_billing'),
'extra_address' => UCXF_FieldList::getAllAddressFields(),
);
foreach ($fields_by_pane as $pane_type => $fieldlist) {
foreach ($fieldlist as $fieldname => $field) {
$fields[$pane_type][$fieldname] = clone $field;
switch ($pane_type) {
case 'extra_delivery':
$fields[$pane_type][$fieldname]->element_type = UCXF_Value::UCXF_VALUE_ORDER_DELIVERY;
$fields[$pane_type][$fieldname]->prefix = t('Delivery address');
$fields[$pane_type][$fieldname]->suffix = 'delivery';
break;
case 'extra_billing':
$fields[$pane_type][$fieldname]->element_type = UCXF_Value::UCXF_VALUE_ORDER_BILLING;
$fields[$pane_type][$fieldname]->prefix = t('Billing address');
$fields[$pane_type][$fieldname]->suffix = 'billing';
break;
case 'extra_address':
$fields[$pane_type][$fieldname]->element_type = UCXF_Value::UCXF_VALUE_ADDRESS;
break;
}
}
}
}
return $fields;
}