function views_handler_field::get_render_tokens

cis7 views_handler_field.inc views_handler_field::get_render_tokens($item)
cle7 views_handler_field.inc views_handler_field::get_render_tokens($item)
elmsmedia7 views_handler_field.inc views_handler_field::get_render_tokens($item)
icor7 views_handler_field.inc views_handler_field::get_render_tokens($item)
meedjum_blog7 views_handler_field.inc views_handler_field::get_render_tokens($item)
mooc7 views_handler_field.inc views_handler_field::get_render_tokens($item)

Get the 'render' tokens to use for advanced rendering.

This runs through all of the fields and arguments that are available and gets their values. This will then be used in one giant str_replace().

4 calls to views_handler_field::get_render_tokens()
lightbox2_handler_field_lightbox2::render in sites/all/modules/ulmus/lightbox2/lightbox2_handler_field_lightbox2.inc
Render the trigger field and its linked popup information.
views_handler_field::render_text in sites/all/modules/ulmus/views/handlers/views_handler_field.inc
Perform an advanced text render for the item.
views_handler_field_contextual_links::render in sites/all/modules/ulmus/views/handlers/views_handler_field_contextual_links.inc
Render the contextual fields.
views_handler_field_math::render in sites/all/modules/ulmus/views/handlers/views_handler_field_math.inc
Render the field.

File

sites/all/modules/ulmus/views/handlers/views_handler_field.inc, line 1382
@todo.

Class

views_handler_field
Base field handler that has no options and renders an unformatted field.

Code

function get_render_tokens($item) {
  $tokens = array();
  if (!empty($this->view->build_info['substitutions'])) {
    $tokens = $this->view->build_info['substitutions'];
  }
  $count = 0;
  foreach ($this->view->display_handler->get_handlers('argument') as $arg => $handler) {
    $token = '%' . ++$count;
    if (!isset($tokens[$token])) {
      $tokens[$token] = '';
    }

    // Use strip tags as there should never be HTML in the path.
    // However, we need to preserve special characters like " that
    // were removed by check_plain().
    $tokens['!' . $count] = isset($this->view->args[$count - 1]) ? strip_tags(decode_entities($this->view->args[$count - 1])) : '';
  }

  // Get flattened set of tokens for any array depth in $_GET parameters.
  $tokens += $this->get_token_values_recursive($_GET);

  // Now add replacements for our fields.
  foreach ($this->view->display_handler->get_handlers('field') as $field => $handler) {
    if (isset($handler->last_render)) {
      $tokens["[$field]"] = $handler->last_render;
    }
    else {
      $tokens["[$field]"] = '';
    }
    if (!empty($item)) {
      $this->add_self_tokens($tokens, $item);
    }

    // We only use fields up to (and including) this one.
    if ($field == $this->options['id']) {
      break;
    }
  }

  // Store the tokens for the row so we can reference them later if necessary.
  $this->view->style_plugin->render_tokens[$this->view->row_index] = $tokens;
  $this->last_tokens = $tokens;

  return $tokens;
}