Popup by Supsystic - Version 1.10.3

Version Description

/ 16.03.2021 = * Add fix for WP 5.7 * Fixed radio Buttons * Fixed checkboxes * disabled iCheck * add cookie for notices

Download this release

Release Info

Developer supsystic.com
Plugin Icon 128x128 Popup by Supsystic
Version 1.10.3
Comparing to
See all releases

Code changes from version 1.10.2 to 1.10.3

classes/frame.php CHANGED
@@ -15,7 +15,7 @@ class framePps {
15
  private $_styles = array();
16
  private $_stylesInitialized = false;
17
  private $_useFootAssets = false;
18
-
19
  private $_scriptsVars = array();
20
  private $_mod = '';
21
  private $_action = '';
@@ -23,10 +23,10 @@ class framePps {
23
  * Object with result of executing non-ajax module request
24
  */
25
  private $_res = null;
26
-
27
  public function __construct() {
28
  $this->_res = toeCreateObjPps('response', array());
29
-
30
  }
31
  static public function getInstance() {
32
  static $instance;
@@ -107,11 +107,11 @@ class framePps {
107
  $this->_initModules();
108
 
109
  dispatcherPps::doAction('afterModulesInit');
110
-
111
  modInstallerPps::checkActivationMessages();
112
-
113
  $this->_execModules();
114
-
115
  $addAssetsAction = $this->usePackAssets() && !is_admin() ? 'wp_footer' : 'init';
116
 
117
  add_action($addAssetsAction, array($this, 'addScripts'));
@@ -153,7 +153,7 @@ class framePps {
153
  if($mod) {
154
  $permissions = $mod->getController()->getPermissions();
155
  if(!empty($permissions)) { // Special permissions
156
- if(isset($permissions[PPS_METHODS])
157
  && !empty($permissions[PPS_METHODS])
158
  ) {
159
  foreach($permissions[PPS_METHODS] as $method => $permissions) { // Make case-insensitive
@@ -180,14 +180,14 @@ class framePps {
180
  if(is_array($methods)) {
181
  $lowerMethods = array_map('strtolower', $methods); // Make case-insensitive
182
  if(in_array($action, $lowerMethods)) { // Permission for this method exists
183
- if($currentUserPosition != $userlevel)
184
  $res = false;
185
  break;
186
  }
187
  } else {
188
  $lowerMethod = strtolower($methods); // Make case-insensitive
189
  if($lowerMethod == $action) { // Permission for this method exists
190
- if($currentUserPosition != $userlevel)
191
  $res = false;
192
  break;
193
  }
@@ -226,7 +226,7 @@ class framePps {
226
  if($mod) {
227
  $permissions = $mod->getController()->getPermissions();
228
  if(!empty($permissions)) { // Special permissions
229
- if(isset($permissions[PPS_METHODS])
230
  && !empty($permissions[PPS_METHODS])
231
  ) {
232
  foreach($permissions[PPS_METHODS] as $method => $permissions) { // Make case-insensitive
@@ -333,7 +333,7 @@ class framePps {
333
  }
334
  return $res;
335
  }
336
-
337
  public function getModule($code) {
338
  return (isset($this->_modules[$code]) ? $this->_modules[$code] : NULL);
339
  }
@@ -358,10 +358,10 @@ class framePps {
358
  wp_enqueue_script($handle, $src, $deps, $ver, $in_footer);
359
  } else {
360
  $this->_scripts[] = array(
361
- 'handle' => $handle,
362
- 'src' => $src,
363
- 'deps' => $deps,
364
- 'ver' => $ver,
365
  'in_footer' => $in_footer,
366
  'vars' => $vars
367
  );
@@ -374,7 +374,7 @@ class framePps {
374
  if(!empty($this->_scripts)) {
375
  foreach($this->_scripts as $s) {
376
  wp_enqueue_script($s['handle'], $s['src'], $s['deps'], $s['ver'], $s['in_footer']);
377
-
378
  if($s['vars'] || isset($this->_scriptsVars[$s['handle']])) {
379
  $vars = array();
380
  if($s['vars'])
@@ -383,6 +383,7 @@ class framePps {
383
  $vars = array_merge($vars, $this->_scriptsVars[$s['handle']]);
384
  if($vars) {
385
  foreach($vars as $k => $v) {
 
386
  wp_localize_script($s['handle'], $k, $v);
387
  }
388
  }
@@ -393,12 +394,13 @@ class framePps {
393
  }
394
  public function addJSVar($script, $name, $val) {
395
  if($this->_scriptsInitialized) {
 
396
  wp_localize_script($script, $name, $val);
397
  } else {
398
  $this->_scriptsVars[$script][$name] = $val;
399
  }
400
  }
401
-
402
  public function addStyle($handle, $src = false, $deps = array(), $ver = false, $media = 'all') {
403
  $src = empty($src) ? $src : uriPps::_($src);
404
  if(!$ver)
@@ -411,7 +413,7 @@ class framePps {
411
  'src' => $src,
412
  'deps' => $deps,
413
  'ver' => $ver,
414
- 'media' => $media
415
  );
416
  }
417
  }
@@ -425,13 +427,13 @@ class framePps {
425
  }
426
  //Very interesting thing going here.............
427
  public function loadPlugins() {
428
- require_once(ABSPATH. 'wp-includes/pluggable.php');
429
  }
430
  public function loadWPSettings() {
431
- require_once(ABSPATH. 'wp-settings.php');
432
  }
433
  public function loadLocale() {
434
- require_once(ABSPATH. 'wp-includes/locale.php');
435
  }
436
  public function moduleActive($code) {
437
  return isset($this->_modules[$code]);
15
  private $_styles = array();
16
  private $_stylesInitialized = false;
17
  private $_useFootAssets = false;
18
+
19
  private $_scriptsVars = array();
20
  private $_mod = '';
21
  private $_action = '';
23
  * Object with result of executing non-ajax module request
24
  */
25
  private $_res = null;
26
+
27
  public function __construct() {
28
  $this->_res = toeCreateObjPps('response', array());
29
+
30
  }
31
  static public function getInstance() {
32
  static $instance;
107
  $this->_initModules();
108
 
109
  dispatcherPps::doAction('afterModulesInit');
110
+
111
  modInstallerPps::checkActivationMessages();
112
+
113
  $this->_execModules();
114
+
115
  $addAssetsAction = $this->usePackAssets() && !is_admin() ? 'wp_footer' : 'init';
116
 
117
  add_action($addAssetsAction, array($this, 'addScripts'));
153
  if($mod) {
154
  $permissions = $mod->getController()->getPermissions();
155
  if(!empty($permissions)) { // Special permissions
156
+ if(isset($permissions[PPS_METHODS])
157
  && !empty($permissions[PPS_METHODS])
158
  ) {
159
  foreach($permissions[PPS_METHODS] as $method => $permissions) { // Make case-insensitive
180
  if(is_array($methods)) {
181
  $lowerMethods = array_map('strtolower', $methods); // Make case-insensitive
182
  if(in_array($action, $lowerMethods)) { // Permission for this method exists
183
+ if($currentUserPosition != $userlevel)
184
  $res = false;
185
  break;
186
  }
187
  } else {
188
  $lowerMethod = strtolower($methods); // Make case-insensitive
189
  if($lowerMethod == $action) { // Permission for this method exists
190
+ if($currentUserPosition != $userlevel)
191
  $res = false;
192
  break;
193
  }
226
  if($mod) {
227
  $permissions = $mod->getController()->getPermissions();
228
  if(!empty($permissions)) { // Special permissions
229
+ if(isset($permissions[PPS_METHODS])
230
  && !empty($permissions[PPS_METHODS])
231
  ) {
232
  foreach($permissions[PPS_METHODS] as $method => $permissions) { // Make case-insensitive
333
  }
334
  return $res;
335
  }
336
+
337
  public function getModule($code) {
338
  return (isset($this->_modules[$code]) ? $this->_modules[$code] : NULL);
339
  }
358
  wp_enqueue_script($handle, $src, $deps, $ver, $in_footer);
359
  } else {
360
  $this->_scripts[] = array(
361
+ 'handle' => $handle,
362
+ 'src' => $src,
363
+ 'deps' => $deps,
364
+ 'ver' => $ver,
365
  'in_footer' => $in_footer,
366
  'vars' => $vars
367
  );
374
  if(!empty($this->_scripts)) {
375
  foreach($this->_scripts as $s) {
376
  wp_enqueue_script($s['handle'], $s['src'], $s['deps'], $s['ver'], $s['in_footer']);
377
+
378
  if($s['vars'] || isset($this->_scriptsVars[$s['handle']])) {
379
  $vars = array();
380
  if($s['vars'])
383
  $vars = array_merge($vars, $this->_scriptsVars[$s['handle']]);
384
  if($vars) {
385
  foreach($vars as $k => $v) {
386
+ $v = is_array($v) ? $v : array($v);
387
  wp_localize_script($s['handle'], $k, $v);
388
  }
389
  }
394
  }
395
  public function addJSVar($script, $name, $val) {
396
  if($this->_scriptsInitialized) {
397
+ $val = is_array($val) ? $val : array($val);
398
  wp_localize_script($script, $name, $val);
399
  } else {
400
  $this->_scriptsVars[$script][$name] = $val;
401
  }
402
  }
403
+
404
  public function addStyle($handle, $src = false, $deps = array(), $ver = false, $media = 'all') {
405
  $src = empty($src) ? $src : uriPps::_($src);
406
  if(!$ver)
413
  'src' => $src,
414
  'deps' => $deps,
415
  'ver' => $ver,
416
+ 'media' => $media
417
  );
418
  }
419
  }
427
  }
428
  //Very interesting thing going here.............
429
  public function loadPlugins() {
430
+ require_once(ABSPATH. 'wp-includes/pluggable.php');
431
  }
432
  public function loadWPSettings() {
433
+ require_once(ABSPATH. 'wp-settings.php');
434
  }
435
  public function loadLocale() {
436
+ require_once(ABSPATH. 'wp-includes/locale.php');
437
  }
438
  public function moduleActive($code) {
439
  return isset($this->_modules[$code]);
config.php CHANGED
@@ -48,7 +48,7 @@
48
  define('PPS_EOL', "\n");
49
 
50
  define('PPS_PLUGIN_INSTALLED', true);
51
- define('PPS_VERSION', '1.10.2');
52
  define('PPS_USER', 'user');
53
 
54
  define('PPS_CLASS_PREFIX', 'ppsc');
48
  define('PPS_EOL', "\n");
49
 
50
  define('PPS_PLUGIN_INSTALLED', true);
51
+ define('PPS_VERSION', '1.10.3');
52
  define('PPS_USER', 'user');
53
 
54
  define('PPS_CLASS_PREFIX', 'ppsc');
js/admin.options.js CHANGED
@@ -1,3 +1,141 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
  var ppsAdminFormChanged = [];
2
  window.onbeforeunload = function(){
3
  // If there are at lease one unsaved form - show message for confirnation for page leave
@@ -14,7 +152,7 @@ jQuery(document).ready(function(){
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
@@ -39,7 +177,7 @@ jQuery(document).ready(function(){
39
  var optKey = jQuery(this).data('optkey')
40
  , descShell = jQuery('#ppsFormOptDetails_'+ optKey);
41
  if(descShell.length) {
42
- if(jQuery(this).attr('checked')) {
43
  descShell.slideDown( 300 );
44
  } else {
45
  descShell.slideUp( 300 );
@@ -50,7 +188,7 @@ jQuery(document).ready(function(){
50
  ppsInitStickyItem();
51
  ppsInitCustomCheckRadio();
52
  //ppsInitCustomSelect();
53
-
54
  jQuery('.ppsFieldsetToggled').each(function(){
55
  var self = this;
56
  jQuery(self).find('.ppsFieldsetContent').hide();
@@ -117,8 +255,8 @@ jQuery(document).ready(function(){
117
  jQuery('input.ppsCopyTextCode').each(function(){
118
  cloneWidthElement.html( str_replace(jQuery(this).val(), '<', 'P') );
119
  var parentSelector = jQuery(this).data('parent-selector')
120
- , parentWidth = (parentSelector && parentSelector != ''
121
- ? jQuery(this).parents(parentSelector+ ':first')
122
  : jQuery(this).parent()
123
  ).width()
124
  , txtWidth = cloneWidthElement.width();
@@ -301,6 +439,7 @@ function ppsInitStickyItem() {
301
  });
302
  }
303
  function ppsInitCustomCheckRadio(selector) {
 
304
  if(!jQuery.fn.iCheck) return;
305
  if(!selector)
306
  selector = document;
@@ -345,11 +484,11 @@ function ppsCheckUpdateArea(selector) {
345
  jQuery(selector).find('input[type=checkbox]').iCheck('update');
346
  }
347
  function ppsGetTxtEditorVal(id) {
348
- if(typeof(tinyMCE) !== 'undefined'
349
- && tinyMCE.get( id )
350
- && !jQuery('#'+ id).is(':visible')
351
- && tinyMCE.get( id ).getDoc
352
- && typeof(tinyMCE.get( id ).getDoc) == 'function'
353
  && tinyMCE.get( id ).getDoc()
354
  )
355
  return tinyMCE.get( id ).getContent();
@@ -357,12 +496,12 @@ function ppsGetTxtEditorVal(id) {
357
  return jQuery('#'+ id).val();
358
  }
359
  function ppsSetTxtEditorVal(id, content) {
360
- if(typeof(tinyMCE) !== 'undefined'
361
- && tinyMCE
362
- && tinyMCE.get( id )
363
  && !jQuery('#'+ id).is(':visible')
364
- && tinyMCE.get( id ).getDoc
365
- && typeof(tinyMCE.get( id ).getDoc) == 'function'
366
  && tinyMCE.get( id ).getDoc()
367
  )
368
  tinyMCE.get( id ).setContent(content);
@@ -501,7 +640,7 @@ function ppsInitMainPromoPopup() {
501
  var needShow = true
502
  , isRadio = jQuery(this).attr('type') == 'radio'
503
  , isCheck = jQuery(this).attr('type') == 'checkbox';
504
- if(isRadio && !jQuery(this).attr('checked')) {
505
  needShow = false;
506
  }
507
  if(!needShow) {
@@ -533,4 +672,4 @@ function ppsInitMainPromoPopup() {
533
  return false;
534
  });
535
  }
536
- }
1
+ (function (factory) {
2
+ if (typeof define === 'function' && define.amd) {
3
+ // AMD (Register as an anonymous module)
4
+ define(['jquery'], factory);
5
+ } else if (typeof exports === 'object') {
6
+ // Node/CommonJS
7
+ module.exports = factory(require('jquery'));
8
+ } else {
9
+ // Browser globals
10
+ factory(jQuery);
11
+ }
12
+ }(function ($) {
13
+
14
+ var pluses = /\+/g;
15
+
16
+ function encode(s) {
17
+ return config.raw ? s : encodeURIComponent(s);
18
+ }
19
+
20
+ function decode(s) {
21
+ return config.raw ? s : decodeURIComponent(s);
22
+ }
23
+
24
+ function stringifyCookieValue(value) {
25
+ return encode(config.json ? JSON.stringify(value) : String(value));
26
+ }
27
+
28
+ function parseCookieValue(s) {
29
+ if (s.indexOf('"') === 0) {
30
+ // This is a quoted cookie as according to RFC2068, unescape...
31
+ s = s.slice(1, -1).replace(/\\"/g, '"').replace(/\\\\/g, '\\');
32
+ }
33
+
34
+ try {
35
+ // Replace server-side written pluses with spaces.
36
+ // If we can't decode the cookie, ignore it, it's unusable.
37
+ // If we can't parse the cookie, ignore it, it's unusable.
38
+ s = decodeURIComponent(s.replace(pluses, ' '));
39
+ return config.json ? JSON.parse(s) : s;
40
+ } catch(e) {}
41
+ }
42
+
43
+ function read(s, converter) {
44
+ var value = config.raw ? s : parseCookieValue(s);
45
+ return $.isFunction(converter) ? converter(value) : value;
46
+ }
47
+
48
+ var config = $.cookie = function (key, value, options) {
49
+
50
+ // Write
51
+
52
+ if (arguments.length > 1 && !$.isFunction(value)) {
53
+ options = $.extend({}, config.defaults, options);
54
+
55
+ if (typeof options.expires === 'number') {
56
+ var days = options.expires, t = options.expires = new Date();
57
+ t.setMilliseconds(t.getMilliseconds() + days * 864e+5);
58
+ }
59
+
60
+ return (document.cookie = [
61
+ encode(key), '=', stringifyCookieValue(value),
62
+ options.expires ? '; expires=' + options.expires.toUTCString() : '', // use expires attribute, max-age is not supported by IE
63
+ options.path ? '; path=' + options.path : '',
64
+ options.domain ? '; domain=' + options.domain : '',
65
+ options.secure ? '; secure' : ''
66
+ ].join(''));
67
+ }
68
+
69
+ // Read
70
+
71
+ var result = key ? undefined : {},
72
+ // To prevent the for loop in the first place assign an empty array
73
+ // in case there are no cookies at all. Also prevents odd result when
74
+ // calling $.cookie().
75
+ cookies = document.cookie ? document.cookie.split('; ') : [],
76
+ i = 0,
77
+ l = cookies.length;
78
+
79
+ for (; i < l; i++) {
80
+ var parts = cookies[i].split('='),
81
+ name = decode(parts.shift()),
82
+ cookie = parts.join('=');
83
+
84
+ if (key === name) {
85
+ // If second argument (value) is a function it's a converter...
86
+ result = read(cookie, value);
87
+ break;
88
+ }
89
+
90
+ // Prevent storing a cookie that we couldn't decode.
91
+ if (!key && (cookie = read(cookie)) !== undefined) {
92
+ result[name] = cookie;
93
+ }
94
+ }
95
+
96
+ return result;
97
+ };
98
+
99
+ config.defaults = {};
100
+
101
+ $.removeCookie = function (key, options) {
102
+ // Must not alter options, thus extending a fresh object...
103
+ $.cookie(key, '', $.extend({}, options, { expires: -1 }));
104
+ return !$.cookie(key);
105
+ };
106
+
107
+ }));
108
+
109
+ if (jQuery('body').find('.supsystic-admin-notice[data-code="enb_promo_link_msg"]').length > 0) {
110
+ var dontShowPromo = jQuery.cookie('enbPromogLinkMsg3Day');
111
+ if (dontShowPromo) {
112
+ jQuery('.supsystic-admin-notice[data-code="enb_promo_link_msg"]').hide();
113
+ }
114
+ }
115
+ jQuery('body').on('click', '.supsystic-admin-notice[data-code="enb_promo_link_msg"] .notice-dismiss', function(){
116
+ jQuery.cookie('enbPromogLinkMsg3Day', true, { expires : 3});
117
+ });
118
+
119
+ if (jQuery('body').find('.supsystic-admin-notice[data-code="check_other_plugs_msg"]').length > 0) {
120
+ var dontShowPromo = jQuery.cookie('checkOtherPlugsMsg3Day');
121
+ if (dontShowPromo) {
122
+ jQuery('.supsystic-admin-notice[data-code="check_other_plugs_msg"]').hide();
123
+ }
124
+ }
125
+ jQuery('body').on('click', '.supsystic-admin-notice[data-code="check_other_plugs_msg"] .notice-dismiss', function(){
126
+ jQuery.cookie('checkOtherPlugsMsg3Day', true, { expires : 3});
127
+ });
128
+
129
+ if (jQuery('body').find('.supsystic-admin-notice[data-code="enb_stats_msg"]').length > 0) {
130
+ var dontShowPromo = jQuery.cookie('checkStatsMsg3Day');
131
+ if (dontShowPromo) {
132
+ jQuery('.supsystic-admin-notice[data-code="enb_stats_msg"]').hide();
133
+ }
134
+ }
135
+ jQuery('body').on('click', '.supsystic-admin-notice[data-code="enb_stats_msg"] .notice-dismiss', function(){
136
+ jQuery.cookie('checkStatsMsg3Day', true, { expires : 3});
137
+ });
138
+
139
  var ppsAdminFormChanged = [];
140
  window.onbeforeunload = function(){
141
  // If there are at lease one unsaved form - show message for confirnation for page leave
152
  }
153
  });
154
  }
155
+
156
  // Timeout - is to count only user changes, because some changes can be done auto when form is loaded
157
  setTimeout(function() {
158
  // If some changes was made in those forms and they were not saved - show message for confirnation before page reload
177
  var optKey = jQuery(this).data('optkey')
178
  , descShell = jQuery('#ppsFormOptDetails_'+ optKey);
179
  if(descShell.length) {
180
+ if(jQuery(this).prop('checked')) {
181
  descShell.slideDown( 300 );
182
  } else {
183
  descShell.slideUp( 300 );
188
  ppsInitStickyItem();
189
  ppsInitCustomCheckRadio();
190
  //ppsInitCustomSelect();
191
+
192
  jQuery('.ppsFieldsetToggled').each(function(){
193
  var self = this;
194
  jQuery(self).find('.ppsFieldsetContent').hide();
255
  jQuery('input.ppsCopyTextCode').each(function(){
256
  cloneWidthElement.html( str_replace(jQuery(this).val(), '<', 'P') );
257
  var parentSelector = jQuery(this).data('parent-selector')
258
+ , parentWidth = (parentSelector && parentSelector != ''
259
+ ? jQuery(this).parents(parentSelector+ ':first')
260
  : jQuery(this).parent()
261
  ).width()
262
  , txtWidth = cloneWidthElement.width();
439
  });
440
  }
441
  function ppsInitCustomCheckRadio(selector) {
442
+ return false;
443
  if(!jQuery.fn.iCheck) return;
444
  if(!selector)
445
  selector = document;
484
  jQuery(selector).find('input[type=checkbox]').iCheck('update');
485
  }
486
  function ppsGetTxtEditorVal(id) {
487
+ if(typeof(tinyMCE) !== 'undefined'
488
+ && tinyMCE.get( id )
489
+ && !jQuery('#'+ id).is(':visible')
490
+ && tinyMCE.get( id ).getDoc
491
+ && typeof(tinyMCE.get( id ).getDoc) == 'function'
492
  && tinyMCE.get( id ).getDoc()
493
  )
494
  return tinyMCE.get( id ).getContent();
496
  return jQuery('#'+ id).val();
497
  }
498
  function ppsSetTxtEditorVal(id, content) {
499
+ if(typeof(tinyMCE) !== 'undefined'
500
+ && tinyMCE
501
+ && tinyMCE.get( id )
502
  && !jQuery('#'+ id).is(':visible')
503
+ && tinyMCE.get( id ).getDoc
504
+ && typeof(tinyMCE.get( id ).getDoc) == 'function'
505
  && tinyMCE.get( id ).getDoc()
506
  )
507
  tinyMCE.get( id ).setContent(content);
640
  var needShow = true
641
  , isRadio = jQuery(this).attr('type') == 'radio'
642
  , isCheck = jQuery(this).attr('type') == 'checkbox';
643
+ if(isRadio && !jQuery(this).prop('checked')) {
644
  needShow = false;
645
  }
646
  if(!needShow) {
672
  return false;
673
  });
674
  }
675
+ }
modules/popup/js/admin.popup.edit.js CHANGED
@@ -167,14 +167,14 @@ jQuery(document).ready(function(){
167
  jQuery('#ppsPopupEditForm').find('[name="params[tpl][bullets]"]').val( ppsPopup.params.tpl.bullets );
168
  }
169
  // Some main options can have additional sub-options - "descriptions" - that need to be visible if option is checked
170
- jQuery('#ppsPopupEditForm').find('input[name="params[main][show_on]"],input[name="params[main][close_on]"],input[name="params[main][show_to]"],input[name="params[main][show_pages]"]').change(function(){
171
  var name = jQuery(this).attr('name')
172
  , value = jQuery(this).val()
173
  , nameReplaced = pps_str_replace( pps_str_replace( pps_str_replace(name, '][', '_'), '[', '_'), ']', '_' )
174
  , nameValueReplaced = nameReplaced+ value
175
  , descShell = jQuery('#ppsOptDesc_'+ nameValueReplaced);
176
  if(descShell.length) {
177
- jQuery(this).attr('checked') ? descShell.slideDown( g_ppsAnimationSpeed ) : descShell.slideUp( g_ppsAnimationSpeed );
178
  }
179
  }).change();
180
  // Fallback for case if library was not loaded
@@ -314,7 +314,7 @@ jQuery(document).ready(function(){
314
  }
315
  });
316
  jQuery('#ppsPopupEditForm').find('[name="params[tpl][width_measure]"]').change(function(){
317
- if(!jQuery(this).attr('checked'))
318
  return;
319
  var widthInput = jQuery('#ppsPopupEditForm').find('[name="params[tpl][width]"]');
320
  if(jQuery(this).val() == '%') {
167
  jQuery('#ppsPopupEditForm').find('[name="params[tpl][bullets]"]').val( ppsPopup.params.tpl.bullets );
168
  }
169
  // Some main options can have additional sub-options - "descriptions" - that need to be visible if option is checked
170
+ jQuery('#ppsPopupEditForm').find('input[name="params[main][show_on]"],input[name="params[main][close_on]"],input[name="params[main][show_to]"],input[name="params[main][show_pages]"]').on('change',function(){
171
  var name = jQuery(this).attr('name')
172
  , value = jQuery(this).val()
173
  , nameReplaced = pps_str_replace( pps_str_replace( pps_str_replace(name, '][', '_'), '[', '_'), ']', '_' )
174
  , nameValueReplaced = nameReplaced+ value
175
  , descShell = jQuery('#ppsOptDesc_'+ nameValueReplaced);
176
  if(descShell.length) {
177
+ jQuery(this).prop('checked') ? descShell.slideDown( g_ppsAnimationSpeed ) : descShell.slideUp( g_ppsAnimationSpeed );
178
  }
179
  }).change();
180
  // Fallback for case if library was not loaded
314
  }
315
  });
316
  jQuery('#ppsPopupEditForm').find('[name="params[tpl][width_measure]"]').change(function(){
317
+ if(!jQuery(this).prop('checked'))
318
  return;
319
  var widthInput = jQuery('#ppsPopupEditForm').find('[name="params[tpl][width]"]');
320
  if(jQuery(this).val() == '%') {
modules/popup/js/admin.popup.list.js CHANGED
@@ -4,7 +4,7 @@ jQuery(document).ready(function(){
4
  return;
5
  }
6
  var tblId = 'ppsPopupTbl';
7
- jQuery('#'+ tblId).jqGrid({
8
  url: ppsTblDataUrl
9
  , datatype: 'json'
10
  , autowidth: true
@@ -32,7 +32,7 @@ jQuery(document).ready(function(){
32
  , sortorder: 'desc'
33
  , jsonReader: { repeatitems : false, id: '0' }
34
  , caption: toeLangPps('Current PopUp')
35
- , height: '100%'
36
  , emptyrecords: toeLangPps('You have no PopUps for now.')
37
  , multiselect: true
38
  , onSelectRow: function(rowid, e) {
@@ -93,11 +93,11 @@ jQuery(document).ready(function(){
93
  }, tblId);
94
  }
95
  });
96
-
97
  jQuery('#'+ tblId+ 'EmptyMsg').insertAfter(jQuery('#'+ tblId+ '').parent());
98
  jQuery('#'+ tblId+ '').jqGrid('navGrid', '#'+ tblId+ 'Nav', {edit: false, add: false, del: false});
99
  jQuery('#cb_'+ tblId+ '').change(function(){
100
- jQuery(this).attr('checked')
101
  ? jQuery('#ppsPopupRemoveGroupBtn').removeAttr('disabled')
102
  : jQuery('#ppsPopupRemoveGroupBtn').attr('disabled', 'disabled');
103
  });
4
  return;
5
  }
6
  var tblId = 'ppsPopupTbl';
7
+ jQuery('#'+ tblId).jqGrid({
8
  url: ppsTblDataUrl
9
  , datatype: 'json'
10
  , autowidth: true
32
  , sortorder: 'desc'
33
  , jsonReader: { repeatitems : false, id: '0' }
34
  , caption: toeLangPps('Current PopUp')
35
+ , height: '100%'
36
  , emptyrecords: toeLangPps('You have no PopUps for now.')
37
  , multiselect: true
38
  , onSelectRow: function(rowid, e) {
93
  }, tblId);
94
  }
95
  });
96
+
97
  jQuery('#'+ tblId+ 'EmptyMsg').insertAfter(jQuery('#'+ tblId+ '').parent());
98
  jQuery('#'+ tblId+ '').jqGrid('navGrid', '#'+ tblId+ 'Nav', {edit: false, add: false, del: false});
99
  jQuery('#cb_'+ tblId+ '').change(function(){
100
+ jQuery(this).prop('checked')
101
  ? jQuery('#ppsPopupRemoveGroupBtn').removeAttr('disabled')
102
  : jQuery('#ppsPopupRemoveGroupBtn').attr('disabled', 'disabled');
103
  });
pps.php CHANGED
@@ -3,7 +3,7 @@
3
  * Plugin Name: Popup by Supsystic
4
  * Plugin URI: https://supsystic.com/plugins/popup-plugin/
5
  * Description: The Best WordPress popup plugin to help you gain more subscribers, social followers or advertisement. Responsive popups with friendly options
6
- * Version: 1.10.2
7
  * Author: supsystic.com
8
  * Author URI: https://supsystic.com
9
  * Text Domain: popup-by-supsystic
3
  * Plugin Name: Popup by Supsystic
4
  * Plugin URI: https://supsystic.com/plugins/popup-plugin/
5
  * Description: The Best WordPress popup plugin to help you gain more subscribers, social followers or advertisement. Responsive popups with friendly options
6
+ * Version: 1.10.3
7
  * Author: supsystic.com
8
  * Author URI: https://supsystic.com
9
  * Text Domain: popup-by-supsystic
readme.txt CHANGED
@@ -2,8 +2,8 @@
2
  Contributors: supsystic.com
3
  Donate link: https://supsystic.com/plugins/popup-plugin
4
  Tags: popup, popup WordPress plugin, marketing, popover, pop-up, popup builder, social popup, facebook popup, popup builder, popup maker
5
- Tested up to: 5.5
6
- Stable tag: 1.10.2
7
 
8
  Create elegant popup easily with Popup Builder by Supsystic. Popup with Subscription Forms, Facebook popup, Optin and Social locks, Contact Forms etc.
9
 
@@ -116,6 +116,14 @@ Enable “Redirect after close” option in Appearance setting on the Design tab
116
  Leave us a nice review 🙂
117
 
118
  == Changelog ==
 
 
 
 
 
 
 
 
119
 
120
  = 1.10.2 / 15.09.2020 =
121
  * Add fix for WP 5.5
2
  Contributors: supsystic.com
3
  Donate link: https://supsystic.com/plugins/popup-plugin
4
  Tags: popup, popup WordPress plugin, marketing, popover, pop-up, popup builder, social popup, facebook popup, popup builder, popup maker
5
+ Tested up to: 5.7
6
+ Stable tag: 1.10.3
7
 
8
  Create elegant popup easily with Popup Builder by Supsystic. Popup with Subscription Forms, Facebook popup, Optin and Social locks, Contact Forms etc.
9
 
116
  Leave us a nice review 🙂
117
 
118
  == Changelog ==
119
+ = 1.10.3 / 16.03.2021 =
120
+ * Add fix for WP 5.7
121
+ * Fixed radio Buttons
122
+ * Fixed checkboxes
123
+ * disabled iCheck
124
+ * add cookie for notices
125
+
126
+
127
 
128
  = 1.10.2 / 15.09.2020 =
129
  * Add fix for WP 5.5