You are here

function geolocation_proximity_views_handler_filter_distance::latlng_validate in Geolocation Proximity 7.2

Validate the latitude and longitude values

2 calls to geolocation_proximity_views_handler_filter_distance::latlng_validate()
geolocation_proximity_views_handler_filter_distance::exposed_validate in handlers/geolocation_proximity_views_handler_filter_distance.inc
Validate the exposed handler form.
geolocation_proximity_views_handler_filter_distance::value_validate in handlers/geolocation_proximity_views_handler_filter_distance.inc
Validate the options form.

File

handlers/geolocation_proximity_views_handler_filter_distance.inc, line 229
Definition of geolocation_proximity_views_handler_filter_distance.

Class

geolocation_proximity_views_handler_filter_distance
General proximity filter for location latitude/longitude.

Code

function latlng_validate(&$elements, &$values) {
  if (!empty($values['googlemap'])) {
    $values['latitude'] = $values['googlemap']['lat'];
    $values['longitude'] = $values['googlemap']['lng'];
  }
  if ($values['latitude'] !== "") {
    switch (TRUE) {
      case !is_numeric($values['latitude']):
        form_error($elements['latitude'], t('Invalid Latitude. Value must be numeric.'));
        break;
      case $values['latitude'] > 90:
      case $values['latitude'] < -90:
        form_error($elements['latitude'], t('Invalid Latitude. Value must be between 90 and -90.'));
        break;
    }
  }
  if ($values['longitude'] !== "") {
    switch (TRUE) {
      case !is_numeric($values['longitude']):
        form_error($elements['longitude'], t('Invalid Longitude. Value must be numeric.'));
        break;
      case $values['longitude'] > 180:
      case $values['longitude'] < -180:
        form_error($elements['longitude'], t('Invalid Longitude. Value must be between 180 and -180.'));
        break;
    }
  }
  if (!is_numeric($values['search_distance']) || $values['search_distance'] < 0) {
    form_error($elements['search_distance'], t('Invalid Distance. Value must be a positive number.'));
  }
}