function uc_extra_fields_pane_token_list in Extra Fields Checkout Pane 6.2
Same name and namespace in other branches
- 6 uc_extra_fields_pane.module \uc_extra_fields_pane_token_list()
Implementation of hook_token_list().
Parameters
string $type:
Return value
array
File
- ./
uc_extra_fields_pane.module, line 822 - Module: uc_extra_fields_pane.module
Code
function uc_extra_fields_pane_token_list($type = 'all') {
$tokens = array();
if ($type == 'order' || $type == 'ubercart' || $type == 'all') {
$result = db_query("SELECT label, pane_type, db_name FROM {uc_extra_fields}");
while ($field_data = db_fetch_array($result)) {
$field = UCXF_FieldList::createField($field_data['pane_type']);
$field
->from_array($field_data);
$db_name = str_replace('ucxf_', '', $field->db_name);
$pane_types = $field->pane_types;
// Only when $field['pane_type'] is 'extra_delivery|extra_billing' we have more then one pane type
foreach ($pane_types as $pane_type) {
switch ($pane_type) {
case 'extra_delivery':
$token_name = 'extra-extra_delivery-' . $db_name;
break;
case 'extra_billing':
$token_name = 'extra-extra_billing-' . $db_name;
break;
default:
$token_name = 'extra-' . $field->pane_type . '-' . $db_name;
break;
}
$pane_title = uc_extra_fields_pane_get_pane_title($pane_type);
// Add token
$tokens['order'][$token_name] = t('!pane_title: !label, formatted', array(
'!pane_title' => $pane_title,
'!label' => $field
->output('label'),
));
$tokens['order'][$token_name . '-raw'] = t('!pane_title: !label, raw', array(
'!pane_title' => $pane_title,
'!label' => $field
->output('label'),
));
}
}
}
return $tokens;
}