You are here

function facetapi_token_values in Facet API 6.3

Implements hook_token_values().

File

./facetapi.tokens.inc, line 57
Builds placeholder replacement tokens for searches.

Code

function facetapi_token_values($type, $object = NULL, $options = array()) {
  $values = array();
  if ('facetapi_results' == $type && !empty($object)) {
    $adapter = $object;
    $values['keys'] = check_plain($adapter
      ->getSearchKeys());
    $values['result-count'] = (int) $adapter
      ->getResultCount();
    $values['page-number'] = (int) $adapter
      ->getPageNumber();
    $values['page-limit'] = (int) $adapter
      ->getPageLimit();
    $values['page-total'] = (int) $adapter
      ->getPageTotal();
    $offset = ($adapter
      ->getPageNumber() - 1) * $adapter
      ->getPageLimit();
    $values['offset'] = $offset;
    $offset = ($adapter
      ->getPageNumber() - 1) * $adapter
      ->getPageLimit() + 1;
    $values['start-count'] = $offset;
    $page_max = $adapter
      ->getPageNumber() * $adapter
      ->getPageLimit();
    $total_max = (int) $adapter
      ->getResultCount();
    $values['end-count'] = min($page_max, $total_max);
  }
  elseif ('facetapi_active' == $type && !empty($object)) {
    $item = $object;
    $adapter = $item['adapter'];
    $markup = $adapter
      ->getMappedValue($item['facets'][0], $item['value']);
    $text = empty($markup['#html']) ? check_plain($markup['#value']) : $markup['#value'];
    $values['active-value'] = $text;
    $values['active-value-raw'] = check_plain($item['value']);
    $values['active-pos'] = $item['pos'];
    if ($facet = facetapi_facet_load($item['facets'][0], $adapter
      ->getSearcher())) {
      $values['facet-label'] = check_plain($facet['label']);
    }
    $values['facet-name'] = check_plain($item['facets'][0]);
  }
  elseif ('facetapi_facet' == $type && !empty($object)) {
    $facet = $object;
    $values['facet-label'] = check_plain($facet['label']);
    $values['facet-name'] = check_plain($facet['name']);
  }
  return $values;
}