You are here

function date_facets_get_ranges in Date Facets 7

Returns configured ranges or default range if none are configured.

3 calls to date_facets_get_ranges()
Drupal_SearchApi_Facetapi_QueryType_DateRangeQueryType::mapFacetItemToFilter in lib/Drupal/SearchApi/Facetapi/QueryType/DateRangeQueryType.php
Maps a facet item to a filter.
Drupal_Search_Facetapi_QueryType_DateRangeQueryType::build in lib/Drupal/Search/Facetapi/QueryType/DateRangeQueryType.php
Implements FacetapiQueryTypeInterface::build().
_date_facets_api_facet_create_label in ./date_facets.module
Value callback for labels with the date range type.

File

./date_facets.module, line 82
Provides date range facets that are similar to implementations in major search engines.

Code

function date_facets_get_ranges($facet_name, $index_id) {
  $ranges = array();
  $searchers = facetapi_get_active_searchers();
  if (!empty($index_id)) {
    foreach ($searchers as $searcher) {

      // Get current searcher.
      if (strpos($searcher, '@' . $index_id) !== FALSE) {
        $adapter = facetapi_adapter_load($searcher);
        $settings = $adapter
          ->getFacetSettings(facetapi_facet_load($facet_name, $searcher), facetapi_realm_load('block'));

        // Get the configured date ranges, or the default ranges if none have been
        // set up already.
        $ranges = isset($settings->settings['ranges']) ? $settings->settings['ranges'] : date_facets_default_ranges();

        // Sort ranges.
        $ranges = date_facets_get_ranges_render_arrays($ranges);
      }
    }
  }
  return $ranges;
}