Popup Builder – Responsive WordPress Pop up - Version 2.0.9

Version Description

Download this release

Release Info

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

Code changes from version 2.0.8 to 2.0.9

classes/PopupInstaller.php CHANGED
@@ -20,11 +20,17 @@ class PopupInstaller
20
  `id` int(11) NOT NULL,
21
  `content` text NOT NULL
22
  ) ENGINE=InnoDB DEFAULT CHARSET=utf8;";
 
 
 
 
 
23
 
24
 
25
  $wpdb->query($sgPopupBase);
26
  $wpdb->query($sgPopupImageBase);
27
  $wpdb->query($sgPopupHtmlBase);
 
28
  }
29
 
30
  public static function install()
@@ -57,10 +63,13 @@ class PopupInstaller
57
  $popupHtmlTable = $wpdb->prefix.$blogsId."sg_html_popup";
58
  $popupHtmlSql = "DROP TABLE ". $popupHtmlTable;
59
 
 
 
 
60
  $wpdb->query($popupSql);
61
  $wpdb->query($popupImageSql);
62
  $wpdb->query($popupHtmlSql);
63
-
64
  }
65
 
66
  public static function deleteSgPopupOptions($blogsId)
20
  `id` int(11) NOT NULL,
21
  `content` text NOT NULL
22
  ) ENGINE=InnoDB DEFAULT CHARSET=utf8;";
23
+ $sgPopupFblikeBase = "CREATE TABLE IF NOT EXISTS ". $wpdb->prefix.$blogsId."sg_fblike_popup (
24
+ `id` int(11) NOT NULL,
25
+ `content` text NOT NULL,
26
+ `options` text NOT NULL
27
+ ) ENGINE=InnoDB DEFAULT CHARSET=utf8;";
28
 
29
 
30
  $wpdb->query($sgPopupBase);
31
  $wpdb->query($sgPopupImageBase);
32
  $wpdb->query($sgPopupHtmlBase);
33
+ $wpdb->query($sgPopupFblikeBase);
34
  }
35
 
36
  public static function install()
63
  $popupHtmlTable = $wpdb->prefix.$blogsId."sg_html_popup";
64
  $popupHtmlSql = "DROP TABLE ". $popupHtmlTable;
65
 
66
+ $popupFblikeTable = $wpdb->prefix.$blogsId."sg_fblike_popup";
67
+ $popupFblikeSql = "DROP TABLE ". $popupFblikeTable;
68
+
69
  $wpdb->query($popupSql);
70
  $wpdb->query($popupImageSql);
71
  $wpdb->query($popupHtmlSql);
72
+ $wpdb->query($popupFblikeSql);
73
  }
74
 
75
  public static function deleteSgPopupOptions($blogsId)
classes/SGFblikePopup.php ADDED
@@ -0,0 +1,108 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ require_once(dirname(__FILE__).'/SGPopup.php');
3
+
4
+ class SGFblikePopup extends SGPopup
5
+ {
6
+ public $content;
7
+ public $fblikeOptions;
8
+
9
+ public function setContent($content)
10
+ {
11
+ $this->content = $content;
12
+ }
13
+
14
+ public function getContent()
15
+ {
16
+ return $this->content;
17
+ }
18
+
19
+ public function setFblikeOptions($options)
20
+ {
21
+ $this->fblikeOptions = $options;
22
+ }
23
+
24
+ public function getFblikeOptions()
25
+ {
26
+ return $this->fblikeOptions;
27
+ }
28
+
29
+ public static function create($data, $obj = null)
30
+ {
31
+ $obj = new self();
32
+ $options = json_decode($data['options'], true);
33
+ $fblikeOptions = $options['fblikeOptions'];
34
+
35
+ $obj->setFblikeOptions($fblikeOptions);
36
+ $obj->setContent($data['fblike']);
37
+
38
+ return parent::create($data, $obj);
39
+ }
40
+
41
+ public function save($data = array())
42
+ {
43
+
44
+ $editMode = $this->getId()?true:false;
45
+
46
+ $res = parent::save($data);
47
+ if ($res===false) return false;
48
+
49
+ $sgFblikeContent = $this->getContent();
50
+ $fblikeOptions = $this->getFblikeOptions();
51
+
52
+ global $wpdb;
53
+ if ($editMode) {
54
+ $sgFblikeContent = stripslashes($sgFblikeContent);
55
+ $sql = $wpdb->prepare("UPDATE ".$wpdb->prefix."sg_fblike_popup SET content=%s, options=%s WHERE id=%d", $sgFblikeContent, $fblikeOptions, $this->getId());
56
+ $res = $wpdb->query($sql);
57
+ }
58
+ else {
59
+
60
+ $sql = $wpdb->prepare("INSERT INTO ".$wpdb->prefix."sg_fblike_popup (id, content, options) VALUES (%d, %s, %s)",$this->getId(),$sgFblikeContent, $fblikeOptions);
61
+ $res = $wpdb->query($sql);
62
+ }
63
+ return $res;
64
+ }
65
+
66
+ protected function setCustomOptions($id)
67
+ {
68
+ global $wpdb;
69
+ $st = $wpdb->prepare("SELECT content, options FROM ".$wpdb->prefix."sg_fblike_popup WHERE id = %d", $id);
70
+ $arr = $wpdb->get_row($st,ARRAY_A);
71
+ $this->setContent($arr['content']);
72
+ $this->setFblikeOptions($arr['options']);
73
+ }
74
+
75
+ protected function getExtraRenderOptions()
76
+ {
77
+ $options = json_decode($this->getFblikeOptions(), true);
78
+ $url = $options['fblike-like-url'];
79
+ $layout = $options['fblike-layout'];
80
+
81
+ $content = $this->getContent();
82
+ $content .= "<div id='fb-root'></div>";
83
+ $content .= "<script>
84
+ (function(d, s, id) {
85
+ var js, fjs = d.getElementsByTagName(s)[0];
86
+ if (d.getElementById(id)) return;
87
+ js = d.createElement(s); js.id = id;
88
+ js.src = \"//connect.facebook.net/en_GB/sdk.js#xfbml=1&version=v2.5\";
89
+ fjs.parentNode.insertBefore(js, fjs);
90
+ }(document, 'script', 'facebook-jssdk'));
91
+ </script>";
92
+ $content .= '<div class = "sg-fb-buttons-wrapper"><div class="fb-like" data-href="'.$url.'" data-layout="'.$layout.'" data-action="like" data-show-faces="true" data-share="true"></div></div>';
93
+ $content .= '<style>
94
+ .sg-fb-buttons-wrapper{
95
+ text-align: center;
96
+ }
97
+ #sgcboxLoadedContent iframe {
98
+ max-width: none !important;
99
+ }
100
+ </style>';
101
+ return array('html'=>$content);
102
+ }
103
+
104
+ public function render()
105
+ {
106
+ return parent::render();
107
+ }
108
+ }
files/main_section/fblike.php ADDED
@@ -0,0 +1,15 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <div class="sg-wp-editor-container">
2
+ <?php
3
+ $content = @$sgPopupDataFblike;
4
+ $editorId = 'sg_popup_fblike';
5
+ $settings = array(
6
+ 'wpautop' => false,
7
+ 'tinymce' => array(
8
+ 'width' => '100%',
9
+ ),
10
+ 'textarea_rows' => '6',
11
+ 'media_buttons' => true
12
+ );
13
+ wp_editor($content, $editorId, $settings);
14
+ ?>
15
+ </div>
files/options_section/fblike.php ADDED
@@ -0,0 +1,26 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <div id="special-options">
2
+ <div id="post-body" class="metabox-holder columns-2">
3
+ <div id="postbox-container-2" class="postbox-container">
4
+ <div id="normal-sortables" class="meta-box-sortables ui-sortable">
5
+ <div class="postbox popup-builder-special-postbox">
6
+ <div class="handlediv js-special-title" title="Click to toggle"><br></div>
7
+ <h3 class="hndle ui-sortable-handle js-special-title">
8
+ <span>
9
+ <?php
10
+ global $POPUP_TITLES;
11
+ $popupTypeTitle = $POPUP_TITLES[$popupType];
12
+ echo $popupTypeTitle." <span>options</span>";
13
+ ?>
14
+ </span>
15
+ </h3>
16
+ <div class="special-options-content">
17
+ <span class="liquid-width">Url:</span>
18
+ <input class="input-width-static" type="text" name="fblike-like-url" value="<?php echo esc_attr(@$sgFblikeurl); ?>">
19
+ <span class="liquid-width">Layout:</span>
20
+ <?php echo sgCreateSelect($sgFbLikeButtons,'fblike-layout',esc_html(@$sgFbLikeLayout)); ?>
21
+ </div>
22
+ </div>
23
+ </div>
24
+ </div>
25
+ </div>
26
+ </div>
files/sg_functions.php ADDED
@@ -0,0 +1,13 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ class SGFunctions
3
+ {
4
+ public static function showInfo()
5
+ {
6
+ $sgInfo = '';
7
+ $divisor = "<span class=\"info-vertical-divisor\">|</span>";
8
+ $sgInfo .= "<span>If you like the plugin, please <a href=\"https://wordpress.org/support/view/plugin-reviews/popup-builder?filter=5\" target=\"_blank\">rate it 5 stars</a></span>".$divisor;
9
+ $sgInfo .= "<a href=\"https://wordpress.org/support/plugin/popup-builder\" target=\"_blank\">Support</a>".$divisor;
10
+ $sgInfo .= "<a href=\"https://www.youtube.com/watch?v=3ZwRKPhHMzY\" target=\"_blank\">How to create a popup</a>";
11
+ echo $sgInfo;
12
+ }
13
+ }
files/sg_popup_create.php CHANGED
@@ -8,6 +8,10 @@
8
  <div class="popups-div html-popup">
9
  </div>
10
  </a>
 
 
 
 
11
  <?php if(SG_POPUP_PRO): ?>
12
  <a class="create-popup-link" href="<?php echo SG_APP_POPUP_ADMIN_URL?>admin.php?page=edit-popup&type=iframe">
13
  <div class="popups-div iframe-popup">
@@ -33,6 +37,10 @@
33
  <div class="popups-div sg-social">
34
  </div>
35
  </a>
 
 
 
 
36
  <?php endif; ?>
37
  <?php if (SG_POPUP_PRO == 0): ?>
38
  <a class="create-popup-link" href="<?php echo SG_POPUP_PRO_URL;?>" target="_blank">
@@ -59,5 +67,9 @@
59
  <div class="popups-div social-pro">
60
  </div>
61
  </a>
 
 
 
 
62
  <?php endif; ?>
63
  </div>
8
  <div class="popups-div html-popup">
9
  </div>
10
  </a>
11
+ <a class="create-popup-link" href="<?php echo SG_APP_POPUP_ADMIN_URL?>admin.php?page=edit-popup&type=fblike">
12
+ <div class="popups-div fblike-popup">
13
+ </div>
14
+ </a>
15
  <?php if(SG_POPUP_PRO): ?>
16
  <a class="create-popup-link" href="<?php echo SG_APP_POPUP_ADMIN_URL?>admin.php?page=edit-popup&type=iframe">
17
  <div class="popups-div iframe-popup">
37
  <div class="popups-div sg-social">
38
  </div>
39
  </a>
40
+ <a class="create-popup-link" href="<?php echo SG_APP_POPUP_ADMIN_URL?>admin.php?page=edit-popup&type=exitIntent">
41
+ <div class="popups-div sg-exit-intent">
42
+ </div>
43
+ </a>
44
  <?php endif; ?>
45
  <?php if (SG_POPUP_PRO == 0): ?>
46
  <a class="create-popup-link" href="<?php echo SG_POPUP_PRO_URL;?>" target="_blank">
67
  <div class="popups-div social-pro">
68
  </div>
69
  </a>
70
+ <a class="create-popup-link" href="<?php echo SG_POPUP_PRO_URL;?>" target="_blank">
71
+ <div class="popups-div exit-intent-pro">
72
+ </div>
73
+ </a>
74
  <?php endif; ?>
75
  </div>
files/sg_popup_create_new.php CHANGED
@@ -27,6 +27,10 @@
27
  case 'html':
28
  $sgPopupDataHtml = $result->getContent();
29
  break;
 
 
 
 
30
  case 'shortcode':
31
  $sgPopupDataShortcode = $result->getShortcode();
32
  break;
@@ -114,6 +118,9 @@
114
  $sgSocialShareCount = @sgSafeStr($sgSocialOptions['sgSocialShareCount']);
115
  $sgRoundButton = @sgSafeStr($sgSocialOptions['sgRoundButton']);
116
  $sgPushToBottom = @sgSafeStr($jsonData['pushToBottom']);
 
 
 
117
  }
118
 
119
 
@@ -345,6 +352,13 @@
345
  'colorbox5.css'
346
  );
347
 
 
 
 
 
 
 
 
348
  $sgTheme = array(
349
  'flat' => 'flat',
350
  'classic' => 'classic',
27
  case 'html':
28
  $sgPopupDataHtml = $result->getContent();
29
  break;
30
+ case 'fblike':
31
+ $sgPopupDataFblike = $result->getContent();
32
+ $sgFlikeOptions = $result->getFblikeOptions();
33
+ break;
34
  case 'shortcode':
35
  $sgPopupDataShortcode = $result->getShortcode();
36
  break;
118
  $sgSocialShareCount = @sgSafeStr($sgSocialOptions['sgSocialShareCount']);
119
  $sgRoundButton = @sgSafeStr($sgSocialOptions['sgRoundButton']);
120
  $sgPushToBottom = @sgSafeStr($jsonData['pushToBottom']);
121
+ $sgFlikeOptions = json_decode(@$sgFlikeOptions, true);
122
+ $sgFblikeurl = @$sgFlikeOptions['fblike-like-url'];
123
+ $sgFbLikeLayout = @$sgFlikeOptions['fblike-layout'];
124
  }
125
 
126
 
352
  'colorbox5.css'
353
  );
354
 
355
+ $sgFbLikeButtons = array(
356
+ 'button' => 'Button',
357
+ 'standard' => 'Standard',
358
+ 'box_count' => 'Box with count',
359
+ 'button_count' => 'Button with count'
360
+ );
361
+
362
  $sgTheme = array(
363
  'flat' => 'flat',
364
  'classic' => 'classic',
files/sg_popup_main.php CHANGED
@@ -11,5 +11,6 @@ require_once(SG_APP_POPUP_CLASSES.'/sgDataTable/SGPopupTable.php');
11
  <?php
12
  $table = new SGPB_PopupsView();
13
  echo $table;
 
14
  ?>
15
  </div>
11
  <?php
12
  $table = new SGPB_PopupsView();
13
  echo $table;
14
+ SGFunctions::showInfo();
15
  ?>
16
  </div>
files/sg_popup_page_selection.php CHANGED
File without changes
files/sg_popup_save.php CHANGED
@@ -8,7 +8,10 @@ function sgSanitize($optionsKey)
8
  $optionsKey == 'sg_ageRestriction'||
9
  $optionsKey =='sg_countdown'||
10
  $optionsKey =='iframe'||
11
- $optionsKey =='sg_social') {
 
 
 
12
  if(SG_POPUP_PRO) {
13
  $sgPopupData = $_POST[$optionsKey];
14
  require_once(SG_APP_POPUP_FILES ."/sg_popup_pro.php");
@@ -29,6 +32,7 @@ function sgPopupSave()
29
  $socialButtons = array();
30
  $socialOptions = array();
31
  $countdownOptions = array();
 
32
  $options = array();
33
  $showAllPages = sgSanitize('allPages');
34
 
@@ -66,11 +70,25 @@ function sgPopupSave()
66
  'sg-due-date' => sgSanitize('sg-due-date'),
67
  'countdown-position' => sgSanitize('countdown-position'),
68
  'counts-language'=> sgSanitize('counts-language'),
69
- 'coundown-position' => sgSanitize('coundown-position'),
70
  'sg-time-zone' => sgSanitize('sg-time-zone'),
71
  'sg-countdown-type' => sgSanitize('sg-countdown-type'),
72
  );
73
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
74
  $options = array(
75
  'width' => sgSanitize('width'),
76
  'height' => sgSanitize('height'),
@@ -95,6 +113,7 @@ function sgPopupSave()
95
  'onScrolling' => sgSanitize('onScrolling'),
96
  'beforeScrolingPrsent' => (int)sgSanitize('beforeScrolingPrsent'),
97
  'forMobile' => sgSanitize('forMobile'),
 
98
  'repeatPopup' => sgSanitize('repeatPopup'),
99
  'autoClosePopup' => sgSanitize('autoClosePopup'),
100
  'disablePopup' => sgSanitize('disablePopup'),
@@ -111,10 +130,14 @@ function sgPopupSave()
111
  'pushToBottom' => sgSanitize('pushToBottom'),
112
  'socialButtons' => json_encode($socialButtons),
113
  'socialOptions' => json_encode($socialOptions),
114
- 'countdownOptions' => json_encode($countdownOptions)
 
 
 
115
  );
116
 
117
  $html = stripslashes(sgSanitize("sg_popup_html"));
 
118
  $ageRestriction = stripslashes(sgSanitize('sg_ageRestriction'));
119
  $social = stripslashes(sgSanitize('sg_social'));
120
  $image = sgSanitize('ad_image');
@@ -122,6 +145,7 @@ function sgPopupSave()
122
  $iframe = sgSanitize('iframe');
123
  $video = sgSanitize('video');
124
  $shortCode = stripslashes(sgSanitize('shortcode'));
 
125
  $type = sgSanitize('type');
126
  $title = sgSanitize('title');
127
  $id = sgSanitize('hidden_popup_number');
@@ -133,23 +157,28 @@ function sgPopupSave()
133
  'type' => $type,
134
  'image' => $image,
135
  'html' => $html,
 
136
  'iframe' => $iframe,
137
  'video' => $video,
138
  'shortcode' => $shortCode,
139
  'ageRestriction' => $ageRestriction,
140
  'countdown' => $countdown,
 
141
  'social' => $social,
142
  'options' => $jsonDataArray
143
  );
144
 
145
  function setPopupForAllPages($id, $allPages) {
146
  if($allPages) {
147
- update_option('SG_POPUP_ONLOAD_ID',$id);
148
  }
149
  else {
150
  delete_option('SG_POPUP_ONLOAD_ID');
151
  }
152
  }
 
 
 
153
 
154
  if (empty($title)) {
155
  wp_redirect(SG_APP_POPUP_ADMIN_URL."admin.php?page=edit-popup&type=$type&titleError=1");
@@ -163,7 +192,8 @@ function sgPopupSave()
163
  global $wpdb;
164
  call_user_func(array($popupClassName, 'create'), $data);
165
  $lastId = $wpdb->get_var("SELECT LAST_INSERT_ID() FROM ". $wpdb->prefix."sg_popup");
166
- setPopupForAllPages($lastId,$showAllPages);
 
167
  wp_redirect(SG_APP_POPUP_ADMIN_URL."admin.php?page=edit-popup&id=".$lastId."&type=$type&saved=1");
168
  exit();
169
  }
@@ -184,10 +214,15 @@ function sgPopupSave()
184
  case 'SGVideo':
185
  $popup->setUrl($video);
186
  $popup->setRealUrl($video);
 
187
  break;
188
  case 'SGHtml':
189
  $popup->setContent($html);
190
  break;
 
 
 
 
191
  case 'SGShortcode':
192
  $popup->setShortcode($shortCode);
193
  break;
@@ -206,8 +241,13 @@ function sgPopupSave()
206
  $popup->setButtons(json_encode($socialButtons));
207
  $popup->setSocialOptions(json_encode($socialOptions));
208
  break;
 
 
 
 
209
  }
210
- setPopupForAllPages($id,$showAllPages);
 
211
  $popup->save();
212
  wp_redirect(SG_APP_POPUP_ADMIN_URL."admin.php?page=edit-popup&id=$id&type=$type&saved=1");
213
  exit();
8
  $optionsKey == 'sg_ageRestriction'||
9
  $optionsKey =='sg_countdown'||
10
  $optionsKey =='iframe'||
11
+ $optionsKey =='sg_social' ||
12
+ $optionsKey =="sg-exit-intent" ||
13
+ $optionsKey =="sg_popup_fblike"
14
+ ) {
15
  if(SG_POPUP_PRO) {
16
  $sgPopupData = $_POST[$optionsKey];
17
  require_once(SG_APP_POPUP_FILES ."/sg_popup_pro.php");
32
  $socialButtons = array();
33
  $socialOptions = array();
34
  $countdownOptions = array();
35
+ $fblikeOptions = array();
36
  $options = array();
37
  $showAllPages = sgSanitize('allPages');
38
 
70
  'sg-due-date' => sgSanitize('sg-due-date'),
71
  'countdown-position' => sgSanitize('countdown-position'),
72
  'counts-language'=> sgSanitize('counts-language'),
 
73
  'sg-time-zone' => sgSanitize('sg-time-zone'),
74
  'sg-countdown-type' => sgSanitize('sg-countdown-type'),
75
  );
76
 
77
+ $videoOptions = array(
78
+ 'video-autoplay' => sgSanitize('video-autoplay')
79
+ );
80
+
81
+ $exitIntentOptions = array(
82
+ "exit-intent-type" => sgSanitize('exit-intent-type'),
83
+ "exit-intent-expire-time" => sgSanitize('exit-intent-expire-time'),
84
+ "exit-intent-alert" => sgSanitize('exit-intent-alert')
85
+ );
86
+
87
+ $fblikeOptions = array(
88
+ "fblike-like-url" => sgSanitize("fblike-like-url"),
89
+ "fblike-layout" => sgSanitize("fblike-layout")
90
+ );
91
+
92
  $options = array(
93
  'width' => sgSanitize('width'),
94
  'height' => sgSanitize('height'),
113
  'onScrolling' => sgSanitize('onScrolling'),
114
  'beforeScrolingPrsent' => (int)sgSanitize('beforeScrolingPrsent'),
115
  'forMobile' => sgSanitize('forMobile'),
116
+ 'openMobile' => sgSanitize('openMobile'), // open only for mobile
117
  'repeatPopup' => sgSanitize('repeatPopup'),
118
  'autoClosePopup' => sgSanitize('autoClosePopup'),
119
  'disablePopup' => sgSanitize('disablePopup'),
130
  'pushToBottom' => sgSanitize('pushToBottom'),
131
  'socialButtons' => json_encode($socialButtons),
132
  'socialOptions' => json_encode($socialOptions),
133
+ 'countdownOptions' => json_encode($countdownOptions),
134
+ 'exitIntentOptions' => json_encode($exitIntentOptions),
135
+ 'videoOptions' => json_encode($videoOptions),
136
+ 'fblikeOptions' => json_encode($fblikeOptions)
137
  );
138
 
139
  $html = stripslashes(sgSanitize("sg_popup_html"));
140
+ $fblike = stripslashes(sgSanitize("sg_popup_fblike"));
141
  $ageRestriction = stripslashes(sgSanitize('sg_ageRestriction'));
142
  $social = stripslashes(sgSanitize('sg_social'));
143
  $image = sgSanitize('ad_image');
145
  $iframe = sgSanitize('iframe');
146
  $video = sgSanitize('video');
147
  $shortCode = stripslashes(sgSanitize('shortcode'));
148
+ $exitIntent = stripslashes(sgSanitize('sg-exit-intent'));
149
  $type = sgSanitize('type');
150
  $title = sgSanitize('title');
151
  $id = sgSanitize('hidden_popup_number');
157
  'type' => $type,
158
  'image' => $image,
159
  'html' => $html,
160
+ 'fblike' => $fblike,
161
  'iframe' => $iframe,
162
  'video' => $video,
163
  'shortcode' => $shortCode,
164
  'ageRestriction' => $ageRestriction,
165
  'countdown' => $countdown,
166
+ 'exitIntent' => $exitIntent,
167
  'social' => $social,
168
  'options' => $jsonDataArray
169
  );
170
 
171
  function setPopupForAllPages($id, $allPages) {
172
  if($allPages) {
173
+ update_option('SG_POPUP_ONLOAD_ID', $id);
174
  }
175
  else {
176
  delete_option('SG_POPUP_ONLOAD_ID');
177
  }
178
  }
179
+ function setOptionPopupType($id, $type) {
180
+ update_option("SG_POPUP_".strtoupper($type)."_".$id,$id);
181
+ }
182
 
183
  if (empty($title)) {
184
  wp_redirect(SG_APP_POPUP_ADMIN_URL."admin.php?page=edit-popup&type=$type&titleError=1");
192
  global $wpdb;
193
  call_user_func(array($popupClassName, 'create'), $data);
194
  $lastId = $wpdb->get_var("SELECT LAST_INSERT_ID() FROM ". $wpdb->prefix."sg_popup");
195
+ setPopupForAllPages($lastId, $showAllPages);
196
+ setOptionPopupType($lastId, $type);
197
  wp_redirect(SG_APP_POPUP_ADMIN_URL."admin.php?page=edit-popup&id=".$lastId."&type=$type&saved=1");
198
  exit();
199
  }
214
  case 'SGVideo':
215
  $popup->setUrl($video);
216
  $popup->setRealUrl($video);
217
+ $popup->setVideoOptions(json_encode($videoOptions));
218
  break;
219
  case 'SGHtml':
220
  $popup->setContent($html);
221
  break;
222
+ case 'SGFblike':
223
+ $popup->setContent($fblike);
224
+ $popup->setFblikeOptions(json_encode($fblikeOptions));
225
+ break;
226
  case 'SGShortcode':
227
  $popup->setShortcode($shortCode);
228
  break;
241
  $popup->setButtons(json_encode($socialButtons));
242
  $popup->setSocialOptions(json_encode($socialOptions));
243
  break;
244
+ case 'SGExitintent':
245
+ $popup->setContent($exitIntent);
246
+ $popup->setExitIntentOptions(json_encode($exitIntentOptions));
247
+ break;
248
  }
249
+ setPopupForAllPages($id, $showAllPages);
250
+ setOptionPopupType($id, $type);
251
  $popup->save();
252
  wp_redirect(SG_APP_POPUP_ADMIN_URL."admin.php?page=edit-popup&id=$id&type=$type&saved=1");
253
  exit();
img/ExitIntentPro.png ADDED
Binary file
img/Facebook.png ADDED
Binary file
img/default-image.png CHANGED
File without changes
img/down_arrow-2x.gif CHANGED
File without changes
img/info.png CHANGED
File without changes
img/pp_Icon.png CHANGED
File without changes
img/theme1.jpg CHANGED
File without changes
img/theme2.jpg CHANGED
File without changes
img/theme3.jpg CHANGED
File without changes
img/theme4.jpg CHANGED
File without changes
img/theme5.jpg CHANGED
File without changes
img/wpspin_light.gif CHANGED
File without changes
javascript/jquery.colorbox-min.js CHANGED
File without changes
javascript/sg_popup_backend.js CHANGED
File without changes
javascript/sg_popup_frontend.js CHANGED
@@ -240,6 +240,9 @@ SGPopup.prototype.sgShowColorboxWithOptions = function() {
240
  if(jQuery('div.wpcf7 > form').length) {
241
  jQuery('div.wpcf7 > form').wpcf7InitForm();
242
  }
 
 
 
243
  },
244
  html: popupHtml,
245
  photo: popupPhoto,
240
  if(jQuery('div.wpcf7 > form').length) {
241
  jQuery('div.wpcf7 > form').wpcf7InitForm();
242
  }
243
+ if(popupWidth == '' && popupHeight == '') {
244
+ jQuery.sgcolorbox.resize();
245
+ }
246
  },
247
  html: popupHtml,
248
  photo: popupPhoto,
javascript/sg_popup_javascript.php CHANGED
File without changes
javascript/sg_popup_rangeslider.js CHANGED
File without changes
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.0.8
7
  * Author: Sygnoos
8
  * Author URI: http://www.sygnoos.com
9
  * License: GPLv2
@@ -18,22 +18,25 @@ define('SG_APP_POPUP_FILES', SG_APP_POPUP_PATH . '/files');
18
  define('SG_APP_POPUP_CLASSES', SG_APP_POPUP_PATH . '/classes');
19
  define('SG_APP_POPUP_JS', SG_APP_POPUP_PATH . '/javascript');
20
  define('SG_APP_POPUP_TABLE_LIMIT', 15);
21
- define('SG_POPUP_VERSION', 2.08);
22
  define('SG_POPUP_PRO', 0);
23
  define('SG_POPUP_PRO_URL', 'http://sygnoos.com/wordpress-popup/');
24
 
25
  $POPUP_TITLES = array(
26
  'image' => 'Image',
27
  'html' => 'HTML',
 
28
  'iframe' => 'Iframe',
29
  'video' => 'Video',
30
  'shortcode' => 'Shortcode',
31
  'ageRestriction' => 'Age Restriction',
32
  'countdown' => 'Countdown',
33
- 'social' => 'Social'
 
34
  );
35
 
36
  require_once( SG_APP_POPUP_CLASSES .'/SGPopup.php');
 
37
  require_once( SG_APP_POPUP_CLASSES .'/PopupInstaller.php'); //cretae tables
38
  if (SG_POPUP_PRO) {
39
  require_once( SG_APP_POPUP_CLASSES .'/PopupProInstaller.php'); //uninstall tables
@@ -43,8 +46,8 @@ require_once( SG_APP_POPUP_JS .'/sg_popup_javascript.php' ); //include our js fi
43
  require_once( SG_APP_POPUP_FILES .'/sg_popup_page_selection.php' ); // include here in page button for select popup every page
44
 
45
  register_activation_hook(__FILE__, 'sgPopupActivate');
46
- //register_uninstall_hook(__FILE__, 'sgPopupDeactivate');
47
- register_deactivation_hook(__FILE__, 'sgPopupDeactivate');
48
 
49
 
50
  add_action('wpmu_new_blog', 'sgNewBlogPopup', 10, 6);
@@ -218,6 +221,7 @@ function sgPopupPluginLoaded()
218
  $versionPopup = get_option('SG_POPUP_VERSION');
219
  if (!$versionPopup || $versionPopup < SG_POPUP_VERSION ) {
220
  update_option('SG_POPUP_VERSION', SG_POPUP_VERSION);
 
221
  }
222
  }
223
 
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.0.9
7
  * Author: Sygnoos
8
  * Author URI: http://www.sygnoos.com
9
  * License: GPLv2
18
  define('SG_APP_POPUP_CLASSES', SG_APP_POPUP_PATH . '/classes');
19
  define('SG_APP_POPUP_JS', SG_APP_POPUP_PATH . '/javascript');
20
  define('SG_APP_POPUP_TABLE_LIMIT', 15);
21
+ define('SG_POPUP_VERSION', 2.09);
22
  define('SG_POPUP_PRO', 0);
23
  define('SG_POPUP_PRO_URL', 'http://sygnoos.com/wordpress-popup/');
24
 
25
  $POPUP_TITLES = array(
26
  'image' => 'Image',
27
  'html' => 'HTML',
28
+ 'fblike' => 'Facebook',
29
  'iframe' => 'Iframe',
30
  'video' => 'Video',
31
  'shortcode' => 'Shortcode',
32
  'ageRestriction' => 'Age Restriction',
33
  'countdown' => 'Countdown',
34
+ 'social' => 'Social',
35
+ 'exitIntent' => 'Exit Intent'
36
  );
37
 
38
  require_once( SG_APP_POPUP_CLASSES .'/SGPopup.php');
39
+ require_once(SG_APP_POPUP_FILES .'/sg_functions.php');
40
  require_once( SG_APP_POPUP_CLASSES .'/PopupInstaller.php'); //cretae tables
41
  if (SG_POPUP_PRO) {
42
  require_once( SG_APP_POPUP_CLASSES .'/PopupProInstaller.php'); //uninstall tables
46
  require_once( SG_APP_POPUP_FILES .'/sg_popup_page_selection.php' ); // include here in page button for select popup every page
47
 
48
  register_activation_hook(__FILE__, 'sgPopupActivate');
49
+ register_uninstall_hook(__FILE__, 'sgPopupDeactivate');
50
+ //register_deactivation_hook(__FILE__, 'sgPopupDeactivate');
51
 
52
 
53
  add_action('wpmu_new_blog', 'sgNewBlogPopup', 10, 6);
221
  $versionPopup = get_option('SG_POPUP_VERSION');
222
  if (!$versionPopup || $versionPopup < SG_POPUP_VERSION ) {
223
  update_option('SG_POPUP_VERSION', SG_POPUP_VERSION);
224
+ PopupInstaller::install();
225
  }
226
  }
227
 
readme.txt CHANGED
@@ -3,7 +3,7 @@ Plugin Name: Popup Builder
3
  Contributors: Popup By Sygnoos
4
  Author: Sygnoos
5
  Donate link: http://sygnoos.com/wordpress-popup/
6
- Tags: popup,popup promote,promotional popup,popup ads, popup advertising, popup box, popup form, popup message, popup window, popups, wordpress popup, simple popup, modal window, responsive popup, fancybox, fancy popup, lightbox, automatic popup, custom popup,popup message, youtube popup, video popup, iframe popup, vimeo popup, popup contact form, dialog box, fancy box popup, wordpress popup plugin, andlightbox popup, popup builder, wordpress popup builder, html popup, onclick popup, media, shortcode popup, colorbox popup, social popup, age restriction popup, countdown popup
7
  Requires at least: 3.8
8
  Tested up to: 4.3.1
9
  Stable tag: trunk
@@ -37,6 +37,10 @@ With popup builder plugin you can insert any type of content, right into your Po
37
  * Customize popup overlay color and opacity - Popup Builder
38
  * Responsive popup - Popup Builder
39
  * Network/Multisite popup - Popup Builder
 
 
 
 
40
 
41
  **Popup Builder - PRO features:**
42
 
@@ -46,6 +50,7 @@ With popup builder plugin you can insert any type of content, right into your Po
46
  * Create social popup - this is a great type of a popup if you need to share/like your site. In social popup we have added all popular social networks like Facebook, Linkedin, Twitter, Google Plus etc.
47
  * Create age restriction popup - sometimes the site content may not be appropriate for all audiences. In these cases, users may not be able to view the content until they pass age confirmation popup.
48
  * Create countdown popup - your site is under construction and you are planing to open it in some amount of time, in this case countdown popup exactly for you. Comming soon.
 
49
  * Show popup only when user is scrolling - sometimes you don't want to show the popup right away, it's a good idea to set this option so the popup will be shown to the visitor only when he scrolls.
50
  * Show popup once per visitor - useful when you don't want to show the popup to the same visitor more than once.
51
  * Don't show popup on mobile devices - after activating this option, popup won't be shown in mobile devices.
@@ -61,7 +66,6 @@ With popup builder plugin you can insert any type of content, right into your Po
61
 
62
  Popup Builder team constantly works on upgrades and improvements. With our upcoming updates we are planning to add more types of popups. Currently we are working on
63
 
64
- > + Exit Intent popup - The general theory behind exit popups is fairly simple. Let’s imagine that a user has been browsing through your awesome site, then decides to leave without doing any of the things you want them to do (buying, registering etc). In that moment of indecision we can briefly interrupt them with a popup message, steering them towards a singular call to action. Comming soon.
65
  > + Subsription 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. Comming soon.
66
  > + Targetting popup - This popup allows you to show popup depending user location. This kind of popup is useful if your product or service is created for a specifig region.
67
 
@@ -104,6 +108,15 @@ Go to the Popup Builder settings and set your desired options.
104
 
105
  == Changelog ==
106
 
 
 
 
 
 
 
 
 
 
107
  * Version 2.0.8
108
 
109
  Inside Popup data table added sorting and search field.
@@ -208,4 +221,4 @@ The Free version of Popup Builder gives you anything you need for creating unlim
208
  Contact us! Depending on your server configuration something may go wrong, please don't hesitate on contacting us, we are here to help you! Our support email is: wp-popup@sygnoos.com
209
 
210
  == Upgrade Notice ==
211
- Current version of Popup Builder is v.2.0.8
3
  Contributors: Popup By Sygnoos
4
  Author: Sygnoos
5
  Donate link: http://sygnoos.com/wordpress-popup/
6
+ Tags: popup,popup promote,promotional popup,popup ads, popup advertising, popup box, popup form, popup message, popup window, popups, wordpress popup, simple popup, modal window, responsive popup, fancybox, fancy popup, lightbox, automatic popup, custom popup,popup message, youtube popup, video popup, iframe popup, vimeo popup, popup contact form, dialog box, fancy box popup, wordpress popup plugin, andlightbox popup, popup builder, wordpress popup builder, html popup, onclick popup, media, shortcode popup, colorbox popup, social popup, age restriction popup, countdown popup, facebook popup
7
  Requires at least: 3.8
8
  Tested up to: 4.3.1
9
  Stable tag: trunk
37
  * Customize popup overlay color and opacity - Popup Builder
38
  * Responsive popup - Popup Builder
39
  * Network/Multisite popup - Popup Builder
40
+ * Html popup - Popup Builder
41
+ * Image popup - Popup Builder
42
+ * Facebook popup - Popup Builder
43
+
44
 
45
  **Popup Builder - PRO features:**
46
 
50
  * Create social popup - this is a great type of a popup if you need to share/like your site. In social popup we have added all popular social networks like Facebook, Linkedin, Twitter, Google Plus etc.
51
  * Create age restriction popup - sometimes the site content may not be appropriate for all audiences. In these cases, users may not be able to view the content until they pass age confirmation popup.
52
  * Create countdown popup - your site is under construction and you are planing to open it in some amount of time, in this case countdown popup exactly for you. Comming soon.
53
+ * Create Exit Intent popup - catch your users attention when they decides to leave your site without doing any of the things you want them to do. Exit Intent popup can briefly interrupt them with a popup message, steering them towards a singular call to action.
54
  * Show popup only when user is scrolling - sometimes you don't want to show the popup right away, it's a good idea to set this option so the popup will be shown to the visitor only when he scrolls.
55
  * Show popup once per visitor - useful when you don't want to show the popup to the same visitor more than once.
56
  * Don't show popup on mobile devices - after activating this option, popup won't be shown in mobile devices.
66
 
67
  Popup Builder team constantly works on upgrades and improvements. With our upcoming updates we are planning to add more types of popups. Currently we are working on
68
 
 
69
  > + Subsription 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. Comming soon.
70
  > + Targetting popup - This popup allows you to show popup depending user location. This kind of popup is useful if your product or service is created for a specifig region.
71
 
108
 
109
  == Changelog ==
110
 
111
+ * Version 2.0.9
112
+
113
+ Facebook share and like popup added.
114
+
115
+ Code cleanup.
116
+
117
+ Bug fixed.
118
+
119
+
120
  * Version 2.0.8
121
 
122
  Inside Popup data table added sorting and search field.
221
  Contact us! Depending on your server configuration something may go wrong, please don't hesitate on contacting us, we are here to help you! Our support email is: wp-popup@sygnoos.com
222
 
223
  == Upgrade Notice ==
224
+ Current version of Popup Builder is v.2.0.9
style/animate.css CHANGED
File without changes
style/sg_popup_rangeslider.css CHANGED
File without changes
style/sg_popup_style.css CHANGED
@@ -24,6 +24,10 @@ h3.hndle .ui-sortable-handle .generalTitle {
24
  cursor: pointer;
25
  }
26
 
 
 
 
 
27
  .title-max-width {
28
  max-width: 200px;
29
  }
@@ -286,6 +290,10 @@ span.phpErrorStyle {
286
  background-image: url("../img/Images-Button.png");
287
  }
288
 
 
 
 
 
289
  .iframe-popup {
290
  background-image: url("../img/iframePopup.png");
291
  }
@@ -310,6 +318,10 @@ span.phpErrorStyle {
310
  background-image: url("../img/AgeRestriction.png");
311
  }
312
 
 
 
 
 
313
  .iframe-popup-pro {
314
  background-image: url("../img/iframePopupPro.png");
315
  }
@@ -334,6 +346,10 @@ span.phpErrorStyle {
334
  background-image: url("../img/SocialButtonPro.png");
335
  }
336
 
 
 
 
 
337
  .generalMenu {
338
  width: 98%;
339
  height: 39px;
@@ -633,6 +649,11 @@ input[name="theme"] {
633
  cursor: pointer !important;
634
  }
635
 
 
 
 
 
 
636
  .bootstrap-tagsinput .tag {
637
  background-color: #5BC0DE;
638
  padding: 0 3px 2px 3px;
24
  cursor: pointer;
25
  }
26
 
27
+ .info-vertical-divisor {
28
+ margin: 0 3px;
29
+ }
30
+
31
  .title-max-width {
32
  max-width: 200px;
33
  }
290
  background-image: url("../img/Images-Button.png");
291
  }
292
 
293
+ .fblike-popup {
294
+ background-image: url("../img/Facebook.png");
295
+ }
296
+
297
  .iframe-popup {
298
  background-image: url("../img/iframePopup.png");
299
  }
318
  background-image: url("../img/AgeRestriction.png");
319
  }
320
 
321
+ .sg-exit-intent {
322
+ background-image: url("../img/ExitIntent.png");
323
+ }
324
+
325
  .iframe-popup-pro {
326
  background-image: url("../img/iframePopupPro.png");
327
  }
346
  background-image: url("../img/SocialButtonPro.png");
347
  }
348
 
349
+ .exit-intent-pro {
350
+ background-image: url("../img/ExitIntentPro.png");
351
+ }
352
+
353
  .generalMenu {
354
  width: 98%;
355
  height: 39px;
649
  cursor: pointer !important;
650
  }
651
 
652
+ .special-options-content .input-width-static,
653
+ .special-options-content [type="radio"] {
654
+ margin-right: 5%;
655
+ }
656
+
657
  .bootstrap-tagsinput .tag {
658
  background-color: #5BC0DE;
659
  padding: 0 3px 2px 3px;
style/sg_popup_style.php CHANGED
File without changes