Version Description
Current Version of Popup Builder is 2.6.4
Download this release
Release Info
Developer | Sygnoos |
Plugin | Popup Builder – Responsive WordPress Pop up |
Version | 2.6.4 |
Comparing to | |
See all releases |
Code changes from version 2.6.3.3 to 2.6.4
- config.php +2 -2
- files/lib/popupOpenSound.wav +0 -0
- files/sg_popup_create_new.php +30 -1
- files/sg_popup_save.php +3 -1
- helpers/Integrate_external_settings.php +3 -2
- javascript/sg_popup_backend.js +1 -1
- javascript/sg_popup_frontend.js +27 -6
- popup-builder.php +1 -1
- readme.txt +17 -7
- style/sg_popup_style.css +26 -0
config.php
CHANGED
@@ -24,8 +24,8 @@ if(!class_exists('SgPopupBuilderConfig')) {
|
|
24 |
define('SG_APP_POPUP_JS', SG_APP_POPUP_PATH . '/javascript');
|
25 |
define('SG_APP_POPUP_HELPERS', SG_APP_POPUP_PATH . '/helpers/');
|
26 |
define('SG_APP_POPUP_TABLE_LIMIT', 15);
|
27 |
-
define('SG_POPUP_VERSION', 2.
|
28 |
-
define('SG_POPUP_PRO_VERSION', 3.
|
29 |
define('SG_POPUP_PRO_URL', 'https://popup-builder.com/');
|
30 |
define('SG_POPUP_EXTENSION_URL', 'https://popup-builder.com/extensions');
|
31 |
define('SG_MAILCHIMP_EXTENSION_URL', 'https://popup-builder.com/downloads/mailchimp/');
|
24 |
define('SG_APP_POPUP_JS', SG_APP_POPUP_PATH . '/javascript');
|
25 |
define('SG_APP_POPUP_HELPERS', SG_APP_POPUP_PATH . '/helpers/');
|
26 |
define('SG_APP_POPUP_TABLE_LIMIT', 15);
|
27 |
+
define('SG_POPUP_VERSION', 2.64);
|
28 |
+
define('SG_POPUP_PRO_VERSION', 3.37);
|
29 |
define('SG_POPUP_PRO_URL', 'https://popup-builder.com/');
|
30 |
define('SG_POPUP_EXTENSION_URL', 'https://popup-builder.com/extensions');
|
31 |
define('SG_MAILCHIMP_EXTENSION_URL', 'https://popup-builder.com/downloads/mailchimp/');
|
files/lib/popupOpenSound.wav
ADDED
Binary file
|
files/sg_popup_create_new.php
CHANGED
@@ -148,6 +148,8 @@ if (isset($_GET['id'])) {
|
|
148 |
$sgPopupClosingTimer = @$jsonData['popupClosingTimer'];
|
149 |
$sgAutoClosePopup = @$jsonData['autoClosePopup'];
|
150 |
$sgRandomPopup = @$jsonData['randomPopup'];
|
|
|
|
|
151 |
$sgCountryStatus = @$jsonData['countryStatus'];
|
152 |
$sgAllSelectedPages = @$jsonData['allSelectedPages'];
|
153 |
$sgAllSelectedCustomPosts = @$jsonData['allSelectedCustomPosts'];
|
@@ -242,6 +244,7 @@ if (isset($_GET['id'])) {
|
|
242 |
$sgSubsSuccessPopupsList = @$subscriptionOptions['subs-success-popups-list'];
|
243 |
$sgSubsFirstNameRequired = @$subscriptionOptions['subs-first-name-required'];
|
244 |
$sgSubsLastNameRequired = @$subscriptionOptions['subs-last-name-required'];
|
|
|
245 |
$contactFormOptions = json_decode(@$params, true);
|
246 |
$sgContactNameLabel = @$contactFormOptions['contact-name'];
|
247 |
$sgContactNameStatus = @$contactFormOptions['contact-name-status'];
|
@@ -278,6 +281,7 @@ if (isset($_GET['id'])) {
|
|
278 |
$sgContactSuccessPopupsList = @$contactFormOptions['contact-success-popups-list'];
|
279 |
$sgDontShowContentToContactedUser = @$contactFormOptions['dont-show-content-to-contacted-user'];
|
280 |
$sgContactSuccessFrequencyDays = @$contactFormOptions['contact-success-frequency-days'];
|
|
|
281 |
}
|
282 |
|
283 |
$dataPopupId = @$id;
|
@@ -335,6 +339,8 @@ $popupProDefaultValues = array(
|
|
335 |
'redirect-to-new-tab' => true,
|
336 |
'autoClosePopup' => false,
|
337 |
'randomPopup' => false,
|
|
|
|
|
338 |
'fbStatus' => true,
|
339 |
'twitterStatus' => true,
|
340 |
'emailStatus' => true,
|
@@ -401,6 +407,7 @@ $popupProDefaultValues = array(
|
|
401 |
'subs-success-popups-list' => '',
|
402 |
'subs-first-name-required' => '',
|
403 |
'subs-last-name-required' => '',
|
|
|
404 |
'contact-name' => 'Name *',
|
405 |
'contact-name-required' => true,
|
406 |
'contact-name-status' => true,
|
@@ -419,7 +426,8 @@ $popupProDefaultValues = array(
|
|
419 |
'contact-success-redirect-url' => '',
|
420 |
'contact-success-popups-list' => 0,
|
421 |
'dont-show-content-to-contacted-user' => '',
|
422 |
-
'contact-success-frequency-days' => 365
|
|
|
423 |
);
|
424 |
|
425 |
$escKey = sgBoolToChecked($sgPopup['escKey']);
|
@@ -450,6 +458,7 @@ $disablePopup = sgBoolToChecked($popupProDefaultValues['disablePopup']);
|
|
450 |
$disablePopupOverlay = sgBoolToChecked($popupProDefaultValues['disablePopupOverlay']);
|
451 |
$autoClosePopup = sgBoolToChecked($popupProDefaultValues['autoClosePopup']);
|
452 |
$randomPopup = sgBoolToChecked($popupProDefaultValues['randomPopup']);
|
|
|
453 |
$fbStatus = sgBoolToChecked($popupProDefaultValues['fbStatus']);
|
454 |
$twitterStatus = sgBoolToChecked($popupProDefaultValues['twitterStatus']);
|
455 |
$emailStatus = sgBoolToChecked($popupProDefaultValues['emailStatus']);
|
@@ -469,6 +478,7 @@ $allPostsStatus = sgBoolToChecked($popupProDefaultValues['allPostsStatus']);
|
|
469 |
$allCustomPostsStatus = sgBoolToChecked($popupProDefaultValues['allCustomPostsStatus']);
|
470 |
$contactNameStatus = sgBoolToChecked($popupProDefaultValues['contact-name-status']);
|
471 |
$showFormToTop = sgBoolToChecked($popupProDefaultValues['show-form-to-top']);
|
|
|
472 |
$contactNameRequired = sgBoolToChecked($popupProDefaultValues['contact-name-required']);
|
473 |
$contactSubjectStatus = sgBoolToChecked($popupProDefaultValues['contact-subject-status']);
|
474 |
$contactSubjectRequired = sgBoolToChecked($popupProDefaultValues['contact-subject-required']);
|
@@ -534,6 +544,8 @@ $contactSuccessPopupsList = $popupProDefaultValues['contact-success-popups-list'
|
|
534 |
$redirectToNewTab = $popupProDefaultValues['redirect-to-new-tab'];
|
535 |
$dontShowContentToContactedUser = sgBoolToChecked($popupProDefaultValues['dont-show-content-to-contacted-user']);
|
536 |
$contactSuccessFrequencyDays = $popupProDefaultValues['contact-success-frequency-days'];
|
|
|
|
|
537 |
|
538 |
function sgBoolToChecked($var)
|
539 |
{
|
@@ -591,6 +603,7 @@ $sgDisablePopup = @sgSetChecked($sgDisablePopup, $disablePopup);
|
|
591 |
$sgDisablePopupOverlay = @sgSetChecked($sgDisablePopupOverlay, $disablePopupOverlay);
|
592 |
$sgAutoClosePopup = @sgSetChecked($sgAutoClosePopup, $autoClosePopup);
|
593 |
$sgRandomPopup = @sgSetChecked($sgRandomPopup, $randomPopup);
|
|
|
594 |
$sgFbStatus = @sgSetChecked($sgFbStatus, $fbStatus);
|
595 |
$sgTwitterStatus = @sgSetChecked($sgTwitterStatus, $twitterStatus);
|
596 |
$sgEmailStatus = @sgSetChecked($sgEmailStatus, $emailStatus);
|
@@ -604,6 +617,8 @@ $sgPushToBottom = @sgSetChecked($sgPushToBottom, $pushToBottom);
|
|
604 |
$sgRestrictionCookeSavingLevel = @sgSetChecked($sgRestrictionCookeSavingLevel, $restrictionCookeSavingLevel);
|
605 |
$sgSubsFirstNameRequired = @sgSetChecked($sgSubsFirstNameRequired, $subsFirstNameRequired);
|
606 |
$sgSubsLastNameRequired = @sgSetChecked($sgSubsLastNameRequired, $subsLastNameRequired);
|
|
|
|
|
607 |
|
608 |
$sgAllPagesStatus = @sgSetChecked($sgAllPagesStatus, $allPagesStatus);
|
609 |
$sgAllPostsStatus = @sgSetChecked($sgAllPostsStatus, $allPostsStatus);
|
@@ -638,6 +653,7 @@ function sgSetChecked($optionsParam,$defaultOption)
|
|
638 |
}
|
639 |
|
640 |
$sgTheme3BorderRadius = @sgGetValue($sgTheme3BorderRadius, $theme3BorderRadius);
|
|
|
641 |
$sgOpacity = @sgGetValue($sgOpacity, $opacityValue);
|
642 |
$sgPopupBackgroundOpacity = @sgGetValue($sgPopupBackgroundOpacity, $popupBackgroundOpacity);
|
643 |
$sgWidth = @sgGetValue($sgWidth, $width);
|
@@ -1250,6 +1266,19 @@ if (isset($_GET["titleError"])): ?>
|
|
1250 |
<span class="liquid-width">Effect duration:</span>
|
1251 |
<input class="input-width-static" type="text" name="duration" value="<?php echo esc_attr($duration); ?>" pattern = "\d+" title="It must be number" /><span class="dashicons dashicons-info contentClick infoImageDuration sameImageStyle"></span><span class="infoDuration samefontStyle">Specify how long the popup appearance animation should take (in sec).</span></br>
|
1252 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1253 |
<span class="liquid-width">Popup opening delay:</span>
|
1254 |
<input class="input-width-static" type="text" name="delay" value="<?php echo esc_attr($delay);?>" pattern = "\d+" title="It must be number"/><span class="dashicons dashicons-info contentClick infoImageDelay sameImageStyle"></span><span class="infoDelay samefontStyle">Specify how long the popup appearance should be delayed after loading the page (in sec).</span></br>
|
1255 |
</div>
|
148 |
$sgPopupClosingTimer = @$jsonData['popupClosingTimer'];
|
149 |
$sgAutoClosePopup = @$jsonData['autoClosePopup'];
|
150 |
$sgRandomPopup = @$jsonData['randomPopup'];
|
151 |
+
$sgPopupOpenSound = @$jsonData['popupOpenSound'];
|
152 |
+
$sgPopupOpenSoundFile = @$jsonData['popupOpenSoundFile'];
|
153 |
$sgCountryStatus = @$jsonData['countryStatus'];
|
154 |
$sgAllSelectedPages = @$jsonData['allSelectedPages'];
|
155 |
$sgAllSelectedCustomPosts = @$jsonData['allSelectedCustomPosts'];
|
244 |
$sgSubsSuccessPopupsList = @$subscriptionOptions['subs-success-popups-list'];
|
245 |
$sgSubsFirstNameRequired = @$subscriptionOptions['subs-first-name-required'];
|
246 |
$sgSubsLastNameRequired = @$subscriptionOptions['subs-last-name-required'];
|
247 |
+
$sgSubsSuccessRedirectNewTab = @$subscriptionOptions['subs-success-redirect-new-tab'];
|
248 |
$contactFormOptions = json_decode(@$params, true);
|
249 |
$sgContactNameLabel = @$contactFormOptions['contact-name'];
|
250 |
$sgContactNameStatus = @$contactFormOptions['contact-name-status'];
|
281 |
$sgContactSuccessPopupsList = @$contactFormOptions['contact-success-popups-list'];
|
282 |
$sgDontShowContentToContactedUser = @$contactFormOptions['dont-show-content-to-contacted-user'];
|
283 |
$sgContactSuccessFrequencyDays = @$contactFormOptions['contact-success-frequency-days'];
|
284 |
+
$sgContactSuccessRedirectNewTab = @$contactFormOptions['contact-success-redirect-new-tab'];
|
285 |
}
|
286 |
|
287 |
$dataPopupId = @$id;
|
339 |
'redirect-to-new-tab' => true,
|
340 |
'autoClosePopup' => false,
|
341 |
'randomPopup' => false,
|
342 |
+
'popupOpenSound' => false,
|
343 |
+
'popupOpenSoundFile' => SG_APP_POPUP_URL.'/files/lib/popupOpenSound.wav',
|
344 |
'fbStatus' => true,
|
345 |
'twitterStatus' => true,
|
346 |
'emailStatus' => true,
|
407 |
'subs-success-popups-list' => '',
|
408 |
'subs-first-name-required' => '',
|
409 |
'subs-last-name-required' => '',
|
410 |
+
'subs-success-redirect-new-tab' => false,
|
411 |
'contact-name' => 'Name *',
|
412 |
'contact-name-required' => true,
|
413 |
'contact-name-status' => true,
|
426 |
'contact-success-redirect-url' => '',
|
427 |
'contact-success-popups-list' => 0,
|
428 |
'dont-show-content-to-contacted-user' => '',
|
429 |
+
'contact-success-frequency-days' => 365,
|
430 |
+
'contact-success-redirect-new-tab' => false
|
431 |
);
|
432 |
|
433 |
$escKey = sgBoolToChecked($sgPopup['escKey']);
|
458 |
$disablePopupOverlay = sgBoolToChecked($popupProDefaultValues['disablePopupOverlay']);
|
459 |
$autoClosePopup = sgBoolToChecked($popupProDefaultValues['autoClosePopup']);
|
460 |
$randomPopup = sgBoolToChecked($popupProDefaultValues['randomPopup']);
|
461 |
+
$popupOpenSound = sgBoolToChecked($popupProDefaultValues['popupOpenSound']);
|
462 |
$fbStatus = sgBoolToChecked($popupProDefaultValues['fbStatus']);
|
463 |
$twitterStatus = sgBoolToChecked($popupProDefaultValues['twitterStatus']);
|
464 |
$emailStatus = sgBoolToChecked($popupProDefaultValues['emailStatus']);
|
478 |
$allCustomPostsStatus = sgBoolToChecked($popupProDefaultValues['allCustomPostsStatus']);
|
479 |
$contactNameStatus = sgBoolToChecked($popupProDefaultValues['contact-name-status']);
|
480 |
$showFormToTop = sgBoolToChecked($popupProDefaultValues['show-form-to-top']);
|
481 |
+
$subsSuccessRedirectNewTab = sgBoolToChecked($popupProDefaultValues['subs-success-redirect-new-tab']);
|
482 |
$contactNameRequired = sgBoolToChecked($popupProDefaultValues['contact-name-required']);
|
483 |
$contactSubjectStatus = sgBoolToChecked($popupProDefaultValues['contact-subject-status']);
|
484 |
$contactSubjectRequired = sgBoolToChecked($popupProDefaultValues['contact-subject-required']);
|
544 |
$redirectToNewTab = $popupProDefaultValues['redirect-to-new-tab'];
|
545 |
$dontShowContentToContactedUser = sgBoolToChecked($popupProDefaultValues['dont-show-content-to-contacted-user']);
|
546 |
$contactSuccessFrequencyDays = $popupProDefaultValues['contact-success-frequency-days'];
|
547 |
+
$contactSuccessRedirectNewTab = $popupProDefaultValues['contact-success-redirect-new-tab'];
|
548 |
+
$popupOpenSoundFile = $popupProDefaultValues['popupOpenSoundFile'];
|
549 |
|
550 |
function sgBoolToChecked($var)
|
551 |
{
|
603 |
$sgDisablePopupOverlay = @sgSetChecked($sgDisablePopupOverlay, $disablePopupOverlay);
|
604 |
$sgAutoClosePopup = @sgSetChecked($sgAutoClosePopup, $autoClosePopup);
|
605 |
$sgRandomPopup = @sgSetChecked($sgRandomPopup, $randomPopup);
|
606 |
+
$sgPopupOpenSound = @sgSetChecked($sgPopupOpenSound, $popupOpenSound);
|
607 |
$sgFbStatus = @sgSetChecked($sgFbStatus, $fbStatus);
|
608 |
$sgTwitterStatus = @sgSetChecked($sgTwitterStatus, $twitterStatus);
|
609 |
$sgEmailStatus = @sgSetChecked($sgEmailStatus, $emailStatus);
|
617 |
$sgRestrictionCookeSavingLevel = @sgSetChecked($sgRestrictionCookeSavingLevel, $restrictionCookeSavingLevel);
|
618 |
$sgSubsFirstNameRequired = @sgSetChecked($sgSubsFirstNameRequired, $subsFirstNameRequired);
|
619 |
$sgSubsLastNameRequired = @sgSetChecked($sgSubsLastNameRequired, $subsLastNameRequired);
|
620 |
+
$sgSubsSuccessRedirectNewTab = @sgSetChecked($sgSubsSuccessRedirectNewTab, $subsSuccessRedirectNewTab);
|
621 |
+
$sgContactSuccessRedirectNewTab = @sgSetChecked($sgContactSuccessRedirectNewTab, $contactSuccessRedirectNewTab);
|
622 |
|
623 |
$sgAllPagesStatus = @sgSetChecked($sgAllPagesStatus, $allPagesStatus);
|
624 |
$sgAllPostsStatus = @sgSetChecked($sgAllPostsStatus, $allPostsStatus);
|
653 |
}
|
654 |
|
655 |
$sgTheme3BorderRadius = @sgGetValue($sgTheme3BorderRadius, $theme3BorderRadius);
|
656 |
+
$sgPopupOpenSoundFile = @sgGetValue($sgPopupOpenSoundFile, $popupOpenSoundFile);
|
657 |
$sgOpacity = @sgGetValue($sgOpacity, $opacityValue);
|
658 |
$sgPopupBackgroundOpacity = @sgGetValue($sgPopupBackgroundOpacity, $popupBackgroundOpacity);
|
659 |
$sgWidth = @sgGetValue($sgWidth, $width);
|
1266 |
<span class="liquid-width">Effect duration:</span>
|
1267 |
<input class="input-width-static" type="text" name="duration" value="<?php echo esc_attr($duration); ?>" pattern = "\d+" title="It must be number" /><span class="dashicons dashicons-info contentClick infoImageDuration sameImageStyle"></span><span class="infoDuration samefontStyle">Specify how long the popup appearance animation should take (in sec).</span></br>
|
1268 |
|
1269 |
+
<span class="liquid-width">Popup open sound:</span>
|
1270 |
+
<div class="input-width-static sg-display-inline">
|
1271 |
+
<input class="input-width-static js-checkbox-sound-option" type="checkbox" name="popupOpenSound" <?php echo $sgPopupOpenSound;?>></div><span class="dashicons dashicons-info repeatPopup same-image-style"></span><span class="infoSelectRepeat samefontStyle">If this option enabled a sound will play after popup opened.Sound option is not available on mobile devices, as there are restrictions on sound auto-play options for mobile devices.</span><br>
|
1272 |
+
<div class="acordion-main-div-content js-checkbox-sound-option-wrapper">
|
1273 |
+
<div class="sound-uploader-wrapper">
|
1274 |
+
<div class="liquid-width-div sg-vertical-top"><input id="js-upload-open-sound-button" class="button" type="button" value="Change the sound">
|
1275 |
+
<button data-default-song="<?php echo $popupOpenSoundFile; ?> " id="reset-to-default" class="button">Reset</button>
|
1276 |
+
</div>
|
1277 |
+
<input class="input-width-static sg-margin-top-0" id="js-upload-open-sound" type="text" size="36" name="popupOpenSoundFile" value="<?php echo esc_attr($sgPopupOpenSoundFile); ?>" required readonly>
|
1278 |
+
<span class="dashicons dashicons-controls-volumeon sg-preview-sound"></span>
|
1279 |
+
</div>
|
1280 |
+
</div>
|
1281 |
+
|
1282 |
<span class="liquid-width">Popup opening delay:</span>
|
1283 |
<input class="input-width-static" type="text" name="delay" value="<?php echo esc_attr($delay);?>" pattern = "\d+" title="It must be number"/><span class="dashicons dashicons-info contentClick infoImageDelay sameImageStyle"></span><span class="infoDelay samefontStyle">Specify how long the popup appearance should be delayed after loading the page (in sec).</span></br>
|
1284 |
</div>
|
files/sg_popup_save.php
CHANGED
@@ -147,7 +147,8 @@ function sgPopupSave()
|
|
147 |
'subs-success-redirect-url' => esc_url_raw(@$_POST['subs-success-redirect-url']),
|
148 |
'subs-success-popups-list' => sgSanitize('subs-success-popups-list'),
|
149 |
'subs-first-name-required' => sgSanitize('subs-first-name-required'),
|
150 |
-
'subs-last-name-required' => sgSanitize('subs-last-name-required')
|
|
|
151 |
);
|
152 |
|
153 |
$contactFormOptions = array(
|
@@ -187,6 +188,7 @@ function sgPopupSave()
|
|
187 |
'contact-success-popups-list' => sgSanitize('contact-success-popups-list'),
|
188 |
'dont-show-content-to-contacted-user' => sgSanitize('dont-show-content-to-contacted-user'),
|
189 |
'contact-success-frequency-days' => sgSanitize('contact-success-frequency-days'),
|
|
|
190 |
);
|
191 |
|
192 |
$fblikeOptions = array(
|
147 |
'subs-success-redirect-url' => esc_url_raw(@$_POST['subs-success-redirect-url']),
|
148 |
'subs-success-popups-list' => sgSanitize('subs-success-popups-list'),
|
149 |
'subs-first-name-required' => sgSanitize('subs-first-name-required'),
|
150 |
+
'subs-last-name-required' => sgSanitize('subs-last-name-required'),
|
151 |
+
'subs-success-redirect-new-tab' => sgSanitize('subs-success-redirect-new-tab')
|
152 |
);
|
153 |
|
154 |
$contactFormOptions = array(
|
188 |
'contact-success-popups-list' => sgSanitize('contact-success-popups-list'),
|
189 |
'dont-show-content-to-contacted-user' => sgSanitize('dont-show-content-to-contacted-user'),
|
190 |
'contact-success-frequency-days' => sgSanitize('contact-success-frequency-days'),
|
191 |
+
'contact-success-redirect-new-tab' => sgSanitize('contact-success-redirect-new-tab')
|
192 |
);
|
193 |
|
194 |
$fblikeOptions = array(
|
helpers/Integrate_external_settings.php
CHANGED
@@ -187,8 +187,9 @@ Class IntegrateExternalSettings {
|
|
187 |
'fblikeOptions' => json_encode($params['fblikeOptions']),
|
188 |
'repetitivePopup' => sgSanitize('repetitivePopup'),
|
189 |
'repetitivePopupPeriod' => sgSanitize('repetitivePopupPeriod'),
|
190 |
-
'randomPopup' => sgSanitize('randomPopup')
|
191 |
-
|
|
|
192 |
);
|
193 |
|
194 |
return $options;
|
187 |
'fblikeOptions' => json_encode($params['fblikeOptions']),
|
188 |
'repetitivePopup' => sgSanitize('repetitivePopup'),
|
189 |
'repetitivePopupPeriod' => sgSanitize('repetitivePopupPeriod'),
|
190 |
+
'randomPopup' => sgSanitize('randomPopup'),
|
191 |
+
'popupOpenSound' => sgSanitize('popupOpenSound'),
|
192 |
+
'popupOpenSoundFile' => sgSanitize('popupOpenSoundFile')
|
193 |
);
|
194 |
|
195 |
return $options;
|
javascript/sg_popup_backend.js
CHANGED
@@ -1 +1 @@
|
|
1 |
-
function beckend() {
|
2 |
this.titleNotEmpty(); /* Check title is Empty */
|
3 |
this.showThemePicture(); /* Show themes pictures */
|
4 |
this.showEffects(); /* Show effect type */
|
5 |
this.pageAcordion(); /* For page accordion divs */
|
6 |
this.fixedPostionSelection(); /* Functionality for selected position */
|
7 |
this.showInfo(); /* Show description options */
|
8 |
this.opacityRange();
|
9 |
this.subOptionContents();
|
10 |
this.addCountries();
|
11 |
this.showCloseTextFieldForTheme();
|
12 |
this.popupReview();
|
13 |
this.colorPicekr(); /* Color picker */
|
14 |
this.switchPopupActive();
|
15 |
this.initAccordions();
|
16 |
});
|
17 |
jQuery('.sg-info-close').on('click', function() {
|
18 |
jQuery( ".sg-info-panel-wrapper" ).hide(300);
|
19 |
});
|
20 |
this.radioButtonAcordion(jQuery("[name='subs-success-behavior']"),jQuery("[name='subs-success-behavior']:checked"),"showMessage", jQuery('.js-subs-success-message-content'));
|
21 |
this.radioButtonAcordion(jQuery("[name='subs-success-behavior']"),jQuery("[name='subs-success-behavior']:checked"),"redirectToUrl", jQuery('.js-subs-success-redirect-content'));
|
22 |
this.radioButtonAcordion(jQuery("[name='subs-success-behavior']"),jQuery("[name='subs-success-behavior']:checked"),"openPopup", jQuery('.js-subs-success-popups-list-content'));
|
23 |
checkedElement.after(toggleContnet.css({'display':'inline-block'}));
|
|
|
24 |
this.titleNotEmpty(); /* Check title is Empty */
|
25 |
this.showThemePicture(); /* Show themes pictures */
|
26 |
this.showEffects(); /* Show effect type */
|
27 |
this.pageAcordion(); /* For page accordion divs */
|
28 |
this.fixedPostionSelection(); /* Functionality for selected position */
|
29 |
this.showInfo(); /* Show description options */
|
30 |
this.opacityRange();
|
31 |
this.subOptionContents();
|
32 |
this.addCountries();
|
33 |
this.showCloseTextFieldForTheme();
|
34 |
this.popupReview();
|
35 |
this.colorPicekr(); /* Color picker */
|
36 |
this.switchPopupActive();
|
37 |
this.initAccordions();
|
38 |
});
|
39 |
jQuery('.sg-info-close').on('click', function() {
|
40 |
jQuery( ".sg-info-panel-wrapper" ).hide(300);
|
41 |
});
|
42 |
this.radioButtonAcordion(jQuery("[name='subs-success-behavior']"),jQuery("[name='subs-success-behavior']:checked"),"showMessage", jQuery('.js-subs-success-message-content'));
|
43 |
this.radioButtonAcordion(jQuery("[name='subs-success-behavior']"),jQuery("[name='subs-success-behavior']:checked"),"redirectToUrl", jQuery('.js-subs-success-redirect-content'));
|
44 |
this.radioButtonAcordion(jQuery("[name='subs-success-behavior']"),jQuery("[name='subs-success-behavior']:checked"),"openPopup", jQuery('.js-subs-success-popups-list-content'));
|
45 |
checkedElement.after(toggleContnet.css({'display':'inline-block'}));
|
|
|
1 |
this.titleNotEmpty(); /* Check title is Empty */
|
2 |
this.showThemePicture(); /* Show themes pictures */
|
3 |
this.showEffects(); /* Show effect type */
|
4 |
this.pageAcordion(); /* For page accordion divs */
|
5 |
this.fixedPostionSelection(); /* Functionality for selected position */
|
6 |
this.showInfo(); /* Show description options */
|
7 |
this.opacityRange();
|
8 |
this.subOptionContents();
|
9 |
this.addCountries();
|
10 |
this.showCloseTextFieldForTheme();
|
11 |
this.popupReview();
|
12 |
this.colorPicekr(); /* Color picker */
|
13 |
this.switchPopupActive();
|
14 |
this.initAccordions();
|
15 |
});
|
16 |
jQuery('.sg-info-close').on('click', function() {
|
17 |
jQuery( ".sg-info-panel-wrapper" ).hide(300);
|
18 |
});
|
19 |
this.radioButtonAcordion(jQuery("[name='subs-success-behavior']"),jQuery("[name='subs-success-behavior']:checked"),"showMessage", jQuery('.js-subs-success-message-content'));
|
20 |
this.radioButtonAcordion(jQuery("[name='subs-success-behavior']"),jQuery("[name='subs-success-behavior']:checked"),"redirectToUrl", jQuery('.js-subs-success-redirect-content'));
|
21 |
this.radioButtonAcordion(jQuery("[name='subs-success-behavior']"),jQuery("[name='subs-success-behavior']:checked"),"openPopup", jQuery('.js-subs-success-popups-list-content'));
|
22 |
checkedElement.after(toggleContnet.css({'display':'inline-block'}));
|
23 |
+
function beckend() {
|
24 |
this.titleNotEmpty(); /* Check title is Empty */
|
25 |
this.showThemePicture(); /* Show themes pictures */
|
26 |
this.showEffects(); /* Show effect type */
|
27 |
this.pageAcordion(); /* For page accordion divs */
|
28 |
this.fixedPostionSelection(); /* Functionality for selected position */
|
29 |
this.showInfo(); /* Show description options */
|
30 |
this.opacityRange();
|
31 |
this.subOptionContents();
|
32 |
this.addCountries();
|
33 |
this.showCloseTextFieldForTheme();
|
34 |
this.popupReview();
|
35 |
this.colorPicekr(); /* Color picker */
|
36 |
this.switchPopupActive();
|
37 |
this.initAccordions();
|
38 |
});
|
39 |
jQuery('.sg-info-close').on('click', function() {
|
40 |
jQuery( ".sg-info-panel-wrapper" ).hide(300);
|
41 |
});
|
42 |
this.radioButtonAcordion(jQuery("[name='subs-success-behavior']"),jQuery("[name='subs-success-behavior']:checked"),"showMessage", jQuery('.js-subs-success-message-content'));
|
43 |
this.radioButtonAcordion(jQuery("[name='subs-success-behavior']"),jQuery("[name='subs-success-behavior']:checked"),"redirectToUrl", jQuery('.js-subs-success-redirect-content'));
|
44 |
this.radioButtonAcordion(jQuery("[name='subs-success-behavior']"),jQuery("[name='subs-success-behavior']:checked"),"openPopup", jQuery('.js-subs-success-popups-list-content'));
|
45 |
checkedElement.after(toggleContnet.css({'display':'inline-block'}));
|
javascript/sg_popup_frontend.js
CHANGED
@@ -570,7 +570,7 @@ SGPopup.prototype.resizePopup = function (settings) {
|
|
570 |
if (that.resizeTimer) clearTimeout(that.resizeTimer);
|
571 |
that.resizeTimer = setTimeout(function() {
|
572 |
if (jQuery('#sgcboxOverlay').is(':visible')) {
|
573 |
-
|
574 |
if (maxWidth.indexOf("%") != -1) {
|
575 |
maxWidth = that.percentToPx(maxWidth, windowWidth);
|
576 |
}
|
@@ -595,9 +595,21 @@ SGPopup.prototype.resizePopup = function (settings) {
|
|
595 |
|
596 |
settings.maxWidth = maxWidth;
|
597 |
settings.maxHeight = maxHeight;
|
|
|
|
|
598 |
|
599 |
-
|
600 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
601 |
}
|
602 |
}, 500);
|
603 |
}
|
@@ -606,8 +618,6 @@ SGPopup.prototype.resizePopup = function (settings) {
|
|
606 |
window.addEventListener("orientationchange", resizeColorBox, false);
|
607 |
};
|
608 |
|
609 |
-
|
610 |
-
|
611 |
SGPopup.prototype.resizeAfterContentResizing = function () {
|
612 |
|
613 |
var visibilityClasses = [".js-validate-required", ".js-sgpb-visibility"];
|
@@ -680,11 +690,15 @@ SGPopup.prototype.colorboxEventsListener = function () {
|
|
680 |
|
681 |
var that = this;
|
682 |
var disablePageScrolling = this.varToBool(this.popupData['disable-page-scrolling']);
|
|
|
|
|
683 |
var repetitivePopup = this.popupData['repetitivePopup'];
|
684 |
var repetitivePopupPeriod = this.popupData['repetitivePopupPeriod'];
|
685 |
repetitivePopupPeriod = parseInt(repetitivePopupPeriod)*1000;
|
686 |
var repetitiveTimeout = null;
|
687 |
-
|
|
|
|
|
688 |
jQuery('#sgcolorbox').on("sgColorboxOnOpen", function () {
|
689 |
if(disablePageScrolling) {
|
690 |
jQuery('body').css({ overflow: 'hidden' });
|
@@ -693,6 +707,10 @@ SGPopup.prototype.colorboxEventsListener = function () {
|
|
693 |
|
694 |
jQuery('#sgcolorbox').on("sgColorboxOnCompleate", function () {
|
695 |
clearInterval(repetitiveTimeout);
|
|
|
|
|
|
|
|
|
696 |
});
|
697 |
|
698 |
jQuery('#sgcolorbox').on("sgPopupCleanup", function () {
|
@@ -702,6 +720,9 @@ SGPopup.prototype.colorboxEventsListener = function () {
|
|
702 |
sgPoupFrontendObj.popupOpenById(that.popupData['id']);
|
703 |
}, repetitivePopupPeriod);
|
704 |
}
|
|
|
|
|
|
|
705 |
});
|
706 |
|
707 |
jQuery('#sgcolorbox').on("sgPopupClose", function () {
|
570 |
if (that.resizeTimer) clearTimeout(that.resizeTimer);
|
571 |
that.resizeTimer = setTimeout(function() {
|
572 |
if (jQuery('#sgcboxOverlay').is(':visible')) {
|
573 |
+
var shouldResize = true;
|
574 |
if (maxWidth.indexOf("%") != -1) {
|
575 |
maxWidth = that.percentToPx(maxWidth, windowWidth);
|
576 |
}
|
595 |
|
596 |
settings.maxWidth = maxWidth;
|
597 |
settings.maxHeight = maxHeight;
|
598 |
+
var hasFocusedInput = false;
|
599 |
+
jQuery('#sgcboxLoadedContent input,#sgcboxLoadedContent textarea').each(function() {
|
600 |
|
601 |
+
if(jQuery(this).is(':focus')) {
|
602 |
+
hasFocusedInput = true;
|
603 |
+
}
|
604 |
+
});
|
605 |
+
/*For mobile when has some focused input popup does not resize*/
|
606 |
+
if( /Android|webOS|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent) && hasFocusedInput ) {
|
607 |
+
shouldResize = false;
|
608 |
+
}
|
609 |
+
if(shouldResize) {
|
610 |
+
jQuery.sgcolorbox(settings);
|
611 |
+
jQuery('#sgcboxLoadingGraphic').css({'display': 'none'});
|
612 |
+
}
|
613 |
}
|
614 |
}, 500);
|
615 |
}
|
618 |
window.addEventListener("orientationchange", resizeColorBox, false);
|
619 |
};
|
620 |
|
|
|
|
|
621 |
SGPopup.prototype.resizeAfterContentResizing = function () {
|
622 |
|
623 |
var visibilityClasses = [".js-validate-required", ".js-sgpb-visibility"];
|
690 |
|
691 |
var that = this;
|
692 |
var disablePageScrolling = this.varToBool(this.popupData['disable-page-scrolling']);
|
693 |
+
var popupOpenSound = this.varToBool(this.popupData['popupOpenSound']);
|
694 |
+
var popupOpenSoundFile = this.popupData['popupOpenSoundFile'];
|
695 |
var repetitivePopup = this.popupData['repetitivePopup'];
|
696 |
var repetitivePopupPeriod = this.popupData['repetitivePopupPeriod'];
|
697 |
repetitivePopupPeriod = parseInt(repetitivePopupPeriod)*1000;
|
698 |
var repetitiveTimeout = null;
|
699 |
+
if(popupOpenSound && popupOpenSoundFile) {
|
700 |
+
var audio = new Audio(popupOpenSoundFile);
|
701 |
+
}
|
702 |
jQuery('#sgcolorbox').on("sgColorboxOnOpen", function () {
|
703 |
if(disablePageScrolling) {
|
704 |
jQuery('body').css({ overflow: 'hidden' });
|
707 |
|
708 |
jQuery('#sgcolorbox').on("sgColorboxOnCompleate", function () {
|
709 |
clearInterval(repetitiveTimeout);
|
710 |
+
if(popupOpenSound && popupOpenSoundFile) {
|
711 |
+
audio.play()
|
712 |
+
}
|
713 |
+
|
714 |
});
|
715 |
|
716 |
jQuery('#sgcolorbox').on("sgPopupCleanup", function () {
|
720 |
sgPoupFrontendObj.popupOpenById(that.popupData['id']);
|
721 |
}, repetitivePopupPeriod);
|
722 |
}
|
723 |
+
if(popupOpenSound && popupOpenSoundFile) {
|
724 |
+
audio.pause();
|
725 |
+
}
|
726 |
});
|
727 |
|
728 |
jQuery('#sgcolorbox').on("sgPopupClose", function () {
|
popup-builder.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
* Plugin Name: Popup Builder
|
4 |
* Plugin URI: http://sygnoos.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: 2.6.
|
7 |
* Author: Popup Builder
|
8 |
* Author URI: http://www.sygnoos.com
|
9 |
* License: GPLv2
|
3 |
* Plugin Name: Popup Builder
|
4 |
* Plugin URI: http://sygnoos.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: 2.6.4
|
7 |
* Author: Popup Builder
|
8 |
* Author URI: http://www.sygnoos.com
|
9 |
* License: GPLv2
|
readme.txt
CHANGED
@@ -38,9 +38,10 @@ With popup builder plugin you can insert any type of content, right into your Po
|
|
38 |
* Customize popup overlay color and opacity
|
39 |
* Add custom class for popup overlay
|
40 |
* Add custom class for popup content
|
41 |
-
* Repetitive pop
|
42 |
* Redirect user to another page when he/she clicks on popup content
|
43 |
* Show/Hide Popup for selected User Roles (Admin panel)
|
|
|
44 |
* Responsive popup
|
45 |
* Scale popup for desktop sizes
|
46 |
* Network/Multisite popup
|
@@ -164,6 +165,10 @@ Go to the Popup Builder settings and set your desired options.
|
|
164 |
|
165 |
== Changelog ==
|
166 |
|
|
|
|
|
|
|
|
|
167 |
= Version 2.6.3.3 =
|
168 |
* Bug fixed for Safari browser when the popup loads automatically.
|
169 |
|
@@ -274,11 +279,11 @@ Go to the Popup Builder settings and set your desired options.
|
|
274 |
* Bug fixed connected to extensions manager.
|
275 |
|
276 |
= Version 2.4.7 =
|
277 |
-
* Added extension logic
|
278 |
-
* Code optimization
|
279 |
-
* Bug fixes
|
280 |
-
* Exit-Intent extension (PRO)
|
281 |
-
* AdBlock extension (PRO)
|
282 |
|
283 |
= Version 2.4.6 =
|
284 |
* UX modifications.
|
@@ -667,6 +672,11 @@ We made it very easy for you! All you need to do is:
|
|
667 |
|
668 |
That's all! And you don't need to delete your Free version manually before upgrading to Pro!
|
669 |
|
|
|
|
|
|
|
|
|
|
|
670 |
**Can I create a popup and make it invisible for some countries? (PRO)**
|
671 |
|
672 |
Our plugin has an option for such cases. You can select "Filter popup for selected countries" option, which allows you to select the countries in which you want the popup to be shown or hidden, because there can be some popups which you make for specific countries and you may not want them to be seen in some other countries in cases of targeting groups for your marketing. (Allow/Disallow)
|
@@ -686,7 +696,7 @@ Leave us a good review :)
|
|
686 |
|
687 |
== Upgrade Notice ==
|
688 |
|
689 |
-
Current Version of Popup Builder is 2.6.
|
690 |
|
691 |
== Other Notes ==
|
692 |
|
38 |
* Customize popup overlay color and opacity
|
39 |
* Add custom class for popup overlay
|
40 |
* Add custom class for popup content
|
41 |
+
* Repetitive pop up - show popup every X period of time
|
42 |
* Redirect user to another page when he/she clicks on popup content
|
43 |
* Show/Hide Popup for selected User Roles (Admin panel)
|
44 |
+
* Popup opening sound
|
45 |
* Responsive popup
|
46 |
* Scale popup for desktop sizes
|
47 |
* Network/Multisite popup
|
165 |
|
166 |
== Changelog ==
|
167 |
|
168 |
+
= Version 2.6.4 =
|
169 |
+
* Added new option to play sound on popup opening.
|
170 |
+
* Minor fixes and improvements.
|
171 |
+
|
172 |
= Version 2.6.3.3 =
|
173 |
* Bug fixed for Safari browser when the popup loads automatically.
|
174 |
|
279 |
* Bug fixed connected to extensions manager.
|
280 |
|
281 |
= Version 2.4.7 =
|
282 |
+
* Added extension logic.
|
283 |
+
* Code optimization.
|
284 |
+
* Bug fixes.
|
285 |
+
* Exit-Intent extension (PRO).
|
286 |
+
* AdBlock extension (PRO).
|
287 |
|
288 |
= Version 2.4.6 =
|
289 |
* UX modifications.
|
672 |
|
673 |
That's all! And you don't need to delete your Free version manually before upgrading to Pro!
|
674 |
|
675 |
+
**How can I add a sound on popup opening?**
|
676 |
+
|
677 |
+
From the 'Effects' panel enable 'Popup open sound' option and choose the sound you would like to be played on the popup opening.
|
678 |
+
Please be noted that browser's don't support all the formats. We recommend to use the WAV format.
|
679 |
+
|
680 |
**Can I create a popup and make it invisible for some countries? (PRO)**
|
681 |
|
682 |
Our plugin has an option for such cases. You can select "Filter popup for selected countries" option, which allows you to select the countries in which you want the popup to be shown or hidden, because there can be some popups which you make for specific countries and you may not want them to be seen in some other countries in cases of targeting groups for your marketing. (Allow/Disallow)
|
696 |
|
697 |
== Upgrade Notice ==
|
698 |
|
699 |
+
Current Version of Popup Builder is 2.6.4
|
700 |
|
701 |
== Other Notes ==
|
702 |
|
style/sg_popup_style.css
CHANGED
@@ -3,10 +3,26 @@
|
|
3 |
margin-right: 1px;
|
4 |
}
|
5 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
6 |
.sg-hide-element {
|
7 |
display: none !important;
|
8 |
}
|
9 |
|
|
|
|
|
|
|
10 |
.sg-margin0 {
|
11 |
margin: 0;
|
12 |
}
|
@@ -1557,6 +1573,16 @@ input:checked + .sg-slider:before {
|
|
1557 |
margin-right: 15px;
|
1558 |
}
|
1559 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1560 |
@media(max-width: 1042px) {
|
1561 |
.sg-black-info {
|
1562 |
width: 200px;
|
3 |
margin-right: 1px;
|
4 |
}
|
5 |
|
6 |
+
.liquid-width-div {
|
7 |
+
width: 39%;
|
8 |
+
display: inline-block;
|
9 |
+
}
|
10 |
+
|
11 |
+
.sg-vertical-top {
|
12 |
+
vertical-align: top;
|
13 |
+
}
|
14 |
+
|
15 |
+
.sg-margin-top-0 {
|
16 |
+
margin-top: 0px;
|
17 |
+
}
|
18 |
+
|
19 |
.sg-hide-element {
|
20 |
display: none !important;
|
21 |
}
|
22 |
|
23 |
+
.sg-display-inline {
|
24 |
+
display: inline-block;
|
25 |
+
}
|
26 |
.sg-margin0 {
|
27 |
margin: 0;
|
28 |
}
|
1573 |
margin-right: 15px;
|
1574 |
}
|
1575 |
|
1576 |
+
.sg-preview-sound {
|
1577 |
+
color: #3879D9;
|
1578 |
+
margin: 1px -2px;
|
1579 |
+
cursor: pointer;
|
1580 |
+
}
|
1581 |
+
|
1582 |
+
.sound-uploader-wrapper {
|
1583 |
+
padding: 6px 0px 6px 0px;
|
1584 |
+
}
|
1585 |
+
|
1586 |
@media(max-width: 1042px) {
|
1587 |
.sg-black-info {
|
1588 |
width: 200px;
|