You are here

function _workflow_token_get_token in Workflow 7.2

Gets the token replacement by correctly obeying the options.

Taken from _entity_token_get_token().

1 call to _workflow_token_get_token()
workflow_tokens in ./workflow.tokens.inc
Implements hook_tokens().

File

./workflow.tokens.inc, line 304
Tokens hooks for Workflow module.

Code

function _workflow_token_get_token($wrapper, $options) {

  // if ($wrapper->value() === NULL) {
  // // Do not provide a replacement if there is no value.
  // return NULL;
  // }
  if (empty($options['sanitize'])) {

    // When we don't need sanitized tokens decode already sanitizied texts.
    $options['decode'] = TRUE;
  }
  $langcode = isset($options['language']) ? $options['language']->language : LANGUAGE_NONE;

  // If there is a label for a property, e.g., defined by an options list or an
  // entity label, make use of it.
  if ($label = $wrapper
    ->label()) {
    return $label;
  }
  switch ($wrapper
    ->type()) {
    case 'Workflow':
    case 'WorkflowState':
    case 'WorkflowTransition':
      return $wrapper
        ->value();
  }

  // Care for outputing list values.
  if ($wrapper instanceof EntityListWrapper) {
    $output = array();
    foreach ($wrapper as $item) {
      $output[] = _workflow_token_get_token($item, $options);
    }
    return implode(', ', $output);
  }

  // Else we do not have a good string to output, e.g., for struct values. Just
  // output the string representation of the wrapper.
  return (string) $wrapper;
}