function commerce_gc_product_tokens in Commerce GC 7
File
- modules/
commerce_gc_product/ commerce_gc_product.tokens.inc, line 22 - Provides token support for Giftcards products
Code
function commerce_gc_product_tokens($type, $tokens, array $data = array(), array $options = array()) {
if ($type == 'commerce-line-item') {
$replacements = array();
foreach ($tokens as $name => $original) {
// Add a token for giftcard balance.
if ($name == 'giftcard-message-text' && !empty($data['commerce-line-item'])) {
// Determine if this line item bundle has a message field and whether it
// is empty.
$message = '';
if (!empty($data['commerce-line-item'])) {
$line_item = $data['commerce-line-item'];
if (field_info_instance('commerce_line_item', 'commerce_gc_message', $line_item->type)) {
$line_item_wrapper = entity_metadata_wrapper('commerce_line_item', $line_item);
if ($line_item_wrapper->commerce_gc_message
->value()) {
// TODO "conceal sender" setting for giftcard product bundles.
if ($line_item_wrapper->order
->value() && $line_item_wrapper->order->mail
->value()) {
$message = t('Message from @sender:
"@message"', array(
'@sender' => $line_item_wrapper->order->mail
->value(),
'@message' => $line_item_wrapper->commerce_gc_message
->value(),
));
}
else {
$message = t('Message:
"@message"', array(
'@message' => $line_item_wrapper->commerce_gc_message
->value(),
));
}
$message = $message . '
';
}
}
}
$replacements[$original] = $message;
}
}
return $replacements;
}
}