Advertisement
Mactonex

wp-geo gravitry form code

Jan 29th, 2013
52
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.42 KB | None | 0 0
  1. add_filter("gform_pre_render", "gravityforms_wpgeo_mashup");
  2. function gravityforms_wpgeo_mashup($form) {
  3.  
  4. //REPLACE 1 with your actual form id
  5. $my_geo_form = 1;
  6. if($form["id"] !=$my_geo_form)
  7. return;
  8.  
  9. // find IDs of latitude&longitude custom fields
  10. foreach($form["fields"] as &$field){
  11. if($field["postCustomFieldName"]=="_wp_geo_longitude") $field_lng = $field["id"];
  12. if($field["postCustomFieldName"]=="_wp_geo_latitude") $field_lat = $field["id"];
  13. //print_r($field);
  14. }
  15.  
  16. // show map only if latitude&longitude custom fields exist
  17. if($field_lng && $field_lat ) :
  18. // load "WP Geo" plugin
  19. require_once( WP_PLUGIN_DIR . '/wp-geo/wp-geo.php' );
  20. global $wpgeo;
  21. $wpgeo = new WPGeo();
  22. $zoom = 2;
  23. $map = $wpgeo->mapScriptsInit( 20, 0,$zoom, true, false );
  24. $map .='
  25. <input type="hidden" name="wpgeo_map_settings_zoom" id="wpgeo_map_settings_zoom" value="" />
  26. <input type="hidden" name="wpgeo_map_settings_type" id="wpgeo_map_settings_type" value="" />
  27. <input type="hidden" name="wpgeo_map_settings_centre" id="wpgeo_map_settings_centre" value="" />
  28. <input name="wp_geo_latitude" type="hidden" size="25" id="wp_geo_latitude" value="" />
  29. <input name="wp_geo_longitude" type="hidden" size="25" id="wp_geo_longitude" value="" />
  30. <script type="text/javascript">
  31. <!--
  32. jQuery(document).ready(function() {';
  33.  
  34. $map .='var my_geo_form= '.$my_geo_form.';';
  35. $map .='var field_lng= '.$field_lng.';';
  36. $map .='var field_lat= '.$field_lat.';';
  37. $map .='
  38. jQuery("#wp_geo_map").click(function(e) {
  39.  
  40. jQuery("#input_"+my_geo_form+"_"+field_lat).val(jQuery("#wp_geo_latitude").val());
  41. jQuery("#input_"+my_geo_form+"_"+field_lng).val(jQuery("#wp_geo_longitude").val());
  42.  
  43. });
  44.  
  45. });
  46. -->
  47. </script>
  48. <div id="wp_geo_map" style="width:auto; height:400px"></div>';
  49.  
  50. // find ID of section with cssClass "wpgeo" and put the map into description
  51. foreach($form["fields"] as &$field){
  52. if($field["cssClass"]=="wpgeo")$field["description"].=$map;
  53. }
  54. endif;
  55. return $form;
  56. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement