geofield.rules.inc 895 B

1234567891011121314151617181920212223242526272829303132333435
  1. <?php
  2. /**
  3. * Implements hook_rules_action_info().
  4. */
  5. function geofield_rules_action_info() {
  6. return array(
  7. 'geofield_create_values' => array(
  8. 'base' => 'geofield_rules_create_values',
  9. 'label' => t('Create geofield values from lat/lon'),
  10. 'group' => t('Geofield'),
  11. 'parameter' => array(
  12. 'lat' => array('type' => 'decimal', 'label' => t('Latitude')),
  13. 'lon' => array('type' => 'decimal', 'label' => t('Longitude')),
  14. ),
  15. 'provides' => array(
  16. 'geofield' => array(
  17. 'label' => t('Geofield value'),
  18. 'type' => 'geofield',
  19. ),
  20. ),
  21. ),
  22. );
  23. }
  24. /**
  25. * Rules action for creating geofield values from lat/lon.
  26. */
  27. function geofield_rules_create_values($lat, $lon) {
  28. $geometry = new Point($lon, $lat);
  29. $value = geofield_get_values_from_geometry($geometry);
  30. return array(
  31. 'geofield' => $value
  32. );
  33. }