Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- add_filter('gform_pre_render', 'gravityforms_wpgeo_mashup');
- function gravityforms_wpgeo_mashup($form) {
- include_once( WPGEO_DIR . 'admin/admin.php' );
- //REPLACE 1 with your actual form id
- $my_geo_form = 2;
- if($form["id"] !=$my_geo_form)
- return $form;
- // find IDs of latitude&longitude custom fields
- foreach($form["fields"] as &$field){
- if($field["postCustomFieldName"]=="_wp_geo_longitude") $field_lng = $field["id"];
- if($field["postCustomFieldName"]=="_wp_geo_latitude") $field_lat = $field["id"];
- //print_r($field);
- }
- // show map only if latitude&longitude custom fields exist
- if($field_lng && $field_lat ) :
- // load "WP Geo" plugin
- require_once( WP_PLUGIN_DIR . '/WP-Geo-3.2.dev/wp-geo.php' );
- global $wpgeo;
- $wpgeo = new WPGeo();
- $wpgeo->admin = new WPGeo_Admin();
- $zoom = 2;
- $map = $wpgeo->mapScriptsInit( 20, 0,$zoom, true, false );
- $map .='
- <input type="hidden" name="wpgeo_map_settings_zoom" id="wpgeo_map_settings_zoom" value="" />
- <input type="hidden" name="wpgeo_map_settings_type" id="wpgeo_map_settings_type" value="" />
- <input type="hidden" name="wpgeo_map_settings_centre" id="wpgeo_map_settings_centre" value="" />
- <input name="wp_geo_latitude" type="hidden" size="25" id="wp_geo_latitude" value="" />
- <input name="wp_geo_longitude" type="hidden" size="25" id="wp_geo_longitude" value="" />
- <script type="text/javascript">
- <!--
- jQuery(document).ready(function() {';
- $map .='var my_geo_form= '.$my_geo_form.';';
- $map .='var field_lng= '.$field_lng.';';
- $map .='var field_lat= '.$field_lat.';';
- $map .='
- jQuery("#wp_geo_map").click(function(e) {
- jQuery("#input_"+my_geo_form+"_"+field_lat).val(jQuery("#wp_geo_latitude").val());
- jQuery("#input_"+my_geo_form+"_"+field_lng).val(jQuery("#wp_geo_longitude").val());
- });
- });
- -->
- </script>
- <div id="wp_geo_map" style="width:auto; height:400px"></div>';
- // find ID of section with cssClass "wpgeo" and put the map into description
- foreach($form["fields"] as &$field){
- if($field["cssClass"]=="wpgeo")$field["description"].=$map;
- }
- endif;
- return $form;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement