You are here

function uc_product_tokens in Ubercart 7.3

Same name and namespace in other branches
  1. 8.4 uc_product/uc_product.tokens.inc \uc_product_tokens()

Implements hook_tokens().

File

uc_product/uc_product.tokens.inc, line 146
Token hooks for the uc_product module.

Code

function uc_product_tokens($type, $tokens, $data = array(), $options = array()) {
  $sanitize = !empty($options['sanitize']);
  $replacements = array();
  if ($type == 'node' && !empty($data['node']) && uc_product_is_product($data['node'])) {
    $product =& $data['node'];
    foreach ($tokens as $name => $original) {
      switch ($name) {
        case 'product:model':
          $replacements[$original] = $sanitize ? check_plain($product->model) : $product->model;
          break;
        case 'product:list-price':
        case 'product:list-price:formatted':
          $replacements[$original] = uc_currency_format($product->list_price);
          break;
        case 'product:cost':
        case 'product:cost:formatted':
          $replacements[$original] = uc_currency_format($product->cost);
          break;
        case 'product:sell-price':
        case 'product:sell-price:formatted':
          $replacements[$original] = uc_currency_format($product->sell_price);
          break;
        case 'product:list-price:raw':
          $replacements[$original] = $product->list_price;
          break;
        case 'product:cost:raw':
          $replacements[$original] = $product->cost;
          break;
        case 'product:sell-price:raw':
          $replacements[$original] = $product->sell_price;
          break;
        case 'product:weight':
        case 'product:weight:formatted':
          $replacements[$original] = uc_weight_format($product->weight, $product->weight_units);
          break;
        case 'product:weight:raw':
          $replacements[$original] = $product->weight;
          break;
        case 'product:weight:units':
          $replacements[$original] = $product->weight_units;
          break;
        case 'product:length':
        case 'product:length:formatted':
          $replacements[$original] = uc_length_format($product->length, $product->length_units);
          break;
        case 'product:width':
        case 'product:width:formatted':
          $replacements[$original] = uc_length_format($product->width, $product->length_units);
          break;
        case 'product:height':
        case 'product:height:formatted':
          $replacements[$original] = uc_length_format($product->height, $product->length_units);
          break;
        case 'product:length:raw':
          $replacements[$original] = $product->length;
          break;
        case 'product:width:raw':
          $replacements[$original] = $product->width;
          break;
        case 'product:height:raw':
          $replacements[$original] = $product->height;
          break;
        case 'product:length:units':
        case 'product:width:units':
        case 'product:height:units':
          $replacements[$original] = $product->length_units;
          break;
      }
    }
    return $replacements;
  }
}