You are here

function views_field_view_handler_field_view::get_token_value in Views Field View 7

Get field values from tokens.

Parameters

string $token: token string. E.g. explode(',', $this->options['args']);

View $view: Full view object to get token values from.

Return value

array An array of raw argument values, returned in the same order as the token were passed in.

1 call to views_field_view_handler_field_view::get_token_value()
views_field_view_handler_field_view::render in ./views_field_view_handler_field_view.inc
Render the field.

File

./views_field_view_handler_field_view.inc, line 525
Views field view field handler class.

Class

views_field_view_handler_field_view
@file Views field view field handler class.

Code

function get_token_value($token, $values, $view) {
  $token_info = $this
    ->get_token_argument($token);
  $arg = $token_info['arg'];
  $token_type = $token_info['type'];

  // Collect all of the values that we intend to use as arguments of our single query.
  if (isset($view->field[$arg])) {
    switch ($token_type) {
      case '%':
        $value = $view->field[$arg]->last_render;
        break;
      case '!':
      default:
        $value = $view->field[$arg]
          ->get_value($values);
        break;
    }
  }
  elseif (isset($view->args[$arg - 1])) {
    switch ($token_type) {
      case '%':

        // Get an array of argument keys. So we can use the index as an
        // identifier.
        $keys = array_keys($view->argument);
        $value = $view->argument[$keys[$arg - 1]]
          ->get_title();
        break;
      case '!':
      default:
        $value = $view->args[$arg - 1];
        break;
    }
  }
  else {
    $value = check_plain(trim($token, '\'"'));
  }
  return $value;
}