Version Description
Current Version of Popup Builder is 3.51
Download this release
Release Info
Developer | Sygnoos |
Plugin | Popup Builder – Responsive WordPress Pop up |
Version | 3.51 |
Comparing to | |
See all releases |
Code changes from version 3.50 to 3.51
- com/classes/Actions.php +3 -3
- com/classes/Filters.php +3 -2
- com/classes/Notification.php +0 -4
- com/classes/NotificationCenter.php +3 -3
- com/classes/ScriptsLoader.php +1 -1
- com/classes/popups/SGPopup.php +0 -4
- com/config/config.php +1 -0
- com/config/configPackage.php +1 -1
- com/helpers/AdminHelper.php +2 -1
- com/helpers/ConfigDataHelper.php +2 -1
- popup-builder.php +1 -1
- public/js/Backend.js +6 -1
- public/views/conditionsView.php +28 -2
- public/views/eventsView.php +1 -1
- readme.txt +8 -3
com/classes/Actions.php
CHANGED
@@ -3,6 +3,7 @@ namespace sgpb;
|
|
3 |
use \WP_Query;
|
4 |
use \SgpbPopupConfig;
|
5 |
use \SgpbDataConfig;
|
|
|
6 |
class Actions
|
7 |
{
|
8 |
public $customPostTypeObj;
|
@@ -550,7 +551,7 @@ class Actions
|
|
550 |
'interval' => SGPB_CRON_REPEAT_INTERVAL * 60,
|
551 |
'display' => __('Once Every Minute', SG_POPUP_TEXT_DOMAIN)
|
552 |
);
|
553 |
-
$schedules = apply_filters('
|
554 |
|
555 |
return $schedules;
|
556 |
}
|
@@ -575,6 +576,7 @@ class Actions
|
|
575 |
$allAvailableShortcodes['patternLastName'] = '/\[Last name]/';
|
576 |
$allAvailableShortcodes['patternBlogName'] = '/\[Blog name]/';
|
577 |
$allAvailableShortcodes['patternUserName'] = '/\[User name]/';
|
|
|
578 |
|
579 |
$pattern = "/\[(\[?)(Unsubscribe)(?![\w-])([^\]\/]*(?:\/(?!\])[^\]\/]*)*?)(?:(\/)\]|\](?:([^\[]\*+(?:\[(?!\/\2\])[^\[]\*+)\*+)\[\/\2\])?)(\]?)/";
|
580 |
preg_match($pattern, $emailMessage, $matches);
|
@@ -667,9 +669,7 @@ class Actions
|
|
667 |
$emailMessageCustom = stripslashes($emailMessageCustom);
|
668 |
|
669 |
$emailMessageCustom = apply_filters('sgpNewsletterSendingMessage', $emailMessageCustom);
|
670 |
-
|
671 |
$mailStatus = wp_mail($subscriber['email'], $mailSubject, $emailMessageCustom, $headers);
|
672 |
-
|
673 |
if (!$mailStatus) {
|
674 |
$errorLogSql = $wpdb->prepare('INSERT INTO '. $wpdb->prefix .SGPB_SUBSCRIBERS_ERROR_TABLE_NAME.' (`popupType`, `email`, `date`) VALUES (%s, %s, %s)', $subscriptionFormId, $subscriber['email'], date('Y-m-d H:i'));
|
675 |
$wpdb->query($errorLogSql);
|
3 |
use \WP_Query;
|
4 |
use \SgpbPopupConfig;
|
5 |
use \SgpbDataConfig;
|
6 |
+
|
7 |
class Actions
|
8 |
{
|
9 |
public $customPostTypeObj;
|
551 |
'interval' => SGPB_CRON_REPEAT_INTERVAL * 60,
|
552 |
'display' => __('Once Every Minute', SG_POPUP_TEXT_DOMAIN)
|
553 |
);
|
554 |
+
$schedules = apply_filters('sgpbCronTimeoutSettings', $schedules);
|
555 |
|
556 |
return $schedules;
|
557 |
}
|
576 |
$allAvailableShortcodes['patternLastName'] = '/\[Last name]/';
|
577 |
$allAvailableShortcodes['patternBlogName'] = '/\[Blog name]/';
|
578 |
$allAvailableShortcodes['patternUserName'] = '/\[User name]/';
|
579 |
+
$allAvailableShortcodes['patternUnsubscribe'] = '';
|
580 |
|
581 |
$pattern = "/\[(\[?)(Unsubscribe)(?![\w-])([^\]\/]*(?:\/(?!\])[^\]\/]*)*?)(?:(\/)\]|\](?:([^\[]\*+(?:\[(?!\/\2\])[^\[]\*+)\*+)\[\/\2\])?)(\]?)/";
|
582 |
preg_match($pattern, $emailMessage, $matches);
|
669 |
$emailMessageCustom = stripslashes($emailMessageCustom);
|
670 |
|
671 |
$emailMessageCustom = apply_filters('sgpNewsletterSendingMessage', $emailMessageCustom);
|
|
|
672 |
$mailStatus = wp_mail($subscriber['email'], $mailSubject, $emailMessageCustom, $headers);
|
|
|
673 |
if (!$mailStatus) {
|
674 |
$errorLogSql = $wpdb->prepare('INSERT INTO '. $wpdb->prefix .SGPB_SUBSCRIBERS_ERROR_TABLE_NAME.' (`popupType`, `email`, `date`) VALUES (%s, %s, %s)', $subscriptionFormId, $subscriber['email'], date('Y-m-d H:i'));
|
675 |
$wpdb->query($errorLogSql);
|
com/classes/Filters.php
CHANGED
@@ -33,7 +33,7 @@ class Filters
|
|
33 |
add_filter('post_row_actions', array($this, 'quickRowLinksManager'), 10, 2);
|
34 |
add_filter('sgpbAdminJs', array($this, 'adminJsFilter'), 1, 1);
|
35 |
add_filter('sgpbAdminCssFiles', array($this, 'sgpbAdminCssFiles'), 1, 1);
|
36 |
-
add_filter('sgpbPopupContentLoadToPage', array($this, 'filterPopupContent'), 10,
|
37 |
add_filter('the_content', array($this, 'clearContentPreviewMode'), 10, 1);
|
38 |
// The priority of this action should be higher than the extensions' init priority.
|
39 |
add_action('init', array($this, 'excludePostToShowPrepare'), 99999999);
|
@@ -88,6 +88,7 @@ class Filters
|
|
88 |
|
89 |
$inactiveExtensionNotice['priority'] = 1;
|
90 |
$inactiveExtensionNotice['type'] = 1;
|
|
|
91 |
$inactiveExtensionNotice['message'] = $message;
|
92 |
|
93 |
$notifications[] = $inactiveExtensionNotice;
|
@@ -449,7 +450,7 @@ class Filters
|
|
449 |
return $content;
|
450 |
}
|
451 |
|
452 |
-
public function filterPopupContent($content)
|
453 |
{
|
454 |
preg_match_all('/<iframe.*?src="(.*?)".*?<\/iframe>/', $content, $matches);
|
455 |
/*$finalContent = '';*/
|
33 |
add_filter('post_row_actions', array($this, 'quickRowLinksManager'), 10, 2);
|
34 |
add_filter('sgpbAdminJs', array($this, 'adminJsFilter'), 1, 1);
|
35 |
add_filter('sgpbAdminCssFiles', array($this, 'sgpbAdminCssFiles'), 1, 1);
|
36 |
+
add_filter('sgpbPopupContentLoadToPage', array($this, 'filterPopupContent'), 10, 2);
|
37 |
add_filter('the_content', array($this, 'clearContentPreviewMode'), 10, 1);
|
38 |
// The priority of this action should be higher than the extensions' init priority.
|
39 |
add_action('init', array($this, 'excludePostToShowPrepare'), 99999999);
|
88 |
|
89 |
$inactiveExtensionNotice['priority'] = 1;
|
90 |
$inactiveExtensionNotice['type'] = 1;
|
91 |
+
$inactiveExtensionNotice['id'] = 'sgpbMainActiveInactiveLicense';
|
92 |
$inactiveExtensionNotice['message'] = $message;
|
93 |
|
94 |
$notifications[] = $inactiveExtensionNotice;
|
450 |
return $content;
|
451 |
}
|
452 |
|
453 |
+
public function filterPopupContent($content, $popupId)
|
454 |
{
|
455 |
preg_match_all('/<iframe.*?src="(.*?)".*?<\/iframe>/', $content, $matches);
|
456 |
/*$finalContent = '';*/
|
com/classes/Notification.php
CHANGED
@@ -68,10 +68,6 @@ class Notification
|
|
68 |
public function getCloseBtnById($id)
|
69 |
{
|
70 |
$dismissedNotification = SGPBNotificationCenter::getAllDismissedNotifications();
|
71 |
-
if (isset($dismissedNotification[$id])) {
|
72 |
-
return '<button data-id="'.$id.'" class="button dismiss sgpb-activate-notification-js"><span class="dashicons dashicons-hidden"></span></button>';
|
73 |
-
}
|
74 |
-
|
75 |
return '<button data-id="'.$id.'" class="button dismiss sgpb-dismiss-notification-js"><span class="dashicons dashicons-no-alt"></span></button>';
|
76 |
}
|
77 |
}
|
68 |
public function getCloseBtnById($id)
|
69 |
{
|
70 |
$dismissedNotification = SGPBNotificationCenter::getAllDismissedNotifications();
|
|
|
|
|
|
|
|
|
71 |
return '<button data-id="'.$id.'" class="button dismiss sgpb-dismiss-notification-js"><span class="dashicons dashicons-no-alt"></span></button>';
|
72 |
}
|
73 |
}
|
com/classes/NotificationCenter.php
CHANGED
@@ -4,7 +4,7 @@ namespace sgpb;
|
|
4 |
class SGPBNotificationCenter
|
5 |
{
|
6 |
private $notificationsCount = 0;
|
7 |
-
private $requestUrl =
|
8 |
private $cronTimeout = 'daily';
|
9 |
|
10 |
public function __construct()
|
@@ -15,7 +15,7 @@ class SGPBNotificationCenter
|
|
15 |
|
16 |
public function addActions()
|
17 |
{
|
18 |
-
add_filter('
|
19 |
add_action('sgpbGetNotifications', array($this, 'updateNotificationsArray'));
|
20 |
add_action('wp_ajax_sgpb_dismiss_notification', array($this, 'dismissNotification'));
|
21 |
add_action('admin_head', array($this, 'menuItemCounter'));
|
@@ -105,7 +105,7 @@ class SGPBNotificationCenter
|
|
105 |
$dismissedNotifications = get_option('sgpb-all-dismissed-notifications');
|
106 |
$dismissedNotifications = json_decode($dismissedNotifications, true);
|
107 |
foreach ($notifications as $notification) {
|
108 |
-
$id =
|
109 |
if (isset($dismissedNotifications[$id])) {
|
110 |
continue;
|
111 |
}
|
4 |
class SGPBNotificationCenter
|
5 |
{
|
6 |
private $notificationsCount = 0;
|
7 |
+
private $requestUrl = SG_POPUP_BUILDER_NOTIFICATIONS_URL;
|
8 |
private $cronTimeout = 'daily';
|
9 |
|
10 |
public function __construct()
|
15 |
|
16 |
public function addActions()
|
17 |
{
|
18 |
+
add_filter('sgpbCronTimeoutSettings', array($this, 'cronAddMinutes'), 10, 1);
|
19 |
add_action('sgpbGetNotifications', array($this, 'updateNotificationsArray'));
|
20 |
add_action('wp_ajax_sgpb_dismiss_notification', array($this, 'dismissNotification'));
|
21 |
add_action('admin_head', array($this, 'menuItemCounter'));
|
105 |
$dismissedNotifications = get_option('sgpb-all-dismissed-notifications');
|
106 |
$dismissedNotifications = json_decode($dismissedNotifications, true);
|
107 |
foreach ($notifications as $notification) {
|
108 |
+
$id = @$notification['id'];
|
109 |
if (isset($dismissedNotifications[$id])) {
|
110 |
continue;
|
111 |
}
|
com/classes/ScriptsLoader.php
CHANGED
@@ -136,7 +136,7 @@ class ScriptsLoader
|
|
136 |
|
137 |
$popupOptions = $this->getEncodedOptionsFromPopup($popup);
|
138 |
|
139 |
-
$popupContent = apply_filters('sgpbPopupContentLoadToPage', $popup->getPopupTypeContent());
|
140 |
|
141 |
add_action('admin_footer', function() use ($popupId, $events, $popupOptions, $popupContent) {
|
142 |
$footerPopupContent = '<div style="position:absolute;top: -999999999999999999999px;">
|
136 |
|
137 |
$popupOptions = $this->getEncodedOptionsFromPopup($popup);
|
138 |
|
139 |
+
$popupContent = apply_filters('sgpbPopupContentLoadToPage', $popup->getPopupTypeContent(), $popupId);
|
140 |
|
141 |
add_action('admin_footer', function() use ($popupId, $events, $popupOptions, $popupContent) {
|
142 |
$footerPopupContent = '<div style="position:absolute;top: -999999999999999999999px;">
|
com/classes/popups/SGPopup.php
CHANGED
@@ -686,10 +686,6 @@ abstract class SGPopup
|
|
686 |
return true;
|
687 |
}
|
688 |
|
689 |
-
if ($saveMode) {
|
690 |
-
$eventsFromPopup[] = array();
|
691 |
-
}
|
692 |
-
|
693 |
$eventsFromPopup = apply_filters('sgpbPopupEventsMetadata', $eventsFromPopup);
|
694 |
|
695 |
return update_post_meta($popupId, 'sg_popup_events'.$saveMode, $eventsFromPopup);
|
686 |
return true;
|
687 |
}
|
688 |
|
|
|
|
|
|
|
|
|
689 |
$eventsFromPopup = apply_filters('sgpbPopupEventsMetadata', $eventsFromPopup);
|
690 |
|
691 |
return update_post_meta($popupId, 'sg_popup_events'.$saveMode, $eventsFromPopup);
|
com/config/config.php
CHANGED
@@ -107,6 +107,7 @@ class SgpbPopupConfig
|
|
107 |
self::addDefine('SGPB_POPUP_TYPE_RESTRICTION', 'ageRestriction');
|
108 |
self::addDefine('SGPB_POPUP_DEFAULT_SOUND', 'popupOpenSound.wav');
|
109 |
self::addDefine('SGPB_POPUP_EXTENSIONS_PATH', SG_POPUP_COM_PATH.'extensions/');
|
|
|
110 |
self::addDefine('SGPB_POPUP_ADVANCED_CLOSING_PLUGIN_KEY', 'popupbuilder-advanced-closing/PopupBuilderAdvancedClosing.php');
|
111 |
self::addDefine('SGPB_DONT_SHOW_POPUP_EXPIRY', 365);
|
112 |
self::addDefine('SGPB_CONTACT_FORM_7_BEHAVIOR_KEY', 'contact-form-7');
|
107 |
self::addDefine('SGPB_POPUP_TYPE_RESTRICTION', 'ageRestriction');
|
108 |
self::addDefine('SGPB_POPUP_DEFAULT_SOUND', 'popupOpenSound.wav');
|
109 |
self::addDefine('SGPB_POPUP_EXTENSIONS_PATH', SG_POPUP_COM_PATH.'extensions/');
|
110 |
+
self::addDefine('SG_POPUP_BUILDER_NOTIFICATIONS_URL', 'https://popup-builder.com/notifications.json');
|
111 |
self::addDefine('SGPB_POPUP_ADVANCED_CLOSING_PLUGIN_KEY', 'popupbuilder-advanced-closing/PopupBuilderAdvancedClosing.php');
|
112 |
self::addDefine('SGPB_DONT_SHOW_POPUP_EXPIRY', 365);
|
113 |
self::addDefine('SGPB_CONTACT_FORM_7_BEHAVIOR_KEY', 'contact-form-7');
|
com/config/configPackage.php
CHANGED
@@ -3,6 +3,6 @@ if (!defined('ABSPATH')) {
|
|
3 |
exit();
|
4 |
}
|
5 |
|
6 |
-
define('SG_POPUP_VERSION', '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.51');
|
7 |
define('SGPB_POPUP_PKG', SGPB_POPUP_PKG_FREE);
|
8 |
define('POPUP_BUILDER_BASENAME', 'popupbuilder-platinum/popup-builder.php');
|
com/helpers/AdminHelper.php
CHANGED
@@ -496,7 +496,8 @@ class AdminHelper
|
|
496 |
|
497 |
$savedUserRoles = self::getPopupPostAllowedUserRoles();
|
498 |
$currentUserRole = self::getCurrentUserRole();
|
499 |
-
|
|
|
500 |
return true;
|
501 |
}
|
502 |
|
496 |
|
497 |
$savedUserRoles = self::getPopupPostAllowedUserRoles();
|
498 |
$currentUserRole = self::getCurrentUserRole();
|
499 |
+
$userSavedRoles = get_option('sgpb-user-roles');
|
500 |
+
if (!is_array($savedUserRoles) || !is_array($currentUserRole) || empty($userSavedRoles)) {
|
501 |
return true;
|
502 |
}
|
503 |
|
com/helpers/ConfigDataHelper.php
CHANGED
@@ -486,7 +486,8 @@ class ConfigDataHelper
|
|
486 |
'user-role' => __('User Role', SG_POPUP_TEXT_DOMAIN),
|
487 |
'countries' => __('Countries', SG_POPUP_TEXT_DOMAIN),
|
488 |
'detect-by-url' => __('Detect by URL', SG_POPUP_TEXT_DOMAIN),
|
489 |
-
'cookie-detection' => __('Cookie Detection', SG_POPUP_TEXT_DOMAIN)
|
|
|
490 |
);
|
491 |
|
492 |
$data['closeButtonPositions'] = array(
|
486 |
'user-role' => __('User Role', SG_POPUP_TEXT_DOMAIN),
|
487 |
'countries' => __('Countries', SG_POPUP_TEXT_DOMAIN),
|
488 |
'detect-by-url' => __('Detect by URL', SG_POPUP_TEXT_DOMAIN),
|
489 |
+
'cookie-detection' => __('Cookie Detection', SG_POPUP_TEXT_DOMAIN),
|
490 |
+
'operation-system' => __('Operating System', SG_POPUP_TEXT_DOMAIN)
|
491 |
);
|
492 |
|
493 |
$data['closeButtonPositions'] = array(
|
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.
|
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.51
|
7 |
* Author: Sygnoos
|
8 |
* Author URI: https://sygnoos.com
|
9 |
* License: GPLv2
|
public/js/Backend.js
CHANGED
@@ -1571,6 +1571,11 @@ SGPBBackend.prototype.changeColor = function(element)
|
|
1571 |
|
1572 |
SGPBBackend.prototype.previewInit = function()
|
1573 |
{
|
|
|
|
|
|
|
|
|
|
|
1574 |
jQuery('#post-preview').click(function() {
|
1575 |
SGPBBackend.prototype.autosave();
|
1576 |
/* when preview button clicked, set input value to 1 */
|
@@ -1581,7 +1586,7 @@ SGPBBackend.prototype.previewInit = function()
|
|
1581 |
SGPBBackend.prototype.autosave();
|
1582 |
});
|
1583 |
jQuery('#publish').click(function() {
|
1584 |
-
/* when
|
1585 |
jQuery('#sgpb-is-preview').val('0');
|
1586 |
});
|
1587 |
};
|
1571 |
|
1572 |
SGPBBackend.prototype.previewInit = function()
|
1573 |
{
|
1574 |
+
jQuery('input').on('change', function() {
|
1575 |
+
jQuery('.wrap').on('click', function() {
|
1576 |
+
SGPBBackend.prototype.autosave();
|
1577 |
+
})
|
1578 |
+
});
|
1579 |
jQuery('#post-preview').click(function() {
|
1580 |
SGPBBackend.prototype.autosave();
|
1581 |
/* when preview button clicked, set input value to 1 */
|
1586 |
SGPBBackend.prototype.autosave();
|
1587 |
});
|
1588 |
jQuery('#publish').click(function() {
|
1589 |
+
/* when publish/update clicked, set input value to 0 */
|
1590 |
jQuery('#sgpb-is-preview').val('0');
|
1591 |
});
|
1592 |
};
|
public/views/conditionsView.php
CHANGED
@@ -51,7 +51,7 @@ $defaultConditions = $defaultData['freeConditions'];
|
|
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
|
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">
|
@@ -167,7 +167,33 @@ $defaultConditions = $defaultData['freeConditions'];
|
|
167 |
</a>
|
168 |
</div>
|
169 |
</div>
|
170 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
171 |
<div class="row">
|
172 |
<div class="col-md-3">
|
173 |
<label><?php _e('Condition', SG_POPUP_TEXT_DOMAIN);?></label>
|
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 devices', 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">
|
167 |
</a>
|
168 |
</div>
|
169 |
</div>
|
170 |
+
<div class="row">
|
171 |
+
<div class="col-md-3">
|
172 |
+
<label><?php _e('Condition', SG_POPUP_TEXT_DOMAIN);?></label>
|
173 |
+
</div>
|
174 |
+
<div class="col-md-3">
|
175 |
+
<label><?php _e('Rule', SG_POPUP_TEXT_DOMAIN);?></label>
|
176 |
+
</div>
|
177 |
+
<div class="col-md-3">
|
178 |
+
<label><?php _e('Select user OS', SG_POPUP_TEXT_DOMAIN);?></label>
|
179 |
+
</div>
|
180 |
+
</div>
|
181 |
+
<div class="row form-group">
|
182 |
+
<div class="col-md-3">
|
183 |
+
<?php echo AdminHelper::createSelectBox($defaultConditions, 'operation-system', array('class' => 'js-sg-select2')); ?>
|
184 |
+
</div>
|
185 |
+
<div class="col-md-3">
|
186 |
+
<?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')); ?>
|
187 |
+
</div>
|
188 |
+
<div class="col-md-3">
|
189 |
+
<input type="text" class="sgpb-full-width-events form-control" value="<?php _e('IOS, Android, Windows, Linux...', SG_POPUP_TEXT_DOMAIN);?>">
|
190 |
+
</div>
|
191 |
+
<div class="col-md-3">
|
192 |
+
<a href="<?php echo SG_POPUP_ADVANCED_TARGETING_URL;?>" target="_blank" class="btn btn-warning btn-xs sgpb-advanced-targeting-pro-label">
|
193 |
+
<?php _e('UNLOCK OPTION', SG_POPUP_TEXT_DOMAIN);?>
|
194 |
+
</a>
|
195 |
+
</div>
|
196 |
+
</div>
|
197 |
<div class="row">
|
198 |
<div class="col-md-3">
|
199 |
<label><?php _e('Condition', SG_POPUP_TEXT_DOMAIN);?></label>
|
public/views/eventsView.php
CHANGED
@@ -4,7 +4,7 @@ $eventsData = $popupTypeObj->getOptionValue('sgpb-events');
|
|
4 |
$popupTargetData = ConditionBuilder::createEventsConditionBuilder($eventsData);
|
5 |
?>
|
6 |
|
7 |
-
<div class="popup-conditions-wrapper
|
8 |
<?php
|
9 |
$creator = new ConditionCreator($popupTargetData);
|
10 |
echo $creator->render();
|
4 |
$popupTargetData = ConditionBuilder::createEventsConditionBuilder($eventsData);
|
5 |
?>
|
6 |
|
7 |
+
<div class="popup-conditions-wrapper popup-special-conditions-wrapper popup-conditions-events sgpb-wrapper" data-condition-type="events">
|
8 |
<?php
|
9 |
$creator = new ConditionCreator($popupTargetData);
|
10 |
echo $creator->render();
|
readme.txt
CHANGED
@@ -9,7 +9,7 @@ Tags: popup, pop up, wordpress popup, popup maker, exit popup, popup builder, wo
|
|
9 |
Requires at least: 3.8
|
10 |
Tested up to: 5.3
|
11 |
Requires PHP: 5.3.3
|
12 |
-
Stable tag: 3.
|
13 |
License: GPLv2 or later
|
14 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
15 |
|
@@ -185,13 +185,18 @@ Go to the Popup Builder settings and set your desired options.
|
|
185 |
|
186 |
== Changelog ==
|
187 |
|
|
|
|
|
|
|
|
|
|
|
|
|
188 |
= Version 3.50 =
|
189 |
* Added new feature to add custom JS and CSS codes. You can add your custom JS logic to control popup opening also you can add custom CSS to change popup styles.
|
190 |
* Bug fixed related to image upload.
|
191 |
* Big fixed related to popup opening events. Sometimes it didn't get saved.
|
192 |
* Code improvements. We have changed the auto save option to not call AJAX every time.
|
193 |
|
194 |
-
|
195 |
= Version 3.49 =
|
196 |
* Added async image preloading to make Image popup loads faster.
|
197 |
* Code improvements and minor bug fixes.
|
@@ -1063,7 +1068,7 @@ Leave us a good review :)
|
|
1063 |
|
1064 |
== Upgrade Notice ==
|
1065 |
|
1066 |
-
Current Version of Popup Builder is 3.
|
1067 |
|
1068 |
== Other Notes ==
|
1069 |
|
9 |
Requires at least: 3.8
|
10 |
Tested up to: 5.3
|
11 |
Requires PHP: 5.3.3
|
12 |
+
Stable tag: 3.51
|
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.51 =
|
189 |
+
* Bug fixed related to Newsletter.
|
190 |
+
* Added new parameter PopupID inside sgpbPopupContentLoadToPage filter.
|
191 |
+
* Added plugin notification URL.
|
192 |
+
* Typo fixes.
|
193 |
+
|
194 |
= Version 3.50 =
|
195 |
* Added new feature to add custom JS and CSS codes. You can add your custom JS logic to control popup opening also you can add custom CSS to change popup styles.
|
196 |
* Bug fixed related to image upload.
|
197 |
* Big fixed related to popup opening events. Sometimes it didn't get saved.
|
198 |
* Code improvements. We have changed the auto save option to not call AJAX every time.
|
199 |
|
|
|
200 |
= Version 3.49 =
|
201 |
* Added async image preloading to make Image popup loads faster.
|
202 |
* Code improvements and minor bug fixes.
|
1068 |
|
1069 |
== Upgrade Notice ==
|
1070 |
|
1071 |
+
Current Version of Popup Builder is 3.51
|
1072 |
|
1073 |
== Other Notes ==
|
1074 |
|