geofieldProximityManual.inc 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. <?php
  2. /**
  3. * @file
  4. * Contains geofieldProximityManual.
  5. */
  6. class geofieldProximityManual extends geofieldProximityBase implements geofieldProximityPluginInterface {
  7. public function option_definition(&$options, $views_plugin) {
  8. $options['geofield_proximity_manual'] = array(
  9. 'default' => array(
  10. 'lat' => 0,
  11. 'lon' => 0,
  12. )
  13. );
  14. }
  15. public function options_form(&$form, &$form_state, $views_plugin) {
  16. $form['geofield_proximity_manual'] = array(
  17. '#type' => 'geofield_latlon',
  18. '#title' => t('Source'),
  19. '#default_value' => $views_plugin->options['geofield_proximity_manual'],
  20. '#proximity_plugin_value_element' => TRUE,
  21. '#states' => array(
  22. 'visible' => array(
  23. ':input[name*="options[source]"]' => array('value' => 'manual'),
  24. ),
  25. ),
  26. );
  27. }
  28. public function value_form(&$form, &$form_state, $views_plugin) {
  29. $form['value']['#origin_element'] = 'geofield_latlon';
  30. }
  31. public function getSourceValue($views_plugin) {
  32. return array(
  33. 'latitude' => (isset($views_plugin->value)) ? $views_plugin->value['origin']['lat'] : $views_plugin->options['geofield_proximity_manual']['lat'],
  34. 'longitude' => (isset($views_plugin->value)) ? $views_plugin->value['origin']['lon'] : $views_plugin->options['geofield_proximity_manual']['lon'],
  35. );
  36. }
  37. }