Popup Builder – Responsive WordPress Pop up - Version 3.68.4

Version Description

Current Version of Popup Builder is 3.68.4

Download this release

Release Info

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

Code changes from version 3.68.3 to 3.68.4

com/classes/Ajax.php CHANGED
@@ -345,6 +345,9 @@ class Ajax
345
  global $wpdb;
346
 
347
  $newsletterData = stripslashes_deep($_POST['newsletterData']);
 
 
 
348
  $subscriptionFormId = (int)$newsletterData['subscriptionFormId'];
349
 
350
  $updateStatusQuery = $wpdb->prepare('UPDATE '.$wpdb->prefix.SGPB_SUBSCRIBERS_TABLE_NAME.' SET status = 0 WHERE subscriptionType = %d', $subscriptionFormId);
345
  global $wpdb;
346
 
347
  $newsletterData = stripslashes_deep($_POST['newsletterData']);
348
+ if (isset($newsletterData['testSendingStatus']) && $newsletterData['testSendingStatus'] == 'test') {
349
+ AdminHelper::sendTestNewsletter($newsletterData);
350
+ }
351
  $subscriptionFormId = (int)$newsletterData['subscriptionFormId'];
352
 
353
  $updateStatusQuery = $wpdb->prepare('UPDATE '.$wpdb->prefix.SGPB_SUBSCRIBERS_TABLE_NAME.' SET status = 0 WHERE subscriptionType = %d', $subscriptionFormId);
com/classes/Filters.php CHANGED
@@ -52,6 +52,23 @@ class Filters
52
  add_filter('plugin_row_meta', array( $this, 'pluginRowMetas'), 10, 4);
53
  add_filter( 'rank_math/sitemap/exclude_post_type', array($this, 'excludeRankMath'), 10, 2 );
54
  add_filter('sgpbUserSelectionQuery', array($this, 'userSelectionQueryAddExtraAttributes'), 100, 1);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
55
  }
56
 
57
  public function userSelectionQueryAddExtraAttributes($query)
@@ -624,6 +641,10 @@ class Filters
624
  $content = str_replace(' src="'.$urls[$key].'"', ' src="" data-attr-src="'.esc_attr($urls[$key]).'"', $content);
625
  }
626
 
 
 
 
 
627
  return do_shortcode($content);
628
  }
629
 
52
  add_filter('plugin_row_meta', array( $this, 'pluginRowMetas'), 10, 4);
53
  add_filter( 'rank_math/sitemap/exclude_post_type', array($this, 'excludeRankMath'), 10, 2 );
54
  add_filter('sgpbUserSelectionQuery', array($this, 'userSelectionQueryAddExtraAttributes'), 100, 1);
55
+ add_filter('sgpbFilterOptionsBeforeSaving', array($this, 'filterOptionsBeforeSaving'), 100, 1);
56
+ }
57
+
58
+ public function filterOptionsBeforeSaving($unfilteredData = array())
59
+ {
60
+ $externalOptions = array(
61
+ 'icl_post_language' => 'sgpb-icl_post_language'
62
+ );
63
+
64
+ foreach ($externalOptions as $optionKey => $value) {
65
+ if (isset($unfilteredData[$optionKey])) {
66
+ $unfilteredData[$value] = $unfilteredData[$optionKey];
67
+ // there is no need to unset the old index value, because in the next step we'll take only the values from indexes started with "sgpb"
68
+ }
69
+ }
70
+
71
+ return $unfilteredData;
72
  }
73
 
74
  public function userSelectionQueryAddExtraAttributes($query)
641
  $content = str_replace(' src="'.$urls[$key].'"', ' src="" data-attr-src="'.esc_attr($urls[$key]).'"', $content);
642
  }
643
 
644
+ if (function_exists('do_blocks')) {
645
+ $content = do_blocks($content);
646
+ }
647
+
648
  return do_shortcode($content);
649
  }
650
 
com/classes/PopupChecker.php CHANGED
@@ -549,6 +549,25 @@ class PopupChecker
549
  return $equalStatus;
550
  }
551
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
552
  public static function checkOtherConditionsActions($args)
553
  {
554
  if (empty($args['id']) || empty($args['popupOptions'])) {
@@ -557,6 +576,15 @@ class PopupChecker
557
 
558
  $popupOptions = $args['popupOptions'];
559
 
 
 
 
 
 
 
 
 
 
560
  // proStartSilver
561
  //User status check
562
  if (!empty($popupOptions['sgpb-user-status'])) {
549
  return $equalStatus;
550
  }
551
 
552
+ public static function checkLanguage($popupLanguage = '')
553
+ {
554
+ global $post;
555
+
556
+ $postId = $post->ID;
557
+ if (!function_exists('wpml_get_language_information')) {
558
+ return true;
559
+ }
560
+ $postLanguage = wpml_get_language_information($postId);
561
+ if (is_wp_error($postLanguage)) {
562
+ return true;
563
+ }
564
+ if ($postLanguage['language_code'] != $popupLanguage) {
565
+ return false;
566
+ }
567
+
568
+ return true;
569
+ }
570
+
571
  public static function checkOtherConditionsActions($args)
572
  {
573
  if (empty($args['id']) || empty($args['popupOptions'])) {
576
 
577
  $popupOptions = $args['popupOptions'];
578
 
579
+ if (!empty($popupOptions['sgpb-icl_post_language'])) {
580
+ $languageCompatibilty = PopupChecker::checkLanguage($popupOptions['sgpb-icl_post_language']);
581
+
582
+ if ($languageCompatibilty === false) {
583
+ return $languageCompatibilty;
584
+ }
585
+ }
586
+
587
+
588
  // proStartSilver
589
  //User status check
590
  if (!empty($popupOptions['sgpb-user-status'])) {
com/classes/PopupLoader.php CHANGED
@@ -131,17 +131,12 @@ class PopupLoader
131
  }
132
  }
133
 
134
- $popupBuilderPosts = get_transient(SGPB_TRANSIENT_POPUPS_LOAD);
135
- if ($popupBuilderPosts === false) {
136
- $popupBuilderPosts = new WP_Query(
137
- array(
138
- 'post_type' => SG_POPUP_POST_TYPE,
139
- 'posts_per_page' => 100
140
- )
141
- );
142
- set_transient(SGPB_TRANSIENT_POPUPS_LOAD, $popupBuilderPosts, SGPB_TRANSIENT_TIMEOUT_WEEK);
143
- }
144
-
145
  // We check all the popups one by one to realize whether they might be loaded or not.
146
  while ($popupBuilderPosts->have_posts()) {
147
  $popupBuilderPosts->next_post();
131
  }
132
  }
133
 
134
+ $popupBuilderPosts = new WP_Query(
135
+ array(
136
+ 'post_type' => SG_POPUP_POST_TYPE,
137
+ 'posts_per_page' => 100
138
+ )
139
+ );
 
 
 
 
 
140
  // We check all the popups one by one to realize whether they might be loaded or not.
141
  while ($popupBuilderPosts->have_posts()) {
142
  $popupBuilderPosts->next_post();
com/classes/popups/SGPopup.php CHANGED
@@ -433,6 +433,7 @@ abstract class SGPopup
433
  public static function parsePopupDataFromData($data)
434
  {
435
  $popupData = array();
 
436
 
437
  foreach ($data as $key => $value) {
438
  if (strpos($key, 'sgpb') === 0) {
433
  public static function parsePopupDataFromData($data)
434
  {
435
  $popupData = array();
436
+ $data = apply_filters('sgpbFilterOptionsBeforeSaving', $data);
437
 
438
  foreach ($data as $key => $value) {
439
  if (strpos($key, 'sgpb') === 0) {
com/config/configPackage.php CHANGED
@@ -3,6 +3,6 @@ if (!defined('ABSPATH')) {
3
  exit();
4
  }
5
 
6
- define('SG_POPUP_VERSION', '3.68.3');
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.68.4');
7
  define('SGPB_POPUP_PKG', SGPB_POPUP_PKG_FREE);
8
  define('POPUP_BUILDER_BASENAME', 'popupbuilder-platinum/popup-builder.php');
com/helpers/AdminHelper.php CHANGED
@@ -334,7 +334,7 @@ class AdminHelper
334
  global $wpdb;
335
  $subscribersTablename = $wpdb->prefix.SGPB_SUBSCRIBERS_TABLE_NAME;
336
  $postsTablename = $wpdb->prefix.SGPB_POSTS_TABLE_NAME;
337
-
338
  if ($query == '') {
339
  $query = 'SELECT firstName, lastName, email, cDate, '.$additionalColumn.' '.$postsTablename.'.post_title AS subscriptionTitle FROM '.$subscribersTablename.' ';
340
  }
@@ -2184,4 +2184,35 @@ class AdminHelper
2184
 
2185
  self::updateOption('sgpb-unnecessary-scripts-removed-1', 1);
2186
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2187
  }
334
  global $wpdb;
335
  $subscribersTablename = $wpdb->prefix.SGPB_SUBSCRIBERS_TABLE_NAME;
336
  $postsTablename = $wpdb->prefix.SGPB_POSTS_TABLE_NAME;
337
+
338
  if ($query == '') {
339
  $query = 'SELECT firstName, lastName, email, cDate, '.$additionalColumn.' '.$postsTablename.'.post_title AS subscriptionTitle FROM '.$subscribersTablename.' ';
340
  }
2184
 
2185
  self::updateOption('sgpb-unnecessary-scripts-removed-1', 1);
2186
  }
2187
+
2188
+ public static function sendTestNewsletter($newsletterData = array())
2189
+ {
2190
+ $mailSubject = $newsletterData['newsletterSubject'];
2191
+ $fromEmail = $newsletterData['fromEmail'];
2192
+ $emailMessage = $newsletterData['messageBody'];
2193
+ $headers = array(
2194
+ 'From: "'.$blogInfo.'" <'.$fromEmail.'>' ,
2195
+ 'MIME-Version: 1.0' ,
2196
+ 'Content-type: text/html; charset=UTF-8'
2197
+ );
2198
+
2199
+ $emails = get_option('admin_email');
2200
+ if (!empty($newsletterData['testSendingEmails'])) {
2201
+ $emails = $newsletterData['testSendingEmails'];
2202
+ $emails = str_replace(' ', '', $emails);
2203
+
2204
+ $receiverEmailsArray = array();
2205
+ $emails = explode(',', $emails);
2206
+ foreach ($emails as $mail) {
2207
+ if (is_email($mail)) {
2208
+ $receiverEmailsArray[] = $mail;
2209
+ }
2210
+ }
2211
+ $emails = $receiverEmailsArray;
2212
+ }
2213
+
2214
+ $mailStatus = wp_mail($emails, $mailSubject, $emailMessage, $headers);
2215
+
2216
+ wp_die($newsletterData['testSendingStatus']);
2217
+ }
2218
  }
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.68.3
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.68.4
7
  * Author: Sygnoos
8
  * Author URI: https://sygnoos.com
9
  * License: GPLv2
public/css/popupAdminStyles.css CHANGED
@@ -112,4 +112,4 @@ h3{border-bottom:1px solid #ccc;padding-bottom:15px;padding-left:20px}.sgpb-noti
112
  a{font-size:12px !important}.sgpb-review-description .sgrb-review-h2{margin-top:0 !important}.sgpb-hide-notification-at-all{float:right}.sgpb-hide-notification-at-all:hover{cursor:pointer;background-color:#cccccca3}#sgpb-feedback-popup{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background-color:rgba(0,0,0,0.6);z-index:9999;opacity:0;pointer-events:none}#sgpb-feedback-popup:target{opacity:1;pointer-events:auto}.sgpb-feedback-popup-wrapper{width:35%;min-width:310px;background-color:white;padding:0
113
  15px 15px 15px;box-sizing:border-box;border-radius:4px;overflow:auto;position:fixed;left:50%;top:30%;margin-top:-37.5px;margin-left:-201px}.sgpb-show-feedback-popup,.sgpb-show-feedback-popup:target{opacity:1 !important;pointer-events:auto !important;display:block !important}.sgpb-deactivate-feedback-dialog-input{margin:0
114
  !important}.sgpb-feedback-popup-wrapper .sgpb-add-subscriber-popup-close-btn{margin-top:9px}.sgpb-feedback-popup-wrapper .sgpb-feedback-popup-header{border-bottom:1px solid #ccc}.sgpb-feedback-descritpion{margin:10px
115
- 0 15px 0 !important}.sgpb-feedback-each-reason-row{margin-bottom:10px}.sgpb-deactivate-feedback-dialog-label{margin-top:2px}.sgpb-feedback-text-input{width:100%}.sgpb-feedback-submit{background-color:#2873EB !important;border-color:#2873EB !important}.sgpb-feedback-submit:hover{background-color:#2873ebcc !important;border-color:#2873ebcc !important}.sgpb-feedback-submit-skip{float:right}.sgpb-feedback-error-message{font-size:13px;color:#f00}.sgpb-feedback-btns-wrapper{margin-top:30px}
112
  a{font-size:12px !important}.sgpb-review-description .sgrb-review-h2{margin-top:0 !important}.sgpb-hide-notification-at-all{float:right}.sgpb-hide-notification-at-all:hover{cursor:pointer;background-color:#cccccca3}#sgpb-feedback-popup{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background-color:rgba(0,0,0,0.6);z-index:9999;opacity:0;pointer-events:none}#sgpb-feedback-popup:target{opacity:1;pointer-events:auto}.sgpb-feedback-popup-wrapper{width:35%;min-width:310px;background-color:white;padding:0
113
  15px 15px 15px;box-sizing:border-box;border-radius:4px;overflow:auto;position:fixed;left:50%;top:30%;margin-top:-37.5px;margin-left:-201px}.sgpb-show-feedback-popup,.sgpb-show-feedback-popup:target{opacity:1 !important;pointer-events:auto !important;display:block !important}.sgpb-deactivate-feedback-dialog-input{margin:0
114
  !important}.sgpb-feedback-popup-wrapper .sgpb-add-subscriber-popup-close-btn{margin-top:9px}.sgpb-feedback-popup-wrapper .sgpb-feedback-popup-header{border-bottom:1px solid #ccc}.sgpb-feedback-descritpion{margin:10px
115
+ 0 15px 0 !important}.sgpb-feedback-each-reason-row{margin-bottom:10px}.sgpb-deactivate-feedback-dialog-label{margin-top:2px}.sgpb-feedback-text-input{width:100%}.sgpb-feedback-submit{background-color:#2873EB !important;border-color:#2873EB !important}.sgpb-feedback-submit:hover{background-color:#2873ebcc !important;border-color:#2873ebcc !important}.sgpb-feedback-submit-skip{float:right}.sgpb-feedback-error-message{font-size:13px;color:#f00}.sgpb-feedback-btns-wrapper{margin-top:30px}.btn-light.js-send-newsletter{color:#000 !important}.sgpb-js-newsletter-spinner{margin-left:10px}
public/js/Newsletter.js CHANGED
@@ -4,7 +4,9 @@ SGPBNewsletter.prototype.getTinymceContent=function()
4
  {if(jQuery('.wp-editor-wrap').hasClass('tmce-active')){return tinyMCE.activeEditor.getContent();}
5
  return jQuery('#sgpb-newsletter-text').val();};SGPBNewsletter.prototype.init=function()
6
  {var sendButton=jQuery('.js-send-newsletter');if(!sendButton.length){return false;}
7
- var that=this;sendButton.bind('click',function(e){e.preventDefault();var validationStatus=true;var fromEmail=jQuery('.sgpb-newsletter-from-email').val();var subscriptionFormId=jQuery('.js-sg-newsletter-forms option:selected').val();subscriptionFormId=parseInt(subscriptionFormId);var validateEmail=fromEmail.search(/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,10})+$/);if(isNaN(subscriptionFormId)){jQuery('.sgpb-newsletter-popup-error').removeClass('sg-hide-element');validationStatus=false;}
8
  if(validateEmail==-1){validationStatus=false;jQuery('.sgpb-newsletter-from-email-error').removeClass('sg-hide-element');return false;}
9
  if(!validationStatus){return false;}
10
- jQuery('.sgpb-newsletter-validation').addClass('sg-hide-element');var emailsInFlow=jQuery('.sgpb-emails-in-flow').val();emailsInFlow=parseInt(emailsInFlow);var newsletterSubject=jQuery('.sgpb-newsletter-subject').val();var messageBody=that.getTinymceContent();var data={nonce:SGPB_JS_PARAMS.nonce,action:'sgpb_send_newsletter',newsletterData:{subscriptionFormId:subscriptionFormId,beforeSend:function(){jQuery('.sgpb-js-newsletter-spinner').removeClass('sgpb-hide');jQuery('.sgpb-newsletter-notice').addClass('sgpb-hide');},fromEmail:fromEmail,emailsInFlow:emailsInFlow,newsletterSubject:newsletterSubject,messageBody:messageBody}};jQuery.post(ajaxurl,data,function(){jQuery('.sgpb-newsletter-notice').removeClass('sgpb-hide');jQuery('.sgpb-js-newsletter-spinner').addClass('sgpb-hide');});});};jQuery(document).ready(function(){new SGPBNewsletter();});
 
 
4
  {if(jQuery('.wp-editor-wrap').hasClass('tmce-active')){return tinyMCE.activeEditor.getContent();}
5
  return jQuery('#sgpb-newsletter-text').val();};SGPBNewsletter.prototype.init=function()
6
  {var sendButton=jQuery('.js-send-newsletter');if(!sendButton.length){return false;}
7
+ var that=this;sendButton.bind('click',function(e){e.preventDefault();var currentBtn=jQuery(this);var validationStatus=true;var testSendingStatus=currentBtn.data('send-type');var testSendingEmails=jQuery('.sgpb-newlsetter-test-emails').val();var fromEmail=jQuery('.sgpb-newsletter-from-email').val();var subscriptionFormId=jQuery('.js-sg-newsletter-forms option:selected').val();subscriptionFormId=parseInt(subscriptionFormId);var validateEmail=fromEmail.search(/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,10})+$/);if(isNaN(subscriptionFormId)){jQuery('.sgpb-newsletter-popup-error').removeClass('sg-hide-element');validationStatus=false;}
8
  if(validateEmail==-1){validationStatus=false;jQuery('.sgpb-newsletter-from-email-error').removeClass('sg-hide-element');return false;}
9
  if(!validationStatus){return false;}
10
+ jQuery('.sgpb-newsletter-validation').addClass('sg-hide-element');var emailsInFlow=jQuery('.sgpb-emails-in-flow').val();emailsInFlow=parseInt(emailsInFlow);var newsletterSubject=jQuery('.sgpb-newsletter-subject').val();var messageBody=that.getTinymceContent();var data={nonce:SGPB_JS_PARAMS.nonce,action:'sgpb_send_newsletter',newsletterData:{subscriptionFormId:subscriptionFormId,beforeSend:function(){currentBtn.next('.sgpb-js-newsletter-spinner').removeClass('sgpb-hide');jQuery('.sgpb-newsletter-notice').addClass('sgpb-hide');jQuery('.sgpb-newsletter-success-message').addClass('sgpb-hide');jQuery('.sgpb-newsletter-test-success-message').addClass('sgpb-hide');},fromEmail:fromEmail,emailsInFlow:emailsInFlow,newsletterSubject:newsletterSubject,messageBody:messageBody,testSendingStatus:testSendingStatus,testSendingEmails:testSendingEmails}};jQuery.post(ajaxurl,data,function(response){if(response=='test'){jQuery('.sgpb-newsletter-test-success-message').removeClass('sgpb-hide');}
11
+ else{jQuery('.sgpb-newsletter-success-message').removeClass('sgpb-hide');}
12
+ jQuery('.sgpb-newsletter-notice').removeClass('sgpb-hide');jQuery('.sgpb-js-newsletter-spinner').addClass('sgpb-hide');});});};jQuery(document).ready(function(){new SGPBNewsletter();});
public/js/PopupBuilder.js CHANGED
@@ -2573,14 +2573,14 @@ SgpbEventListener.prototype.sgpbClick = function(listenerObj, eventData)
2573
  if (!jQuery(this).attr('data-popup-id')) {
2574
  jQuery(this).attr('data-popup-id', popupId);
2575
  }
2576
-
2577
- jQuery(this).bind('click', function(e) {
2578
  if (clickCount > 1) {
2579
  return true;
2580
  }
2581
 
2582
- var attr = jQuery(e.originalEvent.target).parent().attr('data-popup-id');
2583
- var attr2 = jQuery(e.originalEvent.target).attr('data-popup-id');
2584
  if (jQuery(e.originalEvent.target).closest('header').length && (typeof attr == 'undefined' || !attr)) {
2585
  if (typeof attr2 == 'undefined' || !attr2) {
2586
  return true;
2573
  if (!jQuery(this).attr('data-popup-id')) {
2574
  jQuery(this).attr('data-popup-id', popupId);
2575
  }
2576
+ var currentTarget = jQuery(this);
2577
+ currentTarget.bind('click', function(e) {
2578
  if (clickCount > 1) {
2579
  return true;
2580
  }
2581
 
2582
+ var attr = currentTarget.parent().attr('data-popup-id');
2583
+ var attr2 = currentTarget.attr('data-popup-id');
2584
  if (jQuery(e.originalEvent.target).closest('header').length && (typeof attr == 'undefined' || !attr)) {
2585
  if (typeof attr2 == 'undefined' || !attr2) {
2586
  return true;
public/views/newsletter.php CHANGED
@@ -32,7 +32,8 @@
32
  </h3>
33
  <div class="sgpb-options-content">
34
  <div class="sgpb-alert sgpb-newsletter-notice sgpb-alert-info fade in sgpb-hide">
35
- <span><?php _e('You will receive an email notification after all emails are sent', SG_POPUP_TEXT_DOMAIN); ?>.</span>
 
36
  </div>
37
  <div class="row form-group">
38
  <label class="col-md-6 sgpb-label-align-center-sm">
@@ -103,8 +104,15 @@
103
  </div>
104
  </div>
105
  <div class="row form-group">
106
- <div class="col-md-12">
107
- <input type="submit" class="btn btn-primary btn-sm js-send-newsletter" value="<?php _e('Send newsletter', SG_POPUP_TEXT_DOMAIN)?>">
 
 
 
 
 
 
 
108
  <img src="<?php echo SG_POPUP_IMG_URL.'ajaxSpinner.gif'; ?>" width="20px" class="sgpb-hide sgpb-js-newsletter-spinner">
109
  </div>
110
  </div>
32
  </h3>
33
  <div class="sgpb-options-content">
34
  <div class="sgpb-alert sgpb-newsletter-notice sgpb-alert-info fade in sgpb-hide">
35
+ <span class="sgpb-newsletter-success-message sgpb-hide"><?php _e('You will receive an email notification after all emails are sent', SG_POPUP_TEXT_DOMAIN); ?>.</span>
36
+ <span class="sgpb-newsletter-test-success-message sgpb-hide"><?php _e('Test email was successfully sent', SG_POPUP_TEXT_DOMAIN); ?>.</span>
37
  </div>
38
  <div class="row form-group">
39
  <label class="col-md-6 sgpb-label-align-center-sm">
104
  </div>
105
  </div>
106
  <div class="row form-group">
107
+ <div class="col-md-3">
108
+ <input class="sgpb-newlsetter-test-emails form-control input-sm" type="text" name="sgpb-newlsetter-test-emails">
109
+ </div>
110
+ <div class="col-md-6">
111
+ <input type="submit" class="btn btn-sm btn-light js-send-newsletter" data-send-type="test" value="<?php _e('Test send', SG_POPUP_TEXT_DOMAIN)?>">
112
+ <img src="<?php echo SG_POPUP_IMG_URL.'ajaxSpinner.gif'; ?>" width="20px" class="sgpb-hide sgpb-js-newsletter-spinner">
113
+ </div>
114
+ <div class="col-md-3">
115
+ <input type="submit" class="btn btn-primary btn-sm btn-success js-send-newsletter" value="<?php _e('Send newsletter', SG_POPUP_TEXT_DOMAIN)?>">
116
  <img src="<?php echo SG_POPUP_IMG_URL.'ajaxSpinner.gif'; ?>" width="20px" class="sgpb-hide sgpb-js-newsletter-spinner">
117
  </div>
118
  </div>
readme.txt CHANGED
@@ -7,9 +7,9 @@ Plugin URI: https://popup-builder.com
7
  Donate link: https://popup-builder.com
8
  Tags: popup, pop up, wordpress popup, popup maker, exit popup, popup builder, wordpress popup plugin
9
  Requires at least: 4.2
10
- Tested up to: 5.4
11
  Requires PHP: 5.3.3
12
- Stable tag: 3.68.3
13
  License: GPLv2 or later
14
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
15
 
@@ -185,6 +185,12 @@ Go to the Popup Builder settings and set your desired options.
185
 
186
  == Changelog ==
187
 
 
 
 
 
 
 
188
  = Version 3.68.3 =
189
  * Bug fixed related to the error message while uploading image for close button.
190
  * Bug fixed related to the popup cloning.
@@ -1194,7 +1200,7 @@ Leave us a good review :)
1194
 
1195
  == Upgrade Notice ==
1196
 
1197
- Current Version of Popup Builder is 3.68.3
1198
 
1199
  == Other Notes ==
1200
 
7
  Donate link: https://popup-builder.com
8
  Tags: popup, pop up, wordpress popup, popup maker, exit popup, popup builder, wordpress popup plugin
9
  Requires at least: 4.2
10
+ Tested up to: 5.5
11
  Requires PHP: 5.3.3
12
+ Stable tag: 3.68.4
13
  License: GPLv2 or later
14
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
15
 
185
 
186
  == Changelog ==
187
 
188
+ = Version 3.68.4 =
189
+ * Improvement of core JS files.
190
+ * Improvement of compatibility with WooCommerce related to Gutenberg blocks.
191
+ * Full Integration with WPML plugin.
192
+ * Compatibility with WordPress v5.5.
193
+
194
  = Version 3.68.3 =
195
  * Bug fixed related to the error message while uploading image for close button.
196
  * Bug fixed related to the popup cloning.
1200
 
1201
  == Upgrade Notice ==
1202
 
1203
+ Current Version of Popup Builder is 3.68.4
1204
 
1205
  == Other Notes ==
1206