Popup Builder – Responsive WordPress Pop up - Version 3.1.2

Version Description

Current Version of Popup Builder is 3.1

Download this release

Release Info

Developer Sygnoos
Plugin Icon 128x128 Popup Builder – Responsive WordPress Pop up
Version 3.1.2
Comparing to
See all releases

Code changes from version 3.1.1 to 3.1.2

Files changed (144) hide show
  1. PopupBuilderInit.php +0 -0
  2. com/boot.php +0 -0
  3. com/classes/Actions.php +9 -2
  4. com/classes/Ajax.php +6 -5
  5. com/classes/ConditionBuilder.php +0 -0
  6. com/classes/ConditionCreator.php +0 -0
  7. com/classes/Filters.php +10 -13
  8. com/classes/Installer.php +3 -0
  9. com/classes/Javascript.php +0 -0
  10. com/classes/MediaButton.php +0 -0
  11. com/classes/PopupChecker.php +0 -0
  12. com/classes/PopupGroupFilter.php +0 -0
  13. com/classes/PopupInstaller.php +0 -0
  14. com/classes/PopupLoader.php +0 -0
  15. com/classes/PopupType.php +0 -0
  16. com/classes/RegisterPostType.php +25 -0
  17. com/classes/SGPBRequirementsChecker.php +0 -0
  18. com/classes/ScriptsLoader.php +0 -0
  19. com/classes/Style.php +0 -0
  20. com/classes/Updates.php +0 -0
  21. com/classes/dataTable/Subscribers.php +0 -0
  22. com/classes/extension/SgpbIPopupExtension.php +0 -0
  23. com/classes/extension/SgpbPopupExtension.php +1 -1
  24. com/classes/extension/SgpbPopupExtensionRegister.php +0 -0
  25. com/classes/popups/FblikePopup.php +0 -0
  26. com/classes/popups/HtmlPopup.php +0 -0
  27. com/classes/popups/ImagePopup.php +0 -0
  28. com/classes/popups/PopupData.php +0 -0
  29. com/classes/popups/SGPopup.php +3 -0
  30. com/classes/popups/SubscriptionPopup.php +0 -0
  31. com/config/config.php +5 -1
  32. com/config/configPackage.php +1 -1
  33. com/config/dataConfig.php +6 -0
  34. com/helpers/AdminHelper.php +22 -12
  35. com/helpers/ConfigDataHelper.php +0 -0
  36. com/helpers/Functions.php +0 -0
  37. com/helpers/MultipleChoiceButton.php +0 -0
  38. com/helpers/PopupBuilderActivePackage.php +0 -0
  39. com/helpers/ScriptsIncluder.php +0 -0
  40. com/libs/EDD_SL_Plugin_Updater.php +0 -0
  41. com/libs/ListTable.php +0 -0
  42. com/libs/Table.php +0 -0
  43. popup-builder.php +1 -1
  44. public/css/ResetFormStyle.css +0 -0
  45. public/css/SubscriptionForm.css +0 -0
  46. public/css/fonts/FontAwesome.otf +0 -0
  47. public/css/fonts/fontawesome-webfont.eot +0 -0
  48. public/css/fonts/fontawesome-webfont.svg +0 -0
  49. public/css/fonts/fontawesome-webfont.ttf +0 -0
  50. public/css/fonts/fontawesome-webfont.woff +0 -0
  51. public/css/fonts/fontawesome-webfont.woff2 +0 -0
  52. public/css/jquery.dateTimePicker.min.css +0 -0
  53. public/css/popupAdminStyles.css +9 -9
  54. public/css/select2.min.css +0 -0
  55. public/css/sgPopupRangeSlider.css +0 -0
  56. public/css/sgbp-bootstrap.css +0 -0
  57. public/css/theme.css +0 -0
  58. public/img/CountdownTypeIcon.png +0 -0
  59. public/img/adBlockTypeIcon.png +0 -0
  60. public/img/ajaxSpinner.gif +0 -0
  61. public/img/analyticsTypeIcon.png +0 -0
  62. public/img/animationImage.png +0 -0
  63. public/img/aweberTypeIcon.png +0 -0
  64. public/img/bannerCloseBtn.png +0 -0
  65. public/img/bannerEmail.png +0 -0
  66. public/img/bannerHeart.png +0 -0
  67. public/img/bannerLogo.png +0 -0
  68. public/img/bannerMegaphone.png +0 -0
  69. public/img/bannerQuestionMark.png +0 -0
  70. public/img/bannerSupport.png +0 -0
  71. public/img/blog-wp-kicker.png +0 -0
  72. public/img/close.png +0 -0
  73. public/img/contactFormTypeIcon.png +0 -0
  74. public/img/exitIntentTypeIcon.png +0 -0
  75. public/img/facebookTypeIcon.png +0 -0
  76. public/img/htmlTypeIcon.png +0 -0
  77. public/img/iframeTypeIcon.png +0 -0
  78. public/img/imageTypeIcon.png +0 -0
  79. public/img/mailchimpTypeIcon.png +0 -0
  80. public/img/moreIdeas.png +0 -0
  81. public/img/preview-eye.png +0 -0
  82. public/img/probadge.png +0 -0
  83. public/img/rateUsBanner1.png +0 -0
  84. public/img/rateUsBanner2.png +0 -0
  85. public/img/rateUsBanner3.png +0 -0
  86. public/img/recentSales.png +0 -0
  87. public/img/restrictionTyoeIcon.png +0 -0
  88. public/img/socialTypeIcon.png +0 -0
  89. public/img/star.png +0 -0
  90. public/img/subscribers_close.png +0 -0
  91. public/img/subscriptionPlusTypeIcon.png +0 -0
  92. public/img/subscriptionTypeIcon.png +0 -0
  93. public/img/theme1.jpg +0 -0
  94. public/img/theme2.jpg +0 -0
  95. public/img/theme3.jpg +0 -0
  96. public/img/theme4.jpg +0 -0
  97. public/img/theme5.jpg +0 -0
  98. public/img/theme6.jpg +0 -0
  99. public/img/theme_1/close.png +0 -0
  100. public/img/theme_1/overlay.png +0 -0
  101. public/img/theme_2/close.png +0 -0
  102. public/img/theme_3/close.png +0 -0
  103. public/img/theme_5/close.png +0 -0
  104. public/img/theme_6/close.png +0 -0
  105. public/img/videoTypeIcon.png +0 -0
  106. public/img/wooTypeIcon.png +0 -0
  107. public/js/Backend.js +0 -0
  108. public/js/Banner.js +0 -0
  109. public/js/ExtensionsNotification.js +0 -0
  110. public/js/MediaButton.js +0 -0
  111. public/js/Newsletter.js +0 -0
  112. public/js/Popup.js +0 -0
  113. public/js/PopupBuilder.js +43 -6
  114. public/js/PopupConfig.js +0 -0
  115. public/js/Subscribers.js +0 -0
  116. public/js/Subscription.js +0 -0
  117. public/js/Validate.js +0 -0
  118. public/js/bootstrap.min.js +0 -0
  119. public/js/select2.min.js +0 -0
  120. public/js/sgPopupRangeSlider.js +0 -0
  121. public/js/sgpbSelect2.js +0 -0
  122. public/sound/popupOpenSound.wav +0 -0
  123. public/views/behaviorAfterSpecialEventsView.php +0 -0
  124. public/views/closeSettingsView.php +1 -1
  125. public/views/conditionsView.php +144 -4
  126. public/views/dimensionsView.php +0 -0
  127. public/views/emailTemplates/takeReviewAfterSubscribe.html +8 -3
  128. public/views/eventsView.php +0 -0
  129. public/views/jsVariableView.php +0 -0
  130. public/views/license.php +0 -0
  131. public/views/main/image.php +0 -0
  132. public/views/mainRateUsBanner.php +0 -0
  133. public/views/mediaButton.php +0 -0
  134. public/views/newsletter.php +0 -0
  135. public/views/options/facebook.php +0 -0
  136. public/views/options/subscription.php +8 -8
  137. public/views/optionsView.php +1 -1
  138. public/views/otherConditionsView.php +0 -0
  139. public/views/popupDesignView.php +3 -3
  140. public/views/popupTypes.php +0 -0
  141. public/views/settings.php +0 -0
  142. public/views/subscribers.php +0 -0
  143. public/views/targetView.php +0 -0
  144. readme.txt +9 -3
PopupBuilderInit.php CHANGED
File without changes
com/boot.php CHANGED
File without changes
com/classes/Actions.php CHANGED
@@ -57,10 +57,14 @@ class Actions
57
 
58
  public function getBannerContent()
59
  {
 
60
  $bannerContent = AdminHelper::getFileFromURL(SGPB_BANNER_CRON_TEXT_URL);
61
  update_option('sgpb-banner-remote-get', $bannerContent);
 
 
 
62
 
63
- return $banner;
64
  }
65
 
66
  public function wpInit()
@@ -515,7 +519,10 @@ class Actions
515
  ConvertToNewVersion::saveCustomInserted();
516
  }
517
 
518
- PopupLoader::instance()->loadPopups();
 
 
 
519
  }
520
 
521
  public function adminLoadPopups($hook)
57
 
58
  public function getBannerContent()
59
  {
60
+ // main banner content
61
  $bannerContent = AdminHelper::getFileFromURL(SGPB_BANNER_CRON_TEXT_URL);
62
  update_option('sgpb-banner-remote-get', $bannerContent);
63
+ // right metabox banner content
64
+ $metaboxBannerContent = AdminHelper::getFileFromURL(SGPB_METABOX_BANNER_CRON_TEXT_URL);
65
+ update_option('sgpb-metabox-banner-remote-get', $metaboxBannerContent);
66
 
67
+ return true;
68
  }
69
 
70
  public function wpInit()
519
  ConvertToNewVersion::saveCustomInserted();
520
  }
521
 
522
+ $popupLoaderObj = PopupLoader::instance();
523
+ if (is_object($popupLoaderObj)) {
524
+ $popupLoaderObj->loadPopups();
525
+ }
526
  }
527
 
528
  public function adminLoadPopups($hook)
com/classes/Ajax.php CHANGED
@@ -375,7 +375,7 @@ class Ajax
375
  wp_die();
376
  }
377
 
378
- private function sendSuccessEmails($popupPostId, $subscriptionDetails)
379
  {
380
  global $wpdb;
381
  $popup = SGPopup::find($popupPostId);
@@ -398,18 +398,19 @@ class Ajax
398
  $adminUserName = $userData->display_name;
399
  }
400
 
401
- $notificationEmail = $popupOptions['sgpb-subs-notifications-email'];
402
- $newSubscriberEmailHeader = AdminHelper::getEmailHeader($notificationEmail);
403
  $takeReviewAfterFirstSubscription = get_option('sgpb-new-subscriber');
404
 
405
- if ($count['countIds'] == 1 && !empty($popupOptions['sgpb-subs-enable-email-notifications']) && !$takeReviewAfterFirstSubscription) {
406
  // take review
407
  update_option('sgpb-new-subscriber', 1);
408
  $newSubscriberEmailTitle = __('Congrats! You have already 1 subscriber!', SG_POPUP_TEXT_DOMAIN);
409
  $reviewEmailTemplate = AdminHelper::getFileFromURL(SG_POPUP_EMAIL_TEMPLATES_URL.'takeReviewAfterSubscribe.html');
410
  $reviewEmailTemplate = preg_replace('/\[adminUserName]/', $adminUserName, $reviewEmailTemplate);
411
- $sendStatus = wp_mail($notificationEmail, $newSubscriberEmailTitle, $reviewEmailTemplate, $newSubscriberEmailHeader); //return true or false
412
  }
 
 
413
  }
414
 
415
  public function select2SearchData()
375
  wp_die();
376
  }
377
 
378
+ public function sendSuccessEmails($popupPostId, $subscriptionDetails)
379
  {
380
  global $wpdb;
381
  $popup = SGPopup::find($popupPostId);
398
  $adminUserName = $userData->display_name;
399
  }
400
 
401
+ $newSubscriberEmailHeader = AdminHelper::getEmailHeader($adminEmail);
 
402
  $takeReviewAfterFirstSubscription = get_option('sgpb-new-subscriber');
403
 
404
+ if ($count['countIds'] == 1 && !$takeReviewAfterFirstSubscription) {
405
  // take review
406
  update_option('sgpb-new-subscriber', 1);
407
  $newSubscriberEmailTitle = __('Congrats! You have already 1 subscriber!', SG_POPUP_TEXT_DOMAIN);
408
  $reviewEmailTemplate = AdminHelper::getFileFromURL(SG_POPUP_EMAIL_TEMPLATES_URL.'takeReviewAfterSubscribe.html');
409
  $reviewEmailTemplate = preg_replace('/\[adminUserName]/', $adminUserName, $reviewEmailTemplate);
410
+ $sendStatus = wp_mail($adminEmail, $newSubscriberEmailTitle, $reviewEmailTemplate, $newSubscriberEmailHeader); //return true or false
411
  }
412
+
413
+ do_action('sgpbSubscriptionPlusNotifications', $popupPostId, $subscriptionDetails);
414
  }
415
 
416
  public function select2SearchData()
com/classes/ConditionBuilder.php CHANGED
File without changes
com/classes/ConditionCreator.php CHANGED
File without changes
com/classes/Filters.php CHANGED
@@ -61,18 +61,11 @@ class Filters
61
 
62
  public function metaboxes($metaboxes)
63
  {
64
- $conditionsProLabel = '';
65
- $conditionsCanBeUsed = PopupBuilderActivePackage::canUseSection('popupConditionsSection');
66
- if (!$conditionsCanBeUsed) {
67
- $conditionsProLabel .= '<a href="'.SG_POPUP_ADVANCED_TARGETING_URL.'" target="_blank" class="sgpb-pro-label-metabox sgpb-advanced-targeting-pro-label">';
68
- $conditionsProLabel .= __('GET OPTIONS', SG_POPUP_TEXT_DOMAIN).'</a>';
69
- }
70
-
71
  $otherConditionsProLabel = '';
72
  $otherConditionsCanBeUsed = PopupBuilderActivePackage::canUseSection('popupOtherConditionsSection');
73
  if (!$otherConditionsCanBeUsed) {
74
- $otherConditionsProLabel .= '<a href="'.SG_POPUP_SCHEDULING_URL.'" target="_blank" class="sgpb-pro-label-metabox sgpb-scheduling-pro-label">';
75
- $otherConditionsProLabel .= __('GET OPTION', SG_POPUP_TEXT_DOMAIN).'</a>';
76
  }
77
  $metaboxes['targetMetaboxView'] = array(
78
  'key' => 'targetMetaboxView',
@@ -90,7 +83,7 @@ class Filters
90
 
91
  $metaboxes['conditionsMetaboxView'] = array(
92
  'key' => 'conditionsMetaboxView',
93
- 'displayName' => 'Popup Conditions'.$conditionsProLabel,
94
  'filePath' => SG_POPUP_VIEWS_PATH.'conditionsView.php',
95
  'priority' => 'high'
96
  );
@@ -218,7 +211,7 @@ class Filters
218
 
219
  public function excludePostsToShow($where)
220
  {
221
- if (is_admin()) {
222
  if (!function_exists('get_current_screen')) {
223
  return $where;
224
  }
@@ -232,8 +225,12 @@ class Filters
232
  if ($postType == SG_POPUP_POST_TYPE &&
233
  $screen instanceof \WP_Screen &&
234
  $screen->id === 'edit-popupbuilder') {
235
- $activePopupsQuery = SGPopup::getActivePopupsQueryString();
236
- $where .= $activePopupsQuery;
 
 
 
 
237
  }
238
  }
239
 
61
 
62
  public function metaboxes($metaboxes)
63
  {
 
 
 
 
 
 
 
64
  $otherConditionsProLabel = '';
65
  $otherConditionsCanBeUsed = PopupBuilderActivePackage::canUseSection('popupOtherConditionsSection');
66
  if (!$otherConditionsCanBeUsed) {
67
+ $otherConditionsProLabel .= '<a href="'.SG_POPUP_SCHEDULING_URL.'" target="_blank" class="sgpb-pro-label-metabox">';
68
+ $otherConditionsProLabel .= __('UNLOCK OPTION', SG_POPUP_TEXT_DOMAIN).'</a>';
69
  }
70
  $metaboxes['targetMetaboxView'] = array(
71
  'key' => 'targetMetaboxView',
83
 
84
  $metaboxes['conditionsMetaboxView'] = array(
85
  'key' => 'conditionsMetaboxView',
86
+ 'displayName' => 'Popup Conditions',
87
  'filePath' => SG_POPUP_VIEWS_PATH.'conditionsView.php',
88
  'priority' => 'high'
89
  );
211
 
212
  public function excludePostsToShow($where)
213
  {
214
+ if (function_exists('is_admin') && is_admin()) {
215
  if (!function_exists('get_current_screen')) {
216
  return $where;
217
  }
225
  if ($postType == SG_POPUP_POST_TYPE &&
226
  $screen instanceof \WP_Screen &&
227
  $screen->id === 'edit-popupbuilder') {
228
+ if (class_exists('sgpb\SGPopup')) {
229
+ $activePopupsQuery = SGPopup::getActivePopupsQueryString();
230
+ if ($activePopupsQuery && $activePopupsQuery != '') {
231
+ $where .= $activePopupsQuery;
232
+ }
233
+ }
234
  }
235
  }
236
 
com/classes/Installer.php CHANGED
@@ -101,6 +101,7 @@ class Installer
101
 
102
  public static function setupInstallationsDateConfig()
103
  {
 
104
  $usageDays = get_option('SGPBUsageDays');
105
  if (!$usageDays) {
106
  update_option('SGPBUsageDays', 0);
@@ -129,6 +130,8 @@ class Installer
129
  return false;
130
  }
131
  delete_option('sgpb-dont-delete-data');
 
 
132
 
133
  // Trigger popup data delete action
134
  do_action('sgpbDeletePopupData');
101
 
102
  public static function setupInstallationsDateConfig()
103
  {
104
+ update_option('sgpbUnsubscribeColumnFixed', 1);
105
  $usageDays = get_option('SGPBUsageDays');
106
  if (!$usageDays) {
107
  update_option('SGPBUsageDays', 0);
130
  return false;
131
  }
132
  delete_option('sgpb-dont-delete-data');
133
+ delete_option('sgpb-new-subscriber');
134
+ delete_option('sgpbUnsubscribeColumnFixed');
135
 
136
  // Trigger popup data delete action
137
  do_action('sgpbDeletePopupData');
com/classes/Javascript.php CHANGED
File without changes
com/classes/MediaButton.php CHANGED
File without changes
com/classes/PopupChecker.php CHANGED
File without changes
com/classes/PopupGroupFilter.php CHANGED
File without changes
com/classes/PopupInstaller.php CHANGED
File without changes
com/classes/PopupLoader.php CHANGED
File without changes
com/classes/PopupType.php CHANGED
File without changes
com/classes/RegisterPostType.php CHANGED
@@ -261,6 +261,25 @@ class RegisterPostType
261
  if (!empty($popupTypeViewData)) {
262
  add_action('add_meta_boxes', array($this, 'popupTypeOptions'));
263
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
264
  }
265
 
266
  public function popupTypeMain()
@@ -457,4 +476,10 @@ class RegisterPostType
457
  require_once($optionsView['filePath']);
458
  }
459
  }
 
 
 
 
 
 
460
  }
261
  if (!empty($popupTypeViewData)) {
262
  add_action('add_meta_boxes', array($this, 'popupTypeOptions'));
263
  }
264
+ if ($popupType == 'subscription') {
265
+ add_action('add_meta_boxes', array($this, 'rightBannerMetabox'));
266
+ }
267
+ }
268
+
269
+ public function rightBannerMetabox()
270
+ {
271
+ $banner = AdminHelper::getRightMetaboxBannerText();
272
+ if ($banner == '') {
273
+ return;
274
+ }
275
+ add_meta_box(
276
+ 'popupTypeRightBannerView',
277
+ __('News', SG_POPUP_TEXT_DOMAIN),
278
+ array($this, 'popupTypeRightBannerView'),
279
+ SG_POPUP_POST_TYPE,
280
+ 'side',
281
+ 'low'
282
+ );
283
  }
284
 
285
  public function popupTypeMain()
476
  require_once($optionsView['filePath']);
477
  }
478
  }
479
+
480
+ public function popupTypeRightBannerView()
481
+ {
482
+ $banner = AdminHelper::getRightMetaboxBannerText();
483
+ echo $banner;
484
+ }
485
  }
com/classes/SGPBRequirementsChecker.php CHANGED
File without changes
com/classes/ScriptsLoader.php CHANGED
File without changes
com/classes/Style.php CHANGED
File without changes
com/classes/Updates.php CHANGED
File without changes
com/classes/dataTable/Subscribers.php CHANGED
File without changes
com/classes/extension/SgpbIPopupExtension.php CHANGED
File without changes
com/classes/extension/SgpbPopupExtension.php CHANGED
@@ -299,4 +299,4 @@ class SgpbPopupExtension implements SgpbIPopupExtension
299
 
300
  return $cssData;
301
  }
302
- }
299
 
300
  return $cssData;
301
  }
302
+ }
com/classes/extension/SgpbPopupExtensionRegister.php CHANGED
File without changes
com/classes/popups/FblikePopup.php CHANGED
File without changes
com/classes/popups/HtmlPopup.php CHANGED
File without changes
com/classes/popups/ImagePopup.php CHANGED
File without changes
com/classes/popups/PopupData.php CHANGED
File without changes
com/classes/popups/SGPopup.php CHANGED
@@ -1554,6 +1554,9 @@ abstract class SGPopup
1554
  'post_type' => SG_POPUP_POST_TYPE,
1555
  'post_status' => array('trash', 'publish')
1556
  );
 
 
 
1557
  $allPostData = ConfigDataHelper::getQueryDataByArgs($args);
1558
  $args['checkActivePopupType'] = true;
1559
  $allPopups = $allPostData->posts;
1554
  'post_type' => SG_POPUP_POST_TYPE,
1555
  'post_status' => array('trash', 'publish')
1556
  );
1557
+ if (!class_exists('ConfigDataHelper')) {
1558
+ return $activePopupsQuery;
1559
+ }
1560
  $allPostData = ConfigDataHelper::getQueryDataByArgs($args);
1561
  $args['checkActivePopupType'] = true;
1562
  $allPopups = $allPostData->posts;
com/classes/popups/SubscriptionPopup.php CHANGED
File without changes
com/config/config.php CHANGED
@@ -45,6 +45,7 @@ class SgpbPopupConfig
45
  self::addDefine('SG_POPUP_ALL_EXTENSIONS_URL', 'https://popup-builder.com/downloads/category/extensions/');
46
  self::addDefine('SG_POPUP_LOGIN_URL', 'https://popup-builder.com/downloads/login-popup/');
47
  self::addDefine('SG_POPUP_REGISTRATION_URL', 'https://popup-builder.com/downloads/registration-popup/');
 
48
  self::addDefine('SG_POPUP_ADMIN_URL', admin_url());
49
  self::addDefine('SG_POPUP_BUILDER_URL', plugins_url().'/'.SG_POPUP_FOLDER_NAME.'/');
50
  self::addDefine('SG_POPUP_BUILDER_PATH', WP_PLUGIN_DIR.'/'.SG_POPUP_FOLDER_NAME.'/');
@@ -68,6 +69,7 @@ class SgpbPopupConfig
68
  self::addDefine('SG_POPUP_IMG_URL', SG_POPUP_PUBLIC_URL.'img/');
69
  self::addDefine('SG_POPUP_SOUND_URL', SG_POPUP_PUBLIC_URL.'sound/');
70
  self::addDefine('SG_POPUP_VIEWS_URL', SG_POPUP_PUBLIC_URL.'views/');
 
71
  self::addDefine('SG_POPUP_DEFAULT_TIME_ZONE', 'UTC');
72
  self::addDefine('SG_POPUP_CATEGORY_TAXONOMY', 'popup-categories');
73
  self::addDefine('SG_POPUP_MINIMUM_PHP_VERSION', '5.3.3');
@@ -90,7 +92,8 @@ class SgpbPopupConfig
90
  self::addDefine('SGPB_APP_POPUP_TABLE_LIMIT', 15);
91
  self::addDefine('SGPB_SUBSCRIBERS_ERROR_TABLE_NAME', 'sgpb_subscription_error_log');
92
  self::addDefine('SGPB_CRON_REPEAT_INTERVAL', 1);
93
- self::addDefine('SGPB_BANNER_CRON_TEXT_URL', 'https://popup-builder.com/sgpb-banner.php');
 
94
  self::addDefine('SGPB_FACEBOOK_APP_ID', 1725074220856984);
95
  self::addDefine('SGPB_POPUP_TYPE_RESTRICTION', 'ageRestriction');
96
  self::addDefine('SGPB_POPUP_DEFAULT_SOUND', 'popupOpenSound.wav');
@@ -106,6 +109,7 @@ class SgpbPopupConfig
106
  self::addDefine('SGPB_POPUP_SCHEDULING_EXTENSION_KEY', 'popupbuilder-scheduling/PopupBuilderScheduling.php');
107
  self::addDefine('SGPB_POPUP_GEO_TARGETING_EXTENSION_KEY', 'popupbuilder-geo-targeting/PopupBuilderGeoTargeting.php');
108
  self::addDefine('SGPB_POPUP_ADVANCED_TARGETING_EXTENSION_KEY', 'popupbuilder-advanced-targeting/PopupBuilderAdvancedTargeting.php');
 
109
  self::addDefine('SGPB_ASK_REVIEW_POPUP_COUNT', 80);
110
  self::addDefine('SGPB_REVIEW_POPUP_PERIOD', 30);
111
  self::addDefine('SGPB_POPUP_EXPORT_FILE_NAME', 'PopupBuilderPopups.xml');
45
  self::addDefine('SG_POPUP_ALL_EXTENSIONS_URL', 'https://popup-builder.com/downloads/category/extensions/');
46
  self::addDefine('SG_POPUP_LOGIN_URL', 'https://popup-builder.com/downloads/login-popup/');
47
  self::addDefine('SG_POPUP_REGISTRATION_URL', 'https://popup-builder.com/downloads/registration-popup/');
48
+ self::addDefine('SG_POPUP_SUBSCRIPTION_PLUS_URL', 'https://popup-builder.com/downloads/subscription-plus-popup/');
49
  self::addDefine('SG_POPUP_ADMIN_URL', admin_url());
50
  self::addDefine('SG_POPUP_BUILDER_URL', plugins_url().'/'.SG_POPUP_FOLDER_NAME.'/');
51
  self::addDefine('SG_POPUP_BUILDER_PATH', WP_PLUGIN_DIR.'/'.SG_POPUP_FOLDER_NAME.'/');
69
  self::addDefine('SG_POPUP_IMG_URL', SG_POPUP_PUBLIC_URL.'img/');
70
  self::addDefine('SG_POPUP_SOUND_URL', SG_POPUP_PUBLIC_URL.'sound/');
71
  self::addDefine('SG_POPUP_VIEWS_URL', SG_POPUP_PUBLIC_URL.'views/');
72
+ self::addDefine('SG_POPUP_EMAIL_TEMPLATES_URL', SG_POPUP_VIEWS_URL.'emailTemplates/');
73
  self::addDefine('SG_POPUP_DEFAULT_TIME_ZONE', 'UTC');
74
  self::addDefine('SG_POPUP_CATEGORY_TAXONOMY', 'popup-categories');
75
  self::addDefine('SG_POPUP_MINIMUM_PHP_VERSION', '5.3.3');
92
  self::addDefine('SGPB_APP_POPUP_TABLE_LIMIT', 15);
93
  self::addDefine('SGPB_SUBSCRIBERS_ERROR_TABLE_NAME', 'sgpb_subscription_error_log');
94
  self::addDefine('SGPB_CRON_REPEAT_INTERVAL', 1);
95
+ self::addDefine('SGPB_BANNER_CRON_TEXT_URL', 'https://popup-builder.com/sgpb-banner.php?banner=main');
96
+ self::addDefine('SGPB_METABOX_BANNER_CRON_TEXT_URL', 'https://popup-builder.com/sgpb-banner.php?banner=sidebar1');
97
  self::addDefine('SGPB_FACEBOOK_APP_ID', 1725074220856984);
98
  self::addDefine('SGPB_POPUP_TYPE_RESTRICTION', 'ageRestriction');
99
  self::addDefine('SGPB_POPUP_DEFAULT_SOUND', 'popupOpenSound.wav');
109
  self::addDefine('SGPB_POPUP_SCHEDULING_EXTENSION_KEY', 'popupbuilder-scheduling/PopupBuilderScheduling.php');
110
  self::addDefine('SGPB_POPUP_GEO_TARGETING_EXTENSION_KEY', 'popupbuilder-geo-targeting/PopupBuilderGeoTargeting.php');
111
  self::addDefine('SGPB_POPUP_ADVANCED_TARGETING_EXTENSION_KEY', 'popupbuilder-advanced-targeting/PopupBuilderAdvancedTargeting.php');
112
+ self::addDefine('SGPB_POPUP_SUBSCRIPTION_PLUS_EXTENSION_KEY', 'popupbuilder-subscription-plus/PopupBuilderSubscriptionPlus.php');
113
  self::addDefine('SGPB_ASK_REVIEW_POPUP_COUNT', 80);
114
  self::addDefine('SGPB_REVIEW_POPUP_PERIOD', 30);
115
  self::addDefine('SGPB_POPUP_EXPORT_FILE_NAME', 'PopupBuilderPopups.xml');
com/config/configPackage.php CHANGED
@@ -3,6 +3,6 @@ if (!defined('ABSPATH')) {
3
  exit();
4
  }
5
 
6
- define('SG_POPUP_VERSION', '3.1.1');
7
  define('SGPB_POPUP_PKG', SGPB_POPUP_PKG_FREE);
8
  define('POPUP_BUILDER_BASENAME', 'popupbuilder-platinum/popup-builder.php');
3
  exit();
4
  }
5
 
6
+ define('SG_POPUP_VERSION', '3.1.2');
7
  define('SGPB_POPUP_PKG', SGPB_POPUP_PKG_FREE);
8
  define('POPUP_BUILDER_BASENAME', 'popupbuilder-platinum/popup-builder.php');
com/config/dataConfig.php CHANGED
@@ -617,6 +617,12 @@ class SgpbDataConfig
617
  'key' => 'registration',
618
  'url' => SG_POPUP_REGISTRATION_URL
619
  );
 
 
 
 
 
 
620
 
621
  return apply_filters('sgpbExtensionsKeys', $keys);
622
  }
617
  'key' => 'registration',
618
  'url' => SG_POPUP_REGISTRATION_URL
619
  );
620
+ $keys[] = array(
621
+ 'label' => __('Subscription Plus', SG_POPUP_TEXT_DOMAIN),
622
+ 'pluginKey' => 'popupbuilder-subscription-plus/PopupBuilderSubscriptionPlus.php',
623
+ 'key' => 'subscriptionPlus',
624
+ 'url' => SG_POPUP_SUBSCRIPTION_PLUS_URL
625
+ );
626
 
627
  return apply_filters('sgpbExtensionsKeys', $keys);
628
  }
com/helpers/AdminHelper.php CHANGED
@@ -766,8 +766,8 @@ class AdminHelper
766
  <p class="sgpb-extension-notice-close">x</p>
767
  <div class="sgpb-extensions-list-wrapper">
768
  <div class="sgpb-notice-header">
769
- <h3><?php _e('Popup Builder plugin has been successfully updated', SG_POPUP_TEXT_DOMAIN)?></h3>
770
- <h4><?php _e('The following extensions need to be updated manually', SG_POPUP_TEXT_DOMAIN)?></h4>
771
  </div>
772
  <ul class="sgpb-extensions-list">
773
  <?php foreach ($extensions as $extensionName): ?>
@@ -775,7 +775,7 @@ class AdminHelper
775
  <?php endforeach; ?>
776
  </ul>
777
  </div>
778
- <p class="sgpb-extension-notice-dont-show"><?php _e('Don\'t show again')?></p>
779
  <?php
780
  $content = ob_get_contents();
781
  ob_get_clean();
@@ -827,11 +827,11 @@ class AdminHelper
827
  <div class="welcome-panel-content">
828
  <p class="sgpb-problem-notice-close">x</p>
829
  <div class="sgpb-alert-problem-text-wrapper">
830
- <h3>Popup Builder plugin has been updated to the new version 3.</h3>
831
- <h5>A lot of changes and improvements have been made.</h5>
832
- <h5>In case of any issues, please contact us <a href="<?php echo SG_POPUP_TICKET_URL; ?>" target="_blank">here</a>.</h5>
833
  </div>
834
- <p class="sgpb-problem-notice-dont-show"><?php _e('Don\'t show again')?></p>
835
  </div>
836
  </div>
837
  <?php
@@ -896,8 +896,12 @@ class AdminHelper
896
  {
897
  global $post_type;
898
  global $post;
 
 
 
 
 
899
 
900
- $currentPostType = @$post->post_type;
901
  // in some themes global $post returns null
902
  if (empty($currentPostType)) {
903
  $currentPostType = $post_type;
@@ -958,7 +962,7 @@ class AdminHelper
958
  self::deleteSubscriber($params);
959
  }
960
  else if (!$noSubscriber) {
961
- echo '<span>Oops, something went wrong, please try again or contact the administrator to check more info.</span>';
962
  wp_die();
963
  }
964
  }
@@ -1090,7 +1094,7 @@ class AdminHelper
1090
  public static function getMaxOpenDaysMessage()
1091
  {
1092
  $getUsageDays = self::getPopupUsageDays();
1093
- $firstHeader = '<h1 class="sgpb-review-h1"><strong class="sgrb-review-strong">Wow!</strong> You’ve been using Popup Builder on your site for '.$getUsageDays.' days</h1>';
1094
  $popupContent = self::getMaxOpenPopupContent($firstHeader, 'days');
1095
 
1096
  return $popupContent;
@@ -1222,9 +1226,9 @@ class AdminHelper
1222
  {
1223
  global $wpdb;
1224
 
1225
- $query = $wpdb->prepare('SELECT table_name,create_time FROM information_schema.tables WHERE table_schema="%s" AND table_name="%s"', DB_NAME, $wpdb->prefix.'sgpb_subscribers');
1226
  $results = $wpdb->get_results($query, ARRAY_A);
1227
- if(empty($results)) {
1228
  return 0;
1229
  }
1230
 
@@ -1375,4 +1379,10 @@ class AdminHelper
1375
  $bannerText = get_option('sgpb-banner-remote-get');
1376
  return $bannerText;
1377
  }
 
 
 
 
 
 
1378
  }
766
  <p class="sgpb-extension-notice-close">x</p>
767
  <div class="sgpb-extensions-list-wrapper">
768
  <div class="sgpb-notice-header">
769
+ <h3><?php _e('Popup Builder plugin has been successfully updated', SG_POPUP_TEXT_DOMAIN); ?></h3>
770
+ <h4><?php _e('The following extensions need to be updated manually', SG_POPUP_TEXT_DOMAIN); ?></h4>
771
  </div>
772
  <ul class="sgpb-extensions-list">
773
  <?php foreach ($extensions as $extensionName): ?>
775
  <?php endforeach; ?>
776
  </ul>
777
  </div>
778
+ <p class="sgpb-extension-notice-dont-show"><?php _e('Don\'t show again', SG_POPUP_TEXT_DOMAIN)?></p>
779
  <?php
780
  $content = ob_get_contents();
781
  ob_get_clean();
827
  <div class="welcome-panel-content">
828
  <p class="sgpb-problem-notice-close">x</p>
829
  <div class="sgpb-alert-problem-text-wrapper">
830
+ <h3><?php _e('Popup Builder plugin has been updated to the new version 3.', SG_POPUP_TEXT_DOMAIN); ?></h3>
831
+ <h5><?php _e('A lot of changes and improvements have been made.', SG_POPUP_TEXT_DOMAIN); ?></h5>
832
+ <h5><?php _e('In case of any issues, please contact us <a href="<?php echo SG_POPUP_TICKET_URL; ?>" target="_blank">here</a>.', SG_POPUP_TEXT_DOMAIN); ?></h5>
833
  </div>
834
+ <p class="sgpb-problem-notice-dont-show"><?php _e('Don\'t show again', SG_POPUP_TEXT_DOMAIN); ?></p>
835
  </div>
836
  </div>
837
  <?php
896
  {
897
  global $post_type;
898
  global $post;
899
+ $currentPostType = '';
900
+
901
+ if (is_object($post)) {
902
+ $currentPostType = @$post->post_type;
903
+ }
904
 
 
905
  // in some themes global $post returns null
906
  if (empty($currentPostType)) {
907
  $currentPostType = $post_type;
962
  self::deleteSubscriber($params);
963
  }
964
  else if (!$noSubscriber) {
965
+ _e('<span>Oops, something went wrong, please try again or contact the administrator to check more info.</span>', SG_POPUP_TEXT_DOMAIN);
966
  wp_die();
967
  }
968
  }
1094
  public static function getMaxOpenDaysMessage()
1095
  {
1096
  $getUsageDays = self::getPopupUsageDays();
1097
+ $firstHeader = '<h1 class="sgpb-review-h1"><strong class="sgrb-review-strong">'.__('Wow!', SG_POPUP_TEXT_DOMAIN).'</strong>'.__('You have been using Popup Builder on your site for '.$getUsageDays.' days', SG_POPUP_TEXT_DOMAIN).'</h1>';
1098
  $popupContent = self::getMaxOpenPopupContent($firstHeader, 'days');
1099
 
1100
  return $popupContent;
1226
  {
1227
  global $wpdb;
1228
 
1229
+ $query = $wpdb->prepare('SELECT table_name, create_time FROM information_schema.tables WHERE table_schema="%s" AND table_name="%s"', DB_NAME, $wpdb->prefix.'sgpb_subscribers');
1230
  $results = $wpdb->get_results($query, ARRAY_A);
1231
+ if (empty($results)) {
1232
  return 0;
1233
  }
1234
 
1379
  $bannerText = get_option('sgpb-banner-remote-get');
1380
  return $bannerText;
1381
  }
1382
+
1383
+ public static function getRightMetaboxBannerText()
1384
+ {
1385
+ $bannerText = get_option('sgpb-metabox-banner-remote-get');
1386
+ return $bannerText;
1387
+ }
1388
  }
com/helpers/ConfigDataHelper.php CHANGED
File without changes
com/helpers/Functions.php CHANGED
File without changes
com/helpers/MultipleChoiceButton.php CHANGED
File without changes
com/helpers/PopupBuilderActivePackage.php CHANGED
File without changes
com/helpers/ScriptsIncluder.php CHANGED
File without changes
com/libs/EDD_SL_Plugin_Updater.php CHANGED
File without changes
com/libs/ListTable.php CHANGED
File without changes
com/libs/Table.php CHANGED
File without changes
popup-builder.php CHANGED
@@ -3,7 +3,7 @@
3
  * Plugin Name: Popup Builder
4
  * Plugin URI: https://popup-builder.com
5
  * Description: The most complete popup plugin. Html, image, iframe, shortcode, video and many other popup types. Manage popup dimensions, effects, themes and more.
6
- * Version: 3.1.1
7
  * Author: Sygnoos
8
  * Author URI: https://sygnoos.com
9
  * License: GPLv2
3
  * Plugin Name: Popup Builder
4
  * Plugin URI: https://popup-builder.com
5
  * Description: The most complete popup plugin. Html, image, iframe, shortcode, video and many other popup types. Manage popup dimensions, effects, themes and more.
6
+ * Version: 3.1.2
7
  * Author: Sygnoos
8
  * Author URI: https://sygnoos.com
9
  * License: GPLv2
public/css/ResetFormStyle.css CHANGED
File without changes
public/css/SubscriptionForm.css CHANGED
File without changes
public/css/fonts/FontAwesome.otf CHANGED
File without changes
public/css/fonts/fontawesome-webfont.eot CHANGED
File without changes
public/css/fonts/fontawesome-webfont.svg CHANGED
File without changes
public/css/fonts/fontawesome-webfont.ttf CHANGED
File without changes
public/css/fonts/fontawesome-webfont.woff CHANGED
File without changes
public/css/fonts/fontawesome-webfont.woff2 CHANGED
File without changes
public/css/jquery.dateTimePicker.min.css CHANGED
File without changes
public/css/popupAdminStyles.css CHANGED
@@ -398,6 +398,10 @@
398
  background-image: url("../img/subscriptionTypeIcon.png");
399
  }
400
 
 
 
 
 
401
  .sgpb-subscription-div {
402
  background-color: #7eb540 !important;
403
  }
@@ -451,6 +455,10 @@
451
  background-color: rgba(73, 185, 173, 0.4) !important;
452
  }
453
 
 
 
 
 
454
  .sgpb-sgpbAWeber-div {
455
  background-color: rgba(0, 121, 193, 0.4);
456
  }
@@ -2048,15 +2056,6 @@ input:checked + .sgpb-slider:before {
2048
  border-color: #308DE8 !important;
2049
  }
2050
 
2051
- .sgpb-advanced-targeting-pro-label {
2052
- background-color: #EB5F46 !important;
2053
- }
2054
-
2055
- .sgpb-advanced-targeting-pro-label:hover {
2056
- background-color: rgba(235, 95, 70, 0.6) !important;
2057
- border-color: rgba(235, 95, 70, 0.2) !important;
2058
- }
2059
-
2060
  .sgpb-import-wrapper input {
2061
  display: inline-block !important;
2062
  }
@@ -2065,3 +2064,4 @@ input:checked + .sgpb-slider:before {
2065
  float: none !important;
2066
  padding: 0 !important;
2067
  }
 
398
  background-image: url("../img/subscriptionTypeIcon.png");
399
  }
400
 
401
+ .subscriptionPlus-popup-pro {
402
+ background-image: url("../img/subscriptionPlusTypeIcon.png");
403
+ }
404
+
405
  .sgpb-subscription-div {
406
  background-color: #7eb540 !important;
407
  }
455
  background-color: rgba(73, 185, 173, 0.4) !important;
456
  }
457
 
458
+ .sgpb-subscriptionPlus-div {
459
+ background-color: rgba(23, 165, 143, 0.4) !important;
460
+ }
461
+
462
  .sgpb-sgpbAWeber-div {
463
  background-color: rgba(0, 121, 193, 0.4);
464
  }
2056
  border-color: #308DE8 !important;
2057
  }
2058
 
 
 
 
 
 
 
 
 
 
2059
  .sgpb-import-wrapper input {
2060
  display: inline-block !important;
2061
  }
2064
  float: none !important;
2065
  padding: 0 !important;
2066
  }
2067
+
public/css/select2.min.css CHANGED
File without changes
public/css/sgPopupRangeSlider.css CHANGED
File without changes
public/css/sgbp-bootstrap.css CHANGED
File without changes
public/css/theme.css CHANGED
File without changes
public/img/CountdownTypeIcon.png CHANGED
File without changes
public/img/adBlockTypeIcon.png CHANGED
File without changes
public/img/ajaxSpinner.gif CHANGED
File without changes
public/img/analyticsTypeIcon.png CHANGED
File without changes
public/img/animationImage.png CHANGED
File without changes
public/img/aweberTypeIcon.png CHANGED
File without changes
public/img/bannerCloseBtn.png CHANGED
File without changes
public/img/bannerEmail.png CHANGED
File without changes
public/img/bannerHeart.png CHANGED
File without changes
public/img/bannerLogo.png CHANGED
File without changes
public/img/bannerMegaphone.png CHANGED
File without changes
public/img/bannerQuestionMark.png CHANGED
File without changes
public/img/bannerSupport.png CHANGED
File without changes
public/img/blog-wp-kicker.png CHANGED
File without changes
public/img/close.png CHANGED
File without changes
public/img/contactFormTypeIcon.png CHANGED
File without changes
public/img/exitIntentTypeIcon.png CHANGED
File without changes
public/img/facebookTypeIcon.png CHANGED
File without changes
public/img/htmlTypeIcon.png CHANGED
File without changes
public/img/iframeTypeIcon.png CHANGED
File without changes
public/img/imageTypeIcon.png CHANGED
File without changes
public/img/mailchimpTypeIcon.png CHANGED
File without changes
public/img/moreIdeas.png CHANGED
File without changes
public/img/preview-eye.png CHANGED
File without changes
public/img/probadge.png CHANGED
File without changes
public/img/rateUsBanner1.png CHANGED
File without changes
public/img/rateUsBanner2.png CHANGED
File without changes
public/img/rateUsBanner3.png CHANGED
File without changes
public/img/recentSales.png CHANGED
File without changes
public/img/restrictionTyoeIcon.png CHANGED
File without changes
public/img/socialTypeIcon.png CHANGED
File without changes
public/img/star.png CHANGED
File without changes
public/img/subscribers_close.png CHANGED
File without changes
public/img/subscriptionPlusTypeIcon.png ADDED
Binary file
public/img/subscriptionTypeIcon.png CHANGED
File without changes
public/img/theme1.jpg CHANGED
File without changes
public/img/theme2.jpg CHANGED
File without changes
public/img/theme3.jpg CHANGED
File without changes
public/img/theme4.jpg CHANGED
File without changes
public/img/theme5.jpg CHANGED
File without changes
public/img/theme6.jpg CHANGED
File without changes
public/img/theme_1/close.png CHANGED
File without changes
public/img/theme_1/overlay.png CHANGED
File without changes
public/img/theme_2/close.png CHANGED
File without changes
public/img/theme_3/close.png CHANGED
File without changes
public/img/theme_5/close.png CHANGED
File without changes
public/img/theme_6/close.png CHANGED
File without changes
public/img/videoTypeIcon.png CHANGED
File without changes
public/img/wooTypeIcon.png CHANGED
File without changes
public/js/Backend.js CHANGED
File without changes
public/js/Banner.js CHANGED
File without changes
public/js/ExtensionsNotification.js CHANGED
File without changes
public/js/MediaButton.js CHANGED
File without changes
public/js/Newsletter.js CHANGED
File without changes
public/js/Popup.js CHANGED
File without changes
public/js/PopupBuilder.js CHANGED
@@ -296,6 +296,13 @@ SGPBPopup.prototype.prepareOpen = function()
296
  if (SGPBPopup.varToBool(popupData['sgpb-content-click'])) {
297
  this.contentCloseBehavior();
298
  }
 
 
 
 
 
 
 
299
  if (SGPBPopup.varToBool(popupData['sgpb-popup-fixed'])) {
300
  this.addFixedPosition();
301
  }
@@ -315,6 +322,19 @@ SGPBPopup.prototype.prepareOpen = function()
315
  }
316
  };
317
 
 
 
 
 
 
 
 
 
 
 
 
 
 
318
  SGPBPopup.prototype.checkCurrentPopupType = function()
319
  {
320
  var allowToOpen = true;
@@ -441,25 +461,27 @@ SGPBPopup.prototype.getPopupShowLimitationCookie = function(popupData)
441
  SGPBPopup.prototype.filterPopupLimitationCookie = function(cookie)
442
  {
443
  var result = {};
444
-
445
  if (cookie.isPageLevel) {
446
 
447
  result.cookieName = cookie.pageLevelCookieName;
448
- result.cookie = jQuery.parseJSON(cookie.pageLevelCookie);
 
 
449
 
450
  SGPBPopup.deleteCookie(cookie.domainLevelCookieName);
451
 
452
  return result;
453
  }
454
-
455
  result.cookieName = cookie.domainLevelCookieName;
456
- result.cookie = jQuery.parseJSON(cookie.domainLevelCookie);
 
 
457
  var currentUrl = window.location.href;
458
 
459
  SGPBPopup.deleteCookie(cookie.pageLevelCookieName, currentUrl);
460
 
461
  return result;
462
-
463
  }
464
 
465
  SGPBPopup.prototype.getPopupShowLimitationCookieDetails = function(popupData)
@@ -1172,6 +1194,7 @@ SGPBPopup.prototype.open = function(args)
1172
  * I'm leaving it here for now, since sgpbDidOpen() gets called way too much!
1173
  */
1174
  var options = SGPBPopup.getPopupOptionsById(popupId);
 
1175
  if (typeof options['sgpb-behavior-after-special-events'] != 'undefined') {
1176
  if (options['sgpb-behavior-after-special-events'].length) {
1177
  options = options['sgpb-behavior-after-special-events'][0][0];
@@ -2330,6 +2353,21 @@ SgpbEventListener.findCF7InPopup = function(popupId)
2330
  return document.querySelector('#sg-popup-content-wrapper-'+popupId+' .wpcf7');
2331
  };
2332
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2333
  SgpbEventListener.processCF7MailSent = function(popupId, options)
2334
  {
2335
  var wpcf7Elm = SgpbEventListener.findCF7InPopup(popupId);
@@ -2339,7 +2377,6 @@ SgpbEventListener.processCF7MailSent = function(popupId, options)
2339
  if (typeof options['operator'] == 'undefined') {
2340
  return;
2341
  }
2342
-
2343
  if (options['operator'] == 'close-popup') {
2344
  setTimeout(function() {
2345
  SGPBPopup.closePopupById(popupId);
296
  if (SGPBPopup.varToBool(popupData['sgpb-content-click'])) {
297
  this.contentCloseBehavior();
298
  }
299
+ sgAddEvent(window, 'sgpbWillOpen', function(e) {
300
+ if (popupId != e.detail.popupId || e.detail.popupData['sgpb-content-click'] == 'undefined') {
301
+ return false;
302
+ }
303
+ /* triggering any popup content click (analytics) */
304
+ that.popupContentClick(e);
305
+ });
306
  if (SGPBPopup.varToBool(popupData['sgpb-popup-fixed'])) {
307
  this.addFixedPosition();
308
  }
322
  }
323
  };
324
 
325
+ SGPBPopup.prototype.popupContentClick = function(e)
326
+ {
327
+ var args = e.detail;
328
+ var popupId = parseInt(args['popupId']);
329
+ jQuery('.sgpb-content-' + popupId).on('click', function(event) {
330
+ var settings = {
331
+ popupId: popupId,
332
+ eventName: 'sgpbPopupContentclick'
333
+ };
334
+ jQuery(window).trigger('sgpbPopupContentclick', settings);
335
+ });
336
+ }
337
+
338
  SGPBPopup.prototype.checkCurrentPopupType = function()
339
  {
340
  var allowToOpen = true;
461
  SGPBPopup.prototype.filterPopupLimitationCookie = function(cookie)
462
  {
463
  var result = {};
464
+ result.cookie = '';
465
  if (cookie.isPageLevel) {
466
 
467
  result.cookieName = cookie.pageLevelCookieName;
468
+ if (cookie.pageLevelCookie) {
469
+ result.cookie = jQuery.parseJSON(cookie.pageLevelCookie);
470
+ }
471
 
472
  SGPBPopup.deleteCookie(cookie.domainLevelCookieName);
473
 
474
  return result;
475
  }
 
476
  result.cookieName = cookie.domainLevelCookieName;
477
+ if (cookie.domainLevelCookie) {
478
+ result.cookie = jQuery.parseJSON(cookie.domainLevelCookie);
479
+ }
480
  var currentUrl = window.location.href;
481
 
482
  SGPBPopup.deleteCookie(cookie.pageLevelCookieName, currentUrl);
483
 
484
  return result;
 
485
  }
486
 
487
  SGPBPopup.prototype.getPopupShowLimitationCookieDetails = function(popupData)
1194
  * I'm leaving it here for now, since sgpbDidOpen() gets called way too much!
1195
  */
1196
  var options = SGPBPopup.getPopupOptionsById(popupId);
1197
+ SgpbEventListener.CF7EventListener(popupId, options);
1198
  if (typeof options['sgpb-behavior-after-special-events'] != 'undefined') {
1199
  if (options['sgpb-behavior-after-special-events'].length) {
1200
  options = options['sgpb-behavior-after-special-events'][0][0];
2353
  return document.querySelector('#sg-popup-content-wrapper-'+popupId+' .wpcf7');
2354
  };
2355
 
2356
+ SgpbEventListener.CF7EventListener = function(popupId, options)
2357
+ {
2358
+ var wpcf7Elm = SgpbEventListener.findCF7InPopup(popupId);
2359
+
2360
+ if (wpcf7Elm) {
2361
+ wpcf7Elm.addEventListener('wpcf7mailsent', function(event) {
2362
+ var settings = {
2363
+ popupId: popupId,
2364
+ eventName: 'sgpbCF7Success'
2365
+ };
2366
+ jQuery(window).trigger('sgpbCF7Success', settings);
2367
+ });
2368
+ }
2369
+ };
2370
+
2371
  SgpbEventListener.processCF7MailSent = function(popupId, options)
2372
  {
2373
  var wpcf7Elm = SgpbEventListener.findCF7InPopup(popupId);
2377
  if (typeof options['operator'] == 'undefined') {
2378
  return;
2379
  }
 
2380
  if (options['operator'] == 'close-popup') {
2381
  setTimeout(function() {
2382
  SGPBPopup.closePopupById(popupId);
public/js/PopupConfig.js CHANGED
File without changes
public/js/Subscribers.js CHANGED
File without changes
public/js/Subscription.js CHANGED
File without changes
public/js/Validate.js CHANGED
File without changes
public/js/bootstrap.min.js CHANGED
File without changes
public/js/select2.min.js CHANGED
File without changes
public/js/sgPopupRangeSlider.js CHANGED
File without changes
public/js/sgpbSelect2.js CHANGED
File without changes
public/sound/popupOpenSound.wav CHANGED
File without changes
public/views/behaviorAfterSpecialEventsView.php CHANGED
File without changes
public/views/closeSettingsView.php CHANGED
@@ -198,7 +198,7 @@
198
  </div>
199
  <?php if (!$disablePopupClosing): ?>
200
  <div class="col-md-2 sgpb-pro-options-label-wrapper">
201
- <a href="<?php echo SG_POPUP_ADVANCED_CLOSING_URL;?>" target="_blank" class="btn btn-warning btn-xs sgpb-pro-label-sm sgpb-advanced-closing-pro-label"><?php _e('GET OPTION', SG_POPUP_TEXT_DOMAIN) ?></a>
202
  </div>
203
  <?php endif; ?>
204
  </div>
198
  </div>
199
  <?php if (!$disablePopupClosing): ?>
200
  <div class="col-md-2 sgpb-pro-options-label-wrapper">
201
+ <a href="<?php echo SG_POPUP_ADVANCED_CLOSING_URL;?>" target="_blank" class="btn btn-warning btn-xs sgpb-pro-label-sm sgpb-advanced-closing-pro-label"><?php _e('UNLOCK OPTION', SG_POPUP_TEXT_DOMAIN) ?></a>
202
  </div>
203
  <?php endif; ?>
204
  </div>
public/views/conditionsView.php CHANGED
@@ -4,15 +4,155 @@ $defaultData = ConfigDataHelper::defaultData();
4
  $defaultConditions = $defaultData['freeConditions'];
5
  ?>
6
 
7
- <div class="sgpb-wrapper">
8
  <div class="row">
9
- <div class="col-md-4">
10
- <label><?php _e('Select conditions', SG_POPUP_TEXT_DOMAIN);?></label>
 
 
 
 
 
 
11
  </div>
12
  </div>
13
  <div class="row form-group">
14
  <div class="col-md-3">
15
- <?php echo AdminHelper::createSelectBox($defaultConditions, '', array('class' => 'js-sg-select2')); ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
16
  </div>
17
  </div>
18
  </div>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4
  $defaultConditions = $defaultData['freeConditions'];
5
  ?>
6
 
7
+ <div class="sgpb-wrapper sgpb-conditions-description-wrapper">
8
  <div class="row">
9
+ <div class="col-md-3">
10
+ <label><?php _e('Condition', SG_POPUP_TEXT_DOMAIN);?></label>
11
+ </div>
12
+ <div class="col-md-3">
13
+ <label><?php _e('Page operator', SG_POPUP_TEXT_DOMAIN);?></label>
14
+ </div>
15
+ <div class="col-md-3">
16
+ <label><?php _e('Select countries', SG_POPUP_TEXT_DOMAIN);?></label>
17
  </div>
18
  </div>
19
  <div class="row form-group">
20
  <div class="col-md-3">
21
+ <?php echo AdminHelper::createSelectBox($defaultConditions, 'countries', array('class' => 'js-sg-select2')); ?>
22
+ </div>
23
+ <div class="col-md-3">
24
+ <?php echo AdminHelper::createSelectBox(array('is' => __('Is', SG_POPUP_TEXT_DOMAIN), 'is-not' => __('Is not', SG_POPUP_TEXT_DOMAIN)), 'is', array('class' => 'js-sg-select2')); ?>
25
+ </div>
26
+ <div class="col-md-3">
27
+ <input type="text" class="sgpb-full-width-events form-control" value="<?php _e('Select needed countries', SG_POPUP_TEXT_DOMAIN);?>">
28
+ </div>
29
+ <div class="col-md-3">
30
+ <a href="<?php echo SG_POPUP_GEO_TARGETING_URL;?>" target="_blank" class="btn btn-warning btn-xs sgpb-advanced-targeting-pro-label">
31
+ <?php _e('UNLOCK OPTION', SG_POPUP_TEXT_DOMAIN);?>
32
+ </a>
33
+ </div>
34
+ </div>
35
+ <div class="row">
36
+ <div class="col-md-3">
37
+ <label><?php _e('Condition', SG_POPUP_TEXT_DOMAIN);?></label>
38
+ </div>
39
+ <div class="col-md-3">
40
+ <label><?php _e('Page operator', SG_POPUP_TEXT_DOMAIN);?></label>
41
+ </div>
42
+ <div class="col-md-3">
43
+ <label><?php _e('Select user devices', SG_POPUP_TEXT_DOMAIN);?></label>
44
+ </div>
45
+ </div>
46
+ <div class="row form-group">
47
+ <div class="col-md-3">
48
+ <?php echo AdminHelper::createSelectBox($defaultConditions, 'devices', array('class' => 'js-sg-select2')); ?>
49
+ </div>
50
+ <div class="col-md-3">
51
+ <?php echo AdminHelper::createSelectBox(array('is' => __('Is', SG_POPUP_TEXT_DOMAIN), 'is-not' => __('Is not', SG_POPUP_TEXT_DOMAIN)), 'is', array('class' => 'js-sg-select2')); ?>
52
+ </div>
53
+ <div class="col-md-3">
54
+ <input type="text" class="sgpb-full-width-events form-control" value="<?php _e('Select needed countries', SG_POPUP_TEXT_DOMAIN);?>">
55
+ </div>
56
+ <div class="col-md-3">
57
+ <a href="<?php echo SG_POPUP_ADVANCED_TARGETING_URL;?>" target="_blank" class="btn btn-warning btn-xs sgpb-advanced-targeting-pro-label">
58
+ <?php _e('UNLOCK OPTION', SG_POPUP_TEXT_DOMAIN);?>
59
+ </a>
60
+ </div>
61
+ </div>
62
+ <div class="row">
63
+ <div class="col-md-3">
64
+ <label><?php _e('Condition', SG_POPUP_TEXT_DOMAIN);?></label>
65
+ </div>
66
+ <div class="col-md-3">
67
+ <label><?php _e('Page operator', SG_POPUP_TEXT_DOMAIN);?></label>
68
+ </div>
69
+ <div class="col-md-3">
70
+ <label><?php _e('Select user status', SG_POPUP_TEXT_DOMAIN);?></label>
71
+ </div>
72
+ </div>
73
+ <div class="row form-group">
74
+ <div class="col-md-3">
75
+ <?php echo AdminHelper::createSelectBox($defaultConditions, 'user-status', array('class' => 'js-sg-select2')); ?>
76
+ </div>
77
+ <div class="col-md-3">
78
+ <?php echo AdminHelper::createSelectBox(array('is' => __('Is', SG_POPUP_TEXT_DOMAIN), 'is-not' => __('Is not', SG_POPUP_TEXT_DOMAIN)), 'is', array('class' => 'js-sg-select2')); ?>
79
+ </div>
80
+ <div class="col-md-3">
81
+ <?php echo AdminHelper::createSelectBox(array('logged-in' => __('logged In', SG_POPUP_TEXT_DOMAIN)), 'logged-in', array('class' => 'js-sg-select2')); ?>
82
+ </div>
83
+ <div class="col-md-3">
84
+ <a href="<?php echo SG_POPUP_ADVANCED_TARGETING_URL;?>" target="_blank" class="btn btn-warning btn-xs sgpb-advanced-targeting-pro-label">
85
+ <?php _e('UNLOCK OPTION', SG_POPUP_TEXT_DOMAIN);?>
86
+ </a>
87
+ </div>
88
+ </div>
89
+ <div class="row">
90
+ <div class="col-md-3">
91
+ <label><?php _e('Condition', SG_POPUP_TEXT_DOMAIN);?></label>
92
+ </div>
93
+ <div class="col-md-3">
94
+ <label><?php _e('Page operator', SG_POPUP_TEXT_DOMAIN);?></label>
95
+ </div>
96
+ <div class="col-md-3">
97
+ <label><?php _e('Select user role', SG_POPUP_TEXT_DOMAIN);?></label>
98
+ </div>
99
+ </div>
100
+ <div class="row form-group">
101
+ <div class="col-md-3">
102
+ <?php echo AdminHelper::createSelectBox($defaultConditions, 'user-role', array('class' => 'js-sg-select2')); ?>
103
+ </div>
104
+ <div class="col-md-3">
105
+ <?php echo AdminHelper::createSelectBox(array('is' => __('Is', SG_POPUP_TEXT_DOMAIN), 'is-not' => __('Is not', SG_POPUP_TEXT_DOMAIN)), 'is', array('class' => 'js-sg-select2')); ?>
106
+ </div>
107
+ <div class="col-md-3">
108
+ <input type="text" class="sgpb-full-width-events form-control" value="<?php _e('Administrator, subscriber, editor...', SG_POPUP_TEXT_DOMAIN);?>">
109
+ </div>
110
+ <div class="col-md-3">
111
+ <a href="<?php echo SG_POPUP_ADVANCED_TARGETING_URL;?>" target="_blank" class="btn btn-warning btn-xs sgpb-advanced-targeting-pro-label">
112
+ <?php _e('UNLOCK OPTION', SG_POPUP_TEXT_DOMAIN);?>
113
+ </a>
114
+ </div>
115
+ </div>
116
+ <div class="row">
117
+ <div class="col-md-3">
118
+ <label><?php _e('Condition', SG_POPUP_TEXT_DOMAIN);?></label>
119
+ </div>
120
+ <div class="col-md-3">
121
+ <label><?php _e('is at least', SG_POPUP_TEXT_DOMAIN);?></label>
122
+ </div>
123
+ </div>
124
+ <div class="row form-group">
125
+ <div class="col-md-3">
126
+ <?php echo AdminHelper::createSelectBox($defaultConditions, 'after-x', array('class' => 'js-sg-select2')); ?>
127
+ </div>
128
+ <div class="col-md-3">
129
+ <input type="text" class="sgpb-full-width-events form-control" value="<?php _e('number of pages', SG_POPUP_TEXT_DOMAIN);?>">
130
+ </div>
131
+ <div class="col-md-3">
132
+ <a href="<?php echo SG_POPUP_ADVANCED_TARGETING_URL;?>" target="_blank" class="btn btn-warning btn-xs sgpb-advanced-targeting-pro-label">
133
+ <?php _e('UNLOCK OPTION', SG_POPUP_TEXT_DOMAIN);?>
134
+ </a>
135
+ </div>
136
+ </div>
137
+ </div>
138
+ <div class="sgpb-other-pro-options">
139
+ <div class="row">
140
+ <div class="col-md-12">
141
  </div>
142
  </div>
143
  </div>
144
+ <style type="text/css">
145
+ .sgpb-conditions-description-wrapper + .sgpb-other-pro-options {
146
+ z-index: 9999;
147
+ }
148
+
149
+ .sgpb-advanced-targeting-pro-label,
150
+ .sgpb-conditions-description-wrapper label {
151
+ position: relative;
152
+ z-index: 99990 !important;
153
+ }
154
+ .sgpb-advanced-targeting-pro-label {
155
+ line-height: 21px;
156
+ }
157
+ </style>
158
+
public/views/dimensionsView.php CHANGED
File without changes
public/views/emailTemplates/takeReviewAfterSubscribe.html CHANGED
@@ -86,7 +86,6 @@
86
  <p>Reviews are the main way for the new users to find and try Popup Builder, which allows us to keep making the plugin better and better for existing users like you!</p>
87
  <p>Here's the link, please:<br></p>
88
  <p><a target="_blank" href="https://wordpress.org/support/plugin/popup-builder/reviews/">https://wordpress.org/support/plugin/popup-builder/reviews/ </a> <br></p>
89
- <p>P.S. Get our <a target="_blank" href="https://popup-builder.com/downloads/subscription-plus-popup/"><b>Subscription Plus</b></a> extension to not miss the new subscribers!<br></p>
90
  </td>
91
  </tr>
92
  </tbody>
@@ -149,7 +148,8 @@
149
  <table cellpadding="0" cellspacing="0" width="100%">
150
  <tbody>
151
  <tr>
152
- <td align="center" class="esd-empty-container" style="display: none;"></td>
 
153
  </tr>
154
  </tbody>
155
  </table>
@@ -180,7 +180,12 @@
180
  <table cellpadding="0" cellspacing="0" width="100%">
181
  <tbody>
182
  <tr>
183
- <td align="center" class="esd-empty-container" style="display: none;"></td>
 
 
 
 
 
184
  </tr>
185
  </tbody>
186
  </table>
86
  <p>Reviews are the main way for the new users to find and try Popup Builder, which allows us to keep making the plugin better and better for existing users like you!</p>
87
  <p>Here's the link, please:<br></p>
88
  <p><a target="_blank" href="https://wordpress.org/support/plugin/popup-builder/reviews/">https://wordpress.org/support/plugin/popup-builder/reviews/ </a> <br></p>
 
89
  </td>
90
  </tr>
91
  </tbody>
148
  <table cellpadding="0" cellspacing="0" width="100%">
149
  <tbody>
150
  <tr>
151
+ <td align="left" class="esd-empty-container" style="display: none;">
152
+ </td>
153
  </tr>
154
  </tbody>
155
  </table>
180
  <table cellpadding="0" cellspacing="0" width="100%">
181
  <tbody>
182
  <tr>
183
+ <td align="center" class="esd-empty-container">
184
+ <p>
185
+ If you want to get this kind of notifications from now, please get our new
186
+ <a target="_blank" href="https://popup-builder.com/downloads/subscription-plus-popup/">Subscription Plus extension</a>.
187
+ </p>
188
+ </td>
189
  </tr>
190
  </tbody>
191
  </table>
public/views/eventsView.php CHANGED
File without changes
public/views/jsVariableView.php CHANGED
File without changes
public/views/license.php CHANGED
File without changes
public/views/main/image.php CHANGED
File without changes
public/views/mainRateUsBanner.php CHANGED
File without changes
public/views/mediaButton.php CHANGED
File without changes
public/views/newsletter.php CHANGED
File without changes
public/views/options/facebook.php CHANGED
File without changes
public/views/options/subscription.php CHANGED
@@ -355,14 +355,14 @@
355
  <div class="col-md-6"><input type="checkbox" name="sgpb-subs-success-redirect-new-tab" id="subs-success-redirect-new-tab" placeholder="https://www.example.com" <?php echo $popupTypeObj->getOptionValue('sgpb-subs-success-redirect-new-tab'); ?>></div>
356
  </div>
357
  </div>
358
- </div>
359
- <div class="sg-hide sg-full-width" id="subs-open-popup">
360
- <div class="row form-group">
361
- <label for="sgpb-subs-success-redirect-URL" class="col-md-6 control-label sgpb-double-sub-option">
362
- <?php _e('Select popup', SG_POPUP_TEXT_DOMAIN)?>:
363
- </label>
364
- <div class="col-md-6">
365
- <?php echo AdminHelper::createSelectBox($subscriptionSubPopups, $successPopup, array('name' => 'sgpb-subs-success-popup', 'class'=>'js-sg-select2 sgpb-full-width-events')); ?>
366
  </div>
367
  </div>
368
  </div>
355
  <div class="col-md-6"><input type="checkbox" name="sgpb-subs-success-redirect-new-tab" id="subs-success-redirect-new-tab" placeholder="https://www.example.com" <?php echo $popupTypeObj->getOptionValue('sgpb-subs-success-redirect-new-tab'); ?>></div>
356
  </div>
357
  </div>
358
+ <div class="sg-hide sg-full-width" id="subs-open-popup">
359
+ <div class="row form-group">
360
+ <label for="sgpb-subs-success-redirect-URL" class="col-md-6 control-label sgpb-double-sub-option">
361
+ <?php _e('Select popup', SG_POPUP_TEXT_DOMAIN)?>:
362
+ </label>
363
+ <div class="col-md-6">
364
+ <?php echo AdminHelper::createSelectBox($subscriptionSubPopups, $successPopup, array('name' => 'sgpb-subs-success-popup', 'class'=>'js-sg-select2 sgpb-full-width-events')); ?>
365
+ </div>
366
  </div>
367
  </div>
368
  </div>
public/views/optionsView.php CHANGED
@@ -316,7 +316,7 @@ if (!empty($removedOptions['content-copy-to-clipboard'])) {
316
  </div>
317
  <?php if (!$autoClose): ?>
318
  <div class="col-md-2 sgpb-pro-options-label-wrapper">
319
- <a href="<?php echo SG_POPUP_ADVANCED_CLOSING_URL;?>" target="_blank" class="btn btn-warning btn-xs sgpb-pro-label-sm sgpb-advanced-closing-pro-label"><?php _e('GET OPTION', SG_POPUP_TEXT_DOMAIN) ?></a>
320
  </div>
321
  <?php endif; ?>
322
  </div>
316
  </div>
317
  <?php if (!$autoClose): ?>
318
  <div class="col-md-2 sgpb-pro-options-label-wrapper">
319
+ <a href="<?php echo SG_POPUP_ADVANCED_CLOSING_URL;?>" target="_blank" class="btn btn-warning btn-xs sgpb-pro-label-sm sgpb-advanced-closing-pro-label"><?php _e('UNLOCK OPTION', SG_POPUP_TEXT_DOMAIN) ?></a>
320
  </div>
321
  <?php endif; ?>
322
  </div>
public/views/otherConditionsView.php CHANGED
File without changes
public/views/popupDesignView.php CHANGED
@@ -35,11 +35,11 @@ $removedOptions = $popupTypeObj->getRemoveOptions();
35
 
36
  <?php if (empty($removedOptions['sgpb-popup-z-index'])) :?>
37
  <div class="row form-group">
38
- <label class="col-md-5 sgpb-static-padding-top" for="sgpb-popup-order">
39
  <?php _e('Popup z-index', SG_POPUP_TEXT_DOMAIN) ?>:
40
  </label>
41
  <div class="col-md-6">
42
- <input type="number" min="1" name="sgpb-popup-z-index" id="sgpb-popup-order" class="form-control sgpb-full-width-events" value="<?php echo $popupTypeObj->getOptionValue('sgpb-popup-z-index'); ?>">
43
  </div>
44
  <div class="col-md-1 sgpb-info-wrapper">
45
  <span class="dashicons dashicons-editor-help sgpb-info-icon sgpb-info-icon-align"></span>
@@ -85,7 +85,7 @@ $removedOptions = $popupTypeObj->getRemoveOptions();
85
  </div>
86
  <?php if (!$enablePopupOverlay): ?>
87
  <div class="col-md-2 sgpb-pro-options-label-wrapper">
88
- <a href="<?php echo SG_POPUP_ADVANCED_CLOSING_URL;?>" target="_blank" class="btn btn-warning btn-xs sgpb-pro-label-sm sgpb-advanced-closing-pro-label"><?php _e('GET OPTION', SG_POPUP_TEXT_DOMAIN) ?></a>
89
  </div>
90
  <?php endif; ?>
91
  </div>
35
 
36
  <?php if (empty($removedOptions['sgpb-popup-z-index'])) :?>
37
  <div class="row form-group">
38
+ <label class="col-md-5 sgpb-static-padding-top" for="sgpb-popup-z-index">
39
  <?php _e('Popup z-index', SG_POPUP_TEXT_DOMAIN) ?>:
40
  </label>
41
  <div class="col-md-6">
42
+ <input type="number" min="1" name="sgpb-popup-z-index" id="sgpb-popup-z-index" class="form-control sgpb-full-width-events" value="<?php echo $popupTypeObj->getOptionValue('sgpb-popup-z-index'); ?>">
43
  </div>
44
  <div class="col-md-1 sgpb-info-wrapper">
45
  <span class="dashicons dashicons-editor-help sgpb-info-icon sgpb-info-icon-align"></span>
85
  </div>
86
  <?php if (!$enablePopupOverlay): ?>
87
  <div class="col-md-2 sgpb-pro-options-label-wrapper">
88
+ <a href="<?php echo SG_POPUP_ADVANCED_CLOSING_URL;?>" target="_blank" class="btn btn-warning btn-xs sgpb-pro-label-sm sgpb-advanced-closing-pro-label"><?php _e('UNLOCK OPTION', SG_POPUP_TEXT_DOMAIN) ?></a>
89
  </div>
90
  <?php endif; ?>
91
  </div>
public/views/popupTypes.php CHANGED
File without changes
public/views/settings.php CHANGED
File without changes
public/views/subscribers.php CHANGED
File without changes
public/views/targetView.php CHANGED
File without changes
readme.txt CHANGED
@@ -7,7 +7,7 @@ Tags: popup, pop up, wordpress popup, popup maker, exit popup, popup builder, wo
7
  Requires at least: 3.8
8
  Tested up to: 5.0
9
  Requires PHP: 5.3.3
10
- Stable tag: 3.1.1
11
  License: GPLv2 or later
12
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
13
 
@@ -96,7 +96,7 @@ With Popup Builder plugin you can insert any type of content, right into your Po
96
 
97
  * Contact form popup - this type will allow your clients to write you a message right from the popup.
98
 
99
- * MailChimp popup (separate extension) - create eye-catching, beautiful MailChimp popups to make your users sign up to the mail list right from the popup. You can set up all the design customization according to your needs and preferences!
100
 
101
  * Adblock popup (separate extension) - detect Adblock extensions that block the advertisements of your site and show a message to your visitors via popup!
102
 
@@ -178,6 +178,13 @@ Go to the Popup Builder settings and set your desired options.
178
 
179
  == Changelog ==
180
 
 
 
 
 
 
 
 
181
  = Version 3.1.1 =
182
  * Now the popup limitation cookie is saving only after the popup appears.
183
  * Popup Builder migration tweak.
@@ -226,7 +233,6 @@ Go to the Popup Builder settings and set your desired options.
226
  * Added new option inside age restriction popup to remember previus state of user selection.
227
  * Added loading spinner inside Iframe and Video popup types.
228
 
229
-
230
  = Version 3.0.5 =
231
  * Bug fixed for subscription popup for some cases when the submit event was not triggering.
232
  * Added new option to close popup after copy to clipboard action.
7
  Requires at least: 3.8
8
  Tested up to: 5.0
9
  Requires PHP: 5.3.3
10
+ Stable tag: 3.1.2
11
  License: GPLv2 or later
12
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
13
 
96
 
97
  * Contact form popup - this type will allow your clients to write you a message right from the popup.
98
 
99
+ * Mailchimp popup (separate extension) - create eye-catching, beautiful Mailchimp popups to make your users sign up to the mail list right from the popup. You can set up all the design customization according to your needs and preferences!
100
 
101
  * Adblock popup (separate extension) - detect Adblock extensions that block the advertisements of your site and show a message to your visitors via popup!
102
 
178
 
179
  == Changelog ==
180
 
181
+ = Version 3.1.2 =
182
+ * Bug fixed related to popup view limitation (getting JS error if Popup Limitation is set up).
183
+ * Improvements on popup preview functionality.
184
+ * Added missing localization texts.
185
+ * Improvements on subscribers section.
186
+ * Minor fixes and improvements.
187
+
188
  = Version 3.1.1 =
189
  * Now the popup limitation cookie is saving only after the popup appears.
190
  * Popup Builder migration tweak.
233
  * Added new option inside age restriction popup to remember previus state of user selection.
234
  * Added loading spinner inside Iframe and Video popup types.
235
 
 
236
  = Version 3.0.5 =
237
  * Bug fixed for subscription popup for some cases when the submit event was not triggering.
238
  * Added new option to close popup after copy to clipboard action.