Google Maps Plugin by Intergeo - Version 1.1.0

Version Description

  • Updated instructions for adding Google Maps Api key
  • Added feedback mechanism
  • Fixed conflict with Uber Menu
  • Improved settings page
  • Fixed issue with long and lat addresses
Download this release

Release Info

Developer codeinwp
Plugin Icon 128x128 Google Maps Plugin by Intergeo
Version 1.1.0
Comparing to
See all releases

Code changes from version 1.0.6 to 1.1.0

freemius/assets/css/admin/license-activation.css ADDED
@@ -0,0 +1 @@
 
1
+ .fs-modal{position:fixed;overflow:auto;height:100%;width:100%;top:0;z-index:100000;display:none;background:rgba(0,0,0,0.6)}.fs-modal .fs-modal-dialog{background:transparent;position:absolute;left:50%;margin-left:-298px;padding-bottom:30px;top:-100%;z-index:100001;width:596px}@media (max-width: 650px){.fs-modal .fs-modal-dialog{margin-left:-50%;box-sizing:border-box;padding-left:10px;padding-right:10px;width:100%}.fs-modal .fs-modal-dialog .fs-modal-panel>h3>strong{font-size:1.3em}}.fs-modal.active{display:block}.fs-modal.active:before{display:block}.fs-modal.active .fs-modal-dialog{top:10%}.fs-modal .fs-modal-body,.fs-modal .fs-modal-footer{border:0;background:#fefefe;padding:20px}.fs-modal .fs-modal-body{border-bottom:0}.fs-modal .fs-modal-body input.license_key{width:100%}.fs-modal .fs-modal-body p{font-size:14px}.fs-modal .fs-modal-body h2{font-size:20px}.fs-modal .fs-modal-body>div{margin-top:10px}.fs-modal .fs-modal-body>div h2{font-weight:bold;font-size:20px;margin-top:0}.fs-modal .fs-modal-footer{border-top:#eeeeee solid 1px;text-align:right}.fs-modal .fs-modal-footer>.button{margin:0 7px}.fs-modal .fs-modal-footer>.button:first-child{margin:0}.fs-modal .fs-modal-panel:not(.active){display:none}body.has-fs-modal{overflow:hidden}
freemius/assets/scss/admin/license-activation.scss ADDED
@@ -0,0 +1,99 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ .fs-modal {
2
+ position: fixed;
3
+ overflow: auto;
4
+ height: 100%;
5
+ width: 100%;
6
+ top: 0;
7
+ z-index: 100000;
8
+ display: none;
9
+ background: rgba(0, 0, 0, 0.6);
10
+
11
+ .fs-modal-dialog {
12
+ background: transparent;
13
+ position: absolute;
14
+ left: 50%;
15
+ margin-left: -298px;
16
+ padding-bottom: 30px;
17
+ top: -100%;
18
+ z-index: 100001;
19
+ width: 596px;
20
+
21
+ @media (max-width: 650px) {
22
+ margin-left: -50%;
23
+ box-sizing: border-box;
24
+ padding-left: 10px;
25
+ padding-right: 10px;
26
+ width: 100%;
27
+
28
+ .fs-modal-panel > h3 > strong {
29
+ font-size: 1.3em;
30
+ }
31
+ }
32
+ }
33
+
34
+ &.active {
35
+ display: block;
36
+
37
+ &:before {
38
+ display: block;
39
+ }
40
+
41
+ .fs-modal-dialog {
42
+ top: 10%;
43
+ }
44
+ }
45
+
46
+ .fs-modal-body,
47
+ .fs-modal-footer {
48
+ border: 0;
49
+ background: #fefefe;
50
+ padding: 20px;
51
+ }
52
+
53
+ .fs-modal-body {
54
+ border-bottom: 0;
55
+
56
+ input.license_key {
57
+ width: 100%;
58
+ }
59
+
60
+ p {
61
+ font-size: 14px;
62
+ }
63
+
64
+ h2 {
65
+ font-size: 20px;
66
+ }
67
+
68
+ > div {
69
+ margin-top: 10px;
70
+
71
+ h2 {
72
+ font-weight: bold;
73
+ font-size: 20px;
74
+ margin-top: 0;
75
+ }
76
+ }
77
+ }
78
+
79
+ .fs-modal-footer {
80
+ border-top: #eeeeee solid 1px;
81
+ text-align: right;
82
+
83
+ > .button {
84
+ margin: 0 7px;
85
+
86
+ &:first-child {
87
+ margin: 0;
88
+ }
89
+ }
90
+ }
91
+
92
+ .fs-modal-panel:not(.active) {
93
+ display: none;
94
+ }
95
+ }
96
+
97
+ body.has-fs-modal {
98
+ overflow: hidden;
99
+ }
freemius/templates/debug/plugins-themes-sync.php ADDED
@@ -0,0 +1,68 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * @package Freemius
4
+ * @copyright Copyright (c) 2015, Freemius, Inc.
5
+ * @license http://opensource.org/licenses/gpl-2.0.php GNU Public License
6
+ * @since 1.1.7.3
7
+ */
8
+
9
+ if ( ! defined( 'ABSPATH' ) ) {
10
+ exit;
11
+ }
12
+
13
+ $fs_options = FS_Option_Manager::get_manager( WP_FS__ACCOUNTS_OPTION_NAME, true );
14
+ $all_plugins = $fs_options->get_option( 'all_plugins' );
15
+ $all_themes = $fs_options->get_option( 'all_themes' );
16
+ ?>
17
+ <h1><?php _efs( 'plugins-themes-sync' ) ?></h1>
18
+ <table class="widefat">
19
+ <thead>
20
+ <tr>
21
+ <th></th>
22
+ <th><?php _efs( 'total' ) ?></th>
23
+ <th><?php _efs( 'Last' ) ?></th>
24
+ </tr>
25
+ </thead>
26
+ <tbody>
27
+ <?php if ( is_object( $all_plugins ) ) : ?>
28
+ <tr>
29
+ <td><?php _efs( 'plugins' ) ?></td>
30
+ <td><?php echo count( $all_plugins->plugins ) ?></td>
31
+ <td><?php
32
+ if ( isset( $all_plugins->timestamp ) && is_numeric( $all_plugins->timestamp ) ) {
33
+ $diff = abs( WP_FS__SCRIPT_START_TIME - $all_plugins->timestamp );
34
+ $human_diff = ( $diff < MINUTE_IN_SECONDS ) ?
35
+ $diff . ' ' . __fs( 'sec' ) :
36
+ human_time_diff( WP_FS__SCRIPT_START_TIME, $all_plugins->timestamp );
37
+
38
+ if ( WP_FS__SCRIPT_START_TIME < $all_plugins->timestamp ) {
39
+ printf( __fs( 'in-x' ), $human_diff );
40
+ } else {
41
+ printf( __fs( 'x-ago' ), $human_diff );
42
+ }
43
+ }
44
+ ?></td>
45
+ </tr>
46
+ <?php endif ?>
47
+ <?php if ( is_object( $all_themes ) ) : ?>
48
+ <tr>
49
+ <td><?php _efs( 'themes' ) ?></td>
50
+ <td><?php echo count( $all_themes->themes ) ?></td>
51
+ <td><?php
52
+ if ( isset( $all_themes->timestamp ) && is_numeric( $all_themes->timestamp ) ) {
53
+ $diff = abs( WP_FS__SCRIPT_START_TIME - $all_themes->timestamp );
54
+ $human_diff = ( $diff < MINUTE_IN_SECONDS ) ?
55
+ $diff . ' ' . __fs( 'sec' ) :
56
+ human_time_diff( WP_FS__SCRIPT_START_TIME, $all_themes->timestamp );
57
+
58
+ if ( WP_FS__SCRIPT_START_TIME < $all_themes->timestamp ) {
59
+ printf( __fs( 'in-x' ), $human_diff );
60
+ } else {
61
+ printf( __fs( 'x-ago' ), $human_diff );
62
+ }
63
+ }
64
+ ?></td>
65
+ </tr>
66
+ <?php endif ?>
67
+ </tbody>
68
+ </table>
freemius/templates/license-activation-modal.php ADDED
@@ -0,0 +1,177 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * @package Freemius
4
+ * @copyright Copyright (c) 2015, Freemius, Inc.
5
+ * @license http://opensource.org/licenses/gpl-2.0.php GNU Public License
6
+ * @since 1.1.9
7
+ */
8
+
9
+ if ( ! defined( 'ABSPATH' ) ) {
10
+ exit;
11
+ }
12
+
13
+ $slug = $VARS['slug'];
14
+ $fs = freemius( $slug );
15
+
16
+ $message_above_input_field = __fs( 'activate-license-message', $slug );
17
+ $message_below_input_field = '';
18
+
19
+ if ( $fs->is_registered() ) {
20
+ $activate_button_text = __fs( $fs->is_free_plan() ? 'activate-license' : 'update-license', $slug );
21
+ } else {
22
+ $freemius_site_url = $fs->has_paid_plan() ?
23
+ 'https://freemius.com/wordpress/' :
24
+ // Insights platform information.
25
+ 'https://freemius.com/wordpress/usage-tracking/';
26
+
27
+ $freemius_link = '<a href="' . $freemius_site_url . '" target="_blank">freemius.com</a>';
28
+
29
+ $message_below_input_field = sprintf( __fs( 'license-sync-disclaimer', $slug ), $freemius_link );
30
+
31
+ $activate_button_text = __fs( 'agree-activate-license', $slug );
32
+ }
33
+
34
+ $license_key_text = __fs( 'license-key' , $slug );
35
+
36
+ $modal_content_html = <<< HTML
37
+ <p>{$message_above_input_field}</p>
38
+ <input class="license_key" type="text" placeholder="{$license_key_text}" />
39
+ <p>{$message_below_input_field}</p>
40
+ HTML;
41
+ ?>
42
+ <script type="text/javascript">
43
+ (function( $ ) {
44
+ $( document ).ready(function() {
45
+ var modalContentHtml = <?php echo json_encode($modal_content_html); ?>,
46
+ modalHtml =
47
+ '<div class="fs-modal">'
48
+ + ' <div class="fs-modal-dialog">'
49
+ + ' <div class="fs-modal-body">'
50
+ + ' <div class="fs-modal-panel active">' + modalContentHtml + '</div>'
51
+ + ' </div>'
52
+ + ' <div class="fs-modal-footer">'
53
+ + ' <a href="#" class="button button-secondary button-close"><?php _efs('deactivation-modal-button-cancel', $slug); ?></a>'
54
+ + ' <a href="#" class="button button-primary button-activate-license"><?php echo $activate_button_text; ?></a>'
55
+ + ' </div>'
56
+ + ' </div>'
57
+ + '</div>',
58
+ $modal = $(modalHtml),
59
+ $activateLicenseLink = $('span.activate-license.<?php echo $VARS['slug']; ?>').find('a');
60
+
61
+ $modal.appendTo($('body'));
62
+
63
+ registerEventHandlers();
64
+
65
+ function registerEventHandlers() {
66
+ $activateLicenseLink.click(function (evt) {
67
+ evt.preventDefault();
68
+
69
+ showModal();
70
+ });
71
+
72
+ $modal.on('input propertychange', 'input.license_key', function () {
73
+
74
+ var licenseKey = $(this).val().trim();
75
+
76
+ /**
77
+ * If license key is not empty, enable the license activation button.
78
+ */
79
+ if (licenseKey.length > 0) {
80
+ enableActivateLicenseButton();
81
+ }
82
+ });
83
+
84
+ $modal.on('blur', 'input.license_key', function () {
85
+ var licenseKey = $(this).val().trim();
86
+
87
+ /**
88
+ * If license key is empty, disable the license activation button.
89
+ */
90
+ if (0 === licenseKey.length) {
91
+ disableActivateLicenseButton();
92
+ }
93
+ });
94
+
95
+ $modal.on('click', '.button', function (evt) {
96
+ evt.preventDefault();
97
+
98
+ if ($(this).hasClass('disabled')) {
99
+ return;
100
+ }
101
+
102
+ var
103
+ activateButton = $('.button-activate-license'),
104
+ licenseKey = $('input.license_key').val().trim();
105
+
106
+ activateButton.addClass('disabled');
107
+
108
+ if (0 === licenseKey.length) {
109
+ return;
110
+ }
111
+
112
+ $.ajax({
113
+ url: ajaxurl,
114
+ method: 'POST',
115
+ data: {
116
+ 'action': 'activate-license',
117
+ 'license-key': licenseKey
118
+ },
119
+ beforeSend: function () {
120
+ activateButton.text('<?php _efs('activating-license', $slug); ?>');
121
+ },
122
+ complete: function () {
123
+ closeModal();
124
+ }
125
+ });
126
+ });
127
+
128
+ // If the user has clicked outside the window, close the modal.
129
+ $modal.on('click', function (evt) {
130
+ var $target = $(evt.target);
131
+
132
+ // If the user has clicked anywhere in the modal dialog, just return.
133
+ if ($target.hasClass('fs-modal-body') || $target.hasClass('fs-modal-footer')) {
134
+ return;
135
+ }
136
+
137
+ // If the user has not clicked the close button and the clicked element is inside the modal dialog, just return.
138
+ if (( !$target.hasClass('button-close') ) && ( $target.parents('.fs-modal-body').length > 0 || $target.parents('.fs-modal-footer').length > 0 )) {
139
+ return;
140
+ }
141
+
142
+ closeModal();
143
+ });
144
+ }
145
+
146
+ function showModal() {
147
+ resetModal();
148
+
149
+ // Display the dialog box.
150
+ $modal.addClass('active');
151
+ $('body').addClass('has-fs-modal');
152
+
153
+ $('input.license_key').focus();
154
+ }
155
+
156
+ function closeModal() {
157
+ $modal.removeClass('active');
158
+ $('body').removeClass('has-fs-modal');
159
+ }
160
+
161
+ function resetModal() {
162
+ $('input.license_key').val('');
163
+
164
+ enableActivateLicenseButton();
165
+ $modal.find('.button-activate-license').text('<?php echo $activate_button_text; ?>');
166
+ }
167
+
168
+ function enableActivateLicenseButton() {
169
+ $modal.find('.button-activate-license').removeClass('disabled');
170
+ }
171
+
172
+ function disableActivateLicenseButton() {
173
+ $modal.find('.button-activate-license').addClass('disabled');
174
+ }
175
+ });
176
+ })( jQuery );
177
+ </script>
index.php CHANGED
@@ -1,9 +1,9 @@
1
  <?php
2
  /*
3
- Plugin Name: Intergeo Maps - Google Maps Plugin
4
  Plugin URI: http://themeisle.com/plugins/intergeo-maps-lite/
5
  Description: A simple, easy and quite powerful Google Map tool to create, manage and embed custom Google Maps into your WordPress posts and pages. The plugin allows you to deeply customize look and feel of a map, add overlays like markers, rectangles, circles, polylines and polygons to your map. It could even be integraded with your Google Adsense account and show ad on your maps.
6
- Version: 1.0.6
7
  Author: Themeisle
8
  Author URI: http://themeisle.com
9
  License: GPL v2.0 or later
@@ -15,7 +15,7 @@ Domain Path: /languages
15
  // <editor-fold defaultstate="collapsed" desc="constants">
16
 
17
  define( 'INTERGEO_PLUGIN_NAME', 'intergeo' ); // don't change it whatever
18
- define( 'INTERGEO_VERSION', '1.0.6' );
19
  define( 'INTERGEO_ABSPATH', dirname( __FILE__ ) );
20
  define( 'INTERGEO_ABSURL', plugins_url( '/', __FILE__ ) );
21
  define( 'INTERGEO_PRO_URL', "http://themeisle.com/plugins/intergeo-maps-pro/" );
@@ -101,42 +101,42 @@ function intergeo_i18n(){
101
 
102
  // <editor-fold defaultstate="collapsed" desc="settings">
103
 
104
- add_filter( 'whitelist_options', 'intergeo_whitelist_options' );
105
- function intergeo_whitelist_options( $whitelist ) {
106
- $whitelist['media'][] = 'intergeo_map_api_key';
107
- $whitelist['media'][] = 'intergeo_adsense_publisher_id';
108
- return $whitelist;
109
- }
110
-
111
- add_action( 'admin_init', 'intergeo_settings_init' );
112
  function intergeo_settings_init() {
113
- register_setting( 'media', 'intergeo-settings-map-api-key', 'trim' );
114
- add_settings_section( 'intergeo-settings-maps', 'Intergeo Google Maps', 'intergeo_settings_init_map', 'media' );
115
- add_settings_field( 'intergeo_map_api_key', __('Maps API Key', INTERGEO_PLUGIN_NAME), 'intergeo_settings_print_field', 'media', 'intergeo-settings-maps', array(
 
 
 
 
 
 
116
  '<input type="text" name="%s" value="%s" class="regular-text">',
117
  'intergeo_map_api_key',
118
  esc_attr( get_option( 'intergeo_map_api_key' ) ),
119
  ) );
120
 
121
- register_setting( 'media', 'intergeo_adsense_publisher_id', 'trim' );
122
- add_settings_section( 'intergeo-settings-adsense', __('Intergeo Google Maps AdSense Integration', INTERGEO_PLUGIN_NAME), 'intergeo_settings_init_adsense', 'media' );
123
- add_settings_field( 'intergeo_adsense_publisher_id', __('AdSense Publisher Id', INTERGEO_PLUGIN_NAME), 'intergeo_settings_print_field', 'media', 'intergeo-settings-adsense', array(
124
  '<input type="text" name="%s" value="%s" class="regular-text">',
125
  'intergeo_adsense_publisher_id',
126
  esc_attr( get_option( 'intergeo_adsense_publisher_id' ) ),
127
  ) );
 
 
 
 
 
 
128
  }
129
 
130
  function intergeo_settings_init_map() {
131
  ?><p><?php
132
- printf( esc_html__( "All Maps API applications should load the Maps API using an API key (however it is still possible to use maps without API key). Using an API key enables you to monitor your application's Maps API usage, and ensures that Google can contact you about your application if necessary. If your application's Maps API usage exceeds the %sUsage Limits%s, you must load the Maps API using an API key in order to purchase additional quota. To create your API key:", INTERGEO_PLUGIN_NAME ), '<a href="https://developers.google.com/maps/documentation/javascript/usage#usage_limits" target="_blank">', '</a>' );
133
  ?></p>
134
- <ol>
135
- <li><?php printf( esc_html__( "Visit the APIs Console at %shttps://code.google.com/apis/console%s and log in with your Google Account.", INTERGEO_PLUGIN_NAME ), '<a href="https://code.google.com/apis/console" target="_blank">', '</a>' ) ?></li>
136
- <li><?php printf( esc_html__( 'Click the %sServices%s link from the left-hand menu.', INTERGEO_PLUGIN_NAME ), '<b>', '</b>' ) ?></li>
137
- <li><?php printf( esc_html__( 'Activate the %sGoogle Maps API v3%s service.', INTERGEO_PLUGIN_NAME ), '<b>', '</b>' ) ?></li>
138
- <li><?php printf( esc_html__( 'Click the %1$sAPI Access%2$s link from the left-hand menu. Your API key is available from the %1$sAPI Access%2$s page, in the %1$Simple API Access%2$s section. Maps API applications use the %1$sKey for browser apps%2$s.', INTERGEO_PLUGIN_NAME ), '<b>', '</b>' ) ?></li>
139
- </ol>
140
  <?php
141
  }
142
 
@@ -174,8 +174,6 @@ function intergeo_enqueue_google_maps_script( $libraries = false ) {
174
 
175
  $lang = explode( '_', WPLANG ? WPLANG : 'en_US' );
176
  $params = array(
177
- 'v' => '3.10',
178
- 'sensor' => 'false',
179
  'region' => isset( $lang[1] ) ? $lang[1] : 'US',
180
  'language' => $lang[0],
181
  );
@@ -189,8 +187,8 @@ function intergeo_enqueue_google_maps_script( $libraries = false ) {
189
  $params['key'] = $api_key;
190
  }
191
 
192
- wp_enqueue_script( 'google-maps-v3', '//maps.googleapis.com/maps/api/js?' . http_build_query( $params ), array(), null );
193
-
194
  }
195
  }
196
 
@@ -730,6 +728,8 @@ add_filter( 'term_description', 'do_shortcode' );
730
 
731
  add_shortcode( INTERGEO_PLUGIN_NAME, 'intergeo_shortcode' );
732
  function intergeo_shortcode( $attrs, $address = '' ) {
 
 
733
  $args = shortcode_atts( array(
734
  'id' => false,
735
  'hook' => false,
@@ -825,7 +825,8 @@ function intergeo_shortcode( $attrs, $address = '' ) {
825
 
826
  add_action( 'admin_menu', 'intergeo_admin_menu' );
827
  function intergeo_admin_menu() {
828
- $page = add_submenu_page( 'upload.php', 'Intergeo Maps Library', 'Intergeo Maps', 'edit_posts', INTERGEO_PLUGIN_NAME, 'intergeo_library' );
 
829
  if ( $page ) {
830
  add_action( "load-{$page}", 'intergeo_library_init' );
831
  }
@@ -988,8 +989,10 @@ function intergeo_enqueue_scripts()
988
  wp_enqueue_script( 'intergeo-misc', INTERGEO_ABSURL . 'js/misc.js', array( 'jquery' ), INTERGEO_VERSION );
989
  wp_localize_script( 'intergeo-misc', 'intergeo_misc', array(
990
  "ajax" => array(
991
- "action" => "intergeo_dismiss_nag",
992
- "nonce" => wp_create_nonce(INTERGEO_PLUGIN_NAME . INTERGEO_VERSION),
 
 
993
  )
994
  ));
995
  }
@@ -1013,3 +1016,217 @@ function intergeo_show_nag()
1013
  // Added by Ash/Upwork
1014
 
1015
  // </editor-fold>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
  <?php
2
  /*
3
+ Plugin Name: Intergeo Lite- Google Maps Plugin
4
  Plugin URI: http://themeisle.com/plugins/intergeo-maps-lite/
5
  Description: A simple, easy and quite powerful Google Map tool to create, manage and embed custom Google Maps into your WordPress posts and pages. The plugin allows you to deeply customize look and feel of a map, add overlays like markers, rectangles, circles, polylines and polygons to your map. It could even be integraded with your Google Adsense account and show ad on your maps.
6
+ Version: 1.1.0
7
  Author: Themeisle
8
  Author URI: http://themeisle.com
9
  License: GPL v2.0 or later
15
  // <editor-fold defaultstate="collapsed" desc="constants">
16
 
17
  define( 'INTERGEO_PLUGIN_NAME', 'intergeo' ); // don't change it whatever
18
+ define( 'INTERGEO_VERSION', '1.1.0' );
19
  define( 'INTERGEO_ABSPATH', dirname( __FILE__ ) );
20
  define( 'INTERGEO_ABSURL', plugins_url( '/', __FILE__ ) );
21
  define( 'INTERGEO_PRO_URL', "http://themeisle.com/plugins/intergeo-maps-pro/" );
101
 
102
  // <editor-fold defaultstate="collapsed" desc="settings">
103
 
 
 
 
 
 
 
 
 
104
  function intergeo_settings_init() {
105
+ if (isset($_POST["sb-intergeo"]) && wp_verify_nonce($_POST["intergeo-nonce"], "intergeo-settings")) {
106
+ update_option( 'intergeo_map_api_key', sanitize_text_field($_POST['intergeo_map_api_key']) );
107
+ update_option( 'intergeo_adsense_publisher_id', sanitize_text_field($_POST['intergeo_adsense_publisher_id']) );
108
+ }
109
+
110
+ echo "<form method='post' action=''>";
111
+ register_setting( 'intergeo', 'intergeo-settings-map-api-key', 'trim' );
112
+ add_settings_section( 'intergeo-settings-maps', __('Intergeo Google Maps', INTERGEO_PLUGIN_NAME), 'intergeo_settings_init_map', INTERGEO_PLUGIN_NAME );
113
+ add_settings_field( 'intergeo_map_api_key', __('Maps API Key', INTERGEO_PLUGIN_NAME), 'intergeo_settings_print_field', INTERGEO_PLUGIN_NAME, 'intergeo-settings-maps', array(
114
  '<input type="text" name="%s" value="%s" class="regular-text">',
115
  'intergeo_map_api_key',
116
  esc_attr( get_option( 'intergeo_map_api_key' ) ),
117
  ) );
118
 
119
+ register_setting( 'intergeo', 'intergeo_adsense_publisher_id', 'trim' );
120
+ add_settings_section( 'intergeo-settings-adsense', __('Intergeo Google Maps AdSense Integration', INTERGEO_PLUGIN_NAME), 'intergeo_settings_init_adsense', INTERGEO_PLUGIN_NAME );
121
+ add_settings_field( 'intergeo_adsense_publisher_id', __('AdSense Publisher Id', INTERGEO_PLUGIN_NAME), 'intergeo_settings_print_field', INTERGEO_PLUGIN_NAME, 'intergeo-settings-adsense', array(
122
  '<input type="text" name="%s" value="%s" class="regular-text">',
123
  'intergeo_adsense_publisher_id',
124
  esc_attr( get_option( 'intergeo_adsense_publisher_id' ) ),
125
  ) );
126
+
127
+ do_settings_sections(INTERGEO_PLUGIN_NAME);
128
+ submit_button(__("Save Changes", INTERGEO_PLUGIN_NAME), "primary", "sb-intergeo");
129
+ wp_nonce_field("intergeo-settings", "intergeo-nonce");
130
+
131
+ echo "</form>";
132
  }
133
 
134
  function intergeo_settings_init_map() {
135
  ?><p><?php
136
+ printf( esc_html__(' Below shows how to find your API Key, after retrieving your key add it to the "Maps API Key" input box.', INTERGEO_PLUGIN_NAME ) );
137
  ?></p>
138
+
139
+ <iframe width="560" height="315" src="https://www.youtube.com/embed/gbFDMBGPCcs" frameborder="0" allowfullscreen></iframe>
 
 
 
 
140
  <?php
141
  }
142
 
174
 
175
  $lang = explode( '_', WPLANG ? WPLANG : 'en_US' );
176
  $params = array(
 
 
177
  'region' => isset( $lang[1] ) ? $lang[1] : 'US',
178
  'language' => $lang[0],
179
  );
187
  $params['key'] = $api_key;
188
  }
189
 
190
+ if (wp_script_is("google-maps")) wp_dequeue_script("google-maps");
191
+ wp_enqueue_script( 'google-maps-v3', '//maps.googleapis.com/maps/api/js?' . http_build_query( $params ), array(), null );
192
  }
193
  }
194
 
728
 
729
  add_shortcode( INTERGEO_PLUGIN_NAME, 'intergeo_shortcode' );
730
  function intergeo_shortcode( $attrs, $address = '' ) {
731
+ do_action("intergeo_shortcode_render_before", $attrs);
732
+
733
  $args = shortcode_atts( array(
734
  'id' => false,
735
  'hook' => false,
825
 
826
  add_action( 'admin_menu', 'intergeo_admin_menu' );
827
  function intergeo_admin_menu() {
828
+ add_options_page( __('Intergeo Maps Library', INTERGEO_PLUGIN_NAME), __('Intergeo Maps', INTERGEO_PLUGIN_NAME), 'edit_posts', INTERGEO_PLUGIN_NAME, 'intergeo_settings_init' );
829
+ $page = add_submenu_page( 'upload.php', __('Intergeo Maps Library', INTERGEO_PLUGIN_NAME), __('Intergeo Maps', INTERGEO_PLUGIN_NAME), 'edit_posts', INTERGEO_PLUGIN_NAME, 'intergeo_library' );
830
  if ( $page ) {
831
  add_action( "load-{$page}", 'intergeo_library_init' );
832
  }
989
  wp_enqueue_script( 'intergeo-misc', INTERGEO_ABSURL . 'js/misc.js', array( 'jquery' ), INTERGEO_VERSION );
990
  wp_localize_script( 'intergeo-misc', 'intergeo_misc', array(
991
  "ajax" => array(
992
+ "action" => "intergeo_dismiss_nag",
993
+ "themeisle_feedback_action" => "themeisle_feedback_dismiss_nag",
994
+ "themeisle_feedback_slug" => INTERGEO_PLUGIN_NAME,
995
+ "nonce" => wp_create_nonce(INTERGEO_PLUGIN_NAME . INTERGEO_VERSION),
996
  )
997
  ));
998
  }
1016
  // Added by Ash/Upwork
1017
 
1018
  // </editor-fold>
1019
+
1020
+ // Added by Ash/Upwork
1021
+ register_activation_hook(__FILE__ , "intergeo_activate");
1022
+ function intergeo_activate()
1023
+ {
1024
+ if (get_option("intergeo-activation-date", false) === false) {
1025
+ update_option("intergeo-activation-date", time());
1026
+ }
1027
+ }
1028
+
1029
+ add_action("admin_init", "intergeo_init_triggered_feedback");
1030
+ function intergeo_init_triggered_feedback()
1031
+ {
1032
+ /*
1033
+ array(
1034
+ "name_of_trigger_filter_that_returns_true" => array(
1035
+ "behaviour" => array(
1036
+ "show_when" => strtotime compliant time,
1037
+ "show_where" => "name_of_filter"
1038
+ ),
1039
+ "notifications" => array(
1040
+ array(
1041
+ "description" => mandatory, dont show the notification if this is empty,
1042
+ "button_ok_link" => mandatory, dont show the notification if this is empty,
1043
+ "button_ok_text" => mandatory, dont show the notification if thihs is empty,
1044
+ "button_hide_text" => optional, default value is 'Hide',
1045
+ "button_done_text" => optional, default value is "I've already done it"
1046
+ ),
1047
+ )
1048
+ )
1049
+ )
1050
+ */
1051
+ $feedback_config = array(
1052
+ "intergeo_created_3_maps" => array(
1053
+ "behaviour" => array(
1054
+ "show_when" => "+6 hours",
1055
+ "show_where" => "intergeo_triggered_feedback_show_notification_filter"
1056
+ ),
1057
+ "notifications" => array(
1058
+ array(
1059
+ "description" => "Hey, it seems you are doing great creating maps using the Intergeo plugin. Would you like to share you experience with other users who are using it ?",
1060
+ "button_ok_link" => "http://bit.ly/2btLtsk",
1061
+ "button_ok_text" => "I'd love to do it :D ",
1062
+ "button_hide_text" => "Not now :(",
1063
+ "button_done_text" => "Already done it :) ",
1064
+ ),
1065
+ array(
1066
+ "description" => "Hey, <br/> It seems you created a bunch of maps using the Intergeo plugin. Would you like to share you experience with other users who are using the plugin ? ",
1067
+ "button_ok_link" => "http://bit.ly/2c11uJ0",
1068
+ "button_ok_text" => "Sure ",
1069
+ "button_hide_text" => "Not really",
1070
+ "button_done_text" => "Done that ",
1071
+ ),
1072
+ )
1073
+ ),
1074
+ "intergeo_plugin_1week_old" => array(
1075
+ "behaviour" => array(
1076
+ "show_when" => "+6 hours",
1077
+ "show_where" => "intergeo_triggered_feedback_show_notification_filter"
1078
+ ),
1079
+ "notifications" => array(
1080
+ array(
1081
+ "description" => "Hey, you are using Intergeo for a great amount of time and we would love to get your review about the experience using it in order to improve the future versions. Would you like to share your feedback with us ? ",
1082
+ "button_ok_link" => "http://bit.ly/2bkAJuE",
1083
+ "button_ok_text" => "Sure, i would like to help ",
1084
+ "button_hide_text" => "Not now",
1085
+ "button_done_text" => "Already sent it",
1086
+ ),
1087
+ )
1088
+ ),
1089
+ "intergeo_map_frontend_display" => array(
1090
+ "behaviour" => array(
1091
+ "show_when" => "+6 hours",
1092
+ "show_where" => "intergeo_triggered_feedback_show_notification_filter"
1093
+ ),
1094
+ "notifications" => array(
1095
+ array(
1096
+ "description" => "Hey, it seems you are already using the Intergeo maps shortcode in your site and your users are enjoying it. What do you think of sharing your experience with us ? ",
1097
+ "button_ok_link" => "http://bit.ly/2bSh5HC",
1098
+ "button_ok_text" => "Sure ",
1099
+ "button_hide_text" => "Not now",
1100
+ "button_done_text" => "I've already done it",
1101
+ ),
1102
+ )
1103
+ ),
1104
+ );
1105
+
1106
+
1107
+ // add the configuration with the slug and trigger the generic action
1108
+ do_action("themeisle_triggered_feedback_add_config", $feedback_config, INTERGEO_PLUGIN_NAME);
1109
+ }
1110
+
1111
+ add_action("themeisle_triggered_feedback_add_config", "themeisle_triggered_feedback_add_config", 10, 2);
1112
+ function themeisle_triggered_feedback_add_config($config, $slug)
1113
+ {
1114
+ global $pagenow;
1115
+
1116
+ $trigger_time = $slug . "-triggered-feedback-time";
1117
+ $trigger_type = $slug . "-triggered-feedback-type";
1118
+ $fuse_lit = get_option($trigger_time, false);
1119
+
1120
+ if ($fuse_lit !== false) {
1121
+ if (ctype_digit($fuse_lit) && $fuse_lit != -1 && time() >= $fuse_lit) {
1122
+ // it is time to explode
1123
+ $trigger = get_option($trigger_type);
1124
+ $attributes = $config[$trigger];
1125
+ if (apply_filters($attributes["behaviour"]["show_where"], $pagenow) === true) {
1126
+ $notification = $attributes["notifications"][rand(0, count($attributes["notifications"]) - 1)];
1127
+ do_action("themeisle_triggered_feedback_show_notification", $notification, $slug);
1128
+ }
1129
+ }
1130
+ } else {
1131
+ foreach ($config as $trigger=>$attributes) {
1132
+ $pull_trigger = apply_filters($trigger, false);
1133
+ if ($pull_trigger === true) {
1134
+ // light fuse
1135
+ update_option($trigger_time, strtotime($attributes["behaviour"]["show_when"]));
1136
+ update_option($trigger_type, $trigger);
1137
+ }
1138
+ }
1139
+ }
1140
+ }
1141
+
1142
+ global $themeisle_notification;
1143
+
1144
+ add_action("themeisle_triggered_feedback_show_notification", "themeisle_triggered_feedback_show_notification", 10, 2);
1145
+ function themeisle_triggered_feedback_show_notification($notification, $slug)
1146
+ {
1147
+ global $themeisle_notification;
1148
+
1149
+ if (
1150
+ !isset($notification["description"]) || empty($notification["description"])
1151
+ || !isset($notification["button_ok_link"]) || empty($notification["button_ok_link"])
1152
+ || !isset($notification["button_ok_text"]) || empty($notification["button_ok_text"])
1153
+ ) return;
1154
+
1155
+ if (!isset($notification["button_hide_text"]) || empty($notification["button_hide_text"])) {
1156
+ $notification["button_hide_text"] = __("Hide", INTERGEO_PLUGIN_NAME);
1157
+ }
1158
+ if (!isset($notification["button_done_text"]) || empty($notification["button_done_text"])) {
1159
+ $notification["button_done_text"] = __("I've already done it", INTERGEO_PLUGIN_NAME);
1160
+ }
1161
+
1162
+ $themeisle_notification = '
1163
+ <style type="text/css">.ti-feedback-notice .themeisle-feedback-click { margin-left:5px; }</style><div class="updated activated notice is-dismissible themeisle_triggered_feedback_nag">'
1164
+ . '<p>' . $notification["description"] . '</p>'
1165
+ . '<p class="ti-feedback-notice"><a href="' . $notification["button_ok_link"] . '" target="_new"><input type="button" class="button button-secondary themeisle-feedback-click" value="' . $notification["button_ok_text"] . '"></a>'
1166
+ . '<input type="button" class="button button-secondary themeisle-feedback-click" value="' . $notification["button_hide_text"] . '">'
1167
+ . '<input type="button" class="button button-secondary themeisle-feedback-click" value="' . $notification["button_done_text"] . '">'
1168
+ . '</p></div>';
1169
+
1170
+ add_action("admin_notices", "themeisle_triggered_feedback_show_admin_notice");
1171
+ }
1172
+
1173
+ function themeisle_triggered_feedback_show_admin_notice()
1174
+ {
1175
+ global $themeisle_notification;
1176
+
1177
+ echo $themeisle_notification;
1178
+ }
1179
+
1180
+ add_action( 'wp_ajax_themeisle_feedback_dismiss_nag', 'themeisle_feedback_dismiss_nag' );
1181
+ function themeisle_feedback_dismiss_nag() {
1182
+ check_ajax_referer(INTERGEO_PLUGIN_NAME . INTERGEO_VERSION, "security");
1183
+
1184
+ update_option(sanitize_text_field($_REQUEST["slug"]) . "-triggered-feedback-time", -1);
1185
+ wp_die();
1186
+ }
1187
+
1188
+ add_filter("intergeo_triggered_feedback_show_notification_filter", "intergeo_triggered_feedback_show_notification_filter");
1189
+ function intergeo_triggered_feedback_show_notification_filter($pagenow)
1190
+ {
1191
+ return ($pagenow == 'upload.php' || $pagenow == 'options-general.php') && isset($_GET["page"]) && $_GET["page"] == INTERGEO_PLUGIN_NAME;
1192
+ }
1193
+
1194
+ add_filter("intergeo_created_3_maps", "intergeo_created_3_maps");
1195
+ function intergeo_created_3_maps()
1196
+ {
1197
+ $maps = get_posts(array(
1198
+ 'post_type' => INTERGEO_PLUGIN_NAME,
1199
+ 'posts_per_page' => 4,
1200
+ 'post_status' => 'private',
1201
+ ) );
1202
+
1203
+ return count($maps) > 3;
1204
+
1205
+ }
1206
+
1207
+ add_filter("intergeo_plugin_1week_old", "intergeo_plugin_1week_old");
1208
+ function intergeo_plugin_1week_old()
1209
+ {
1210
+ $activation_date = get_option("intergeo-activation-date", false);
1211
+ if ($activation_date !== false) {
1212
+ return ((time() - $activation_date) >= 7 * 24 * 60 * 60);
1213
+ }
1214
+ return false;
1215
+ }
1216
+
1217
+ add_filter("intergeo_map_frontend_display", "intergeo_map_frontend_display");
1218
+ function intergeo_map_frontend_display()
1219
+ {
1220
+ return get_option("intergeo-frontend-used", 0) > 0;
1221
+ }
1222
+
1223
+ add_action("intergeo_shortcode_render_before", "intergeo_shortcode_render_before");
1224
+ function intergeo_shortcode_render_before($atts)
1225
+ {
1226
+ // set a flag if the map has been shown on the front end
1227
+ if (!is_admin() && get_option("intergeo-frontend-used", 0) != 1) {
1228
+ update_option("intergeo-frontend-used", 1);
1229
+ }
1230
+ }
1231
+ // Added by Ash/Upwork
1232
+
js/editor.js CHANGED
@@ -223,7 +223,7 @@ if (!window.intergeo.maps) {
223
  loc = c.trim(g.find("input[name='intergeo_tlbr_marker_address_hidden']").val());
224
 
225
  var str = new RegExp("^[0-9\., \-]*$");
226
- if(str.length > 0 && str.test(loc1)){
227
  var pos = c.trim(g.find(".intergeo_tlbr_marker_address").val()).split(",");
228
  ig_latlng = new b.LatLng(c.trim(pos[0]), c.trim(pos[1]));
229
  loc = ig_latlng.toUrlValue();
223
  loc = c.trim(g.find("input[name='intergeo_tlbr_marker_address_hidden']").val());
224
 
225
  var str = new RegExp("^[0-9\., \-]*$");
226
+ if(loc1.length > 0 && str.test(loc1)){
227
  var pos = c.trim(g.find(".intergeo_tlbr_marker_address").val()).split(",");
228
  ig_latlng = new b.LatLng(c.trim(pos[0]), c.trim(pos[1]));
229
  loc = ig_latlng.toUrlValue();
js/misc.js CHANGED
@@ -8,4 +8,26 @@
8
  }
9
  });
10
  });
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
11
  })(jQuery, intergeo_misc)
8
  }
9
  });
10
  });
11
+
12
+ $(document).on('click', '.themeisle_triggered_feedback_nag .notice-dismiss', function(e){
13
+ themeisle_dismiss_feedback_nag();
14
+ });
15
+
16
+ $(document).on('click','.themeisle-feedback-click', function(e){
17
+
18
+ themeisle_dismiss_feedback_nag();
19
+ $('.themeisle_triggered_feedback_nag').remove();
20
+ });
21
+
22
+ function themeisle_dismiss_feedback_nag(){
23
+ $.ajax({
24
+ url: ajaxurl,
25
+ data: {
26
+ 'action' : im.ajax["themeisle_feedback_action"],
27
+ 'slug' : im.ajax["themeisle_feedback_slug"],
28
+ 'security' : im.ajax["nonce"]
29
+ }
30
+ });
31
+ }
32
+
33
  })(jQuery, intergeo_misc)
readme.txt CHANGED
@@ -1,8 +1,8 @@
1
- === WordPress Google Maps Plugin ===
2
  Contributors: codeinwp,marius2012,marius_codeinwp,hardeepasrani,themeisle,Madalin_ThemeIsle
3
  Tags: directions, easy map, google, google map, google map plugin, google maps, latitude, location, longitude, map, map directions, map markers, map plugin, map widget, maps, marker, polygons, polylines, routes, store locator, streetview, wp google map, wp google maps, wp maps,plugin,admin,widget,shortcode,google maps, maps, map, map markers, google, google map, maps api, wp maps, wp google maps, easy map, embed, marker, placemark, icon, geocode, shortcode, custom post type, multisite, marker clustering
4
  Requires at least: 3.5
5
- Tested up to: 4.5.2
6
  Stable tag: trunk
7
  License: GPL v2.0 or later
8
  License URI: http://www.opensource.org/licenses/gpl-license.php
@@ -12,7 +12,7 @@ A simple, easy and quite powerful Google Maps tool to create, manage and embed c
12
  == Description ==
13
 
14
  The Intergeo Google Maps WordPress plugin is a simple, easy and in the same time quite powerful tool for handling Google Maps in your website. This simple WordPress map plugin allow users to create new maps by using powerful UI builder. Created maps could be easily edited and saved with new settings. To increase the speed of creation process the plugin has ability to clone a map with all it's settings. Finally the plugin has attractive library which allows users to browse all maps in the system and delete unnecessary maps.
15
- We've also built some fantastic <a href="http://themeisle.com/wordpress-themes/business/" rel="friend" target="_blank">business themes</a> that integrate with Intergeo Google Maps perfectly, check them out.
16
 
17
  The powerful UI builder allows users to:
18
 
@@ -61,7 +61,7 @@ So your shortcode could looks like this one:
61
 
62
  `[intergeo zoom=”12” width=”50%” heigth=”400px” style=”border: 3px solid red; margin: 0 auto;”]Central Park, NY[/intergeo]`
63
 
64
- Check-out the <a href="http://themeisle.com/plugins/intergeo-maps-lite/" rel="frield">#1 free Google Maps plugin</a>
65
 
66
  ### Create map with UI builder ###
67
 
@@ -85,17 +85,17 @@ Also users can create a Google map from library page. To do it just click on **A
85
 
86
  **About us:**
87
 
88
- We are a young team of WordPress enthusiasts who enjoy developing <a href="http://themeisle.com/wordpress-plugins/" rel="friend" target="_blank">free WordPress plugins</a> and <a href="http://themeisle.com/wordpress-themes/" rel="friend" target="_blank">themes</a> for small businesses and startups. Check them out and let us know what you think, our goal is to build fully fledged products that will solve your needs.
89
 
90
- We also love to blog at CodeinWP and help our users finding the <a href="http://www.codeinwp.com/blog/best-wordpress-shared-hosting-providers/" rel="friend">best hosting</a> or <a href="http://justfreethemes.com/" rel="friend">themes</a>.
91
 
92
  **More from us**
93
 
94
- - <a href="http://justfreethemes.com/" rel="friend" target="_blank">JustFreeThemes</a> - Find the best free WordPress Themes
95
- - <a href="http://www.codeinwp.com/" rel="friend" target="_blank">CodeinWP</a> - Turn your PSD file into a WordPress Theme
96
- - <a href="http://revive.social/" rel="friend" target="_blank">Revive.Social</a> - WordPress plugins for Social Media marketers
97
 
98
- Check-out the <a href="http://www.codeinwp.com/blog/intergeo-maps-plugin-review/" target="_blank" rel="friend">Intergeo review</a> and find out some of the <a href="http://www.codeinwp.com/blog/top-non-obvious-wordpress-plugins/" target="_blank" rel="friend">best WordPress plugins</a>.
99
 
100
  == Installation ==
101
 
@@ -134,6 +134,15 @@ function filter_intergeo_map_settings( $options ) {
134
 
135
  == Changelog ==
136
 
 
 
 
 
 
 
 
 
 
137
  = 1.0.5 =
138
 
139
  * Added information for map new installs
1
+ === WordPress Google Maps Plugin Lite ===
2
  Contributors: codeinwp,marius2012,marius_codeinwp,hardeepasrani,themeisle,Madalin_ThemeIsle
3
  Tags: directions, easy map, google, google map, google map plugin, google maps, latitude, location, longitude, map, map directions, map markers, map plugin, map widget, maps, marker, polygons, polylines, routes, store locator, streetview, wp google map, wp google maps, wp maps,plugin,admin,widget,shortcode,google maps, maps, map, map markers, google, google map, maps api, wp maps, wp google maps, easy map, embed, marker, placemark, icon, geocode, shortcode, custom post type, multisite, marker clustering
4
  Requires at least: 3.5
5
+ Tested up to: 4.6
6
  Stable tag: trunk
7
  License: GPL v2.0 or later
8
  License URI: http://www.opensource.org/licenses/gpl-license.php
12
  == Description ==
13
 
14
  The Intergeo Google Maps WordPress plugin is a simple, easy and in the same time quite powerful tool for handling Google Maps in your website. This simple WordPress map plugin allow users to create new maps by using powerful UI builder. Created maps could be easily edited and saved with new settings. To increase the speed of creation process the plugin has ability to clone a map with all it's settings. Finally the plugin has attractive library which allows users to browse all maps in the system and delete unnecessary maps.
15
+ We've also built some fantastic <a href="http://themeisle.com/wordpress-themes/business/" rel="nofollow" target="_blank">business themes</a> that integrate with Intergeo Google Maps perfectly, check them out.
16
 
17
  The powerful UI builder allows users to:
18
 
61
 
62
  `[intergeo zoom=”12” width=”50%” heigth=”400px” style=”border: 3px solid red; margin: 0 auto;”]Central Park, NY[/intergeo]`
63
 
64
+ Check-out the <a href="http://themeisle.com/plugins/intergeo-maps-lite/" rel="nofollow">#1 free Google Maps plugin</a>
65
 
66
  ### Create map with UI builder ###
67
 
85
 
86
  **About us:**
87
 
88
+ We are a young team of WordPress enthusiasts who enjoy developing <a href="http://themeisle.com/wordpress-plugins/" rel="nofollow" target="_blank">free WordPress plugins</a> and <a href="http://themeisle.com/wordpress-themes/" rel="nofollow" target="_blank">themes</a> for small businesses and startups. Check them out and let us know what you think, our goal is to build fully fledged products that will solve your needs.
89
 
90
+ We also love to blog at CodeinWP and help our users finding the <a href="http://www.codeinwp.com/blog/best-wordpress-shared-hosting-providers/" rel="nofollow">best hosting</a> or <a href="http://justfreethemes.com/" rel="nofollow">themes</a>.
91
 
92
  **More from us**
93
 
94
+ - <a href="http://justfreethemes.com/" rel="nofollow" target="_blank">JustFreeThemes</a> - Find the best free WordPress Themes
95
+ - <a href="http://www.codeinwp.com/" rel="nofollow" target="_blank">CodeinWP</a> - Turn your PSD file into a WordPress Theme
96
+ - <a href="http://revive.social/" rel="nofollow" target="_blank">Revive.Social</a> - WordPress plugins for Social Media marketers
97
 
98
+ Check-out the <a href="http://www.codeinwp.com/blog/intergeo-maps-plugin-review/" target="_blank" rel="nofollow">Intergeo review</a> and find out some of the <a href="http://www.codeinwp.com/blog/top-non-obvious-wordpress-plugins/" target="_blank" rel="nofollow">best WordPress plugins</a>.
99
 
100
  == Installation ==
101
 
134
 
135
  == Changelog ==
136
 
137
+ = 1.1.0 =
138
+
139
+ * Updated instructions for adding Google Maps Api key
140
+ * Added feedback mechanism
141
+ * Fixed conflict with Uber Menu
142
+ * Improved settings page
143
+ * Fixed issue with long and lat addresses
144
+
145
+
146
  = 1.0.5 =
147
 
148
  * Added information for map new installs
templates/library/list.php CHANGED
@@ -1,7 +1,15 @@
1
  <div class="wrap">
 
 
 
 
 
 
 
2
  <h2>
3
  <div id="intergeo_lbrr_ttl">Inter<span style="color:#4067dc">g</span><span style="color:#e21b31">e</span><span style="color:#fcaa08">o</span> <?php _e( 'Maps', INTERGEO_PLUGIN_NAME ) ?></div>
4
  <a id="intergeo_lbrr_add_new" href="javascript:;" class="add-new-h2"><?php _e( 'Add New', INTERGEO_PLUGIN_NAME ) ?></a>
 
5
  </h2>
6
 
7
  <script type="text/javascript">
1
  <div class="wrap">
2
+ <?php
3
+ if (empty(get_option("intergeo_map_api_key"))) {
4
+ ?>
5
+ <div class="notice notice-warning"><p><?php echo sprintf(__("You have not added an API Key. Your maps may not display properly. Please add an API Key %shere%s", INTERGEO_PLUGIN_NAME), "<a href='" . admin_url("options-general.php?page=" . INTERGEO_PLUGIN_NAME) . "'>", "</a>");?></p></div>
6
+ <?php
7
+ }
8
+ ?>
9
  <h2>
10
  <div id="intergeo_lbrr_ttl">Inter<span style="color:#4067dc">g</span><span style="color:#e21b31">e</span><span style="color:#fcaa08">o</span> <?php _e( 'Maps', INTERGEO_PLUGIN_NAME ) ?></div>
11
  <a id="intergeo_lbrr_add_new" href="javascript:;" class="add-new-h2"><?php _e( 'Add New', INTERGEO_PLUGIN_NAME ) ?></a>
12
+ <a id="intergeo_lbrr_settings" href="<?php echo admin_url("options-general.php?page=" . INTERGEO_PLUGIN_NAME);?>" class="add-new-h2"><?php _e( 'Maps Settings', INTERGEO_PLUGIN_NAME ) ?></a>
13
  </h2>
14
 
15
  <script type="text/javascript">