Google Maps Easy - Version 1.9.30

Version Description

Download this release

Release Info

Developer supsystic.com
Plugin Icon 128x128 Google Maps Easy
Version 1.9.30
Comparing to
See all releases

Code changes from version 1.9.28 to 1.9.30

classes/html.php CHANGED
@@ -604,7 +604,7 @@ class htmlGmp {
604
  $out .= '<script type="text/javascript">//<!--
605
  jQuery(function(){
606
  jQuery("#'. $checkId. '").change(function(){
607
- jQuery("#'. $hideId. '").val( (jQuery(this).attr("checked") ? 1 : 0) ).trigger("change");
608
  });
609
  });
610
  //--></script>';
604
  $out .= '<script type="text/javascript">//<!--
605
  jQuery(function(){
606
  jQuery("#'. $checkId. '").change(function(){
607
+ jQuery("#'. $hideId. '").val( (jQuery(this).prop("checked") ? 1 : 0) ).trigger("change");
608
  });
609
  });
610
  //--></script>';
config.php CHANGED
@@ -48,7 +48,7 @@
48
  define('GMP_EOL', "\n");
49
 
50
  define('GMP_PLUGIN_INSTALLED', true);
51
- define('GMP_VERSION_PLUGIN', '1.9.28'); //GMP_VERSION is pre-defined constant for PHP GMP module http://php.net/manual/en/book.gmp.php
52
  define('GMP_USER', 'user');
53
 
54
  define('GMP_CLASS_PREFIX', 'gmpc');
48
  define('GMP_EOL', "\n");
49
 
50
  define('GMP_PLUGIN_INSTALLED', true);
51
+ define('GMP_VERSION_PLUGIN', '1.9.30'); //GMP_VERSION is pre-defined constant for PHP GMP module http://php.net/manual/en/book.gmp.php
52
  define('GMP_USER', 'user');
53
 
54
  define('GMP_CLASS_PREFIX', 'gmpc');
gmp.php CHANGED
@@ -3,7 +3,7 @@
3
  * Plugin Name: Google Maps Easy
4
  * Plugin URI: http://supsystic.com/plugins/google-maps-plugin/
5
  * Description: The easiest way to create Google Map with markers or locations. Display any data on the map: text, images, videos. Custom map marker icons
6
- * Version: 1.9.28
7
  * Author: supsystic.com
8
  * Author URI: http://supsystic.com
9
  * Text Domain: google-maps-easy
3
  * Plugin Name: Google Maps Easy
4
  * Plugin URI: http://supsystic.com/plugins/google-maps-plugin/
5
  * Description: The easiest way to create Google Map with markers or locations. Display any data on the map: text, images, videos. Custom map marker icons
6
+ * Version: 1.9.30
7
  * Author: supsystic.com
8
  * Author URI: http://supsystic.com
9
  * Text Domain: google-maps-easy
js/admin.options.js CHANGED
@@ -9,12 +9,12 @@ jQuery(document).ready(function(){
9
  if(typeof(gmpActiveTab) != 'undefined' && gmpActiveTab != 'main_page' && jQuery('#toplevel_page_'+ gmpMainSlug).hasClass('wp-has-current-submenu')) {
10
  var subMenus = jQuery('#toplevel_page_'+ gmpMainSlug).find('.wp-submenu li');
11
  subMenus.removeClass('current').each(function(){
12
- if(jQuery(this).find('a[href$="&tab='+ gmpActiveTab+ '"]').size()) {
13
  jQuery(this).addClass('current');
14
  }
15
  });
16
  }
17
-
18
  // Timeout - is to count only user changes, because some changes can be done auto when form is loaded
19
  setTimeout(function() {
20
  // If some changes was made in those forms and they were not saved - show message for confirnation before page reload
@@ -34,11 +34,11 @@ jQuery(document).ready(function(){
34
  }
35
  }, 1000);
36
 
37
- if(jQuery('.gmpInputsWithDescrForm').size()) {
38
  jQuery('.gmpInputsWithDescrForm').find('input[type=checkbox][data-optkey]').change(function(){
39
  var optKey = jQuery(this).data('optkey')
40
  , descShell = jQuery('#gmpFormOptDetails_'+ optKey);
41
- if(descShell.size()) {
42
  if(jQuery(this).attr('checked')) {
43
  descShell.slideDown( 300 );
44
  } else {
@@ -49,7 +49,7 @@ jQuery(document).ready(function(){
49
  }
50
  gmpInitCustomCheckRadio();
51
  //gmpInitCustomSelect();
52
-
53
  jQuery('.gmpFieldsetToggled').each(function(){
54
  var self = this;
55
  jQuery(self).find('.gmpFieldsetContent').hide();
@@ -70,7 +70,7 @@ jQuery(document).ready(function(){
70
  });
71
  });
72
  // Go to Top button init
73
- if(jQuery('#gmpPopupGoToTopBtn').size()) {
74
  jQuery('#gmpPopupGoToTopBtn').click(function(){
75
  jQuery('html, body').animate({
76
  scrollTop: 0
@@ -85,7 +85,7 @@ jQuery(document).ready(function(){
85
  // Check for showing review notice after a week usage
86
  gmpInitPlugNotices();
87
  });
88
- jQuery(window).load(function(){
89
  setTimeout(function(){ // setTimeout to make sure that all required show/hide were triggered
90
  gmpResetCopyTextCodeFields();
91
  }, 10);
@@ -95,7 +95,7 @@ jQuery(window).load(function(){
95
  */
96
  function gmpResetCopyTextCodeFields(selector) {
97
  var area = selector ? jQuery(selector) : jQuery(document);
98
- if(area.find('.gmpCopyTextCode').size()) {
99
  var cloneWidthElement = jQuery('<span class="sup-shortcode" />').appendTo('.supsystic-plugin');
100
  area.find('.gmpCopyTextCode').attr('readonly', 'readonly').click(function(){
101
  this.setSelectionRange(0, this.value.length);
@@ -108,7 +108,7 @@ function gmpResetCopyTextCodeFields(selector) {
108
  });
109
  cloneWidthElement.remove();
110
  }
111
- if(area.find('.gmpMapShortCodeShell').size()) {
112
  area.find('.gmpMapShortCodeShell').attr('readonly', 'readonly').click(function(){
113
  this.setSelectionRange(0, this.value.length);
114
  }).focus(function(){
@@ -129,7 +129,7 @@ function tooltipsterize(shell) {
129
  if(content && typeof(content) === 'string' && content.indexOf('<img') !== -1) {
130
  // Preload all images from tooltip - to make it calc position correctly
131
  var $tmpDiv = jQuery('<div style="display: none;" />').appendTo('body').html(content);
132
- $tmpDiv.load(function(){
133
  $tmpDiv.remove();
134
  });
135
  }
@@ -143,12 +143,12 @@ function tooltipsterize(shell) {
143
  };
144
  for(var className in classToPos) {
145
  if(shell) {
146
- if(jQuery(shell).find( className ).size()) {
147
  tooltipsterSettings.position = classToPos[ className ];
148
  jQuery(shell).find( className ).tooltipster( tooltipsterSettings );
149
  }
150
  } else {
151
- if(jQuery( className ).size()) {
152
  tooltipsterSettings.position = classToPos[ className ];
153
  jQuery( className ).tooltipster( tooltipsterSettings );
154
  }
@@ -187,7 +187,7 @@ function isAdminFormChanged(formId) {
187
  }
188
  return false;
189
  }
190
- jQuery(window).load(function(){
191
  gmpInitStickyItem();
192
  });
193
  /*Some items should be always on users screen*/
@@ -198,11 +198,11 @@ function gmpInitStickyItem() {
198
  , wpTollbarHeight = 32
199
  , wndScrollTop = jQuery(window).scrollTop() + wpTollbarHeight
200
  , footer = jQuery('.gmpAdminFooterShell')
201
- , footerHeight = footer && footer.size() ? footer.height() : 0
202
  , docHeight = jQuery(document).height()
203
  , wasSticking = false
204
  , wasUnSticking = false;
205
- /*if(jQuery('#wpbody-content .update-nag').size()) { // Not used for now
206
  wpTollbarHeight += parseInt(jQuery('#wpbody-content .update-nag').outerHeight());
207
  }*/
208
  for(var i = 0; i < stickiItemsSelectors.length; i++) {
@@ -217,7 +217,7 @@ function gmpInitStickyItem() {
217
  element.removeClass('sticky-ignore')
218
  }
219
  }
220
- if(element && element.size() && !element.hasClass('sticky-ignore')) {
221
  var scrollMinPos = element.offset().top
222
  , prevScrollMinPos = parseInt(element.data('scrollMinPos'))
223
  , useNextElementPadding = toeInArray(stickiItemsSelectors[ i ], elementsUsePaddingNext) !== -1 || element.hasClass('sticky-padd-next')
@@ -240,7 +240,7 @@ function gmpInitStickyItem() {
240
  if(useNextElementPadding) {
241
  //element.addClass('supsystic-sticky-active-bordered');
242
  nextElement = element.next();
243
- if(nextElement && nextElement.size()) {
244
  nextElement.data('prevPaddingTop', nextElement.css('padding-top'));
245
  var addToNextPadding = parseInt(element.data('next-padding-add'));
246
  addToNextPadding = addToNextPadding ? addToNextPadding : 0;
@@ -262,7 +262,7 @@ function gmpInitStickyItem() {
262
  if(useNextElementPadding) {
263
  //element.removeClass('supsystic-sticky-active-bordered');
264
  nextElement = element.next();
265
- if(nextElement && nextElement.size()) {
266
  var nextPrevPaddingTop = parseInt(nextElement.data('prevPaddingTop'));
267
  if(isNaN(nextPrevPaddingTop))
268
  nextPrevPaddingTop = 0;
@@ -297,10 +297,10 @@ function gmpInitStickyItem() {
297
  });
298
  }
299
  if(wasSticking) {
300
- if(jQuery('#gmpPopupGoToTop').size())
301
  jQuery('#gmpPopupGoToTop').show();
302
  } else if(wasUnSticking) {
303
- if(jQuery('#gmpPopupGoToTop').size())
304
  jQuery('#gmpPopupGoToTop').hide();
305
  }
306
  });
@@ -316,13 +316,13 @@ function gmpInitCustomCheckRadio(selector) {
316
  jQuery(this).trigger('change');
317
  if(jQuery(this).hasClass('cbox')) {
318
  var parentRow = jQuery(this).parents('.jqgrow:first');
319
- if(parentRow && parentRow.size()) {
320
  jQuery(this).parents('td:first').trigger('click');
321
  } else {
322
  var checkId = jQuery(this).attr('id');
323
  if(checkId && checkId != '' && strpos(checkId, 'cb_') === 0) {
324
  var parentTblId = str_replace(checkId, 'cb_', '');
325
- if(parentTblId && parentTblId != '' && jQuery('#'+ parentTblId).size()) {
326
  jQuery('#'+ parentTblId).find('input[type=checkbox]').iCheck('update');
327
  }
328
  }
@@ -403,7 +403,7 @@ function getGridRowId(id, gridSelectorId) {
403
  function prepareToPlotDate(data) {
404
  if(typeof(data) === 'string') {
405
  if(data) {
406
-
407
  data = str_replace(data, '/', '-');
408
  console.log(data, new Date(data));
409
  return (new Date(data)).getTime();
@@ -431,7 +431,7 @@ function gmpInitMainPromoPopup() {
431
  }
432
  if(isRadio) {
433
  jQuery('input[name="'+ jQuery(this).attr('name')+ '"]:first').parents('label:first').click();
434
- if(jQuery(this).parents('.iradio_minimal:first').size()) {
435
  var self = this;
436
  setTimeout(function(){
437
  jQuery(self).parents('.iradio_minimal:first').removeClass('checked');
@@ -439,14 +439,14 @@ function gmpInitMainPromoPopup() {
439
  }
440
  }
441
  var parent = null;
442
- if(jQuery(this).parents('#gmpPopupMainOpts').size()) {
443
  parent = jQuery(this).parents('label:first');
444
- } else if(jQuery(this).parents('.gmpPopupOptRow:first').size()) {
445
  parent = jQuery(this).parents('.gmpPopupOptRow:first');
446
  } else {
447
  parent = jQuery(this).parents('tr:first');
448
  }
449
- if(!parent.size()) return;
450
  var promoLink = parent.find('.gmpProOptMiniLabel a').attr('href');
451
  if(promoLink && promoLink != '') {
452
  jQuery('#gmpOptInProWnd a').attr('href', promoLink);
@@ -458,7 +458,7 @@ function gmpInitMainPromoPopup() {
458
  }
459
  function gmpInitPlugNotices() {
460
  var $notices = jQuery('.supsystic-admin-notice');
461
- if($notices && $notices.size()) {
462
  $notices.each(function(){
463
  jQuery(this).find('.notice-dismiss').click(function(){
464
  var $notice = jQuery(this).parents('.supsystic-admin-notice');
@@ -492,4 +492,4 @@ function gmpGetMainPromoPopup() {
492
  , width: 540
493
  , height: 200
494
  });
495
- }
9
  if(typeof(gmpActiveTab) != 'undefined' && gmpActiveTab != 'main_page' && jQuery('#toplevel_page_'+ gmpMainSlug).hasClass('wp-has-current-submenu')) {
10
  var subMenus = jQuery('#toplevel_page_'+ gmpMainSlug).find('.wp-submenu li');
11
  subMenus.removeClass('current').each(function(){
12
+ if(jQuery(this).find('a[href$="&tab='+ gmpActiveTab+ '"]').length) {
13
  jQuery(this).addClass('current');
14
  }
15
  });
16
  }
17
+
18
  // Timeout - is to count only user changes, because some changes can be done auto when form is loaded
19
  setTimeout(function() {
20
  // If some changes was made in those forms and they were not saved - show message for confirnation before page reload
34
  }
35
  }, 1000);
36
 
37
+ if(jQuery('.gmpInputsWithDescrForm').length) {
38
  jQuery('.gmpInputsWithDescrForm').find('input[type=checkbox][data-optkey]').change(function(){
39
  var optKey = jQuery(this).data('optkey')
40
  , descShell = jQuery('#gmpFormOptDetails_'+ optKey);
41
+ if(descShell.length) {
42
  if(jQuery(this).attr('checked')) {
43
  descShell.slideDown( 300 );
44
  } else {
49
  }
50
  gmpInitCustomCheckRadio();
51
  //gmpInitCustomSelect();
52
+
53
  jQuery('.gmpFieldsetToggled').each(function(){
54
  var self = this;
55
  jQuery(self).find('.gmpFieldsetContent').hide();
70
  });
71
  });
72
  // Go to Top button init
73
+ if(jQuery('#gmpPopupGoToTopBtn').length) {
74
  jQuery('#gmpPopupGoToTopBtn').click(function(){
75
  jQuery('html, body').animate({
76
  scrollTop: 0
85
  // Check for showing review notice after a week usage
86
  gmpInitPlugNotices();
87
  });
88
+ jQuery(window).on('load',function(){
89
  setTimeout(function(){ // setTimeout to make sure that all required show/hide were triggered
90
  gmpResetCopyTextCodeFields();
91
  }, 10);
95
  */
96
  function gmpResetCopyTextCodeFields(selector) {
97
  var area = selector ? jQuery(selector) : jQuery(document);
98
+ if(area.find('.gmpCopyTextCode').length) {
99
  var cloneWidthElement = jQuery('<span class="sup-shortcode" />').appendTo('.supsystic-plugin');
100
  area.find('.gmpCopyTextCode').attr('readonly', 'readonly').click(function(){
101
  this.setSelectionRange(0, this.value.length);
108
  });
109
  cloneWidthElement.remove();
110
  }
111
+ if(area.find('.gmpMapShortCodeShell').length) {
112
  area.find('.gmpMapShortCodeShell').attr('readonly', 'readonly').click(function(){
113
  this.setSelectionRange(0, this.value.length);
114
  }).focus(function(){
129
  if(content && typeof(content) === 'string' && content.indexOf('<img') !== -1) {
130
  // Preload all images from tooltip - to make it calc position correctly
131
  var $tmpDiv = jQuery('<div style="display: none;" />').appendTo('body').html(content);
132
+ $tmpDiv.on('load',function(){
133
  $tmpDiv.remove();
134
  });
135
  }
143
  };
144
  for(var className in classToPos) {
145
  if(shell) {
146
+ if(jQuery(shell).find( className ).length) {
147
  tooltipsterSettings.position = classToPos[ className ];
148
  jQuery(shell).find( className ).tooltipster( tooltipsterSettings );
149
  }
150
  } else {
151
+ if(jQuery( className ).length) {
152
  tooltipsterSettings.position = classToPos[ className ];
153
  jQuery( className ).tooltipster( tooltipsterSettings );
154
  }
187
  }
188
  return false;
189
  }
190
+ jQuery(window).on('load',function(){
191
  gmpInitStickyItem();
192
  });
193
  /*Some items should be always on users screen*/
198
  , wpTollbarHeight = 32
199
  , wndScrollTop = jQuery(window).scrollTop() + wpTollbarHeight
200
  , footer = jQuery('.gmpAdminFooterShell')
201
+ , footerHeight = footer && footer.length ? footer.height() : 0
202
  , docHeight = jQuery(document).height()
203
  , wasSticking = false
204
  , wasUnSticking = false;
205
+ /*if(jQuery('#wpbody-content .update-nag').length) { // Not used for now
206
  wpTollbarHeight += parseInt(jQuery('#wpbody-content .update-nag').outerHeight());
207
  }*/
208
  for(var i = 0; i < stickiItemsSelectors.length; i++) {
217
  element.removeClass('sticky-ignore')
218
  }
219
  }
220
+ if(element && element.length && !element.hasClass('sticky-ignore')) {
221
  var scrollMinPos = element.offset().top
222
  , prevScrollMinPos = parseInt(element.data('scrollMinPos'))
223
  , useNextElementPadding = toeInArray(stickiItemsSelectors[ i ], elementsUsePaddingNext) !== -1 || element.hasClass('sticky-padd-next')
240
  if(useNextElementPadding) {
241
  //element.addClass('supsystic-sticky-active-bordered');
242
  nextElement = element.next();
243
+ if(nextElement && nextElement.length) {
244
  nextElement.data('prevPaddingTop', nextElement.css('padding-top'));
245
  var addToNextPadding = parseInt(element.data('next-padding-add'));
246
  addToNextPadding = addToNextPadding ? addToNextPadding : 0;
262
  if(useNextElementPadding) {
263
  //element.removeClass('supsystic-sticky-active-bordered');
264
  nextElement = element.next();
265
+ if(nextElement && nextElement.length) {
266
  var nextPrevPaddingTop = parseInt(nextElement.data('prevPaddingTop'));
267
  if(isNaN(nextPrevPaddingTop))
268
  nextPrevPaddingTop = 0;
297
  });
298
  }
299
  if(wasSticking) {
300
+ if(jQuery('#gmpPopupGoToTop').length)
301
  jQuery('#gmpPopupGoToTop').show();
302
  } else if(wasUnSticking) {
303
+ if(jQuery('#gmpPopupGoToTop').length)
304
  jQuery('#gmpPopupGoToTop').hide();
305
  }
306
  });
316
  jQuery(this).trigger('change');
317
  if(jQuery(this).hasClass('cbox')) {
318
  var parentRow = jQuery(this).parents('.jqgrow:first');
319
+ if(parentRow && parentRow.length) {
320
  jQuery(this).parents('td:first').trigger('click');
321
  } else {
322
  var checkId = jQuery(this).attr('id');
323
  if(checkId && checkId != '' && strpos(checkId, 'cb_') === 0) {
324
  var parentTblId = str_replace(checkId, 'cb_', '');
325
+ if(parentTblId && parentTblId != '' && jQuery('#'+ parentTblId).length) {
326
  jQuery('#'+ parentTblId).find('input[type=checkbox]').iCheck('update');
327
  }
328
  }
403
  function prepareToPlotDate(data) {
404
  if(typeof(data) === 'string') {
405
  if(data) {
406
+
407
  data = str_replace(data, '/', '-');
408
  console.log(data, new Date(data));
409
  return (new Date(data)).getTime();
431
  }
432
  if(isRadio) {
433
  jQuery('input[name="'+ jQuery(this).attr('name')+ '"]:first').parents('label:first').click();
434
+ if(jQuery(this).parents('.iradio_minimal:first').length) {
435
  var self = this;
436
  setTimeout(function(){
437
  jQuery(self).parents('.iradio_minimal:first').removeClass('checked');
439
  }
440
  }
441
  var parent = null;
442
+ if(jQuery(this).parents('#gmpPopupMainOpts').length) {
443
  parent = jQuery(this).parents('label:first');
444
+ } else if(jQuery(this).parents('.gmpPopupOptRow:first').length) {
445
  parent = jQuery(this).parents('.gmpPopupOptRow:first');
446
  } else {
447
  parent = jQuery(this).parents('tr:first');
448
  }
449
+ if(!parent.length) return;
450
  var promoLink = parent.find('.gmpProOptMiniLabel a').attr('href');
451
  if(promoLink && promoLink != '') {
452
  jQuery('#gmpOptInProWnd a').attr('href', promoLink);
458
  }
459
  function gmpInitPlugNotices() {
460
  var $notices = jQuery('.supsystic-admin-notice');
461
+ if($notices && $notices.length) {
462
  $notices.each(function(){
463
  jQuery(this).find('.notice-dismiss').click(function(){
464
  var $notice = jQuery(this).parents('.supsystic-admin-notice');
492
  , width: 540
493
  , height: 200
494
  });
495
+ }
js/common.js CHANGED
@@ -27,7 +27,7 @@ jQuery.fn.tagName = function() {
27
  return this.get(0).tagName;
28
  }
29
  jQuery.fn.exists = function(){
30
- return (jQuery(this).size() > 0 ? true : false);
31
  }
32
  function isNumber(val) {
33
  return /^\d+/.test(val);
@@ -127,7 +127,7 @@ function toeReload(url) {
127
  }
128
  jQuery.fn.toeRebuildSelect = function(data, useIdAsValue, val) {
129
  if(jQuery(this).tagName() == 'SELECT' && typeof(data) == 'object') {
130
- if(jQuery(data).size() > 0) {
131
  if(typeof(val) == 'undefined')
132
  val = false;
133
  if(jQuery(this).children('option').length) {
@@ -346,7 +346,7 @@ function toeListableGmp(params) {
346
  var newRow = exampleRow.clone();
347
  for(var key in list[i]) {
348
  var element = newRow.find('.'+ key);
349
- if(element.size()) {
350
  var valueTo = element.attr('valueTo');
351
  if(valueTo) {
352
  var newValue = list[i][key];
27
  return this.get(0).tagName;
28
  }
29
  jQuery.fn.exists = function(){
30
+ return (jQuery(this).length > 0 ? true : false);
31
  }
32
  function isNumber(val) {
33
  return /^\d+/.test(val);
127
  }
128
  jQuery.fn.toeRebuildSelect = function(data, useIdAsValue, val) {
129
  if(jQuery(this).tagName() == 'SELECT' && typeof(data) == 'object') {
130
+ if(jQuery(data).length > 0) {
131
  if(typeof(val) == 'undefined')
132
  val = false;
133
  if(jQuery(this).children('option').length) {
346
  var newRow = exampleRow.clone();
347
  for(var key in list[i]) {
348
  var element = newRow.find('.'+ key);
349
+ if(element.length) {
350
  var valueTo = element.attr('valueTo');
351
  if(valueTo) {
352
  var newValue = list[i][key];
js/core.js CHANGED
@@ -89,8 +89,8 @@ jQuery.fn.sendFormGmp = function(params) {
89
  if(params.btn) {
90
  jQuery(params.btn).attr('disabled', 'disabled');
91
  // Font awesome usage
92
- params.btnIconElement = jQuery(params.btn).find('.fa').size() ? jQuery(params.btn).find('.fa') : jQuery(params.btn);
93
- if(jQuery(params.btn).find('.fa').size()) {
94
  params.btnIconElement
95
  .data('prev-class', params.btnIconElement.attr('class'))
96
  .attr('class', 'fa fa-spinner fa-spin');
@@ -250,7 +250,7 @@ function toeOptTimeoutHideDescriptionGmp() {
250
  */
251
  function toeOptShowDescriptionGmp(description, x, y, moveToLeft) {
252
  if(typeof(description) != 'undefined' && description != '') {
253
- if(!jQuery('#gmpOptDescription').size()) {
254
  jQuery('body').append('<div id="gmpOptDescription"></div>');
255
  }
256
  if(moveToLeft)
89
  if(params.btn) {
90
  jQuery(params.btn).attr('disabled', 'disabled');
91
  // Font awesome usage
92
+ params.btnIconElement = jQuery(params.btn).find('.fa').length ? jQuery(params.btn).find('.fa') : jQuery(params.btn);
93
+ if(jQuery(params.btn).find('.fa').length) {
94
  params.btnIconElement
95
  .data('prev-class', params.btnIconElement.attr('class'))
96
  .attr('class', 'fa fa-spinner fa-spin');
250
  */
251
  function toeOptShowDescriptionGmp(description, x, y, moveToLeft) {
252
  if(typeof(description) != 'undefined' && description != '') {
253
+ if(!jQuery('#gmpOptDescription').length) {
254
  jQuery('body').append('<div id="gmpOptDescription"></div>');
255
  }
256
  if(moveToLeft)
js/wp.tabs.js CHANGED
@@ -19,9 +19,9 @@
19
  var locationHash = document.location.hash;
20
  if(locationHash && locationHash != '' && $this.find(locationHash)) {
21
  $this.wpTabs('activate', locationHash);
22
- if(jQuery(locationHash).size()) {
23
  // Avoid scrolling to hashes
24
- jQuery(window).load(function(){
25
  setTimeout(function(){
26
  jQuery('html, body').animate({
27
  scrollTop: 0
@@ -38,14 +38,14 @@
38
  , activate: function(selector) {
39
  return this.each(function(){
40
  var $this = jQuery(this);
41
- if($this.find(selector).size()) {
42
  var navigations = $this.find('.nav-tab-wrapper:first').find('a.nav-tab:not(.notTab)');
43
  if(!this._firstInit) {
44
  if(this._options.uniqId)
45
  $this.find('.gmpTabContent').attr('data-tabs-for', this._options.uniqId);
46
  this._firstInit = 1;
47
  }
48
- var allTabsContent = this._options.uniqId
49
  ? $this.find('.gmpTabContent[data-tabs-for="'+ this._options.uniqId + '"]')
50
  : $this.find('.gmpTabContent');
51
  allTabsContent.hide();
@@ -74,4 +74,4 @@
74
  $.error( 'There are no method with name: '+ method);
75
  }
76
  };
77
- })( jQuery );
19
  var locationHash = document.location.hash;
20
  if(locationHash && locationHash != '' && $this.find(locationHash)) {
21
  $this.wpTabs('activate', locationHash);
22
+ if(jQuery(locationHash).length) {
23
  // Avoid scrolling to hashes
24
+ jQuery(window).on('load',function(){
25
  setTimeout(function(){
26
  jQuery('html, body').animate({
27
  scrollTop: 0
38
  , activate: function(selector) {
39
  return this.each(function(){
40
  var $this = jQuery(this);
41
+ if($this.find(selector).length) {
42
  var navigations = $this.find('.nav-tab-wrapper:first').find('a.nav-tab:not(.notTab)');
43
  if(!this._firstInit) {
44
  if(this._options.uniqId)
45
  $this.find('.gmpTabContent').attr('data-tabs-for', this._options.uniqId);
46
  this._firstInit = 1;
47
  }
48
+ var allTabsContent = this._options.uniqId
49
  ? $this.find('.gmpTabContent[data-tabs-for="'+ this._options.uniqId + '"]')
50
  : $this.find('.gmpTabContent');
51
  allTabsContent.hide();
74
  $.error( 'There are no method with name: '+ method);
75
  }
76
  };
77
+ })( jQuery );
modules/gmap/js/admin.gmap.edit.js CHANGED
@@ -821,7 +821,7 @@ function gmpToggleSubOptionsByDataParam(value) {
821
  function gmpWpColorpickerUpdateTitlesColor(color) {
822
  g_gmpMarkerTitleColorTimeoutSet = false;
823
  var styleObj = jQuery('#gmpHardcodeMapTitleStl');
824
- if(!styleObj || !styleObj.size()) {
825
  styleObj = jQuery('<style type="text/css" id="gmpHardcodeMapTitleStl" />').appendTo('head');
826
  }
827
  styleObj.html('.gmpInfoWindowtitle { color: '+ g_gmpMarkerTitleColorLast+ ' !important; }');
821
  function gmpWpColorpickerUpdateTitlesColor(color) {
822
  g_gmpMarkerTitleColorTimeoutSet = false;
823
  var styleObj = jQuery('#gmpHardcodeMapTitleStl');
824
+ if(!styleObj || !styleObj.length) {
825
  styleObj = jQuery('<style type="text/css" id="gmpHardcodeMapTitleStl" />').appendTo('head');
826
  }
827
  styleObj.html('.gmpInfoWindowtitle { color: '+ g_gmpMarkerTitleColorLast+ ' !important; }');
modules/gmap/js/core.gmap.js CHANGED
@@ -719,7 +719,7 @@ jQuery.fn.mapSearchAutocompleateGmp = function(params) {
719
  //var notFoundMsg = toeLangGmp('Google can\'t find requested address coordinates, please try to modify search criterias.');
720
  var notFoundMsg = toeLangGmp('Nothing was found');
721
 
722
- if(jQuery(self).parent().find('.ui-helper-hidden-accessible').size()) {
723
  jQuery(self).parent().find('.ui-helper-hidden-accessible').html(notFoundMsg);
724
  } else {
725
  params.msgEl.html(notFoundMsg);
719
  //var notFoundMsg = toeLangGmp('Google can\'t find requested address coordinates, please try to modify search criterias.');
720
  var notFoundMsg = toeLangGmp('Nothing was found');
721
 
722
+ if(jQuery(self).parent().find('.ui-helper-hidden-accessible').length) {
723
  jQuery(self).parent().find('.ui-helper-hidden-accessible').html(notFoundMsg);
724
  } else {
725
  params.msgEl.html(notFoundMsg);
modules/gmap/views/gmap.php CHANGED
@@ -171,11 +171,11 @@ class gmapViewGmp extends viewGmp {
171
  if($mapMarkersGroupsList) {
172
  $mapObj['marker_groups'] = frameGmp::_()->getModule('marker_groups')->getModel()->getMarkerGroupsByIds($mapMarkersGroupsList);
173
  }
174
- $mapObj['params']['markers_list_type'] = isset($params['markers_list_type'])
175
- ? $params['markers_list_type']
176
- : (isset($mapObj['params']['markers_list_type']) && !empty($mapObj['params']['markers_list_type']))
177
  ? $mapObj['params']['markers_list_type']
178
  : '';
 
 
179
  $mapObj = dispatcherGmp::applyFilters('mapDataRender', $mapObj);
180
  // for Social Share integration
181
  $mapObj['params']['ss_html'] = $this->generateSocialSharingHtml($mapObj);
171
  if($mapMarkersGroupsList) {
172
  $mapObj['marker_groups'] = frameGmp::_()->getModule('marker_groups')->getModel()->getMarkerGroupsByIds($mapMarkersGroupsList);
173
  }
174
+ $mapVarTemp = (isset($mapObj['params']['markers_list_type']) && !empty($mapObj['params']['markers_list_type']))
 
 
175
  ? $mapObj['params']['markers_list_type']
176
  : '';
177
+ $mapObj['params']['markers_list_type'] = isset($params['markers_list_type']) ? $params['markers_list_type'] : $mapVarTemp;
178
+
179
  $mapObj = dispatcherGmp::applyFilters('mapDataRender', $mapObj);
180
  // for Social Share integration
181
  $mapObj['params']['ss_html'] = $this->generateSocialSharingHtml($mapObj);
modules/marker/js/admin.marker.edit.js CHANGED
@@ -244,7 +244,7 @@ jQuery(document).ready(function(){
244
  , placeholder: 'ui-sortable-placeholder'
245
  , update: function(event, ui) {
246
  var mapId = gmpGetCurrentId();
247
- var msgEl = jQuery('#gmpMarkersSortMsg').size() ? jQuery('#gmpMarkersSortMsg') : jQuery('<div id="gmpMarkersSortMsg" />')
248
  , markersList = [];
249
  jQuery('#gmpMarkerList').find('.gmpMapMarkerRow:not(#markerRowTemplate)').each(function(){
250
  markersList.push( jQuery(this).data('id') );
244
  , placeholder: 'ui-sortable-placeholder'
245
  , update: function(event, ui) {
246
  var mapId = gmpGetCurrentId();
247
+ var msgEl = jQuery('#gmpMarkersSortMsg').length ? jQuery('#gmpMarkersSortMsg') : jQuery('<div id="gmpMarkersSortMsg" />')
248
  , markersList = [];
249
  jQuery('#gmpMarkerList').find('.gmpMapMarkerRow:not(#markerRowTemplate)').each(function(){
250
  markersList.push( jQuery(this).data('id') );
modules/marker/js/core.marker.js CHANGED
@@ -262,7 +262,7 @@ gmpGoogleMarker.prototype._updateInfoWndContent = function() {
262
 
263
  // Check scripts in description, and execute them if they are there
264
  var $scripts = contentStr.find('script');
265
- if($scripts && $scripts.size()) {
266
  $scripts.each(function(){
267
  var scriptSrc = jQuery(this).attr('src');
268
  if(scriptSrc && scriptSrc != '') {
262
 
263
  // Check scripts in description, and execute them if they are there
264
  var $scripts = contentStr.find('script');
265
+ if($scripts && $scripts.length) {
266
  $scripts.each(function(){
267
  var scriptSrc = jQuery(this).attr('src');
268
  if(scriptSrc && scriptSrc != '') {
readme.txt CHANGED
@@ -4,8 +4,8 @@ Author URI: https://supsystic.com/
4
  Plugin URI: https://supsystic.com/plugins/google-maps-plugin
5
  Donate link: https://supsystic.com/plugins/google-maps-plugin
6
  Tags: google map, map, Google Maps, map markers, location
7
- Tested up to: 5.3
8
- Stable tag: 1.9.28
9
 
10
  Google Maps with markers, locations and clusterization, KML layers and filters. Custom Google map markers with text, images, videos, links.
11
 
@@ -293,6 +293,15 @@ Google Maps Easy plugin admin area. Add a marker to the google map.
293
 
294
 
295
  == Changelog ==
 
 
 
 
 
 
 
 
 
296
 
297
  = Google Map Plugin v1.9.28 / 23.01.2020 =
298
  * Remove phpmailer code
4
  Plugin URI: https://supsystic.com/plugins/google-maps-plugin
5
  Donate link: https://supsystic.com/plugins/google-maps-plugin
6
  Tags: google map, map, Google Maps, map markers, location
7
+ Tested up to: 5.5
8
+ Stable tag: 1.9.30
9
 
10
  Google Maps with markers, locations and clusterization, KML layers and filters. Custom Google map markers with text, images, videos, links.
11
 
293
 
294
 
295
  == Changelog ==
296
+ = Google Map Plugin v1.9.30 / 29.09.2020 =
297
+ * Add fix for WP 5.5
298
+ * Fix for zoom issue
299
+ * Add fix for ajaxupload
300
+
301
+ = Google Map Plugin v1.9.29 / 23.06.2020 =
302
+ * Issue with marker category
303
+ * Add fix for PHP 7.4
304
+ * Add fix for encoding issue
305
 
306
  = Google Map Plugin v1.9.28 / 23.01.2020 =
307
  * Remove phpmailer code