Exemplo n.º 1
0
/**
 * Handle the WPGMZA shortcode
 * The shortcode attributes are identified and the relevant data is localized and the JS file enqueued
 * @param  array    $atts   array of shortcode attributes
 * @return void
 */
function wpgmaps_tag_basic($atts)
{
    global $wpgmza_current_map_id;
    global $wpgmza_version;
    global $short_code_active;
    global $wpgmza_override;
    extract(shortcode_atts(array('id' => '1'), $atts));
    $ret_msg = "";
    $wpgmza_current_map_id = $atts['id'];
    $res = wpgmza_get_map_data($atts['id']);
    if (!isset($res)) {
        echo __("Error: The map ID", "wp-google-maps") . " (" . $wpgmza_current_map_id . ") " . __("does not exist", "wp-google-maps");
        return;
    }
    $user_api_key = get_option('wpgmza_google_maps_api_key');
    if (!$user_api_key || $user_api_key == "") {
        $adminurl = admin_url('admin.php?page=wp-google-maps-menu-settings#tabs-4');
        $link = sprintf(__("In order for your map to display, please make sure you insert your Google Maps JavaScript API key in the <a href='%s' target='_BLANK'>Maps->Settings->Advanced tab</a>.", 'wp-google-maps'), $adminurl);
        echo "<div class='wpgmza_error' style='background-image:url(" . plugins_url('images/map-bg.jpg', __FILE__) . "); display:block; padding:15px; border:1px solid #eee; overflow:auto;'>";
        echo "<h3>" . __("WP Google Maps Error", "wp-google-maps") . "</h3>";
        echo "<p style='color:#333;'><strong>" . $link . "</strong></p>";
        echo "</div>";
        return;
    }
    if (!function_exists('wpgmaps_admin_styles_pro')) {
        wp_register_style('wpgmaps-style', plugins_url('css/wpgmza_style.css', __FILE__), array(), $wpgmza_version);
        wp_enqueue_style('wpgmaps-style');
    }
    if (isset($atts['zoom'])) {
        $zoom_override = $atts['zoom'];
        $wpgmza_override['zoom'] = $zoom_override;
    }
    $map_align = $res->alignment;
    $wpgmza_settings = get_option("WPGMZA_OTHER_SETTINGS");
    if (isset($wpgmza_settings['wpgmza_settings_marker_pull']) && $wpgmza_settings['wpgmza_settings_marker_pull'] == '0') {
    } else {
        /* only check if marker file exists if they are using the XML method */
        wpgmza_check_if_marker_file_exists($wpgmza_current_map_id);
    }
    $map_width_type = stripslashes($res->map_width_type);
    $map_height_type = stripslashes($res->map_height_type);
    if (!isset($map_width_type)) {
        $map_width_type == "px";
    }
    if (!isset($map_height_type)) {
        $map_height_type == "px";
    }
    if ($map_width_type == "%" && intval($res->map_width) > 100) {
        $res->map_width = 100;
    }
    if ($map_height_type == "%" && intval($res->map_height) > 100) {
        $res->map_height = 100;
    }
    if (!$map_align || $map_align == "" || $map_align == "1") {
        $map_align = "float:left;";
    } else {
        if ($map_align == "2") {
            $map_align = "margin-left:auto !important; margin-right:auto; !important; align:center;";
        } else {
            if ($map_align == "3") {
                $map_align = "float:right;";
            } else {
                if ($map_align == "4") {
                    $map_align = "";
                }
            }
        }
    }
    $map_style = "style=\"display:block; overflow:auto; width:" . $res->map_width . "" . $map_width_type . "; height:" . $res->map_height . "" . $map_height_type . "; {$map_align}\"";
    $map_other_settings = maybe_unserialize($res->other_settings);
    $sl_data = "";
    if (isset($map_other_settings['store_locator_enabled']) && $map_other_settings['store_locator_enabled'] == 1) {
        $sl_data = wpgmaps_sl_user_output_basic($wpgmza_current_map_id);
    } else {
        $sl_data = "";
    }
    $ret_msg .= "\n            <style>\n            #wpgmza_map img { max-width:none !important; }\n            .wpgmza_widget { overflow: auto; }\n            </style>\n            \n            {$sl_data}    \n            <div id=\"wpgmza_map\" {$map_style}>\n            </div>\n        ";
    if (isset($wpgmza_main_settings['wpgmza_custom_css']) && $wpgmza_main_settings['wpgmza_custom_css'] != "") {
        $ret_msg = "\n            <!-- WP Google Maps Custom CSS -->\n            <style type=\"text/css\">" . $wpgmza_main_settings['wpgmza_custom_css'] . "</style>\n            " . $ret_msg;
    }
    $wpgmza_locale = get_locale();
    $wpgmza_suffix = ".com";
    /* Hebrew correction */
    if ($wpgmza_locale == "he_IL") {
        $wpgmza_locale = "iw";
    }
    /* Chinese integration */
    if ($wpgmza_locale == "zh_CN") {
        $wpgmza_suffix = ".cn";
    } else {
        $wpgmza_suffix = ".com";
    }
    $wpgmza_settings = get_option("WPGMZA_OTHER_SETTINGS");
    /**
     * Only register the below scrips so that they are available on demand. 
     */
    if (isset($wpgmza_settings['wpgmza_settings_remove_api']) && $wpgmza_settings['wpgmza_settings_remove_api'] == "yes") {
        $wpgaps_core_dependancy = array();
    } else {
        if (isset($wpgmza_settings['wpgmza_api_version']) && $wpgmza_settings['wpgmza_api_version'] != "") {
            $api_version_string = "v=" . $wpgmza_settings['wpgmza_api_version'] . "&";
        } else {
            $api_version_string = "v=3.exp&";
        }
        $wpgmza_api_key = get_option('wpgmza_google_maps_api_key');
        if ($wpgmza_api_key) {
            wp_enqueue_script('wpgmza_api_call', '//maps.google' . $wpgmza_suffix . '/maps/api/js?' . $api_version_string . 'key=' . $wpgmza_api_key . '&language=' . $wpgmza_locale, array(), null);
        } else {
            wp_enqueue_script('wpgmza_api_call', '//maps.google' . $wpgmza_suffix . '/maps/api/js?' . $api_version_string . 'language=' . $wpgmza_locale, array(), null);
        }
        $wpgaps_core_dependancy = array('wpgmza_api_call');
    }
    wp_enqueue_script('wpgmaps_core', plugins_url('/js/wpgmaps.min.js', __FILE__), $wpgaps_core_dependancy, $wpgmza_version . 'b', false);
    $res = array();
    $res[0] = wpgmza_get_map_data($wpgmza_current_map_id);
    $wpgmza_settings = get_option("WPGMZA_OTHER_SETTINGS");
    if (isset($wpgmza_settings['wpgmza_api_version'])) {
        $api_version = $wpgmza_settings['wpgmza_api_version'];
        if (isset($api_version) && $api_version != "") {
            $api_version_string = "v={$api_version}&";
        } else {
            $api_version_string = "v=3.exp&";
        }
    } else {
        $api_version_string = "v=3.exp&";
    }
    $map_other_settings = maybe_unserialize($res[0]->other_settings);
    $res[0]->other_settings = $map_other_settings;
    $res[0]->map_width_type = stripslashes($res[0]->map_width_type);
    if (isset($res[0]->other_settings['wpgmza_theme_data']) && $res[0]->other_settings['wpgmza_theme_data'] != '') {
        $res[0]->other_settings['wpgmza_theme_data'] = html_entity_decode(stripslashes($res[0]->other_settings['wpgmza_theme_data']));
    }
    $polygonoptions = array();
    $total_poly_array = wpgmza_b_return_polygon_id_array($wpgmza_current_map_id);
    if ($total_poly_array > 0) {
        foreach ($total_poly_array as $poly_id) {
            $polygonoptions[$poly_id] = wpgmza_b_return_poly_options($poly_id);
            $tmp_poly_array = wpgmza_b_return_polygon_array($poly_id);
            $poly_data_raw_array = array();
            foreach ($tmp_poly_array as $single_poly) {
                $poly_data_raw = str_replace(" ", "", $single_poly);
                $poly_data_raw = explode(",", $poly_data_raw);
                $lat = $poly_data_raw[0];
                $lng = $poly_data_raw[1];
                $poly_data_raw_array[] = $poly_data_raw;
            }
            $polygonoptions[$poly_id]->polydata = $poly_data_raw_array;
            $linecolor = $polygonoptions[$poly_id]->linecolor;
            $fillcolor = $polygonoptions[$poly_id]->fillcolor;
            $fillopacity = $polygonoptions[$poly_id]->opacity;
            if (!$linecolor) {
                $polygonoptions[$poly_id]->linecolor = "000000";
            }
            if (!$fillcolor) {
                $polygonoptions[$poly_id]->fillcolor = "66FF00";
            }
            if (!$fillopacity) {
                $polygonoptions[$poly_id]->opacity = "0.5";
            }
        }
    } else {
        $polygonoptions = array();
    }
    $polylineoptions = array();
    $total_poly_array = wpgmza_b_return_polyline_id_array($wpgmza_current_map_id);
    if ($total_poly_array > 0) {
        foreach ($total_poly_array as $poly_id) {
            $polylineoptions[$poly_id] = wpgmza_b_return_polyline_options($poly_id);
            $tmp_poly_array = wpgmza_b_return_polyline_array($poly_id);
            $poly_data_raw_array = array();
            foreach ($tmp_poly_array as $single_poly) {
                $poly_data_raw = str_replace(" ", "", $single_poly);
                $poly_data_raw = str_replace(")", "", $poly_data_raw);
                $poly_data_raw = str_replace("(", "", $poly_data_raw);
                $poly_data_raw = explode(",", $poly_data_raw);
                $lat = $poly_data_raw[0];
                $lng = $poly_data_raw[1];
                $poly_data_raw_array[] = $poly_data_raw;
            }
            $polylineoptions[$poly_id]->polydata = $poly_data_raw_array;
            if (isset($polylineoptions[$poly_id]->linecolor)) {
                $linecolor = $polylineoptions[$poly_id]->linecolor;
            } else {
                $linecolor = false;
            }
            if (isset($polylineoptions[$poly_id]->fillcolor)) {
                $fillcolor = $polylineoptions[$poly_id]->fillcolor;
            } else {
                $fillcolor = false;
            }
            if (isset($polylineoptions[$poly_id]->opacity)) {
                $fillopacity = $polylineoptions[$poly_id]->opacity;
            } else {
                $fillopacity = false;
            }
            if (!$linecolor) {
                $polylineoptions[$poly_id]->linecolor = "000000";
            }
            if (!$fillcolor) {
                $polylineoptions[$poly_id]->fillcolor = "66FF00";
            }
            if (!$fillopacity) {
                $polylineoptions[$poly_id]->opacity = "0.5";
            }
        }
    } else {
        $polylineoptions = array();
    }
    if (isset($wpgmza_settings['wpgmza_settings_marker_pull']) && $wpgmza_settings['wpgmza_settings_marker_pull'] == "0") {
        $markers = wpgmaps_return_markers($wpgmza_current_map_id);
    }
    do_action("wpgooglemaps_basic_hook_user_js_after_core");
    wp_localize_script('wpgmaps_core', 'wpgmaps_localize', $res);
    wp_localize_script('wpgmaps_core', 'wpgmaps_localize_polygon_settings', $polygonoptions);
    wp_localize_script('wpgmaps_core', 'wpgmaps_localize_polyline_settings', $polylineoptions);
    wp_localize_script('wpgmaps_core', 'wpgmaps_markerurl', wpgmaps_get_marker_url($wpgmza_current_map_id));
    if ($wpgmza_settings['wpgmza_settings_marker_pull'] == "0") {
        wp_localize_script('wpgmaps_core', 'wpgmaps_localize_marker_data', $markers);
    }
    $wpgmza_settings = apply_filters("wpgmza_basic_filter_localize_settings", $wpgmza_settings);
    wp_localize_script('wpgmaps_core', 'wpgmaps_localize_global_settings', $wpgmza_settings);
    wp_localize_script('wpgmaps_core', 'wpgmaps_lang_km_away', __("km away", "wp-google-maps"));
    wp_localize_script('wpgmaps_core', 'wpgmaps_lang_m_away', __("miles away", "wp-google-maps"));
    return $ret_msg;
}
Exemplo n.º 2
0
function wpgmaps_action_callback_basic()
{
    global $wpdb;
    global $wpgmza_tblname;
    global $wpgmza_p;
    global $wpgmza_tblname_poly;
    global $wpgmza_tblname_polylines;
    $check = check_ajax_referer('wpgmza', 'security');
    $table_name = $wpdb->prefix . "wpgmza";
    if ($check == 1) {
        if ($_POST['action'] == "add_marker") {
            $rows_affected = $wpdb->insert($table_name, array('map_id' => $_POST['map_id'], 'address' => $_POST['address'], 'lat' => $_POST['lat'], 'lng' => $_POST['lng'], 'infoopen' => $_POST['infoopen'], 'description' => '', 'title' => '', 'anim' => $_POST['anim'], 'link' => '', 'icon' => '', 'pic' => '', 'infoopen' => $_POST['infoopen'], 'retina' => '0'));
            $wpgmza_check = wpgmaps_update_xml_file($_POST['map_id']);
            if (is_wp_error($wpgmza_check)) {
                wpgmza_return_error($wpgmza_check);
            }
            $return_a = array("marker_id" => $wpdb->insert_id, "marker_data" => wpgmaps_return_markers($_POST['map_id']), "table_html" => wpgmza_return_marker_list($_POST['map_id']));
            echo json_encode($return_a);
        }
        if ($_POST['action'] == "edit_marker") {
            $cur_id = $_POST['edit_id'];
            $rows_affected = $wpdb->query($wpdb->prepare("UPDATE {$table_name} SET address = %s, lat = %f, lng = %f, anim = %d, infoopen = %d WHERE id = %d", $_POST['address'], $_POST['lat'], $_POST['lng'], $_POST['anim'], $_POST['infoopen'], $cur_id));
            $wpgmza_check = wpgmaps_update_xml_file($_POST['map_id']);
            if (is_wp_error($wpgmza_check)) {
                wpgmza_return_error($wpgmza_check);
            }
            $return_a = array("marker_id" => $cur_id, "marker_data" => wpgmaps_return_markers($_POST['map_id']), "table_html" => wpgmza_return_marker_list($_POST['map_id']));
            echo json_encode($return_a);
        }
        if ($_POST['action'] == "delete_marker") {
            $marker_id = $_POST['marker_id'];
            $wpdb->query("\r\n                        DELETE FROM {$wpgmza_tblname}\r\n                        WHERE `id` = '{$marker_id}'\r\n                        LIMIT 1\r\n                        ");
            $wpgmza_check = wpgmaps_update_xml_file($_POST['map_id']);
            if (is_wp_error($wpgmza_check)) {
                wpgmza_return_error($wpgmza_check);
            }
            $return_a = array("marker_id" => $marker_id, "marker_data" => wpgmaps_return_markers($_POST['map_id']), "table_html" => wpgmza_return_marker_list($_POST['map_id']));
            echo json_encode($return_a);
        }
        if ($_POST['action'] == "delete_poly") {
            $poly_id = $_POST['poly_id'];
            $wpdb->query("\r\n                    DELETE FROM {$wpgmza_tblname_poly}\r\n                    WHERE `id` = '{$poly_id}'\r\n                    LIMIT 1\r\n                    ");
            echo wpgmza_b_return_polygon_list($_POST['map_id']);
        }
        if ($_POST['action'] == "delete_polyline") {
            $poly_id = $_POST['poly_id'];
            $wpdb->query("\r\n                    DELETE FROM {$wpgmza_tblname_polylines}\r\n                    WHERE `id` = '{$poly_id}'\r\n                    LIMIT 1\r\n                    ");
            echo wpgmza_b_return_polyline_list($_POST['map_id']);
        }
    }
    die;
    // this is required to return a proper result
}
function wpgmaps_user_javascript_pro()
{
    global $short_code_active;
    global $wpgmza_count;
    $wpgmza_count++;
    if ($wpgmza_count > 1) {
    } else {
        global $wpgmza_current_map_id;
        global $wpgmza_short_code_array;
        global $wpgmza_current_mashup;
        global $wpgmza_pro_version;
        global $wpgmza_current_map_cat_selection;
        global $wpgmza_current_map_shortcode_data;
        global $wpgmza_current_map_type;
        if ($wpgmza_current_mashup) {
            $wpgmza_current_mashup_string = "true";
        } else {
            $wpgmza_current_mashup_string = "false";
        }
        global $wpgmza_mashup_ids;
        if (isset($wpgmza_mashup_ids)) {
            if (isset($wpgmza_mashups_ids) && $wpgmza_mashups_ids == "ALL") {
                $wpgmza_mashup_ids = wpgmza_return_all_map_ids();
            }
        }
        if ($short_code_active) {
            $wpgmza_settings = get_option("WPGMZA_OTHER_SETTINGS");
            $ajax_nonce = wp_create_nonce("wpgmza");
            wp_register_script('wpgmaps_datatables', plugins_url(plugin_basename(dirname(__FILE__))) . "/js/jquery.dataTables.min.js", true);
            wp_enqueue_script('wpgmaps_datatables');
            wp_register_script('wpgmaps_datatables-responsive', plugins_url(plugin_basename(dirname(__FILE__))) . "/js/dataTables.responsive.js", true);
            wp_enqueue_script('wpgmaps_datatables-responsive');
            wp_register_style('wpgmaps_datatables_style', plugins_url(plugin_basename(dirname(__FILE__))) . "/css/data_table_front.css");
            wp_enqueue_style('wpgmaps_datatables_style');
            wp_register_style('wpgmaps_datatables_responsive-style', "//cdn.datatables.net/responsive/1.0.4/css/dataTables.responsive.css");
            wp_enqueue_style('wpgmaps_datatables_responsive-style');
            $res = array();
            $marker_data_array = array();
            $include_owl = false;
            /* should this reference $wpgmza_mashup_ids insted of short_code_arrya ? 
             * 
             */
            $mashup_js_string = "";
            if (isset($wpgmza_short_code_array)) {
                foreach ($wpgmza_short_code_array as $wpgmza_cmd) {
                    if (isset($wpgmza_mashup_ids[$wpgmza_cmd])) {
                        $mashup_js_string .= "wpgmaps_map_mashup[{$wpgmza_cmd}] = true;\n";
                    }
                    $marker_data_array[$wpgmza_cmd] = array();
                    if ($wpgmza_settings['wpgmza_settings_marker_pull'] == "0") {
                        if (isset($wpgmza_mashup_ids[$wpgmza_cmd])) {
                            foreach ($wpgmza_mashup_ids[$wpgmza_cmd] as $mashup_id) {
                                //$res[$wpgmza_cmd] = wpgmza_get_map_data($mashup_id);
                                $temp_marker_array = wpgmaps_return_markers($mashup_id);
                                foreach ($temp_marker_array as $temp_array) {
                                    array_push($marker_data_array[$wpgmza_cmd], $temp_array);
                                }
                                //$marker_data_array[$wpgmza_cmd] = wpgmaps_return_markers($mashup_id);
                            }
                        } else {
                            if ($wpgmza_settings['wpgmza_settings_marker_pull'] == "0" || $wpgmza_settings['wpgmza_settings_marker_pull'] == 0) {
                                $marker_data_array[$wpgmza_cmd] = wpgmaps_return_markers($wpgmza_cmd);
                            }
                        }
                    }
                    $res[$wpgmza_cmd] = wpgmza_get_map_data($wpgmza_cmd);
                    /* Added in version 5.44
                     */
                    /* check if we are using custom fields instead of traditional map data */
                    if (isset($wpgmza_current_map_shortcode_data[$wpgmza_current_map_id]['lat']) && isset($wpgmza_current_map_shortcode_data[$wpgmza_current_map_id]['lng']) && isset($wpgmza_current_map_shortcode_data[$wpgmza_current_map_id]['parent_id']) && $wpgmza_current_map_shortcode_data[$wpgmza_current_map_id]['lng'] && $wpgmza_current_map_shortcode_data[$wpgmza_current_map_id]['lat']) {
                        /* we are using custom fields, get the parent map data */
                        $wpgmza_using_custom_fields = true;
                        $res[$wpgmza_cmd] = wpgmza_get_map_data($wpgmza_current_map_shortcode_data[$wpgmza_current_map_id]['parent_id']);
                        $temp_other_settings = maybe_unserialize($res[$wpgmza_cmd]->other_settings);
                        $temp_other_settings['store_locator_enabled'] = 0;
                        $res[$wpgmza_cmd]->other_settings['store_locator_enabled'] = 0;
                        $res[$wpgmza_cmd]->other_settings = maybe_serialize($temp_other_settings);
                    } else {
                        $wpgmza_using_custom_fields = false;
                    }
                    /* end of 5.44 addition */
                    if ($res[$wpgmza_cmd]->styling_json != '') {
                        $res[$wpgmza_cmd]->styling_json = html_entity_decode(stripslashes($res[$wpgmza_cmd]->styling_json));
                    }
                    if ($res[$wpgmza_cmd]->other_settings != '') {
                        $res[$wpgmza_cmd]->other_settings = $other_settings = maybe_unserialize($res[$wpgmza_cmd]->other_settings);
                        if (isset($other_settings['list_markers_by']) && $other_settings['list_markers_by'] == '3') {
                            $include_owl = true;
                        }
                        if (isset($other_settings['wpgmza_theme_data']) && $other_settings['wpgmza_theme_data'] != false) {
                            $res[$wpgmza_cmd]->other_settings['wpgmza_theme_data'] = html_entity_decode(stripslashes($other_settings['wpgmza_theme_data']));
                        }
                    }
                    $res[$wpgmza_cmd]->map_width_type = stripslashes($res[$wpgmza_cmd]->map_width_type);
                    $res[$wpgmza_cmd]->total_markers = wpgmza_return_marker_count($wpgmza_cmd);
                }
            }
            if (function_exists("wpgmaps_gold_activate")) {
                wp_register_script('wpgmaps_user_marker_clusterer_js', wpgmaps_get_plugin_url() . '/js/markerclusterer.js', array(), "1.0", false);
                wp_enqueue_script('wpgmaps_user_marker_clusterer_js');
            }
            wp_enqueue_script('wpgmaps_core', plugins_url('wp-google-maps-pro') . '/js/core.js', array(), $wpgmza_pro_version . 'p', false);
            do_action("wpgooglemaps_hook_user_js_after_core");
            if (function_exists("wpgmaps_ugm_activate")) {
                global $wpgmza_ugm_version;
                wp_enqueue_script('wpgmaps_ugm_core', plugins_url('wp-google-maps-ugm') . '/js/ugm-core.js', array(), $wpgmza_ugm_version . 'vgm', false);
            }
            if (function_exists("wpgmaps_sl_activate")) {
                global $wpgmza_sl_version;
                wp_enqueue_script('wpgmaps_sl_core', plugins_url('wp-google-maps-store-locator') . '/js/sl-core.js', array(), $wpgmza_sl_version . 'sl', false);
            }
            global $wpgmza_pro_version;
            if (isset($wpgmza_settings['list_markers_by'])) {
            } else {
                $wpgmza_settings['list_markers_by'] = false;
            }
            if ($include_owl) {
                wp_register_script('owl_carousel', plugins_url('wp-google-maps-pro') . '/js/owl.carousel.min.js', array(), $wpgmza_pro_version . 'p', false);
                wp_enqueue_script('owl_carousel');
                wp_register_style('owl_carousel_style', plugins_url('wp-google-maps-pro') . '/css/owl.carousel.css');
                wp_enqueue_style('owl_carousel_style');
                wp_register_style('owl_carousel_style_theme', plugins_url('wp-google-maps-pro') . '/css/owl.theme.css');
                wp_enqueue_style('owl_carousel_style_theme');
                if (isset($wpgmza_settings['wpgmza_settings_carousel_markerlist_theme']) && $wpgmza_settings['wpgmza_settings_carousel_markerlist_theme'] == 'sky') {
                    wp_register_style('owl_carousel_style_theme_select', plugins_url('wp-google-maps-pro') . '/css/carousel_sky.css');
                    wp_enqueue_style('owl_carousel_style_theme_select');
                } else {
                    if (isset($wpgmza_settings['wpgmza_settings_carousel_markerlist_theme']) && $wpgmza_settings['wpgmza_settings_carousel_markerlist_theme'] == 'sun') {
                        wp_register_style('owl_carousel_style_theme_select', plugins_url('wp-google-maps-pro') . '/css/carousel_sun.css');
                        wp_enqueue_style('owl_carousel_style_theme_select');
                    } else {
                        if (isset($wpgmza_settings['wpgmza_settings_carousel_markerlist_theme']) && $wpgmza_settings['wpgmza_settings_carousel_markerlist_theme'] == 'earth') {
                            wp_register_style('owl_carousel_style_theme_select', plugins_url('wp-google-maps-pro') . '/css/carousel_earth.css');
                            wp_enqueue_style('owl_carousel_style_theme_select');
                        } else {
                            if (isset($wpgmza_settings['wpgmza_settings_carousel_markerlist_theme']) && $wpgmza_settings['wpgmza_settings_carousel_markerlist_theme'] == 'monotone') {
                                wp_register_style('owl_carousel_style_theme_select', plugins_url('wp-google-maps-pro') . '/css/carousel_monotone.css');
                                wp_enqueue_style('owl_carousel_style_theme_select');
                            } else {
                                if (isset($wpgmza_settings['wpgmza_settings_carousel_markerlist_theme']) && $wpgmza_settings['wpgmza_settings_carousel_markerlist_theme'] == 'pinkpurple') {
                                    wp_register_style('owl_carousel_style_theme_select', plugins_url('wp-google-maps-pro') . '/css/carousel_pinkpurple.css');
                                    wp_enqueue_style('owl_carousel_style_theme_select');
                                } else {
                                    if (isset($wpgmza_settings['wpgmza_settings_carousel_markerlist_theme']) && $wpgmza_settings['wpgmza_settings_carousel_markerlist_theme'] == 'white') {
                                        wp_register_style('owl_carousel_style_theme_select', plugins_url('wp-google-maps-pro') . '/css/carousel_white.css');
                                        wp_enqueue_style('owl_carousel_style_theme_select');
                                    } else {
                                        if (isset($wpgmza_settings['wpgmza_settings_carousel_markerlist_theme']) && $wpgmza_settings['wpgmza_settings_carousel_markerlist_theme'] == 'black') {
                                            wp_register_style('owl_carousel_style_theme_select', plugins_url('wp-google-maps-pro') . '/css/carousel_black.css');
                                            wp_enqueue_style('owl_carousel_style_theme_select');
                                        } else {
                                            wp_register_style('owl_carousel_style_theme_select', plugins_url('wp-google-maps-pro') . '/css/carousel_sky.css');
                                            wp_enqueue_style('owl_carousel_style_theme_select');
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
            wp_localize_script('wpgmaps_core', 'wpgmaps_localize', $res);
            wp_localize_script('wpgmaps_core', 'wpgmaps_localize_mashup_ids', $wpgmza_mashup_ids);
            if ($wpgmza_settings['wpgmza_settings_marker_pull'] == "0") {
                wp_localize_script('wpgmaps_core', 'wpgmaps_localize_marker_data', $marker_data_array);
            }
            wp_localize_script('wpgmaps_core', 'wpgmaps_localize_cat_ids', $wpgmza_current_map_cat_selection);
            if ($wpgmza_using_custom_fields) {
                wp_localize_script('wpgmaps_core', 'wpgmaps_localize_shortcode_data', $wpgmza_current_map_shortcode_data);
            }
            wp_localize_script('wpgmaps_core', 'wpgmaps_localize_map_types', $wpgmza_current_map_type);
            wp_localize_script('wpgmaps_core', 'wpgmaps_localize_global_settings', $wpgmza_settings);
            do_action("wpgooglemaps_hook_user_js_after_localize");
            // get polyline and polygon settings and localize it
            $polygonoptions = array();
            if (isset($wpgmza_short_code_array)) {
                foreach ($wpgmza_short_code_array as $wpgmza_cmd) {
                    if ($wpgmza_current_mashup) {
                        foreach ($wpgmza_mashup_ids as $wpgmza_tmp_plg_array) {
                            foreach ($wpgmza_tmp_plg_array as $wpgmza_tmp_plg) {
                                $total_poly_array = wpgmza_b_return_polygon_id_array($wpgmza_tmp_plg);
                                if ($total_poly_array > 0) {
                                    foreach ($total_poly_array as $poly_id) {
                                        $polygonoptions[$wpgmza_cmd][$poly_id] = wpgmza_b_return_poly_options($poly_id);
                                        $tmp_poly_array = wpgmza_b_return_polygon_array($poly_id);
                                        $poly_data_raw_array = array();
                                        foreach ($tmp_poly_array as $single_poly) {
                                            $poly_data_raw = str_replace(" ", "", $single_poly);
                                            $poly_data_raw = explode(",", $poly_data_raw);
                                            $lat = $poly_data_raw[0];
                                            $lng = $poly_data_raw[1];
                                            $poly_data_raw_array[] = $poly_data_raw;
                                        }
                                        $polygonoptions[$wpgmza_cmd][$poly_id]->polydata = $poly_data_raw_array;
                                        $linecolor = $polygonoptions[$wpgmza_cmd][$poly_id]->linecolor;
                                        $fillcolor = $polygonoptions[$wpgmza_cmd][$poly_id]->fillcolor;
                                        $fillopacity = $polygonoptions[$wpgmza_cmd][$poly_id]->opacity;
                                        if (!$linecolor) {
                                            $polygonoptions[$wpgmza_cmd][$poly_id]->linecolor = "000000";
                                        }
                                        if (!$fillcolor) {
                                            $polygonoptions[$wpgmza_cmd][$poly_id]->fillcolor = "66FF00";
                                        }
                                        if (!$fillopacity) {
                                            $polygonoptions[$wpgmza_cmd][$poly_id]->opacity = "0.5";
                                        }
                                    }
                                }
                            }
                        }
                    } else {
                        $total_poly_array = wpgmza_b_return_polygon_id_array($wpgmza_cmd);
                        if ($total_poly_array > 0) {
                            foreach ($total_poly_array as $poly_id) {
                                $polygonoptions[$wpgmza_cmd][$poly_id] = wpgmza_b_return_poly_options($poly_id);
                                $tmp_poly_array = wpgmza_b_return_polygon_array($poly_id);
                                $poly_data_raw_array = array();
                                foreach ($tmp_poly_array as $single_poly) {
                                    $poly_data_raw = str_replace(" ", "", $single_poly);
                                    $poly_data_raw = explode(",", $poly_data_raw);
                                    $lat = $poly_data_raw[0];
                                    $lng = $poly_data_raw[1];
                                    $poly_data_raw_array[] = $poly_data_raw;
                                }
                                $polygonoptions[$wpgmza_cmd][$poly_id]->polydata = $poly_data_raw_array;
                                $linecolor = $polygonoptions[$wpgmza_cmd][$poly_id]->linecolor;
                                $fillcolor = $polygonoptions[$wpgmza_cmd][$poly_id]->fillcolor;
                                $fillopacity = $polygonoptions[$wpgmza_cmd][$poly_id]->opacity;
                                if (!$linecolor) {
                                    $polygonoptions[$wpgmza_cmd][$poly_id]->linecolor = "000000";
                                }
                                if (!$fillcolor) {
                                    $polygonoptions[$wpgmza_cmd][$poly_id]->fillcolor = "66FF00";
                                }
                                if (!$fillopacity) {
                                    $polygonoptions[$wpgmza_cmd][$poly_id]->opacity = "0.5";
                                }
                            }
                        } else {
                            $polygonoptions = array();
                        }
                    }
                }
                $polylineoptions = array();
                foreach ($wpgmza_short_code_array as $wpgmza_cmd) {
                    if ($wpgmza_current_mashup) {
                        foreach ($wpgmza_mashup_ids as $wpgmza_tmp_plg_array) {
                            foreach ($wpgmza_tmp_plg_array as $wpgmza_tmp_plg) {
                                $total_poly_array = wpgmza_b_return_polyline_id_array($wpgmza_tmp_plg);
                                if ($total_poly_array > 0) {
                                    foreach ($total_poly_array as $poly_id) {
                                        $polylineoptions[$wpgmza_cmd][$poly_id] = wpgmza_b_return_polyline_options($poly_id);
                                        $tmp_poly_array = wpgmza_b_return_polyline_array($poly_id);
                                        $poly_data_raw_array = array();
                                        foreach ($tmp_poly_array as $single_poly) {
                                            $poly_data_raw = str_replace(" ", "", $single_poly);
                                            $poly_data_raw = str_replace(")", "", $poly_data_raw);
                                            $poly_data_raw = str_replace("(", "", $poly_data_raw);
                                            $poly_data_raw = explode(",", $poly_data_raw);
                                            $lat = $poly_data_raw[0];
                                            $lng = $poly_data_raw[1];
                                            $poly_data_raw_array[] = $poly_data_raw;
                                        }
                                        $polylineoptions[$wpgmza_cmd][$poly_id]->polydata = $poly_data_raw_array;
                                        if (isset($polylineoptions[$wpgmza_cmd][$poly_id]->linecolor)) {
                                            $linecolor = $polylineoptions[$wpgmza_cmd][$poly_id]->linecolor;
                                        } else {
                                            $linecolor = false;
                                        }
                                        if (isset($polylineoptions[$wpgmza_cmd][$poly_id]->fillcolor)) {
                                            $fillcolor = $polylineoptions[$wpgmza_cmd][$poly_id]->fillcolor;
                                        } else {
                                            $fillcolor = false;
                                        }
                                        if (isset($polylineoptions[$wpgmza_cmd][$poly_id]->opacity)) {
                                            $fillopacity = $polylineoptions[$wpgmza_cmd][$poly_id]->opacity;
                                        } else {
                                            $fillopacity = false;
                                        }
                                        if (!$linecolor) {
                                            $polylineoptions[$wpgmza_cmd][$poly_id]->linecolor = "000000";
                                        }
                                        if (!$fillcolor) {
                                            $polylineoptions[$wpgmza_cmd][$poly_id]->fillcolor = "66FF00";
                                        }
                                        if (!$fillopacity) {
                                            $polylineoptions[$wpgmza_cmd][$poly_id]->opacity = "0.5";
                                        }
                                    }
                                }
                            }
                        }
                    } else {
                        $total_poly_array = wpgmza_b_return_polyline_id_array($wpgmza_cmd);
                        if ($total_poly_array > 0) {
                            foreach ($total_poly_array as $poly_id) {
                                $polylineoptions[$wpgmza_cmd][$poly_id] = wpgmza_b_return_polyline_options($poly_id);
                                $tmp_poly_array = wpgmza_b_return_polyline_array($poly_id);
                                $poly_data_raw_array = array();
                                foreach ($tmp_poly_array as $single_poly) {
                                    $poly_data_raw = str_replace(" ", "", $single_poly);
                                    $poly_data_raw = str_replace(")", "", $poly_data_raw);
                                    $poly_data_raw = str_replace("(", "", $poly_data_raw);
                                    $poly_data_raw = explode(",", $poly_data_raw);
                                    $lat = $poly_data_raw[0];
                                    $lng = $poly_data_raw[1];
                                    $poly_data_raw_array[] = $poly_data_raw;
                                }
                                $polylineoptions[$wpgmza_cmd][$poly_id]->polydata = $poly_data_raw_array;
                                if (isset($polylineoptions[$wpgmza_cmd][$poly_id]->linecolor)) {
                                    $linecolor = $polylineoptions[$wpgmza_cmd][$poly_id]->linecolor;
                                } else {
                                    $linecolor = false;
                                }
                                if (isset($polylineoptions[$wpgmza_cmd][$poly_id]->fillcolor)) {
                                    $fillcolor = $polylineoptions[$wpgmza_cmd][$poly_id]->fillcolor;
                                } else {
                                    $fillcolor = false;
                                }
                                if (isset($polylineoptions[$wpgmza_cmd][$poly_id]->opacity)) {
                                    $fillopacity = $polylineoptions[$wpgmza_cmd][$poly_id]->opacity;
                                } else {
                                    $fillopacity = false;
                                }
                                if (!$linecolor) {
                                    $polylineoptions[$wpgmza_cmd][$poly_id]->linecolor = "000000";
                                }
                                if (!$fillcolor) {
                                    $polylineoptions[$wpgmza_cmd][$poly_id]->fillcolor = "66FF00";
                                }
                                if (!$fillopacity) {
                                    $polylineoptions[$wpgmza_cmd][$poly_id]->opacity = "0.5";
                                }
                            }
                        } else {
                            $polylineoptions = array();
                        }
                    }
                }
            }
            wp_localize_script('wpgmaps_core', 'wpgmaps_localize_polygon_settings', $polygonoptions);
            wp_localize_script('wpgmaps_core', 'wpgmaps_localize_polyline_settings', $polylineoptions);
            if (isset($wpgmza_settings['wpgmza_api_version'])) {
                $api_version = $wpgmza_settings['wpgmza_api_version'];
            } else {
                $api_version = "";
            }
            if (isset($api_version) && $api_version != "") {
                $api_version_string = "v={$api_version}&";
            } else {
                $api_version_string = "v=3.14&";
            }
            if (isset($wpgmza_settings['wpgmza_settings_marker_pull'])) {
                $marker_pull = $wpgmza_settings['wpgmza_settings_marker_pull'];
            } else {
                $marker_pull = "1";
            }
            ?>
        <script type="text/javascript">
            if (typeof window.google === 'object' && typeof window.google.maps === 'object') { } else {
                var gmapsJsHost = (("https:" == document.location.protocol) ? "https://" : "http://");
                document.write(unescape("%3Cscript src='" + gmapsJsHost + "maps.google.com/maps/api/js?<?php 
            echo $api_version_string;
            ?>
sensor=false&language=<?php 
            echo get_locale();
            ?>
&libraries=weather,places' type='text/javascript'%3E%3C/script%3E"));
            }
        </script>
        
        <script type="text/javascript" >
        <?php 
            $ajax_nonce_pro = wp_create_nonce("wpgmza_pro_ugm");
            ?>
    		wpgmaps_pro_nonce = '<?php 
            echo $ajax_nonce_pro;
            ?>
';
			wpgmaps_map_mashup = new Array();
            <?php 
            echo $mashup_js_string;
            ?>

            
            wpgmaps_plugurl = '<?php 
            echo wpgmaps_get_plugin_url();
            ?>
';
            var marker_pull = '<?php 
            echo $marker_pull;
            ?>
';

            <?php 
            global $wpgmza_version;
            if (floatval($wpgmza_version) < 6 || $wpgmza_version == "6.0.4" || $wpgmza_version == "6.0.3" || $wpgmza_version == "6.0.2" || $wpgmza_version == "6.0.1" || $wpgmza_version == "6.0.0") {
                if (is_multisite()) {
                    global $blog_id;
                    $wurl = wpgmaps_get_plugin_url() . "/" . $blog_id . "-";
                } else {
                    $wurl = wpgmaps_get_plugin_url() . "/";
                }
            } else {
                /* later versions store marker files in wp-content/uploads/wp-google-maps director */
                if (function_exists("wpgmza_return_marker_url")) {
                    if (get_option("wpgmza_xml_url") == "") {
                        add_option("wpgmza_xml_url", '{uploads_dir}/wp-google-maps/');
                    }
                    $xml_marker_url = wpgmza_return_marker_url();
                } else {
                    if (get_option("wpgmza_xml_url") == "") {
                        $upload_dir = wp_upload_dir();
                        add_option("wpgmza_xml_url", $upload_dir['baseurl'] . '/wp-google-maps/');
                    }
                    $xml_marker_url = get_option("wpgmza_xml_url");
                }
                if (is_multisite()) {
                    global $blog_id;
                    $wurl = $xml_marker_url . $blog_id . "-";
                } else {
                    $wurl = $xml_marker_url;
                }
            }
            if (isset($wpgmza_settings['wpgmza_settings_infowindow_link_text'])) {
                $wpgmza_settings_infowindow_link_text = $wpgmza_settings['wpgmza_settings_infowindow_link_text'];
            } else {
                $wpgmza_settings_infowindow_link_text = false;
            }
            if (!$wpgmza_settings_infowindow_link_text) {
                $wpgmza_settings_infowindow_link_text = __("More details", "wp-google-maps");
            }
            ?>
            
            wpgmaps_markerurl = '<?php 
            echo $wurl;
            ?>
';
            wpgmaps_lang_more_details = '<?php 
            echo $wpgmza_settings_infowindow_link_text;
            ?>
';
            wpgmaps_lang_get_dir = '<?php 
            _e("Get directions", "wp-google-maps");
            ?>
';
            wpgmaps_lang_my_location = '<?php 
            _e("My location", "wp-google-maps");
            ?>
';
            wpgmaps_lang_km_away = '<?php 
            _e("km away", "wp-google-maps");
            ?>
';
            wpgmaps_lang_m_away = '<?php 
            _e("miles away", "wp-google-maps");
            ?>
';
            wpgmaps_lang_directions = '<?php 
            _e("Directions", "wp-google-maps");
            ?>
';
            wpgmaps_lang_more_info = '<?php 
            echo $wpgmza_settings_infowindow_link_text;
            ?>
';
            <?php 
            if (get_locale() == "he_IL" || get_locale() == "fr_FR") {
                ?>
            wpgmaps_lang_error1 = '<?php 
                _e("Please fill out both the 'from' and 'to' fields", "wp-google-maps");
                ?>
';
            <?php 
            } else {
                ?>
            wpgmaps_lang_error1 = "<?php 
                _e("Please fill out both the 'from' and 'to' fields", "wp-google-maps");
                ?>
";
            <?php 
            }
            ?>
            <?php 
            if (get_locale() == "fr_FR") {
                ?>
            wpgmaps_lang_getting_location ="<?php 
                _e("Getting your current location address...", "wp-google-maps");
                ?>
";
            <?php 
            } else {
                ?>
            wpgmaps_lang_getting_location ='<?php 
                _e("Getting your current location address...", "wp-google-maps");
                ?>
';
            <?php 
            }
            ?>
            <?php 
            if (function_exists("wpgmaps_gold_activate")) {
                ?>
var wpgm_g_e = true; <?php 
            } else {
                ?>
var wpgm_g_e = false; <?php 
            }
            ?>

            var wpgm_dt_sLengthMenu = '<?php 
            _e('Show _MENU_ entries', 'wp-google-maps');
            ?>
';
            var wpgm_dt_sZeroRecords = '<?php 
            _e('Nothing found - sorry', 'wp-google-maps');
            ?>
';
            var wpgm_dt_sInfo = '<?php 
            _e('Showing _START_ to _END_ of _TOTAL_ records', 'wp-google-maps');
            ?>
';
            var wpgm_dt_sInfoEmpty = '<?php 
            _e('Showing 0 to 0 of 0 records', 'wp-google-maps');
            ?>
';
            var wpgm_dt_sInfoFiltered = '<?php 
            _e('(filtered from _MAX_ total records)', 'wp-google-maps');
            ?>
';
            var wpgm_dt_sFirst = '<?php 
            _e('First', 'wp-google-maps');
            ?>
';
            var wpgm_dt_sLast = '<?php 
            _e('Last', 'wp-google-maps');
            ?>
';
            var wpgm_dt_sNext = '<?php 
            _e('Next', 'wp-google-maps');
            ?>
';
            var wpgm_dt_sPrevious = '<?php 
            _e('Previous', 'wp-google-maps');
            ?>
';
            var wpgm_dt_sSearch = '<?php 
            _e('Search', 'wp-google-maps');
            ?>
';
            ajaxurl = '<?php 
            echo admin_url('admin-ajax.php');
            ?>
';
            
        <?php 
            if (function_exists("wpgmaps_ugm_activate")) {
                ?>
            var vgm_human_error_string = '<?php 
                _e("Please prove that you are human by checking the checkbox above", "wp-google-maps");
                ?>
';
            <?php 
                $ajax_nonce_ugm = wp_create_nonce("wpgmza_ugm");
                ?>
            var wpgmaps_nonce = '<?php 
                echo $ajax_nonce_ugm;
                ?>
';
            
        <?php 
            }
            ?>
</script>
<?php 
        }
    }
}