function geofield_filter_harmonizer_formalize_contextual_arg in Views Filter Harmonizer 8
Same name and namespace in other branches
- 1.0.x includes/filter_harmonizer_for_geofield.inc \geofield_filter_harmonizer_formalize_contextual_arg()
Implements hook_filter_harmonizer_formalize_contextual_arg().
Returns contextual arguments as an array suitable for populating a Geofield Proximity (exposed) regular filter.
File
- includes/
filter_harmonizer_for_geofield.inc, line 77 - filter_harmonizer_for_geofield.inc
Code
function geofield_filter_harmonizer_formalize_contextual_arg($contextual_filter, FilterPluginBase $regular_filter) {
if ($contextual_filter instanceof GeofieldProximityArgument) {
if ($values = $contextual_filter
->getParsedReferenceLocation()) {
if (empty($values['units'])) {
$values['units'] = "GEOFIELD_KILOMETERS";
}
$values['value'] = $values['distance'];
$values['origin']['lat'] = $values['lat'];
$values['origin']['lon'] = $values['lon'];
unset($values['distance'], $values['lat'], $values['lon']);
if ($regular_filter instanceof GeofieldProximityFilter) {
$regular_filter->operator = $values['operator'];
$regular_filter->options['units'] = $values['units'];
}
return $values;
}
}
}