You are here

function geofield_filter_harmonizer_stringify_regular_filter in Views Filter Harmonizer 1.0.x

Same name and namespace in other branches
  1. 8 includes/filter_harmonizer_for_geofield.inc \geofield_filter_harmonizer_stringify_regular_filter()

Implements hook_filter_harmonizer_stringify_regular_filter().

File

includes/filter_harmonizer_for_geofield.inc, line 35
filter_harmonizer_for_geofield.inc

Code

function geofield_filter_harmonizer_stringify_regular_filter(FilterPluginBase $regular_filter) {
  if ($regular_filter instanceof GeofieldProximityFilter) {
    $origin = $regular_filter->value['source_configuration']['origin'];
    $lat = $origin['lat'];
    $lon = $origin['lon'];
    $op = $regular_filter->operator;
    $dist = $regular_filter->value['value'];
    switch ($regular_filter->options['units']) {
      case 'GEOFIELD_METERS':
        $unit = 'm';
        break;
      case 'GEOFIELD_MILES':
        $unit = 'mi';
        break;
      case 'GEOFIELD_NAUTICAL_MILES':
        $unit = 'nmi';
        break;
      case 'GEOFIELD_YARDS':
        $unit = 'yd';
        break;
      case 'GEOFIELD_FEET':
        $unit = 'ft';
        break;
      default:
        $unit = 'km';
    }
    return "{$lat},{$lon}{$op}{$dist}{$unit}";
  }
}