You are here

public function SearchApiDate::calculateResultFilterAbsolute in Facets 8

1 call to SearchApiDate::calculateResultFilterAbsolute()
SearchApiDate::calculateResultFilter in src/Plugin/facets/query_type/SearchApiDate.php
Calculates the result of the filter.

File

src/Plugin/facets/query_type/SearchApiDate.php, line 227

Class

SearchApiDate
Support for date facets within the Search API scope.

Namespace

Drupal\facets\Plugin\facets\query_type

Code

public function calculateResultFilterAbsolute($value) {
  $date = new DrupalDateTime();
  $date
    ->setTimestamp($value);
  $date_format = $this
    ->getDateFormat();
  switch ($this
    ->getGranularity()) {
    case static::FACETAPI_DATE_YEAR:
      $format = 'Y';
      $raw = $date
        ->format('Y');
      break;
    case static::FACETAPI_DATE_MONTH:
      $format = 'F Y';
      $raw = $date
        ->format('Y-m');
      break;
    case static::FACETAPI_DATE_DAY:
      $format = 'd F Y';
      $raw = $date
        ->format('Y-m-d');
      break;
    case static::FACETAPI_DATE_HOUR:
      $format = 'd/m/Y H\\h';
      $raw = $date
        ->format('Y-m-d\\TH');
      break;
    case static::FACETAPI_DATE_MINUTE:
      $format = 'd/m/Y H:i';
      $raw = $date
        ->format('Y-m-d\\TH:i');
      break;
    default:
      $format = 'd/m/Y H:i:s';
      $raw = $date
        ->format('Y-m-d\\TH:i:s');
      break;
  }
  $format = $date_format ? $date_format : $format;
  return [
    'display' => $date
      ->format($format),
    'raw' => $raw,
  ];
}