/** * Display the Geolocator. * * @since 0.1.0 * @param WP_Post $post The post object. */ public function cartopress_geocoder_content($post) { // Add an nonce field so we can check for it later. wp_nonce_field('cartopress_inner_custom_box', 'cartopress_inner_custom_box_nonce'); // Use get_post_meta to retrieve an existing value from the database. $donotsync_value = get_post_meta($post->ID, '_cp_post_donotsync', true); $geodata = get_post_meta($post->ID, '_cp_post_geo_data', true); //redefine $vars if cartodb values are true $cp_post = cartopress_sync::cartodb_select($post->ID); if ($cp_post[1] == true && $donotsync_value != 1) { $cp_values = $cp_post[0]->rows[0]; $cartodb_id = $cp_values->cartodb_id; $cp_geo_displayname = $cp_values->cp_geo_displayname; $cp_geo_lat = $cp_values->cp_geo_lat; $cp_geo_long = $cp_values->cp_geo_long; $cp_geo_streetnumber = $cp_values->cp_geo_streetnumber; $cp_geo_street = $cp_values->cp_geo_street; $cp_geo_postal = $cp_values->cp_geo_postal; $cp_geo_adminlevel4_vill_neigh = $cp_values->cp_geo_adminlevel4_vill_neigh; $cp_geo_adminlevel3_city = $cp_values->cp_geo_adminlevel3_city; $cp_geo_adminlevel2_county = $cp_values->cp_geo_adminlevel2_county; $cp_geo_adminlevel1_st_prov_region = $cp_values->cp_geo_adminlevel1_st_prov_region; $cp_geo_adminlevel0_country = $cp_values->cp_geo_adminlevel0_country; $cp_post_description = $cp_values->cp_post_description; } else { if ($geodata != null) { $cartodb_id = null; $cp_geo_displayname = $geodata['cp_geo_displayname']; $cp_geo_lat = $geodata['cp_geo_lat']; $cp_geo_long = $geodata['cp_geo_long']; $cp_geo_streetnumber = $geodata['cp_geo_streetnumber']; $cp_geo_street = $geodata['cp_geo_street']; $cp_geo_postal = $geodata['cp_geo_postal']; $cp_geo_adminlevel4_vill_neigh = $geodata['cp_geo_adminlevel4_vill_neigh']; $cp_geo_adminlevel3_city = $geodata['cp_geo_adminlevel3_city']; $cp_geo_adminlevel2_county = $geodata['cp_geo_adminlevel2_county']; $cp_geo_adminlevel1_st_prov_region = $geodata['cp_geo_adminlevel1_st_prov_region']; $cp_geo_adminlevel0_country = $geodata['cp_geo_adminlevel0_country']; $cp_post_description = get_post_meta($post->ID, '_cp_post_description', true); } else { //default values $cartodb_id = null; $cp_geo_displayname = ''; $cp_geo_lat = ''; $cp_geo_long = ''; $cp_geo_streetnumber = ''; $cp_geo_street = ''; $cp_geo_postal = ''; $cp_geo_adminlevel4_vill_neigh = ''; $cp_geo_adminlevel3_city = ''; $cp_geo_adminlevel2_county = ''; $cp_geo_adminlevel1_st_prov_region = ''; $cp_geo_adminlevel0_country = ''; $cp_post_description = ''; } } // Display the metabox include CARTOPRESS_ADMIN_DIR . 'cp-geocoderview.php'; }
/** * Updates the geo field data stored in wp_postmeta with the values from CartoDB. * * AJAX handler to update the geodata saved in wp_postmeta with the corresponding CartoDB value. * * @since 0.1.0 */ public static function cartopress_update_postmeta($post_id) { $cp_post = cartopress_sync::cartodb_select($post_id); $donotsync_value = get_post_meta($post_id, '_cp_post_donotsync', true); if ($cp_post[1] == true && $donotsync_value != 1) { $cp_values = $cp_post[0]->rows[0]; $geodata = array('cp_geo_displayname' => $cp_values->cp_geo_displayname, 'cp_geo_lat' => $cp_values->cp_geo_lat, 'cp_geo_long' => $cp_values->cp_geo_long, 'cp_geo_streetnumber' => $cp_values->cp_geo_streetnumber, 'cp_geo_street' => $cp_values->cp_geo_street, 'cp_geo_postal' => $cp_values->cp_geo_postal, 'cp_geo_adminlevel4_vill_neigh' => $cp_values->cp_geo_adminlevel4_vill_neigh, 'cp_geo_adminlevel3_city' => $cp_values->cp_geo_adminlevel3_city, 'cp_geo_adminlevel2_county' => $cp_values->cp_geo_adminlevel2_county, 'cp_geo_adminlevel1_st_prov_region' => $cp_values->cp_geo_adminlevel1_st_prov_region, 'cp_geo_adminlevel0_country' => $cp_values->cp_geo_adminlevel0_country); update_post_meta($post_id, '_cp_post_geo_data', $geodata); } else { //default values $geodata = array('cp_geo_displayname' => '', 'cp_geo_lat' => '', 'cp_geo_long' => '', 'cp_geo_streetnumber' => '', 'cp_geo_street' => '', 'cp_geo_postal' => '', 'cp_geo_adminlevel4_vill_neigh' => '', 'cp_geo_adminlevel3_city' => '', 'cp_geo_adminlevel2_county' => '', 'cp_geo_adminlevel1_st_prov_region' => '', 'cp_geo_adminlevel0_country' => ''); } //end if }