Popup Builder – Responsive WordPress Pop up - Version 2.6.7.4

Version Description

Current Version of Popup Builder is 2.6.7

Download this release

Release Info

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

Code changes from version 2.6.7.2 to 2.6.7.4

classes/SGPBExtensionManager.php CHANGED
@@ -77,10 +77,16 @@ class SGPBExtensionManager {
77
 
78
  $this->setExtensionKey($extensionKey);
79
  $extensionClass = $this->getExtensionClassName();
80
- if(!file_exists($optionData['app-path'].'/classes/'.$extensionClass.'.php')) {
 
 
 
 
 
 
81
  continue;
82
  }
83
- require_once($optionData['app-path'].'/classes/'.$extensionClass.'.php');
84
  $extensionObj = new $extensionClass();
85
  $content = $extensionObj->includeOption($popupType);
86
  $extensionOptions .= $content;
@@ -99,10 +105,17 @@ class SGPBExtensionManager {
99
 
100
  $this->setExtensionKey($extensionKey);
101
  $extensionClass = $this->getExtensionClassName();
102
- if(!file_exists($extensionData['app-path'] . '/classes/' . $extensionClass . '.php')) {
 
 
 
 
 
 
 
103
  continue;
104
  }
105
- require_once($extensionData['app-path'].'/classes/'.$extensionClass.'.php');
106
  $extensionObj = new $extensionClass();
107
  $extensionObj->setPostData($postData);
108
  $extensionObj->save();
@@ -119,10 +132,17 @@ class SGPBExtensionManager {
119
 
120
  $this->setExtensionKey($extensionKey);
121
  $extensionClass = $this->getExtensionClassName();
122
- if(!file_exists($optionData['app-path'].'/classes/'.$extensionClass.'.php')) {
 
 
 
 
 
 
 
123
  continue;
124
  }
125
- require_once($optionData['app-path'].'/classes/'.$extensionClass.'.php');
126
  $extensionObj = new $extensionClass();
127
  $defaults = $extensionObj->getDefaultValues();
128
  $allOptions = array_merge($allOptions, $defaults);
77
 
78
  $this->setExtensionKey($extensionKey);
79
  $extensionClass = $this->getExtensionClassName();
80
+ $appPath = $optionData['app-path'];
81
+ $hasPluginDirPathApp = strrpos($appPath, WP_PLUGIN_DIR);
82
+
83
+ if ($hasPluginDirPathApp === false) {
84
+ $appPath = WP_PLUGIN_DIR.'/'.$appPath;
85
+ }
86
+ if(!file_exists($appPath.'/classes/'.$extensionClass.'.php')) {
87
  continue;
88
  }
89
+ require_once($appPath.'/classes/'.$extensionClass.'.php');
90
  $extensionObj = new $extensionClass();
91
  $content = $extensionObj->includeOption($popupType);
92
  $extensionOptions .= $content;
105
 
106
  $this->setExtensionKey($extensionKey);
107
  $extensionClass = $this->getExtensionClassName();
108
+ $appPath = $extensionData['app-path'];
109
+ $hasPluginDirPathApp = strrpos($appPath, WP_PLUGIN_DIR);
110
+
111
+ if ($hasPluginDirPathApp === false) {
112
+ $appPath = WP_PLUGIN_DIR.'/'.$appPath;
113
+ }
114
+
115
+ if(!file_exists($appPath.'/classes/'.$extensionClass.'.php')) {
116
  continue;
117
  }
118
+ require_once($appPath.'/classes/'.$extensionClass.'.php');
119
  $extensionObj = new $extensionClass();
120
  $extensionObj->setPostData($postData);
121
  $extensionObj->save();
132
 
133
  $this->setExtensionKey($extensionKey);
134
  $extensionClass = $this->getExtensionClassName();
135
+ $appPath = $optionData['app-path'];
136
+ $hasPluginDirPathApp = strrpos($appPath, WP_PLUGIN_DIR);
137
+
138
+ if ($hasPluginDirPathApp === false) {
139
+ $appPath = WP_PLUGIN_DIR.'/'.$appPath;
140
+ }
141
+
142
+ if(!file_exists($appPath.'/classes/'.$extensionClass.'.php')) {
143
  continue;
144
  }
145
+ require_once($appPath.'/classes/'.$extensionClass.'.php');
146
  $extensionObj = new $extensionClass();
147
  $defaults = $extensionObj->getDefaultValues();
148
  $allOptions = array_merge($allOptions, $defaults);
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.671);
28
- define('SG_POPUP_PRO_VERSION', 3.379);
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.674);
28
+ define('SG_POPUP_PRO_VERSION', 3.8);
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/options_section/pro.php CHANGED
@@ -19,7 +19,7 @@
19
  </h3>
20
  <div class="advanced-options-content">
21
  <span class="liquid-width">Show on selected pages:</span><input class="input-width-static js-on-all-pages" type="checkbox" name="allPagesStatus" <?php echo @$sgAllPagesStatus;?>>
22
- <span class="dashicons dashicons-info same-image-style"></span><span class="infoForMobile samefontStyle">Select page where popup should be shown.</span><br>
23
  <div class="js-all-pages-content acordion-main-div-content">
24
  <?php echo createRadiobuttons($pagesRadio, SG_POST_TYPE_PAGE, true, esc_html($sgAllPages), "liquid-width"); ?>
25
  <div class="js-pages-selectbox-content acordion-main-div-content">
@@ -32,7 +32,7 @@
32
  </div>
33
  </div>
34
  <span class="liquid-width">Show on selected posts:</span><input class="input-width-static js-on-all-posts" type="checkbox" name="allPostsStatus" <?php echo @$sgAllPostsStatus;?>>
35
- <span class="dashicons dashicons-info same-image-style"></span><span class="infoForMobile samefontStyle">Select post where popup should be shown.</span><br>
36
  <div class="js-all-posts-content acordion-main-div-content">
37
  <?php echo createRadiobuttons($postsRadio, SG_POST_TYPE_POST, true, esc_html($sgAllPosts), "liquid-width"); ?>
38
  <div class="js-posts-selectbox-content acordion-main-div-content">
@@ -50,9 +50,9 @@
50
  echo SGFunctions::createSelectBox($categories, @$sgPostsAllCategories, array("name"=>"posts-all-categories[]","multiple"=>"multiple","size"=>10,"class"=>"popup-builder-multiselect")); ?>
51
  </div>
52
  </div>
53
-
54
  <span class="liquid-width">Show on selected Custom posts:</span><input class="input-width-static js-on-all-custom-posts" type="checkbox" name="allCustomPostsStatus" <?php echo @$sgAllCustomPostsStatus;?>>
55
- <span class="dashicons dashicons-info same-image-style"></span><span class="infoForMobile samefontStyle">Select post where popup should be shown.</span><br>
56
  <div class="js-all-custom-posts-content acordion-main-div-content">
57
  <span class="liquid-width sg-pages-title">custom Posts</span>
58
  <?php
@@ -77,7 +77,7 @@
77
  </div>
78
  <?php endif; ?>
79
  <span class="liquid-width">Show after inactivity</span><input id="js-inactivity-event-inp" class="input-width-static js-checkbox-acordion" type="checkbox" name="inActivityStatus" <?php echo $sgInActivityStatus;?> >
80
- <span id="scrollingEvent" class="dashicons dashicons-info same-image-style"></span><span class="infoScrollingEvent samefontStyle">Show the popup whenever the user scrolls the page.</span><br>
81
  <div class="js-inactivity-content acordion-main-div-content">
82
  <span class="liquid-width">show popup after</span><input class="improveOptionsstyle before-scroling-percent" type="number" name="inactivity-timout" value="<?php echo esc_attr(@$sgInactivityTimout); ?>">
83
  <span class="span-percent">sec</span>
@@ -91,7 +91,7 @@
91
  <span class="dashicons dashicons-info same-image-style"></span><span class="infoForMobile samefontStyle">If this option is active the popup will appear only on mobile devices.</span><br>
92
 
93
  <span class="liquid-width">Show popup in date range:</span><input class="input-width-static js-checkbox-acordion" type="checkbox" name="popup-timer-status" <?php echo $sgPopupTimerStatus;?>>
94
- <span class="dashicons dashicons-info repeatPopup same-image-style"></span><span class="infoSelectRepeat samefontStyle">Show popup for selected date range. If current date is in selected date range then popup will appear.</span><br>
95
  <div class="acordion-main-div-content">
96
  <span class="liquid-width">start date</span><input class="popup-start-timer" type="text" name="popup-start-timer" value="<?php echo esc_attr(@$sgPopupStartTimer)?>"><br>
97
  <span class="liquid-width">end date</span><input class="popup-finish-timer" type="text" name="popup-finish-timer" value="<?php echo esc_attr(@$sgPopupFinishTimer)?>"><br>
@@ -100,7 +100,7 @@
100
  </div>
101
  </div>
102
  <span class="liquid-width">Schedule:</span><input class="input-width-static js-checkbox-acordion" type="checkbox" name="popup-schedule-status" <?php echo $sgPopupScheduleStatus;?>>
103
- <span class="dashicons dashicons-info repeatPopup same-image-style"></span><span class="infoSelectRepeat samefontStyle">Show popup for selected date range. If current date is in selected date range then popup will appear.</span><br>
104
  <div class="acordion-main-div-content schedule-main-div-content">
105
  <div class="liquid-width sg-label-div">
106
  </div><div class="sg-options-content-div">
@@ -136,7 +136,7 @@
136
  </div>
137
  <?php if(POPUP_BUILDER_PKG == POPUP_BUILDER_PKG_PLATINUM): ?>
138
  <span class="liquid-width">Filter popup for selected countries:</span><input id="js-countris" class="input-width-static js-checkbox-acordion" type="checkbox" name="countryStatus" <?php echo @$sgCountryStatus;?>>
139
- <span class="dashicons dashicons-info same-image-style"></span><span class="infoAutoClose samefontStyle">Select country where popup should be shown/hidden.</span><br>
140
  <div class="js-countri-content">
141
  <span class="liquid-width" ></span><?php echo SGFunctions::sgCreateRadioElements($countriesRadio, @$sgAllowCountries);?>
142
  <span class="liquid-width" ></span><?php echo SGFunctions::countrisSelect(); ?>
19
  </h3>
20
  <div class="advanced-options-content">
21
  <span class="liquid-width">Show on selected pages:</span><input class="input-width-static js-on-all-pages" type="checkbox" name="allPagesStatus" <?php echo @$sgAllPagesStatus;?>>
22
+ <span class="dashicons dashicons-info same-image-style"></span><span class="infoForMobile samefontStyle">Select the page where the popup should be shown.</span><br>
23
  <div class="js-all-pages-content acordion-main-div-content">
24
  <?php echo createRadiobuttons($pagesRadio, SG_POST_TYPE_PAGE, true, esc_html($sgAllPages), "liquid-width"); ?>
25
  <div class="js-pages-selectbox-content acordion-main-div-content">
32
  </div>
33
  </div>
34
  <span class="liquid-width">Show on selected posts:</span><input class="input-width-static js-on-all-posts" type="checkbox" name="allPostsStatus" <?php echo @$sgAllPostsStatus;?>>
35
+ <span class="dashicons dashicons-info same-image-style"></span><span class="infoForMobile samefontStyle">Select the post where the popup should be shown.</span><br>
36
  <div class="js-all-posts-content acordion-main-div-content">
37
  <?php echo createRadiobuttons($postsRadio, SG_POST_TYPE_POST, true, esc_html($sgAllPosts), "liquid-width"); ?>
38
  <div class="js-posts-selectbox-content acordion-main-div-content">
50
  echo SGFunctions::createSelectBox($categories, @$sgPostsAllCategories, array("name"=>"posts-all-categories[]","multiple"=>"multiple","size"=>10,"class"=>"popup-builder-multiselect")); ?>
51
  </div>
52
  </div>
53
+
54
  <span class="liquid-width">Show on selected Custom posts:</span><input class="input-width-static js-on-all-custom-posts" type="checkbox" name="allCustomPostsStatus" <?php echo @$sgAllCustomPostsStatus;?>>
55
+ <span class="dashicons dashicons-info same-image-style"></span><span class="infoForMobile samefontStyle">Select the custom post where the popup should be shown (e.g.: woocommerce products).</span><br>
56
  <div class="js-all-custom-posts-content acordion-main-div-content">
57
  <span class="liquid-width sg-pages-title">custom Posts</span>
58
  <?php
77
  </div>
78
  <?php endif; ?>
79
  <span class="liquid-width">Show after inactivity</span><input id="js-inactivity-event-inp" class="input-width-static js-checkbox-acordion" type="checkbox" name="inActivityStatus" <?php echo $sgInActivityStatus;?> >
80
+ <span id="scrollingEvent" class="dashicons dashicons-info same-image-style"></span><span class="infoScrollingEvent samefontStyle">Show the popup after some time of inactivity. The popup will appear if a user does nothing for some specific time mentioned.</span><br>
81
  <div class="js-inactivity-content acordion-main-div-content">
82
  <span class="liquid-width">show popup after</span><input class="improveOptionsstyle before-scroling-percent" type="number" name="inactivity-timout" value="<?php echo esc_attr(@$sgInactivityTimout); ?>">
83
  <span class="span-percent">sec</span>
91
  <span class="dashicons dashicons-info same-image-style"></span><span class="infoForMobile samefontStyle">If this option is active the popup will appear only on mobile devices.</span><br>
92
 
93
  <span class="liquid-width">Show popup in date range:</span><input class="input-width-static js-checkbox-acordion" type="checkbox" name="popup-timer-status" <?php echo $sgPopupTimerStatus;?>>
94
+ <span class="dashicons dashicons-info repeatPopup same-image-style"></span><span class="infoSelectRepeat samefontStyle">Show the popup for selected date range. If current date is in selected date range then popup will appear.</span><br>
95
  <div class="acordion-main-div-content">
96
  <span class="liquid-width">start date</span><input class="popup-start-timer" type="text" name="popup-start-timer" value="<?php echo esc_attr(@$sgPopupStartTimer)?>"><br>
97
  <span class="liquid-width">end date</span><input class="popup-finish-timer" type="text" name="popup-finish-timer" value="<?php echo esc_attr(@$sgPopupFinishTimer)?>"><br>
100
  </div>
101
  </div>
102
  <span class="liquid-width">Schedule:</span><input class="input-width-static js-checkbox-acordion" type="checkbox" name="popup-schedule-status" <?php echo $sgPopupScheduleStatus;?>>
103
+ <span class="dashicons dashicons-info repeatPopup same-image-style"></span><span class="infoSelectRepeat samefontStyle">Show the popup for selected date range (e.g.: if you need the popup to appear every Tuesday at 14.00).</span><br>
104
  <div class="acordion-main-div-content schedule-main-div-content">
105
  <div class="liquid-width sg-label-div">
106
  </div><div class="sg-options-content-div">
136
  </div>
137
  <?php if(POPUP_BUILDER_PKG == POPUP_BUILDER_PKG_PLATINUM): ?>
138
  <span class="liquid-width">Filter popup for selected countries:</span><input id="js-countris" class="input-width-static js-checkbox-acordion" type="checkbox" name="countryStatus" <?php echo @$sgCountryStatus;?>>
139
+ <span class="dashicons dashicons-info same-image-style"></span><span class="infoAutoClose samefontStyle">Select countries where popup should be shown/hidden.</span><br>
140
  <div class="js-countri-content">
141
  <span class="liquid-width" ></span><?php echo SGFunctions::sgCreateRadioElements($countriesRadio, @$sgAllowCountries);?>
142
  <span class="liquid-width" ></span><?php echo SGFunctions::countrisSelect(); ?>
files/sg_functions.php CHANGED
@@ -454,49 +454,6 @@ class SGFunctions
454
  return $reviewPanel;
455
  }
456
 
457
- public static function newYear()
458
- {
459
- $reviewPanel = '';
460
- wp_register_style('blackFriday', SG_APP_POPUP_URL . '/style/newYear.css');
461
- wp_enqueue_style('blackFriday');
462
- wp_register_script('blackFriday', SG_APP_POPUP_URL . '/javascript/NewYear.js', array(), SG_POPUP_VERSION);
463
- wp_enqueue_script('blackFriday');
464
- $ajaxNonce = wp_create_nonce("sgPopupBuilderNewYear");
465
- $newYearShow = get_option('sgPopupBuilderNewYear');
466
- $timeDate = new DateTime('now', new DateTimeZone('Asia/Yerevan'));
467
- $timeNow = strtotime($timeDate->format('Y-m-d H:i:s'));
468
- $startTime = '1513343100';
469
- $endData = '1515369540';
470
- $currentUser = wp_get_current_user();
471
- $niceName = '';
472
-
473
- if (!empty($currentUser)) {
474
- $niceName = $currentUser->nickname;
475
- }
476
- if(!($timeNow > $startTime && $timeNow < $endData) || $newYearShow) {
477
- return $reviewPanel;
478
- }
479
- ob_start();
480
- ?>
481
- <div style="margin-right: 15px;">
482
- <div class="sg-info-panel-wrapper sg-info-panel-new-year">
483
-
484
- <div class="sg-new-year-text-wrapper">
485
- <p>Hi <?php echo $niceName; ?></p>
486
- <p>Merry Christmas and Happy New Year</p>
487
- <p>Take your 25% sale right now!</p>
488
- <button onclick="window.open('https://popup-builder.com/')" class="sgpb-happy-button" >USE THIS CODE: HAPPY 25</button>
489
- </div>
490
- <span data-ajaxnonce="<?php echo $ajaxNonce; ?>" class="sgpb-new-year-dont-show">Don’t show again</span>
491
- </div>
492
- </div>
493
- <?php
494
- $newYearPanel = ob_get_contents();
495
- ob_end_clean();
496
-
497
- return $newYearPanel;
498
- }
499
-
500
  public static function noticeForShortcode() {
501
  $notice = '<span class="shortcode-use-info">NOTE: Shortcodes doesn\'t work inside the HTML Popup. Please use <a href="'.SG_APP_POPUP_ADMIN_URL.'admin.php?page=edit-popup&type=shortcode">Shortcode Popup</a> instead.</span>';
502
  return $notice;
454
  return $reviewPanel;
455
  }
456
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
457
  public static function noticeForShortcode() {
458
  $notice = '<span class="shortcode-use-info">NOTE: Shortcodes doesn\'t work inside the HTML Popup. Please use <a href="'.SG_APP_POPUP_ADMIN_URL.'admin.php?page=edit-popup&type=shortcode">Shortcode Popup</a> instead.</span>';
459
  return $notice;
files/sg_popup_actions.php CHANGED
@@ -34,22 +34,14 @@ class sgPopupActions {
34
  $allPosts = get_option("SG_ALL_POSTS");
35
  $popupKey = SGFunctions::getCurrentPopupIdFromOptions($popupId);
36
 
37
- if(!$popupKey) {
38
  unset($allPosts[$popupKey]);
39
  update_option("SG_ALL_POSTS", $allPosts);
40
  }
41
  }
42
 
43
- public function newYear()
44
- {
45
- $messageContent = SGFunctions::newYear();
46
-
47
- echo $messageContent;
48
- }
49
-
50
  public function popupBuilderShowReviewNotice()
51
  {
52
- $this->newYear();
53
  $messageContent = '';
54
  $maxOpenPopupStatus = SGFunctions::shouldOpenForMaxOpenPopupMessage();
55
  $shouldOpenForDays = SGFunctions::shouldOpenReviewPopupForDays();
34
  $allPosts = get_option("SG_ALL_POSTS");
35
  $popupKey = SGFunctions::getCurrentPopupIdFromOptions($popupId);
36
 
37
+ if($popupKey != false) {
38
  unset($allPosts[$popupKey]);
39
  update_option("SG_ALL_POSTS", $allPosts);
40
  }
41
  }
42
 
 
 
 
 
 
 
 
43
  public function popupBuilderShowReviewNotice()
44
  {
 
45
  $messageContent = '';
46
  $maxOpenPopupStatus = SGFunctions::shouldOpenForMaxOpenPopupMessage();
47
  $shouldOpenForDays = SGFunctions::shouldOpenReviewPopupForDays();
files/sg_popup_ajax.php CHANGED
@@ -26,16 +26,6 @@ function sgPopupDelete()
26
 
27
  add_action('wp_ajax_delete_popup', 'sgPopupDelete');
28
 
29
- function sgpbNewYear()
30
- {
31
- check_ajax_referer('sgPopupBuilderNewYear', 'nonce');
32
-
33
- echo update_option('sgPopupBuilderNewYear', 1);
34
- wp_die();
35
- }
36
-
37
- add_action('wp_ajax_sgpbNewYear', 'sgpbNewYear');
38
-
39
  function sgFrontend()
40
  {
41
  global $wpdb;
26
 
27
  add_action('wp_ajax_delete_popup', 'sgPopupDelete');
28
 
 
 
 
 
 
 
 
 
 
 
29
  function sgFrontend()
30
  {
31
  global $wpdb;
files/sg_popup_create_new.php CHANGED
@@ -973,7 +973,7 @@ $subsSuccessBehavior = array(
973
 
974
  ),
975
  array(
976
- "title" => "Open popup",
977
  "value" => "openPopup",
978
  "info" => "",
979
  "data-attributes" => array(
@@ -981,7 +981,7 @@ $subsSuccessBehavior = array(
981
  )
982
  ),
983
  array(
984
- "title" => "Hide popup",
985
  "value" => "hidePopup",
986
  "info" => "",
987
  "data-attributes" => array(
@@ -1433,7 +1433,7 @@ if (isset($_GET["titleError"])): ?>
1433
  <span class="dashicons dashicons-info scrollingImg sameImageStyle"></span><span class="infoScaling samefontStyle">Resize popup according to screen size</span><br>
1434
 
1435
  <span class="liquid-width">Dismiss on overlay click:</span><input class="input-width-static" type="checkbox" name="overlayClose" <?php echo $sgOverlayClose;?> />
1436
- <span class="dashicons dashicons-info overlayImg sameImageStyle"></span><span class="infoOverlayClose samefontStyle">The popup will be dismissed when user clicks beyond of the popup area.</span><br>
1437
 
1438
  <?php if(!sgRemoveOption('contentClick')): ?>
1439
  <span class="liquid-width">Dismiss on content click:</span><input class="input-width-static js-checkbox-contnet-click" type="checkbox" name="contentClick" <?php echo $sgContentClick;?> />
@@ -1453,7 +1453,7 @@ if (isset($_GET["titleError"])): ?>
1453
 
1454
  <?php if(!sgRemoveOption('showOnlyOnce')): ?>
1455
  <span class="liquid-width">Show popup this often:</span><input class="input-width-static js-checkbox-acordion" id="js-popup-only-once" type="checkbox" name="repeatPopup" <?php echo $sgRepeatPopup;?>>
1456
- <span class="dashicons dashicons-info repeatPopup same-image-style"></span><span class="infoSelectRepeat samefontStyle">Show the popup to a user only once.</span><br>
1457
  <div class="acordion-main-div-content js-popup-only-once-content">
1458
  <span class="liquid-width">show popup</span><input class="before-scroling-percent" type="number" min="1" name="popup-appear-number-limit" value="<?php echo esc_attr(@$sgPopupAppearNumberLimit); ?>">
1459
  <span class="span-percent">time(s) for same user</span><br>
@@ -1467,7 +1467,7 @@ if (isset($_GET["titleError"])): ?>
1467
 
1468
  <?php if(!sgRemoveOption('repetitivePopup')): ?>
1469
  <span class="liquid-width">Repetitive popup:</span><input class="input-width-static js-checkbox-acordion" id="js-popup-only-once" type="checkbox" name="repetitivePopup" <?php echo $sgRepetitivePopup;?>>
1470
- <span class="dashicons dashicons-info repeatPopup same-image-style"></span><span class="infoSelectRepeat samefontStyle">If this option enabled the same popup will be opened after each X seconds you have defined after the closing.</span><br>
1471
  <div class="acordion-main-div-content js-popup-only-once-content">
1472
  <span class="liquid-width">show popup</span>
1473
  <input type="number" class="before-scroling-percent" name="repetitivePopupPeriod" min="10" value="<?php echo esc_attr($sgRepetitivePopupPeriod); ?>">
973
 
974
  ),
975
  array(
976
+ "title" => "Open popup:",
977
  "value" => "openPopup",
978
  "info" => "",
979
  "data-attributes" => array(
981
  )
982
  ),
983
  array(
984
+ "title" => "Hide popup:",
985
  "value" => "hidePopup",
986
  "info" => "",
987
  "data-attributes" => array(
1433
  <span class="dashicons dashicons-info scrollingImg sameImageStyle"></span><span class="infoScaling samefontStyle">Resize popup according to screen size</span><br>
1434
 
1435
  <span class="liquid-width">Dismiss on overlay click:</span><input class="input-width-static" type="checkbox" name="overlayClose" <?php echo $sgOverlayClose;?> />
1436
+ <span class="dashicons dashicons-info overlayImg sameImageStyle"></span><span class="infoOverlayClose samefontStyle">The popup will be dismissed when user clicks on the popup overlay.</span><br>
1437
 
1438
  <?php if(!sgRemoveOption('contentClick')): ?>
1439
  <span class="liquid-width">Dismiss on content click:</span><input class="input-width-static js-checkbox-contnet-click" type="checkbox" name="contentClick" <?php echo $sgContentClick;?> />
1453
 
1454
  <?php if(!sgRemoveOption('showOnlyOnce')): ?>
1455
  <span class="liquid-width">Show popup this often:</span><input class="input-width-static js-checkbox-acordion" id="js-popup-only-once" type="checkbox" name="repeatPopup" <?php echo $sgRepeatPopup;?>>
1456
+ <span class="dashicons dashicons-info repeatPopup same-image-style"></span><span class="infoSelectRepeat samefontStyle">Specify how many times the popup should be shown to the user. The “expire time” specifies when this rule expires and you can show the popup to the same user again.</span><br>
1457
  <div class="acordion-main-div-content js-popup-only-once-content">
1458
  <span class="liquid-width">show popup</span><input class="before-scroling-percent" type="number" min="1" name="popup-appear-number-limit" value="<?php echo esc_attr(@$sgPopupAppearNumberLimit); ?>">
1459
  <span class="span-percent">time(s) for same user</span><br>
1467
 
1468
  <?php if(!sgRemoveOption('repetitivePopup')): ?>
1469
  <span class="liquid-width">Repetitive popup:</span><input class="input-width-static js-checkbox-acordion" id="js-popup-only-once" type="checkbox" name="repetitivePopup" <?php echo $sgRepetitivePopup;?>>
1470
+ <span class="dashicons dashicons-info repeatPopup same-image-style"></span><span class="infoSelectRepeat samefontStyle">If this option is enabled the same popup will open up after every X seconds you have defined (after closing it).</span><br>
1471
  <div class="acordion-main-div-content js-popup-only-once-content">
1472
  <span class="liquid-width">show popup</span>
1473
  <input type="number" class="before-scroling-percent" name="repetitivePopupPeriod" min="10" value="<?php echo esc_attr($sgRepetitivePopupPeriod); ?>">
helpers/Integrate_external_settings.php CHANGED
@@ -71,6 +71,19 @@ Class IntegrateExternalSettings {
71
  }
72
  else {
73
  $addonPaths = json_decode($ressults['0']['paths'], true);
 
 
 
 
 
 
 
 
 
 
 
 
 
74
  $pathsArray = $addonPaths;
75
  }
76
  return $pathsArray;
71
  }
72
  else {
73
  $addonPaths = json_decode($ressults['0']['paths'], true);
74
+ $appPath = $addonPaths['app-path'];
75
+ $filesPath = $addonPaths['files-path'];
76
+ $hasPluginDirPathApp = strrpos($appPath, WP_PLUGIN_DIR);
77
+ $hasPluginDirPath = strrpos($filesPath, WP_PLUGIN_DIR);
78
+
79
+ if ($hasPluginDirPathApp === false) {
80
+ $appPath = WP_PLUGIN_DIR.'/'.$appPath;
81
+ }
82
+ if ($hasPluginDirPath === false) {
83
+ $filesPath = WP_PLUGIN_DIR.'/'.$filesPath;
84
+ }
85
+ $addonPaths['app-path'] = $appPath;
86
+ $addonPaths['files-path'] = $filesPath;
87
  $pathsArray = $addonPaths;
88
  }
89
  return $pathsArray;
javascript/sg_popup_frontend.js CHANGED
@@ -569,12 +569,14 @@ SGPopup.prototype.changePopupSettings = function () {
569
  SGPopup.prototype.resizePopup = function (settings) {
570
 
571
  var that = this;
572
-
 
 
573
 
574
  function resizeColorBox () {
575
- var window = jQuery(this);
576
- var windowWidth = window.width();
577
- var windowHeight = window.height();
578
 
579
  var maxWidth = that.popupData['maxWidth'];
580
  var maxHeight = that.popupData['maxHeight'];
@@ -590,7 +592,18 @@ SGPopup.prototype.resizePopup = function (settings) {
590
  if (that.resizeTimer) clearTimeout(that.resizeTimer);
591
  that.resizeTimer = setTimeout(function() {
592
  if (jQuery('#sgcboxOverlay').is(':visible')) {
593
- var shouldResize = true;
 
 
 
 
 
 
 
 
 
 
 
594
  if (maxWidth.indexOf("%") != -1) {
595
  maxWidth = that.percentToPx(maxWidth, windowWidth);
596
  }
@@ -624,9 +637,14 @@ SGPopup.prototype.resizePopup = function (settings) {
624
  });
625
  /*For mobile when has some focused input popup does not resize*/
626
  if( /Android|webOS|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent) && hasFocusedInput ) {
627
- shouldResize = false;
628
  }
629
- if(shouldResize) {
 
 
 
 
 
630
  jQuery.sgcolorbox(settings);
631
  jQuery('#sgcboxLoadingGraphic').css({'display': 'none'});
632
  }
@@ -636,6 +654,22 @@ SGPopup.prototype.resizePopup = function (settings) {
636
 
637
  jQuery(window).resize(resizeColorBox);
638
  window.addEventListener("orientationchange", resizeColorBox, false);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
639
  };
640
 
641
  SGPopup.prototype.resizeAfterContentResizing = function () {
@@ -755,9 +789,9 @@ SGPopup.prototype.contentClickRedirect = function () {
755
 
756
  SGPopup.prototype.closeButtonDelay = function (buttonDelayValue) {
757
  setTimeout(function(){
758
- jQuery('#sgcboxClose').attr('style', 'display: block !important;');
759
- },
760
- buttonDelayValue * 1000 /* received values covert to seconds */
761
  );
762
  }
763
 
@@ -855,7 +889,7 @@ SGPopup.prototype.replaceShortCode = function(shortCode, replaceText)
855
  if (!popupContentWrapper.length) {
856
  return false;
857
  }
858
-
859
  var currentHtmlContent = popupContentWrapper.contents();
860
 
861
  if (!currentHtmlContent.length) {
569
  SGPopup.prototype.resizePopup = function (settings) {
570
 
571
  var that = this;
572
+ /*Initial window dimensions*/
573
+ window.sgpbInitialWindowWith = window.innerWidth;
574
+ window.sgpbInitialWindowHeight = window.innerHeight;
575
 
576
  function resizeColorBox () {
577
+ var currentWindow = jQuery(this);
578
+ var windowWidth = currentWindow.width();
579
+ var windowHeight = currentWindow.height();
580
 
581
  var maxWidth = that.popupData['maxWidth'];
582
  var maxHeight = that.popupData['maxHeight'];
592
  if (that.resizeTimer) clearTimeout(that.resizeTimer);
593
  that.resizeTimer = setTimeout(function() {
594
  if (jQuery('#sgcboxOverlay').is(':visible')) {
595
+ if (window.sgpbFullScreen === true) {
596
+ window.sgpbShouldResize = false;
597
+ window.sgpbFullScreen = false;
598
+ }
599
+ else {
600
+ window.sgpbShouldResize = true;
601
+ }
602
+
603
+ if ((window.innerHeight == screen.height) || (!window.screenTop && !window.screenY)) {
604
+ window.sgpbShouldResize = false;
605
+ }
606
+
607
  if (maxWidth.indexOf("%") != -1) {
608
  maxWidth = that.percentToPx(maxWidth, windowWidth);
609
  }
637
  });
638
  /*For mobile when has some focused input popup does not resize*/
639
  if( /Android|webOS|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent) && hasFocusedInput ) {
640
+ window.sgpbShouldResize = false;
641
  }
642
+ /*For just call resize*/
643
+ if (currentWindow.width() == window.sgpbInitialWindowWith && currentWindow.height() == window.sgpbInitialWindowHeight) {
644
+ window.sgpbShouldResize = false;
645
+ }
646
+
647
+ if(window.sgpbShouldResize) {
648
  jQuery.sgcolorbox(settings);
649
  jQuery('#sgcboxLoadingGraphic').css({'display': 'none'});
650
  }
654
 
655
  jQuery(window).resize(resizeColorBox);
656
  window.addEventListener("orientationchange", resizeColorBox, false);
657
+
658
+ document.addEventListener("fullscreenchange", function() {
659
+ window.sgpbFullScreen = true;
660
+ }, false);
661
+
662
+ document.addEventListener("msfullscreenchange", function() {
663
+ window.sgpbFullScreen = true;
664
+ }, false);
665
+
666
+ document.addEventListener("mozfullscreenchange", function() {
667
+ window.sgpbFullScreen = true;
668
+ }, false);
669
+
670
+ document.addEventListener("webkitfullscreenchange", function() {
671
+ window.sgpbFullScreen = true;
672
+ }, false);
673
  };
674
 
675
  SGPopup.prototype.resizeAfterContentResizing = function () {
789
 
790
  SGPopup.prototype.closeButtonDelay = function (buttonDelayValue) {
791
  setTimeout(function(){
792
+ jQuery('#sgcboxClose').attr('style', 'display: block !important;');
793
+ },
794
+ buttonDelayValue * 1000 /* received values covert to seconds */
795
  );
796
  }
797
 
889
  if (!popupContentWrapper.length) {
890
  return false;
891
  }
892
+
893
  var currentHtmlContent = popupContentWrapper.contents();
894
 
895
  if (!currentHtmlContent.length) {
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: 2.6.7.2
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: 2.6.7.4
7
  * Author: Sygnoos
8
  * Author URI: https://sygnoos.com
9
  * License: GPLv2
readme.txt CHANGED
@@ -5,7 +5,7 @@ Author: Popup Builder
5
  Donate link: https://popup-builder.com
6
  Tags: popup, pop up, wordpress popup, popup maker, exit popup
7
  Requires at least: 3.8
8
- Tested up to: 4.9.1
9
  Requires PHP: 5.3.3
10
  Stable tag: trunk
11
  License: GPLv2 or later
@@ -15,17 +15,17 @@ Discover whole new ball game of pop-ups. Popup whatever floats your boat, custom
15
 
16
  == Description ==
17
 
18
- #### Popup Builder
19
 
20
- Popup anything with Popup builder, create and manage powerful promotion modal popups for your WordPress blog or website. Powerful, and yet, easy to use popup plugin that will help you to grab your visitors' attention to introduce them your offers, discounts or other kind of promotional notices.
21
 
22
  https://www.youtube.com/watch?v=3ZwRKPhHMzY
23
 
24
- Popup Builder is a modal popup plugin for WordPress website that allows you to add highly customizable pop up windows. This plugin will enable awesome popup in your WordPress website using short codes. You can add unlimited popups with their own configurations. We added effective settings'-panel for each popup. So, you can fully customize the popup themes, colors, sizes and many other options.
25
 
26
- Popups are a good marketing tool, they're impressively high converting. A web page with a modal popup typically sees more conversions than the same page without a popup. More important, a page with a well designed and thoughtfully implemented popup converts better than one with a poor popup. With Popup Builder plugin you can customize the popup according to your needs.
27
 
28
- With popup builder plugin you can insert any type of content, right into your Popup. Insert your pop-up into any page or a post, easily and fast. Popups that open automatically, are the best solution to attract your visitor's attention. Add some effects to your Popup and your customers won't go unnoticed.
29
 
30
  **Popup Builder - Features:**
31
 
@@ -35,8 +35,8 @@ With popup builder plugin you can insert any type of content, right into your Po
35
  * Customize popup animation effect
36
  * Choose between several popup themes
37
  * Set popup location on the screen
38
- * Change popup content background color
39
- * Customize popup overlay color and opacity
40
  * Add custom class for popup overlay
41
  * Add custom class for popup content
42
  * Repetitive pop up - show popup every X period of time
@@ -45,7 +45,7 @@ With popup builder plugin you can insert any type of content, right into your Po
45
  * Popup opening sound
46
  * Responsive popup
47
  * Scale popup for desktop sizes
48
- * Network/Multisite popup
49
  * On click popup
50
  * Open popup from URL. Example http://popup-builder.com/index.php?sg_popup_id=1
51
  * Reopen popup after form submission
@@ -78,11 +78,11 @@ With popup builder plugin you can insert any type of content, right into your Po
78
 
79
  * Create countdown popup - your site is under construction and you are planning to open it in some amount of time, in this case countdown popup is exactly for you.
80
 
81
- * Exit popup - catch your users attention when they decide to leave your site without doing any of the things you want them to do. Exit popups can briefly interrupt them with a popup message, steering them towards a singular call to action.
82
 
83
- * Subscription popup - this kind of popup provides the easiest way to create an efficient connection between users and your website through subscription popup. With this simple popup solution you can quickly collect subscribers in a very pleasant and elegant way. With our newsletter module you can easily send mass mailings.
84
 
85
- * Create contact form popup - contact popup will allow your clients to write you a message right from the popup.
86
 
87
  * 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!
88
 
@@ -106,15 +106,16 @@ With popup builder plugin you can insert any type of content, right into your Po
106
 
107
  * Auto close popup after X seconds - useful when activated together with the previous option, you can disable manual popup closing but close it after a certain time.
108
 
109
- * Targeting popup - this popup allows you to show a popup depending on user's location. This kind of popup is useful if your product or service is created for a specific region.
110
 
111
- * Show popup for logged in users or vice versa - you can make the popup appear only for the users who are logged in. Or you can make the popup visible only for the users who aren't logged in.
112
 
113
- * Schedule popup - you can schedule the period (in days) when you want the popup to be shown. The users will see the popup during the period of the time you set. (Ex. April 13- May 9)
114
 
115
  * Popup showing frequency - you can select how many times you want the popup be shown to the same user. This means, you can make the popup appear for 3 times, for example, to the same user.
116
 
117
 
 
118
  <a href="https://popup-builder.com" target="_blank">Get Popup Builder PRO package</a>
119
  <div>
120
  Customizing the look and feel of the popup is as important as the content itself. That's why Popup Builder gives you the ability to customize the timings, effects, position and size of the popup to your needs.
@@ -169,6 +170,17 @@ Go to the Popup Builder settings and set your desired options.
169
 
170
  == Changelog ==
171
 
 
 
 
 
 
 
 
 
 
 
 
172
  = Version 2.6.7.2 =
173
  * Bug fixed connected to page builder plugins.
174
 
@@ -506,7 +518,6 @@ Go to the Popup Builder settings and set your desired options.
506
  = Version 2.1.3 =
507
  * Bug fixed.
508
 
509
-
510
  = Version 2.1.2 =
511
  * Bug fixed inside Facebook Popup.
512
  * Optimizations.
@@ -764,7 +775,7 @@ Current Version of Popup Builder is 2.6.7
764
 
765
  == Other Notes ==
766
 
767
- Our Popup Builder plugin is brilliant if you need to insert some ads to your website to attract users' attention. You can use our popups to redirect users to pages which you want them to visit, besides your host website. You can share videos, images and links of websites you want to. By our Popup Builder plugin you can add subscription forms to make your users subscribe to your page. You can even set restrictions for some groups of users, inserting restriction popups created by our popup plugin to your page.
768
 
769
  Popup Builder Team finds popups as another definition of the word "Solution".
770
  Ready to see 10 relevant problems that appear while social marketing?
@@ -784,7 +795,7 @@ You may easily customize it by choosing the theme and effect types applied to it
784
  Secondly - the time, when the Popup turns up.
785
  You have all the abilities to manage when and where the popup turns up. It can appear while visitors scroll the page, whether while they try to exit the page.
786
  Thirdly - the size of your Popup.
787
- You may make the HTML Popup to remain unchangeable or be resized according to the window.
788
  Fourthly - how visitors can close it.
789
  The popup could close itself either automatically or by visitor's hand. All this options are up to you our dear customer.
790
  And finally - the availability of the Popup.
@@ -795,14 +806,14 @@ You can decide on its availability on different devices (PC, mobile, etc.).
795
  == Second solution: Image Popup ==
796
 
797
  It is not a secret that even the greatest articles written with the most attractive style awaken laziness among readers. The victims of these situations are huge texts that are allowed to include only words as main characters but the images. An undeniable fact - even few images certainly ease the process of reading and getting information from blogs.
798
- Image popup is the best way to deal with this problem; the best way to make your ideas stand out in the crowd. All you need to do is using all the available opportunities of image popup by adding a topic image to the pilot.
799
 
800
  * You may customize your installed image popup in many interesting ways, such as determining the image dimensions that considers being a very responsive option due to its resizing and repositioning ability when the main window resizes.
801
- * This popup also provides options for choosing the image frame theme and effects that vary in the duration of the popup animation as well.
802
  * There is one more possibility up to you, to specify how long the ready-made popup appearance should be delayed after loading the page.
803
  * With the help of both basic and advanced options, you are able to easily regulate the dismissal, display, color and location of the image popup.
804
- * You may choose where to appear the image popup. It can appear at the top right or left corner, at the bottom or in the center.
805
- * You can choose to show the popup whenever the user scrolls the page or ensure its permanent occurrence by disabling popup closing in any possible way.
806
  * On the other hand, the popup can be chosen to close automatically, whether be dismissed when the user clicks inside or beyond of the popup area.
807
  * In addition, it is up to you to decide on your popup accessibility on different devices (PC, mobile, etc.).
808
 
@@ -810,37 +821,37 @@ Image popup is the best way to deal with this problem; the best way to make your
810
  = ShortCode Popup =
811
 
812
  It is so wonderful and advantageous that more and more people take up the business of Internet content creation, as each of them tries to enrich us with marvelous tools to make use of in different spheres. Some are the authors of tooltips, column layouts, galleries, others of buttons, block quotes, social media buttons, etc.. All of the latter can be inserted into any of your content, page or post in the form of a short code which will be opened in a popup window.
813
- Besides having the ability to add a short code into the modal popup, it is also possible to manage the popup development with the help of different options available. First, you can apply a certain theme and/or effect to it, decide how long its appearance should be delayed after loading the page. Then, you will be able to configure the display and dismissal of the popup by choosing it to be closed automatically or by hand, be opened while scrolling or be a permanent one. Also, you are to decide where the popup will be located.
814
- As far as the popup accessibility on different devices is freely manageable too, the popup is quite responsive and is resized accordingly.
815
 
816
 
817
  = Iframe Popup =
818
 
819
- Here is another useful pop up to make your content or website more sociable and vibrant. It is a great addition to your social toolkit, since Iframe enables you to include and remind of another website with the help of a simple popup.
820
  One can think of a number of cases when this popup can efficiently be used.
821
  For instance, if you are lucky enough to have sponsors or you have got partners that are worth a mention, Iframe will give you the wonderful opportunity to share the work they do. Thus, by clicking on the popup, the user will get to their websites.
822
  It can also be used to add some maps, diagrams, charts, etc. to your content without putting them within the material itself or by refraining from dealing with copyright issues.
823
- You can build the Iframe popup having decided on the popup frame theme and the effects that vary in duration. It is also possible to manage how long the ready-made popup appearance should be delayed after loading the page (in sec).
824
- The popup can appear at the top right/left corner, at the bottom or in the center. Thanks to certain ticks-off in the options section you will be able to to show the popup whenever the user scrolls the page and disable popup closing at all. On the contrary, the popup can be chosen to close automatically or be dismissed when the user clicks inside or beyond the popup area.
825
  Finally, you can decide whether to make the popup accessible or not on different devices by choosing the options available.
826
 
827
  = Video Popup =
828
 
829
- Every single day lots of information and news is shared by a number of people online. And it is widespread knowledge that any information transmitted visually is more comprehensible and competitive, as motion pictures, video clips, etc. give any material somehow a unique flavour.
830
  Surely, many of you would like to take advantage of the opportunity that this video popup offers. It can help to emphasize or season your ideas. You will be able to add video content (YouTube, Vimeo, etc.) by putting its video URL in the popup options.
831
- Happily, you can manage the popup look by choosing the popup frame theme and the effect type that can vary in duration. Also, you can decide how long the popup appearance should be delayed after loading the main page.
832
- The availability of both basic and advanced options makes the popup dismissal and display easily manageable. You can have the popup at the top right/left corner, at the bottom or in the center of the page. The popup can appear while the user is scrolling the page and play right away thanks to its wonderful autoplay option. Meanwhile, you can secure the permanent appearance of the popup having disabled popup closing in any possible way or it can be chosen to close automatically or disappear when the user clicks inside or beyond the popup area. Also, it's of importance that you are able to decide whether the popup should be available on a certain device or not.
833
 
834
  = Social Popup =
835
 
836
  Sometimes it is really crucial to make your voice audible to the public when you have so many things to share. On the Internet it is the social media that can enable you with the chance to communicate your ideas to the world. And to reach this goal, you can get this social popup that gives you very useful options while sharing.
837
  Having added this popup, you will be provided with a variety of office and general tools to develop your content as you wish. Then, you will be able to make a choice between the two options to share in the social media either by adding the URL of the website you work on - the active URL - or by putting some important material from another internet source.
838
  But before making the sharing option available you can configure the labels according to the theme and font size you want. It is also possible to make visible or hide the number of shares you have had so far. Finally, you are able to share your material with all the social media given or only the ones you prefer.
839
- The dismissal, display, colour and location of the social popup can be easily regulated as well by making use of both basic and advanced options. The popup may appear at the top right/left corner, at the bottom or in the centre. You can choose to show the popup whenever the user scrolls the page or disable popup closing thus ensuring its permanent occurrence. Meanwhile, the popup can be arranged to close automatically, be dismissed when the user clicks inside or beyond the popup area. Also, you have the possibility to decide on your popup accessibility on different devices ( PC, mobile, etc.).
840
 
841
  = Exit-Intent Popup =
842
 
843
- The exit-intent popup technologies we offer can detect when your visitors are about to push the back button, close their browser, or navigate away and they can appear as a popup addressed to them. These popups are "overlay popups", and cannot be blocked by popup blockers. Also, they are the most customer-friendly approach to communicate a special message to your visitors, as they don't interrupt your visitors while browsing or scanning your site. Thus, you will be able to easily draw their attention to sales, special offers and contests. If you decide to make use of targeted audience, you'd better consider those of a particular social network you get a lot of traffic from. Another thing you will be able to do is to grab email addresses by offering an incentive to subscribe.
844
 
845
  = Countdown Popup =
846
 
@@ -852,16 +863,15 @@ In the meantime, there are basic and advanced options available which help to re
852
 
853
  No doubt, building a trustful relationship with an audience is highly important if you wish to make a profit online and have an email list full of targeted, engaged subscribers. As the trust grows, the audience will be more prone to buying whatever is being sold. One way to make this happen is to make people wish to subscribe to your website with the help of the Subscription popup which can help to extend the functionality of your website.
854
  The Subscription popup offered allows to generate a great-looking form, add a compelling incentive to subscribe and guarantee the buildup of an email list, as, once installed, it will be given maximum visibility on your website.
855
- Happily, almost every element of the popup is fully customizable - including fonts, sizes and colours, themes and effects applied. Also, you can view the popup real-time thanks to the live previewer displaying changes you make.
856
  The appearance and disappearance of the popup is under complete control too. It will appear after a pre-configured wait, be permanent or turn up while scrolling, close by hand or by itself.
857
 
858
  = Age restriction Popup =
859
 
860
  Internet is recognized as somehow an open space for creation and dissemination of ideas and content that comply to no kind of limits. It is also known that many children have at least once accessed some online content that contains violence, sex, bad language, etc.. The latter can play a crucial role in the child's personality development and can lead to serious deviations later.
861
- Thus, to help avoid such kind of developments, you can foster child protection by simply deciding on how much explicit your each content is and installing the age restriction popup we offer. It will make your content accessible to the age group it refers to, as the popup will make the user answer some questions to decide his/her age and will direct to certain content accordingly.
862
- This popup can be built up to your preferences, as there is a range of options at hand. First, you can choose to put restriction on both visual and textual materials. Then, you will be able to see about the popup appearance by choosing the theme and effects to be adjusted to it, the background and text colour, radius of the "Yes" and "No" buttons below the question. Also, you can manage the popup dimensions and decide on its accessibility on different devices. Meanwhile, you are able to make it automatically closable, leave it open all the time or only while scrolling the page.
863
-
864
 
865
- More popup descriptions coming soon.
866
 
867
  Popup Builder Team.
5
  Donate link: https://popup-builder.com
6
  Tags: popup, pop up, wordpress popup, popup maker, exit popup
7
  Requires at least: 3.8
8
+ Tested up to: 4.9.4
9
  Requires PHP: 5.3.3
10
  Stable tag: trunk
11
  License: GPLv2 or later
15
 
16
  == Description ==
17
 
18
+ #### WordPress Popup Builder
19
 
20
+ Pop up anything with Popup Builder, create and manage powerful promotion modal popups for your WordPress blog or website. Powerful, and yet, easy to use this plugin that will help you to grab your visitors' attention to introduce them your offers, discounts or other kind of promotional notices.
21
 
22
  https://www.youtube.com/watch?v=3ZwRKPhHMzY
23
 
24
+ This is a modal popup plugin for WordPress websites, that allows you to add highly customizable lightbox. This lightbox plugin will enable awesome popup windows in your WordPress website using short codes. You can add unlimited popups with their own configurations. We added effective settings'-panel for each type. So, you can fully customize the popup themes, colors, sizes and many other options.
25
 
26
+ Popups are a good marketing tool, they're impressively high converting. A web page with a modal popup typically sees more conversions than the same page without one. More important, a page with a well-designed and thoughtfully implemented popup converts better than one with a poor popup. With Popup Builder plugin you can customize the look and the functionality according to your needs.
27
 
28
+ With Popup Builder plugin you can insert any type of content, right into your Popup. Insert them into any page or a post, easily and fast. Popups that open automatically, are the best solution to attract your visitor's attention. Add some effects to your Popup and your customers won't go unnoticed.
29
 
30
  **Popup Builder - Features:**
31
 
35
  * Customize popup animation effect
36
  * Choose between several popup themes
37
  * Set popup location on the screen
38
+ * Change the content background color
39
+ * Customize the overlay color and opacity
40
  * Add custom class for popup overlay
41
  * Add custom class for popup content
42
  * Repetitive pop up - show popup every X period of time
45
  * Popup opening sound
46
  * Responsive popup
47
  * Scale popup for desktop sizes
48
+ * Network/Multisite
49
  * On click popup
50
  * Open popup from URL. Example http://popup-builder.com/index.php?sg_popup_id=1
51
  * Reopen popup after form submission
78
 
79
  * Create countdown popup - your site is under construction and you are planning to open it in some amount of time, in this case countdown popup is exactly for you.
80
 
81
+ * Exit popup - catch your users attention when they decide to leave your site without doing any of the things you want them to do. Exit popups can briefly interrupt them with a popup message, steering them towards a singular call to action.
82
 
83
+ * Subscription popup - this type provides the easiest way to create an efficient connection between users and your website through subscription popup. With this simple popup solution, you can quickly collect subscribers in a very pleasant and elegant way. With our newsletter module you can easily send mass mailings.
84
 
85
+ * Create contact form popup this type will allow your clients to write you a message right from the popup.
86
 
87
  * 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!
88
 
106
 
107
  * Auto close popup after X seconds - useful when activated together with the previous option, you can disable manual popup closing but close it after a certain time.
108
 
109
+ * Targeting popup - this option allows you to show a popup depending on user's location. This kind of popup is useful if your product or service is created for a specific region.
110
 
111
+ * Show popup for logged in users or vice versa - you can make the popup appear only for the users who are logged in. Or you can make the it visible only for the users who aren't logged in.
112
 
113
+ * Schedule popup - you can schedule the period (in days) when you want the popup to be shown. The users will see the popup during the period of the time you set. (Ex. April 13- May 9)
114
 
115
  * Popup showing frequency - you can select how many times you want the popup be shown to the same user. This means, you can make the popup appear for 3 times, for example, to the same user.
116
 
117
 
118
+
119
  <a href="https://popup-builder.com" target="_blank">Get Popup Builder PRO package</a>
120
  <div>
121
  Customizing the look and feel of the popup is as important as the content itself. That's why Popup Builder gives you the ability to customize the timings, effects, position and size of the popup to your needs.
170
 
171
  == Changelog ==
172
 
173
+ = Version 2.6.7.4 =
174
+ * Video popup improvements connected to full screen option
175
+ * Popup integration's path fixed
176
+ * Bug fixed connected to popup preview
177
+
178
+ = Version 2.6.7.3 =
179
+ * UI improvements.
180
+ * Typo fixes.
181
+ * Email validator fixed for subscription popup and contact form popup.
182
+ * Code optimization.
183
+
184
  = Version 2.6.7.2 =
185
  * Bug fixed connected to page builder plugins.
186
 
518
  = Version 2.1.3 =
519
  * Bug fixed.
520
 
 
521
  = Version 2.1.2 =
522
  * Bug fixed inside Facebook Popup.
523
  * Optimizations.
775
 
776
  == Other Notes ==
777
 
778
+ Our Popup Builder plugin is brilliant if you need to insert some ads to your website to attract users' attention. You can use our popups to redirect users to pages which you want them to visit, besides your host website. You can share videos, images and links of websites you want to. By our Popup Builder plugin you can add subscription forms to make your users subscribe to your page. You can even set restrictions for some groups of users, inserting restriction popups created by our plugin to your page.
779
 
780
  Popup Builder Team finds popups as another definition of the word "Solution".
781
  Ready to see 10 relevant problems that appear while social marketing?
795
  Secondly - the time, when the Popup turns up.
796
  You have all the abilities to manage when and where the popup turns up. It can appear while visitors scroll the page, whether while they try to exit the page.
797
  Thirdly - the size of your Popup.
798
+ You may make the it to remain unchangeable or be resized according to the window.
799
  Fourthly - how visitors can close it.
800
  The popup could close itself either automatically or by visitor's hand. All this options are up to you our dear customer.
801
  And finally - the availability of the Popup.
806
  == Second solution: Image Popup ==
807
 
808
  It is not a secret that even the greatest articles written with the most attractive style awaken laziness among readers. The victims of these situations are huge texts that are allowed to include only words as main characters but the images. An undeniable fact - even few images certainly ease the process of reading and getting information from blogs.
809
+ Image popup is the best way to deal with this problem; the best way to make your ideas stand out in the crowd. All you need to do is using all the available opportunities we offer by adding a topic image to the pilot.
810
 
811
  * You may customize your installed image popup in many interesting ways, such as determining the image dimensions that considers being a very responsive option due to its resizing and repositioning ability when the main window resizes.
812
+ * It also provides options for choosing the image frame theme and effects that vary in the duration of the popup animation as well.
813
  * There is one more possibility up to you, to specify how long the ready-made popup appearance should be delayed after loading the page.
814
  * With the help of both basic and advanced options, you are able to easily regulate the dismissal, display, color and location of the image popup.
815
+ * You may choose where it should appear. It can appear at the top right or left corner, at the bottom or in the center.
816
+ * You can choose to show it whenever the user scrolls the page or ensure its permanent occurrence by disabling popup closing in any possible way.
817
  * On the other hand, the popup can be chosen to close automatically, whether be dismissed when the user clicks inside or beyond of the popup area.
818
  * In addition, it is up to you to decide on your popup accessibility on different devices (PC, mobile, etc.).
819
 
821
  = ShortCode Popup =
822
 
823
  It is so wonderful and advantageous that more and more people take up the business of Internet content creation, as each of them tries to enrich us with marvelous tools to make use of in different spheres. Some are the authors of tooltips, column layouts, galleries, others of buttons, block quotes, social media buttons, etc.. All of the latter can be inserted into any of your content, page or post in the form of a short code which will be opened in a popup window.
824
+ Besides having the ability to add a short code into the modal popup, it is also possible to manage its development with the help of different options available. First, you can apply a certain theme and/or effect to it, decide how long its appearance should be delayed after loading the page. Then, you will be able to configure the display and dismissal of the popup by choosing it to be closed automatically or by hand, be opened while scrolling or be a permanent one. Also, you are to decide where the popup will be located.
825
+ As far as the popup accessibility on different devices is freely manageable too, it’s quite responsive and is resized accordingly.
826
 
827
 
828
  = Iframe Popup =
829
 
830
+ Here is another useful pop up to make your content or website more sociable and vibrant. It is a great addition to your social toolkit, since Iframe enables you to include and remind of another website with the help of a simple tool.
831
  One can think of a number of cases when this popup can efficiently be used.
832
  For instance, if you are lucky enough to have sponsors or you have got partners that are worth a mention, Iframe will give you the wonderful opportunity to share the work they do. Thus, by clicking on the popup, the user will get to their websites.
833
  It can also be used to add some maps, diagrams, charts, etc. to your content without putting them within the material itself or by refraining from dealing with copyright issues.
834
+ You can build the Iframe popup having decided on its frame theme and the effects that vary in duration. It is also possible to manage how long the ready-made popup appearance should be delayed after loading the page (in sec).
835
+ The popup can appear at the top right/left corner, at the bottom or in the center. Thanks to certain ticks-off in the options section you will be able to show the popup whenever the user scrolls the page and disable its closing at all. On the contrary, the popup can be chosen to close automatically or be dismissed when the user clicks inside or beyond the popup area.
836
  Finally, you can decide whether to make the popup accessible or not on different devices by choosing the options available.
837
 
838
  = Video Popup =
839
 
840
+ Every single day lots of information and news is shared by a number of people online. And it is widespread knowledge that any information transmitted visually is more comprehensible and competitive, as motion pictures, video clips, etc. give any material somehow a unique flavor.
841
  Surely, many of you would like to take advantage of the opportunity that this video popup offers. It can help to emphasize or season your ideas. You will be able to add video content (YouTube, Vimeo, etc.) by putting its video URL in the popup options.
842
+ Happily, you can manage its look by choosing the popup frame theme and the effect type that can vary in duration. Also, you can decide how long the popup appearance should be delayed after loading the main page.
843
+ The availability of both basic and advanced options makes the popup dismissal and display easily manageable. You can have it at the top right/left corner, at the bottom or in the center of the page. The popup can appear while the user is scrolling the page and play right away thanks to its wonderful autoplay option. Meanwhile, you can secure the permanent appearance of the popup having disabled its closing in any possible way or it can be chosen to close automatically or disappear when the user clicks inside or beyond the popup area. Also, it's of importance that you are able to decide whether the popup should be available on a certain device or not.
844
 
845
  = Social Popup =
846
 
847
  Sometimes it is really crucial to make your voice audible to the public when you have so many things to share. On the Internet it is the social media that can enable you with the chance to communicate your ideas to the world. And to reach this goal, you can get this social popup that gives you very useful options while sharing.
848
  Having added this popup, you will be provided with a variety of office and general tools to develop your content as you wish. Then, you will be able to make a choice between the two options to share in the social media either by adding the URL of the website you work on - the active URL - or by putting some important material from another internet source.
849
  But before making the sharing option available you can configure the labels according to the theme and font size you want. It is also possible to make visible or hide the number of shares you have had so far. Finally, you are able to share your material with all the social media given or only the ones you prefer.
850
+ The dismissal, display, colour and location of the social popup can be easily regulated as well by making use of both basic and advanced options. The popup may appear at the top right/left corner, at the bottom or in the centre. You can choose to show the it whenever the user scrolls the page or disable popup closing thus ensuring its permanent occurrence. Meanwhile, the popup can be arranged to close automatically, be dismissed when the user clicks inside or beyond the popup area. Also, you have the possibility to decide on your popup accessibility on different devices ( PC, mobile, etc.).
851
 
852
  = Exit-Intent Popup =
853
 
854
+ The exit-intent popup technologies we offer can detect when your visitors are about to push the back button, close their browser, or navigate away and they can appear as a popup addressed to them. These are "overlay popups", and cannot be blocked by popup blockers. Also, they are the most customer-friendly approach to share a special message to your visitors, as they don't interrupt your visitors while browsing or scanning your site. Thus, you will be able to easily draw their attention to sales, special offers and contests. If you decide to make use of targeted audience, you'd better consider those of a particular social network you get a lot of traffic from. Another thing you will be able to do is to grab email addresses by offering an incentive to subscribe.
855
 
856
  = Countdown Popup =
857
 
863
 
864
  No doubt, building a trustful relationship with an audience is highly important if you wish to make a profit online and have an email list full of targeted, engaged subscribers. As the trust grows, the audience will be more prone to buying whatever is being sold. One way to make this happen is to make people wish to subscribe to your website with the help of the Subscription popup which can help to extend the functionality of your website.
865
  The Subscription popup offered allows to generate a great-looking form, add a compelling incentive to subscribe and guarantee the buildup of an email list, as, once installed, it will be given maximum visibility on your website.
866
+ Happily, almost every element of the popup is fully customizable - including fonts, sizes and colours, themes and effects applied. Also, you can view it real-time thanks to the live previewer displaying changes you make.
867
  The appearance and disappearance of the popup is under complete control too. It will appear after a pre-configured wait, be permanent or turn up while scrolling, close by hand or by itself.
868
 
869
  = Age restriction Popup =
870
 
871
  Internet is recognized as somehow an open space for creation and dissemination of ideas and content that comply to no kind of limits. It is also known that many children have at least once accessed some online content that contains violence, sex, bad language, etc.. The latter can play a crucial role in the child's personality development and can lead to serious deviations later.
872
+ Thus, to help avoid such kind of developments, you can foster child protection by simply deciding on how much explicit each of your content is and installing the age restriction popup we offer. It will make your content accessible to the age group it refers to, as the popup will make the user answer some questions to decide his/her age and will direct to certain content accordingly.
873
+ This popup can be built up to your preferences, as there is a range of options at hand. First, you can choose to put restriction on both visual and textual materials. Then, you will be able to see about the popup appearance by choosing the theme and effects to be adjusted to it, the background and text colour, radius of the "Yes" and "No" buttons below the question. Also, you can manage its dimensions and decide on its accessibility on different devices. Meanwhile, you are able to make it automatically closable, leave it open all the time or only while scrolling the page.
 
874
 
875
+ More marketing popup descriptions/solutions are coming soon.
876
 
877
  Popup Builder Team.