Popup by Supsystic - Version 1.10.15

Version Description

/ 30.08.2022 = * Add support PHP 8.1 * Fixes WP 6.0

Download this release

Release Info

Developer supsystic.com
Plugin Icon 128x128 Popup by Supsystic
Version 1.10.15
Comparing to
See all releases

Code changes from version 1.10.14 to 1.10.15

Files changed (45) hide show
  1. classes/Twig/Lexer.php +13 -13
  2. classes/Twig/Node.php +2 -2
  3. classes/frame.php +1 -1
  4. classes/utils.php +2 -2
  5. classes/view.php +2 -2
  6. config.php +1 -1
  7. css/acPromoStyle.css +420 -0
  8. css/supsystic-ui.css +1 -1
  9. js/acPromoScript.js +139 -0
  10. modules/adminmenu/mod.php +5 -17
  11. modules/options/views/tpl/optionsAdminPage.php +6 -1
  12. modules/options/views/tpl/optionsSettingsTabContent.php +2 -2
  13. modules/popup/controller.php +1 -1
  14. modules/popup/css/admin.popup.css +8 -8
  15. modules/popup/views/tpl/popupEditFormControls.php +1 -1
  16. modules/supsystic_promo/controller.php +40 -1
  17. modules/supsystic_promo/img/256.png +0 -0
  18. modules/supsystic_promo/img/Backup_256.png +0 -0
  19. modules/supsystic_promo/img/Coming_Soon_256.png +0 -0
  20. modules/supsystic_promo/img/Contact_Form_256.png +0 -0
  21. modules/supsystic_promo/img/Data_Tables_256.png +0 -0
  22. modules/supsystic_promo/img/Digital_Publication_256.png +0 -0
  23. modules/supsystic_promo/img/Gallery_256.png +0 -0
  24. modules/supsystic_promo/img/Google_Maps_256.png +0 -0
  25. modules/supsystic_promo/img/Live_Chat_256.png +0 -0
  26. modules/supsystic_promo/img/Popup_256.png +0 -0
  27. modules/supsystic_promo/img/Pricing_Table_256.png +0 -0
  28. modules/supsystic_promo/img/Slider_256.png +0 -0
  29. modules/supsystic_promo/img/Social_Buttons_256.png +0 -0
  30. modules/supsystic_promo/img/heatmap.jpg +0 -0
  31. modules/supsystic_promo/img/icon-256x256.png +0 -0
  32. modules/supsystic_promo/img/kinsta_banner.png +0 -0
  33. modules/supsystic_promo/img/overview-01.png +0 -0
  34. modules/supsystic_promo/img/overview-02.png +0 -0
  35. modules/supsystic_promo/img/overview-03.png +0 -0
  36. modules/supsystic_promo/img/plugin-icon.png +0 -0
  37. modules/supsystic_promo/img/shapes.jpg +0 -0
  38. modules/supsystic_promo/img/supsystic-logo-small.png +0 -0
  39. modules/supsystic_promo/mod.php +56 -97
  40. modules/supsystic_promo/views/supsystic_promo.php +7 -54
  41. modules/supsystic_promo/views/tpl/adminFooter.php +32 -20
  42. modules/supsystic_promo/views/tpl/overviewTabContent.php +134 -104
  43. modules/templates/mod.php +38 -15
  44. pps.php +4 -4
  45. readme.txt +5 -1
classes/Twig/Lexer.php CHANGED
@@ -173,11 +173,11 @@ class Twig_Lexer implements Twig_LexerInterface
173
 
174
  case $this->options['tag_block'][0]:
175
  // raw data?
176
- if (preg_match($this->regexes['lex_block_raw'], $this->code, $match, null, $this->cursor)) {
177
  $this->moveCursor($match[0]);
178
  $this->lexRawData($match[1]);
179
  // {% line \d+ %}
180
- } elseif (preg_match($this->regexes['lex_block_line'], $this->code, $match, null, $this->cursor)) {
181
  $this->moveCursor($match[0]);
182
  $this->lineno = (int) $match[1];
183
  } else {
@@ -197,7 +197,7 @@ class Twig_Lexer implements Twig_LexerInterface
197
 
198
  protected function lexBlock()
199
  {
200
- if (empty($this->brackets) && preg_match($this->regexes['lex_block'], $this->code, $match, null, $this->cursor)) {
201
  $this->pushToken(Twig_Token::BLOCK_END_TYPE);
202
  $this->moveCursor($match[0]);
203
  $this->popState();
@@ -208,7 +208,7 @@ class Twig_Lexer implements Twig_LexerInterface
208
 
209
  protected function lexVar()
210
  {
211
- if (empty($this->brackets) && preg_match($this->regexes['lex_var'], $this->code, $match, null, $this->cursor)) {
212
  $this->pushToken(Twig_Token::VAR_END_TYPE);
213
  $this->moveCursor($match[0]);
214
  $this->popState();
@@ -220,7 +220,7 @@ class Twig_Lexer implements Twig_LexerInterface
220
  protected function lexExpression()
221
  {
222
  // whitespace
223
- if (preg_match('/\s+/A', $this->code, $match, null, $this->cursor)) {
224
  $this->moveCursor($match[0]);
225
 
226
  if ($this->cursor >= $this->end) {
@@ -229,17 +229,17 @@ class Twig_Lexer implements Twig_LexerInterface
229
  }
230
 
231
  // operators
232
- if (preg_match($this->regexes['operator'], $this->code, $match, null, $this->cursor)) {
233
  $this->pushToken(Twig_Token::OPERATOR_TYPE, preg_replace('/\s+/', ' ', $match[0]));
234
  $this->moveCursor($match[0]);
235
  }
236
  // names
237
- elseif (preg_match(self::REGEX_NAME, $this->code, $match, null, $this->cursor)) {
238
  $this->pushToken(Twig_Token::NAME_TYPE, $match[0]);
239
  $this->moveCursor($match[0]);
240
  }
241
  // numbers
242
- elseif (preg_match(self::REGEX_NUMBER, $this->code, $match, null, $this->cursor)) {
243
  $number = (float) $match[0]; // floats
244
  if (ctype_digit($match[0]) && $number <= PHP_INT_MAX) {
245
  $number = (int) $match[0]; // integers lower than the maximum
@@ -269,12 +269,12 @@ class Twig_Lexer implements Twig_LexerInterface
269
  ++$this->cursor;
270
  }
271
  // strings
272
- elseif (preg_match(self::REGEX_STRING, $this->code, $match, null, $this->cursor)) {
273
  $this->pushToken(Twig_Token::STRING_TYPE, stripcslashes(substr($match[0], 1, -1)));
274
  $this->moveCursor($match[0]);
275
  }
276
  // opening double quoted string
277
- elseif (preg_match(self::REGEX_DQ_STRING_DELIM, $this->code, $match, null, $this->cursor)) {
278
  $this->brackets[] = array('"', $this->lineno);
279
  $this->pushState(self::STATE_STRING);
280
  $this->moveCursor($match[0]);
@@ -312,17 +312,17 @@ class Twig_Lexer implements Twig_LexerInterface
312
 
313
  protected function lexString()
314
  {
315
- if (preg_match($this->regexes['interpolation_start'], $this->code, $match, null, $this->cursor)) {
316
  $this->brackets[] = array($this->options['interpolation'][0], $this->lineno);
317
  $this->pushToken(Twig_Token::INTERPOLATION_START_TYPE);
318
  $this->moveCursor($match[0]);
319
  $this->pushState(self::STATE_INTERPOLATION);
320
 
321
- } elseif (preg_match(self::REGEX_DQ_STRING_PART, $this->code, $match, null, $this->cursor) && strlen($match[0]) > 0) {
322
  $this->pushToken(Twig_Token::STRING_TYPE, stripcslashes($match[0]));
323
  $this->moveCursor($match[0]);
324
 
325
- } elseif (preg_match(self::REGEX_DQ_STRING_DELIM, $this->code, $match, null, $this->cursor)) {
326
  list($expect, $lineno) = array_pop($this->brackets);
327
  if ($this->code[$this->cursor] != '"') {
328
  throw new Twig_Error_Syntax(sprintf('Unclosed "%s"', $expect), $lineno, $this->filename);
173
 
174
  case $this->options['tag_block'][0]:
175
  // raw data?
176
+ if (preg_match($this->regexes['lex_block_raw'], $this->code, $match, 0, $this->cursor)) {
177
  $this->moveCursor($match[0]);
178
  $this->lexRawData($match[1]);
179
  // {% line \d+ %}
180
+ } elseif (preg_match($this->regexes['lex_block_line'], $this->code, $match, 0, $this->cursor)) {
181
  $this->moveCursor($match[0]);
182
  $this->lineno = (int) $match[1];
183
  } else {
197
 
198
  protected function lexBlock()
199
  {
200
+ if (empty($this->brackets) && preg_match($this->regexes['lex_block'], $this->code, $match, 0, $this->cursor)) {
201
  $this->pushToken(Twig_Token::BLOCK_END_TYPE);
202
  $this->moveCursor($match[0]);
203
  $this->popState();
208
 
209
  protected function lexVar()
210
  {
211
+ if (empty($this->brackets) && preg_match($this->regexes['lex_var'], $this->code, $match, 0, $this->cursor)) {
212
  $this->pushToken(Twig_Token::VAR_END_TYPE);
213
  $this->moveCursor($match[0]);
214
  $this->popState();
220
  protected function lexExpression()
221
  {
222
  // whitespace
223
+ if (preg_match('/\s+/A', $this->code, $match, 0, $this->cursor)) {
224
  $this->moveCursor($match[0]);
225
 
226
  if ($this->cursor >= $this->end) {
229
  }
230
 
231
  // operators
232
+ if (preg_match($this->regexes['operator'], $this->code, $match, 0, $this->cursor)) {
233
  $this->pushToken(Twig_Token::OPERATOR_TYPE, preg_replace('/\s+/', ' ', $match[0]));
234
  $this->moveCursor($match[0]);
235
  }
236
  // names
237
+ elseif (preg_match(self::REGEX_NAME, $this->code, $match, 0, $this->cursor)) {
238
  $this->pushToken(Twig_Token::NAME_TYPE, $match[0]);
239
  $this->moveCursor($match[0]);
240
  }
241
  // numbers
242
+ elseif (preg_match(self::REGEX_NUMBER, $this->code, $match, 0, $this->cursor)) {
243
  $number = (float) $match[0]; // floats
244
  if (ctype_digit($match[0]) && $number <= PHP_INT_MAX) {
245
  $number = (int) $match[0]; // integers lower than the maximum
269
  ++$this->cursor;
270
  }
271
  // strings
272
+ elseif (preg_match(self::REGEX_STRING, $this->code, $match, 0, $this->cursor)) {
273
  $this->pushToken(Twig_Token::STRING_TYPE, stripcslashes(substr($match[0], 1, -1)));
274
  $this->moveCursor($match[0]);
275
  }
276
  // opening double quoted string
277
+ elseif (preg_match(self::REGEX_DQ_STRING_DELIM, $this->code, $match, 0, $this->cursor)) {
278
  $this->brackets[] = array('"', $this->lineno);
279
  $this->pushState(self::STATE_STRING);
280
  $this->moveCursor($match[0]);
312
 
313
  protected function lexString()
314
  {
315
+ if (preg_match($this->regexes['interpolation_start'], $this->code, $match, 0, $this->cursor)) {
316
  $this->brackets[] = array($this->options['interpolation'][0], $this->lineno);
317
  $this->pushToken(Twig_Token::INTERPOLATION_START_TYPE);
318
  $this->moveCursor($match[0]);
319
  $this->pushState(self::STATE_INTERPOLATION);
320
 
321
+ } elseif (preg_match(self::REGEX_DQ_STRING_PART, $this->code, $match, 0, $this->cursor) && strlen($match[0]) > 0) {
322
  $this->pushToken(Twig_Token::STRING_TYPE, stripcslashes($match[0]));
323
  $this->moveCursor($match[0]);
324
 
325
+ } elseif (preg_match(self::REGEX_DQ_STRING_DELIM, $this->code, $match, 0, $this->cursor)) {
326
  list($expect, $lineno) = array_pop($this->brackets);
327
  if ($this->code[$this->cursor] != '"') {
328
  throw new Twig_Error_Syntax(sprintf('Unclosed "%s"', $expect), $lineno, $this->filename);
classes/Twig/Node.php CHANGED
@@ -213,12 +213,12 @@ class Twig_Node implements Twig_NodeInterface
213
  {
214
  unset($this->nodes[$name]);
215
  }
216
-
217
  public function count()
218
  {
219
  return count($this->nodes);
220
  }
221
-
222
  public function getIterator()
223
  {
224
  return new ArrayIterator($this->nodes);
213
  {
214
  unset($this->nodes[$name]);
215
  }
216
+ #[\ReturnTypeWillChange]
217
  public function count()
218
  {
219
  return count($this->nodes);
220
  }
221
+ #[\ReturnTypeWillChange]
222
  public function getIterator()
223
  {
224
  return new ArrayIterator($this->nodes);
classes/frame.php CHANGED
@@ -454,7 +454,7 @@ class framePps {
454
  */
455
  public function isAdminPlugOptsPage() {
456
  $page = reqPps::getVar('page');
457
- if(is_admin() && strpos($page, framePps::_()->getModule('adminmenu')->getMainSlug()) !== false)
458
  return true;
459
  return false;
460
  }
454
  */
455
  public function isAdminPlugOptsPage() {
456
  $page = reqPps::getVar('page');
457
+ if(is_admin() && strpos((string)$page, framePps::_()->getModule('adminmenu')->getMainSlug()) !== false)
458
  return true;
459
  return false;
460
  }
classes/utils.php CHANGED
@@ -88,7 +88,7 @@ class utilsPps {
88
  $res = reqPps::getVar('HTTP_CLIENT_IP', 'server');
89
 
90
  return $res;
91
-
92
  }
93
 
94
  /**
@@ -196,7 +196,7 @@ class utilsPps {
196
  $timestamp = strtotime('next Sunday');
197
  $days = array();
198
  for ($i = 0; $i < 7; $i++) {
199
- $day = strftime('%A', $timestamp);
200
  $days[ strtolower($day) ] = $day;
201
  $timestamp = strtotime('+1 day', $timestamp);
202
  }
88
  $res = reqPps::getVar('HTTP_CLIENT_IP', 'server');
89
 
90
  return $res;
91
+
92
  }
93
 
94
  /**
196
  $timestamp = strtotime('next Sunday');
197
  $days = array();
198
  for ($i = 0; $i < 7; $i++) {
199
+ $day = date('%A', $timestamp);
200
  $days[ strtolower($day) ] = $day;
201
  $timestamp = strtotime('+1 day', $timestamp);
202
  }
classes/view.php CHANGED
@@ -61,7 +61,7 @@ abstract class viewPps extends baseObjectPps {
61
  $allowedHtml = wp_kses_allowed_html();
62
  $allowedDiv = array(
63
  'style' => array(),
64
- 'div' => array( 'data-pos' => 1, 'data-type-id' => 1, 'data-label' => 1, 'data-key' => 1, 'data-show-class' => 1, 'data-hide-class' => 1, 'data-id' => 1, 'data-slider-type' => 1, 'data-unit' => 1, 'data-unit' => 1, 'data-mapid' => 1, 'data-viewid' => 1, 'onclick' => 1, 'data-is-mobile' => 1, 'data-tab-link' => 1, 'data-tab-item' => 1, 'data-today' => 1, 'data-tabs-for' => 1, 'data-type' => 1, 'style' => 1, 'title' => 1, 'align' => 1, 'class' => 1, 'width' => 1, 'height' => 1, 'title' => 1, 'id' => 1, 'data-tooltip-content' => 1,),
65
  'section' => array( 'style' => 1, 'title' => 1, 'align' => 1, 'class' => 1, 'width' => 1, 'height' => 1, 'title' => 1, 'id' => 1,),
66
  'nav' => array( 'style' => 1, 'title' => 1, 'align' => 1, 'class' => 1, 'width' => 1, 'height' => 1, 'title' => 1, 'id' => 1,),
67
  'small' => array( 'style' => 1, 'title' => 1, 'align' => 1, 'class' => 1, 'width' => 1, 'height' => 1, 'id' => 1,),
@@ -79,7 +79,7 @@ abstract class viewPps extends baseObjectPps {
79
  'h6' => array( 'style' => 1, 'title' => 1, 'align' => 1, 'class' => 1, 'width' => 1, 'height' => 1, 'id' => 1,),
80
  'ul' => array( 'style' => 1, 'title' => 1, 'align' => 1, 'class' => 1, 'width' => 1, 'height' => 1, 'id' => 1,),
81
  'ol' => array( 'style' => 1, 'title' => 1, 'align' => 1, 'class' => 1, 'width' => 1, 'height' => 1, 'id' => 1,),
82
- 'li' => array( 'data-key' => 1, 'data-id' => 1, 'style' => 1, 'title' => 1, 'align' => 1, 'class' => 1, 'width' => 1, 'height' => 1, 'id' => 1,),
83
  'dl' => array( 'style' => 1, 'title' => 1, 'align' => 1, 'class' => 1, 'width' => 1, 'height' => 1, 'id' => 1,),
84
  'dt' => array( 'style' => 1, 'title' => 1, 'align' => 1, 'class' => 1, 'width' => 1, 'height' => 1, 'id' => 1,),
85
  'dd' => array( 'style' => 1, 'title' => 1, 'align' => 1, 'class' => 1, 'width' => 1, 'height' => 1, 'id' => 1,),
61
  $allowedHtml = wp_kses_allowed_html();
62
  $allowedDiv = array(
63
  'style' => array(),
64
+ 'div' => array( 'data-section' => 1, 'data-pos' => 1, 'data-type-id' => 1, 'data-label' => 1, 'data-key' => 1, 'data-show-class' => 1, 'data-hide-class' => 1, 'data-id' => 1, 'data-slider-type' => 1, 'data-unit' => 1, 'data-unit' => 1, 'data-mapid' => 1, 'data-viewid' => 1, 'onclick' => 1, 'data-is-mobile' => 1, 'data-tab-link' => 1, 'data-tab-item' => 1, 'data-today' => 1, 'data-tabs-for' => 1, 'data-type' => 1, 'style' => 1, 'title' => 1, 'align' => 1, 'class' => 1, 'width' => 1, 'height' => 1, 'title' => 1, 'id' => 1, 'data-tooltip-content' => 1,),
65
  'section' => array( 'style' => 1, 'title' => 1, 'align' => 1, 'class' => 1, 'width' => 1, 'height' => 1, 'title' => 1, 'id' => 1,),
66
  'nav' => array( 'style' => 1, 'title' => 1, 'align' => 1, 'class' => 1, 'width' => 1, 'height' => 1, 'title' => 1, 'id' => 1,),
67
  'small' => array( 'style' => 1, 'title' => 1, 'align' => 1, 'class' => 1, 'width' => 1, 'height' => 1, 'id' => 1,),
79
  'h6' => array( 'style' => 1, 'title' => 1, 'align' => 1, 'class' => 1, 'width' => 1, 'height' => 1, 'id' => 1,),
80
  'ul' => array( 'style' => 1, 'title' => 1, 'align' => 1, 'class' => 1, 'width' => 1, 'height' => 1, 'id' => 1,),
81
  'ol' => array( 'style' => 1, 'title' => 1, 'align' => 1, 'class' => 1, 'width' => 1, 'height' => 1, 'id' => 1,),
82
+ 'li' => array( 'data-section' => 1, 'data-key' => 1, 'data-id' => 1, 'style' => 1, 'title' => 1, 'align' => 1, 'class' => 1, 'width' => 1, 'height' => 1, 'id' => 1,),
83
  'dl' => array( 'style' => 1, 'title' => 1, 'align' => 1, 'class' => 1, 'width' => 1, 'height' => 1, 'id' => 1,),
84
  'dt' => array( 'style' => 1, 'title' => 1, 'align' => 1, 'class' => 1, 'width' => 1, 'height' => 1, 'id' => 1,),
85
  'dd' => array( 'style' => 1, 'title' => 1, 'align' => 1, 'class' => 1, 'width' => 1, 'height' => 1, 'id' => 1,),
config.php CHANGED
@@ -49,7 +49,7 @@
49
  define('PPS_EOL', "\n");
50
 
51
  define('PPS_PLUGIN_INSTALLED', true);
52
- define('PPS_VERSION', '1.10.14');
53
  define('PPS_USER', 'user');
54
 
55
  define('PPS_CLASS_PREFIX', 'ppsc');
49
  define('PPS_EOL', "\n");
50
 
51
  define('PPS_PLUGIN_INSTALLED', true);
52
+ define('PPS_VERSION', '1.10.15');
53
  define('PPS_USER', 'user');
54
 
55
  define('PPS_CLASS_PREFIX', 'ppsc');
css/acPromoStyle.css ADDED
@@ -0,0 +1,420 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ .supsystic-overview {
2
+ float: left;
3
+ background:white;
4
+ padding:10px;
5
+ }
6
+
7
+ .supsystic-overview .half-page-left {
8
+ float: left;
9
+ margin-left: 20px;
10
+ width: 50%;
11
+ border-right: 1px solid rgba(164, 170, 172, 0.28);
12
+ padding-right: 20px;
13
+ }
14
+
15
+ .supsystic-overview .half-page-right {
16
+ float: left;
17
+ margin:0 20px;
18
+ width: 40%;
19
+ }
20
+
21
+ .supsystic-overview .half-page > div {
22
+ border-bottom: 1px solid rgba(164, 170, 172, 0.28);
23
+ padding-bottom: 20px;
24
+ }
25
+
26
+ .supsystic-overview .half-page > div:last-child {
27
+ border-bottom: none;
28
+ }
29
+
30
+ .supsystic-overview .text-block {
31
+ margin: 10px 0;
32
+ }
33
+
34
+ .supsystic-overview .faq-title {
35
+ cursor: pointer;
36
+ }
37
+
38
+ .supsystic-overview .faq-title .description {
39
+ margin-top: 10px;
40
+ border: none !important;
41
+ }
42
+
43
+ .supsystic-overview .faq-title,
44
+ .supsystic-overview-news h3 {
45
+ padding: 10px 20px;
46
+ margin-bottom: 4px;
47
+ background-color: rgba(164, 170, 172, 0.28);
48
+ }
49
+
50
+ .supsystic-overview .supsystic-overview-news h3 {
51
+ line-height: 2;
52
+ }
53
+
54
+ .supsystic-overview .button {
55
+ float: right;
56
+ margin-top: 24px;
57
+ display: block;
58
+ }
59
+
60
+ .supsystic-overview .faq-list .button.button-primary.button-hero{
61
+ float: left;
62
+ margin-left: 10px;
63
+ }
64
+
65
+ .supsystic-overview .settings-title {
66
+ font-size: 14px;
67
+ font-weight: 600;
68
+ display: inline-block;
69
+ margin-right: 5px;
70
+ }
71
+
72
+ .supsystic-overview .supsystic-overview-news {
73
+ margin-right: 10px;
74
+ }
75
+
76
+ .supsystic-overview .supsystic-overview-news p,
77
+ .supsystic-overview .supsystic-overview-news ul {
78
+ white-space: normal !important;
79
+ margin:0 8px;
80
+ }
81
+
82
+ .supsystic-overview .supsystic-overview-news p {
83
+ font-size: 14px;
84
+ font-weight: 600;
85
+ }
86
+
87
+ .supsystic-overview .supsystic-overview-news ul {
88
+ list-style-type: disc;
89
+ }
90
+
91
+ .supsystic-overview .supsystic-overview-news li {
92
+ margin-left: 20px;
93
+ }
94
+
95
+ .supsystic-overview form {
96
+ border: none !important;
97
+ margin-top: 20px;
98
+ text-align: center;
99
+ }
100
+
101
+ .supsystic-overview form label {
102
+ float: left;
103
+ font-size: 18px;
104
+ font-weight: 800;
105
+ margin-top: 10px;
106
+ white-space: nowrap;
107
+ }
108
+
109
+ .supsystic-overview form input,
110
+ .supsystic-overview form select,
111
+ .supsystic-overview form textarea {
112
+ float: left;
113
+ margin-left: 50px;
114
+ width: calc(100% - 50px);
115
+ }
116
+
117
+ #contact-form-dialog p {
118
+ font-size: 15px;
119
+ }
120
+ #contact-form-dialog a {
121
+ color: #4ae8ea;
122
+ }
123
+ #contact-form-dialog a:focus {
124
+ outline: none;
125
+ }
126
+
127
+ .supsystic-overview .half-page > div {
128
+ border-bottom:0px;
129
+ padding-bottom:inherit;
130
+ }
131
+ .overview-section {
132
+ display:none;
133
+ }
134
+ .overview-section-btn {
135
+ list-style:square;
136
+ cursor:pointer;
137
+ margin-left:20px;
138
+ }
139
+ .overview-section-btn:hover {
140
+ color: #4ae8ea;
141
+ }
142
+ .border-wrapper {
143
+ display:block;
144
+ position:relative;
145
+ border:1px solid rgba(164, 170, 172, 0.28) !important;
146
+ padding:30px;
147
+ padding-top:0px;
148
+ margin-bottom:20px;
149
+ border-left: 3px solid #4ae8ea !important;
150
+ }
151
+ .border-wrapper .button-hero {
152
+ margin-bottom:30px;
153
+ line-height:auto !important;
154
+ padding:0px 10px !important;
155
+ margin:10px 4px !important;
156
+ }
157
+ .overview-section-btn-active {
158
+ color: #4ae8ea;
159
+ font-weight:bold;
160
+ }
161
+ .overview-contact-form form {
162
+ margin:0px !important;
163
+ padding:0px !important;
164
+ }
165
+ .overview-contact-form input,
166
+ .overview-contact-form select,
167
+ .overview-contact-form textarea {
168
+ display:block;
169
+ position:relative;
170
+ width:100%;
171
+ max-width:100% !important;
172
+ background-color: #f6f7f7;
173
+ color: #252728;
174
+ border: 1px solid #dfe4e4;
175
+ outline:0px;
176
+ }
177
+ .overview-contact-form #form-settings {
178
+ height:auto;
179
+ }
180
+ .overview-section-btn a {
181
+ text-decoration:none;
182
+ color: #3c434a !important;
183
+ }
184
+ .overview-section-btn a:hover {
185
+ color: #4ae8ea !important;
186
+ }
187
+ .overview-section h3 {
188
+ border-bottom:1px solid rgba(164, 170, 172, 0.28) !important;
189
+ padding-bottom:.5em;
190
+ margin-bottom:.5em;
191
+ }
192
+ .contact-info-section {
193
+ border: 1px solid rgba(164, 170, 172, 0.28) !important;
194
+ padding: 5px;
195
+ }
196
+ .contact-info-section p {
197
+ font-size:12px;
198
+ white-space: inherit;
199
+ line-height: 18px;
200
+ }
201
+ .contact-info-section ul {
202
+ margin:0px;
203
+ }
204
+ .contact-info-section ul li {
205
+ padding-left:5px;
206
+ line-height: 18px;
207
+ margin:0px;
208
+ padding:0px;
209
+ }
210
+ .contact-info-section {
211
+ margin-bottom:20px;
212
+ }
213
+ .overview-section-btn sup {
214
+ font-size:10px !important;
215
+ line-height:0px;
216
+ }
217
+ .plugin-title {
218
+ display: flex;
219
+ position: relative;
220
+ flex-direction: row;
221
+ align-content: center;
222
+ flex-wrap: nowrap;
223
+ align-items: center;
224
+ font-size:24px;
225
+ color:#313846;
226
+ font-weight:bold;
227
+ margin-bottom:10px;
228
+ }
229
+ .plugin-title img {
230
+ padding-right:15px;
231
+ }
232
+ .plugin-description {
233
+ margin-bottom:20px;
234
+ }
235
+ .supsystic-overview-flex {
236
+ display: flex;
237
+ position: relative;
238
+ flex-direction: row;
239
+ flex-wrap: nowrap;
240
+ align-content: center;
241
+ align-items: stretch;
242
+ justify-content: space-between;
243
+ }
244
+ .half-page {
245
+ display:inline-block;
246
+ position:relative;
247
+ width:49% !important;
248
+ float:inherit !important;
249
+ margin:0px !important;
250
+ padding:0px !important;
251
+ border:0px !important;
252
+ }
253
+ .full-page {
254
+ width:98%;
255
+ }
256
+ .overview-supsystic-img {
257
+ max-width:770px;
258
+ width:100%;
259
+ }
260
+ @media (max-width:1100px) {
261
+ .supsystic-overview-flex {
262
+ flex-direction: column;
263
+ }
264
+ .half-page {
265
+ width: 100% !important;
266
+ }
267
+ .full-page {
268
+ width:100%;
269
+ }
270
+ }
271
+
272
+ .supsysticOverviewACTitle {
273
+ background:#2a3545;
274
+ color:white;
275
+ font-size:14px;
276
+ padding:10px 0px;
277
+ text-align:center;
278
+ margin-bottom:10px;
279
+ width:100%;
280
+ }
281
+ .supsysticOverviewACForm input {
282
+ width:94%;
283
+ text-align:center;
284
+ }
285
+ .supsysticOverviewACForm button, .supsysticOverviewACBtn {
286
+ display:block;
287
+ position:relative;
288
+ width:94%;
289
+ margin:0px;
290
+ padding:0px;
291
+ text-align:center;
292
+ margin-top:10px !important;
293
+ }
294
+ .supsysticOverviewACFormOverlay {
295
+ display:none;
296
+ position:absolute;
297
+ left:0px;
298
+ top:0px;
299
+ width:100%;
300
+ height:100%;
301
+ background: rgb(223 223 223 / 80%);
302
+ z-index:99;
303
+ }
304
+ #overview-ac-form {
305
+ position: relative;
306
+ display: flex;
307
+ flex-direction: column;
308
+ flex-wrap: nowrap;
309
+ align-content: center;
310
+ align-items: center;
311
+ justify-content: flex-start;
312
+ background:white;
313
+ box-shadow: 0px 3px 9px 0px #919191cf;
314
+ margin:30px auto;
315
+ width: 100%;
316
+ max-width: 300px;
317
+ padding-bottom:20px;
318
+ }
319
+ .supsystic-footer-wrapper {
320
+ display: flex;
321
+ position: relative;
322
+ background: #263546;
323
+ color: white;
324
+ padding: 10px;
325
+ flex-direction: row;
326
+ flex-wrap: nowrap;
327
+ align-content: center;
328
+ justify-content: space-between;
329
+ align-items: center;
330
+ margin-left:75px;
331
+ }
332
+ .supsystic-panel {
333
+ margin-bottom:0px;
334
+ }
335
+ .supsystic-breadcrumbs {
336
+ background: #263546;
337
+ color: white;
338
+ margin-left: 75px;
339
+ padding: 10px;
340
+ }
341
+ .supsystic-breadcrumbs * {
342
+ color: white !important;
343
+ }
344
+ .ui-dialog-titlebar-close {
345
+ display:none;
346
+ }
347
+ .supsysticOverviewACFormNotification,
348
+ .required-notification {
349
+ margin-top:10px;
350
+ }
351
+ .supsysticOverviewACClose {
352
+ display:inline-block;
353
+ position:absolute;
354
+ right:-7.5px;
355
+ top:-7.5px;
356
+ background:#4ae8ea !important;
357
+ border-radius:50%;
358
+ text-align:center;
359
+ font-size:18px;
360
+ width:21px;
361
+ height:21px;
362
+ cursor:pointer;
363
+ z-index:99;
364
+ text-shadow: 0px 1px 2px black;
365
+ }
366
+ #form-settings .contact-form-table {
367
+ width:100%;
368
+ }
369
+ .wp-core-ui .supsysticOverviewACFormOverlay .button.button-hero,
370
+ div.supsysticOverviewACFormOverlay button.button.button-hero,
371
+ .supsysticOverviewACFormOverlay .button {
372
+ font-size: 15px;
373
+ min-height: 35px;
374
+ -webkit-border-radius: 0 !important;
375
+ border-radius: 0 !important;
376
+ color: #28282a;
377
+ background-color: transparent;
378
+ -webkit-box-shadow: none;
379
+ box-shadow: none;
380
+ border: 1px solid #000 !important;
381
+ }
382
+ .supsysticOverviewACFormOverlay .button:hover {
383
+ background: #4ae8ea !important;
384
+ border-color: #4ae8ea !important;
385
+ }
386
+ .supsysticOverviewACForm input {
387
+ background-color: #f6f7f7;
388
+ color: #252728;
389
+ border-left: none;
390
+ border-right: none;
391
+ border-bottom: none;
392
+ border-top: 1px solid #dfe4e4;
393
+ padding: 7px 5px;
394
+ line-height: 1.3em;
395
+ }
396
+ .supsystic-breadcrumbs .breadcrumbs-separator {
397
+ filter: invert(1);
398
+ }
399
+ .supsystic-plugin .supsystic-content {
400
+ width:100% !important;
401
+ }
402
+ .supsystic-overview .button {
403
+ min-height:inherit !important;
404
+ }
405
+ .supsystic-overview .supsystic-plugin a {
406
+ color:#3c434a !important;
407
+ }
408
+ #supsystic-breadcrumbs {
409
+ background:#263546 !important;
410
+ }
411
+ #supsystic-breadcrumbs .chosen-container-single .chosen-single span {
412
+ color: black !important;
413
+ }
414
+ #supsystic-breadcrumbs .button-primary {
415
+ color:black !important;
416
+ background:white;
417
+ }
418
+ #supsystic-breadcrumbs .button-primary i {
419
+ color:black !important;
420
+ }
css/supsystic-ui.css CHANGED
@@ -396,7 +396,7 @@ input[type="color"] {
396
  .wp-core-ui .ui-button,
397
  .wp-core-ui .ui-button.ui-state-default {
398
  font-size: 15px;
399
- height: 35px;
400
  border: none;
401
  -webkit-border-radius: 0 !important;
402
  border-radius: 0 !important;
396
  .wp-core-ui .ui-button,
397
  .wp-core-ui .ui-button.ui-state-default {
398
  font-size: 15px;
399
+ /* height: 35px; */
400
  border: none;
401
  -webkit-border-radius: 0 !important;
402
  border-radius: 0 !important;
js/acPromoScript.js ADDED
@@ -0,0 +1,139 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ jQuery(document).ready(function() {
2
+
3
+ var $userMail = jQuery('.supsysticOverviewACForm [name="email"]'),
4
+ $userName = jQuery('.supsysticOverviewACForm [name="username"]'),
5
+ $dialog = jQuery('#supsysticOverviewACFormDialog');
6
+
7
+ function sendSubscribeMail() {
8
+ var defaultIconClass = jQuery('#subscribe-btn').find('i').attr('class');
9
+ jQuery('#subscribe-btn').find('i').attr('class', 'fa fa-spinner fa-spin');
10
+ jQuery('#subscribe-btn').attr('disabled', true);
11
+
12
+ data = {};
13
+ jQuery.each(jQuery('#overview-ac-form').serializeArray(), function(index, obj) {
14
+ data[obj.name] = obj.value;
15
+ });
16
+
17
+ jQuery.ajax({
18
+ url: ajaxurl,
19
+ type: 'post',
20
+ data: {
21
+ 'pl': 'pps',
22
+ 'reqType': 'ajax',
23
+ 'mod': 'supsystic_promo',
24
+ 'action': 'sendSubscribeMail',
25
+ 'data': data
26
+ },
27
+ success: function(response) {
28
+ jQuery('#subscribe-btn').find('i').attr('class', defaultIconClass);
29
+ jQuery('#subscribe-btn').attr('disabled', false);
30
+ jQuery('.supsysticOverviewACFormOverlay').fadeOut();
31
+
32
+ jQuery('#supsysticOverviewACFormDialog').find('.message').text('Thank You For Subscribing!');
33
+ jQuery('#supsysticOverviewACFormDialog').dialog({
34
+ autoOpen: true,
35
+ resizable: false,
36
+ width: 500,
37
+ height: 280,
38
+ modal: true,
39
+ buttons: {
40
+ Close: function() {
41
+ jQuery('#supsysticOverviewACFormDialog').find('.on-error').hide();
42
+ jQuery('.supsysticOverviewACFormOverlay').fadeOut();
43
+ jQuery(this).dialog("close");
44
+ }
45
+ }
46
+ });
47
+
48
+ },
49
+ fail: function(err) {
50
+ jQuery('#supsysticOverviewACFormDialog').find('.on-error').show();
51
+ }
52
+ });
53
+ }
54
+
55
+ jQuery('#subscribe-btn').on('click', function(e) {
56
+ e.preventDefault();
57
+ if (!$userMail.val() || !$userName.val()) {
58
+ jQuery('.supsysticOverviewACFormNotification').show();
59
+ return;
60
+ }
61
+ jQuery('.supsysticOverviewACFormNotification').hide();
62
+ jQuery('#subscribe-btn, .supsysticOverviewACBtnRemind, .supsysticOverviewACBtnDisable').attr('disabled', 'disabled').prop('disabled', 'disabled');
63
+ sendSubscribeMail();
64
+ });
65
+
66
+ function sendSubscribeRemind() {
67
+ var defaultIconClass = jQuery('.supsysticOverviewACBtnRemind').find('i').attr('class');
68
+ jQuery('.supsysticOverviewACBtnRemind').find('i').attr('class', 'fa fa-spinner fa-spin');
69
+ jQuery('.supsysticOverviewACBtnRemind').attr('disabled', true);
70
+ var form_data = jQuery('#overview-ac-form').serializeArray();
71
+ var nonce = jQuery("[name='nonce']").val();
72
+ jQuery.ajax({
73
+ url: ajaxurl,
74
+ type: 'post',
75
+ data: {
76
+ 'pl': 'pps',
77
+ 'reqType': 'ajax',
78
+ 'mod': 'supsystic_promo',
79
+ 'action': 'sendSubscribeRemind'
80
+ },
81
+ success: function(response) {
82
+ jQuery('.supsysticOverviewACBtnRemind').find('i').attr('class', defaultIconClass);
83
+ jQuery('.supsysticOverviewACBtnRemind').attr('disabled', false);
84
+ jQuery('.supsysticOverviewACFormOverlay').fadeOut();
85
+ },
86
+ fail: function(err) {}
87
+ });
88
+ }
89
+ jQuery('.supsysticOverviewACBtnRemind').on('click', function(e) {
90
+ e.preventDefault();
91
+ sendSubscribeRemind();
92
+ });
93
+
94
+ function sendSubscribeDisable() {
95
+ var defaultIconClass = jQuery('.supsysticOverviewACBtnDisable').find('i').attr('class');
96
+ jQuery('.supsysticOverviewACBtnDisable').find('i').attr('class', 'fa fa-spinner fa-spin');
97
+ jQuery('.supsysticOverviewACBtnDisable').attr('disabled', true);
98
+ var form_data = jQuery('#overview-ac-form').serializeArray();
99
+ var nonce = jQuery("[name='nonce']").val();
100
+ jQuery.ajax({
101
+ url: ajaxurl,
102
+ type: 'post',
103
+ data: {
104
+ 'pl': 'pps',
105
+ 'reqType': 'ajax',
106
+ 'mod': 'supsystic_promo',
107
+ 'action': 'sendSubscribeDisable'
108
+ },
109
+ success: function(response) {
110
+ jQuery('.supsysticOverviewACBtnDisable').find('i').attr('class', defaultIconClass);
111
+ jQuery('.supsysticOverviewACBtnDisable').attr('disabled', false);
112
+ jQuery('.supsysticOverviewACFormOverlay').fadeOut();
113
+ },
114
+ fail: function(err) {}
115
+ });
116
+ }
117
+ jQuery('.supsysticOverviewACBtnDisable').on('click', function(e) {
118
+ e.preventDefault();
119
+ sendSubscribeDisable();
120
+ });
121
+
122
+ jQuery('.overview-section-btn').on('click', function() {
123
+ jQuery(".overview-section").hide();
124
+ jQuery(".overview-section[data-section='" + jQuery(this).data("section") + "']").show();
125
+ jQuery('.overview-section-btn-active').removeClass('overview-section-btn-active');
126
+ jQuery(this).addClass('overview-section-btn-active');
127
+ });
128
+ jQuery('.supsysticOverviewACBtnDisable, .supsysticOverviewACClose, .supsysticOverviewACBtnRemind').on('click', function() {
129
+ jQuery('.supsysticOverviewACFormOverlay').fadeOut();
130
+ });
131
+ jQuery('.overview-section-btn').eq(0).trigger('click');
132
+
133
+ if (!PPS_DATA['ppsAcShow']) {
134
+ jQuery('.supsysticOverviewACFormOverlay').hide();
135
+ jQuery('.supsysticOverviewACFormOverlay').remove();
136
+ } else {
137
+ jQuery('.supsysticOverviewACFormOverlay').show();
138
+ }
139
+ });
modules/adminmenu/mod.php CHANGED
@@ -2,28 +2,17 @@
2
  class adminmenuPps extends modulePps {
3
  protected $_mainSlug = 'popup-wp-supsystic';
4
  private $_mainCap = 'manage_options';
5
- public function init() {
6
- parent::init();
7
  add_action('admin_menu', array($this, 'initMenu'), 9);
8
  $plugName = plugin_basename(PPS_DIR. PPS_MAIN_FILE);
9
- add_filter('plugin_action_links_'. $plugName, array($this, 'addSettingsLinkForPlug') );
10
- }
11
- public function addSettingsLinkForPlug($links) {
12
- $mainLink = 'http://supsystic.com/';
13
- $twitterStatus = sprintf(__('Cool WordPress plugins from supsystic.com developers. I tried %s - and this was what I need! #supsystic.com', PPS_LANG_CODE), PPS_WP_PLUGIN_NAME);
14
- array_unshift($links, '<a href="'. $this->getMainLink(). '">'. __('Settings', PPS_LANG_CODE). '</a>');
15
- array_push($links, '<a title="'. __('More plugins for your WordPress site here!', PPS_LANG_CODE). '" href="'. $mainLink. '" target="_blank">supsystic.com</a>');
16
- array_push($links, '<a title="'. __('Spread the word!', PPS_LANG_CODE). '" href="https://www.facebook.com/sharer/sharer.php?u='. urlencode($mainLink). '" target="_blank" class="dashicons-before dashicons-facebook-alt"></a>');
17
- array_push($links, '<a title="'. __('Spread the word!', PPS_LANG_CODE). '" href="https://twitter.com/home?status='. urlencode($twitterStatus). '" target="_blank" class="dashicons-before dashicons-twitter"></a>');
18
- array_push($links, '<a title="'. __('Spread the word!', PPS_LANG_CODE). '" href="https://plus.google.com/share?url='. urlencode($mainLink). '" target="_blank" class="dashicons-before dashicons-googleplus"></a>');
19
- return $links;
20
- }
21
  public function initMenu() {
22
  $mainCap = $this->getMainCap();
23
  $mainSlug = dispatcherPps::applyFilters('adminMenuMainSlug', $this->_mainSlug);
24
  $mainMenuPageOptions = array(
25
- 'page_title' => PPS_WP_PLUGIN_NAME,
26
- 'menu_title' => PPS_WP_PLUGIN_NAME,
27
  'capability' => $mainCap,
28
  'menu_slug' => $mainSlug,
29
  'function' => array(framePps::_()->getModule('options'), 'getAdminPage'));
@@ -57,4 +46,3 @@ class adminmenuPps extends modulePps {
57
  return dispatcherPps::applyFilters('adminMenuAccessCap', $this->_mainCap);
58
  }
59
  }
60
-
2
  class adminmenuPps extends modulePps {
3
  protected $_mainSlug = 'popup-wp-supsystic';
4
  private $_mainCap = 'manage_options';
5
+ public function init() {
6
+ parent::init();
7
  add_action('admin_menu', array($this, 'initMenu'), 9);
8
  $plugName = plugin_basename(PPS_DIR. PPS_MAIN_FILE);
9
+ }
 
 
 
 
 
 
 
 
 
 
 
10
  public function initMenu() {
11
  $mainCap = $this->getMainCap();
12
  $mainSlug = dispatcherPps::applyFilters('adminMenuMainSlug', $this->_mainSlug);
13
  $mainMenuPageOptions = array(
14
+ 'page_title' => PPS_WP_PLUGIN_NAME,
15
+ 'menu_title' => PPS_WP_PLUGIN_NAME,
16
  'capability' => $mainCap,
17
  'menu_slug' => $mainSlug,
18
  'function' => array(framePps::_()->getModule('options'), 'getAdminPage'));
46
  return dispatcherPps::applyFilters('adminMenuAccessCap', $this->_mainCap);
47
  }
48
  }
 
modules/options/views/tpl/optionsAdminPage.php CHANGED
@@ -25,10 +25,15 @@
25
  </ul>
26
  </nav>
27
  <div class="supsystic-container supsystic-<?php echo esc_html($this->activeTab)?>">
28
- <?php dispatcherPps::doAction('discountMsg');?>
29
  <?php echo viewPps::ksesString($this->content)?>
30
  <div class="clear"></div>
31
  </div>
 
 
 
 
 
32
  </section>
33
  </div>
34
  </div>
25
  </ul>
26
  </nav>
27
  <div class="supsystic-container supsystic-<?php echo esc_html($this->activeTab)?>">
28
+ <?php //dispatcherPps::doAction('discountMsg');?>
29
  <?php echo viewPps::ksesString($this->content)?>
30
  <div class="clear"></div>
31
  </div>
32
+ <div class="supsystic-footer-wrapper">
33
+ <div class="supsystic-footer-add-review">Add your <a target="_blank" href="http://wordpress.org/support/view/plugin-reviews/popup-by-supsystic?filter=5#postform">★★★★★</a> on wordpress.org</div>
34
+ <a href="https://supsystic.com/" target="_blank"><img src="<?php echo PPS_PLUGINS_URL .'/'. PPS_PLUG_NAME;?>/modules/supsystic_promo/img/supsystic-logo-small.png"></a>
35
+ <div class="supsystic-footer-plugin-version">PopUp by Supsystic Version: <?php echo PPS_VERSION?></div>
36
+ </div>
37
  </section>
38
  </div>
39
  </div>
modules/options/views/tpl/optionsSettingsTabContent.php CHANGED
@@ -112,11 +112,11 @@
112
  </tr>
113
  </table>
114
  <div style="clear: both;"></div>
 
 
115
  </div>
116
  </div>
117
  <?php echo viewPps::ksesString(htmlPps::hidden('mod', array('value' => 'options')))?>
118
  <?php echo viewPps::ksesString(htmlPps::hidden('action', array('value' => 'saveGroup')))?>
119
  </form>
120
- <br />
121
- <a href="<?php echo esc_html($this->exportAllSubscribersUrl);?>" class="button"><?php _e('Export all Subscribers', PPS_LANG_CODE)?></a>
122
  </section>
112
  </tr>
113
  </table>
114
  <div style="clear: both;"></div>
115
+ <br />
116
+ <a href="<?php echo esc_html($this->exportAllSubscribersUrl);?>" class="button"><?php _e('Export all Subscribers', PPS_LANG_CODE)?></a>
117
  </div>
118
  </div>
119
  <?php echo viewPps::ksesString(htmlPps::hidden('mod', array('value' => 'options')))?>
120
  <?php echo viewPps::ksesString(htmlPps::hidden('action', array('value' => 'saveGroup')))?>
121
  </form>
 
 
122
  </section>
modules/popup/controller.php CHANGED
@@ -145,7 +145,7 @@ class popupControllerPps extends controllerPps {
145
  }
146
  if(!empty($res)) {
147
  $res = $this->_connectMainJsLibsForPrev()
148
- . '<script type="text/javascript"> var sssIgnoreSaveStatistics = true; </script>'
149
  . $res;
150
  }
151
  }
145
  }
146
  if(!empty($res)) {
147
  $res = $this->_connectMainJsLibsForPrev()
148
+ // . '<script type="text/javascript"> var sssIgnoreSaveStatistics = true; </script>'
149
  . $res;
150
  }
151
  }
modules/popup/css/admin.popup.css CHANGED
@@ -131,7 +131,7 @@ a.ppsSwitchShowHideOptLink:hover {
131
  border: 3px solid transparent;
132
  cursor: pointer;
133
  }
134
- .ppsPopupAnimEff:hover,
135
  .ppsPopupAnimEff.active {
136
  border: 3px solid #4ae8ea;
137
  }
@@ -148,9 +148,9 @@ a.ppsSwitchShowHideOptLink:hover {
148
  color: #fff;
149
  /*cursor: pointer;*/
150
  }
151
- #supsystic-breadcrumbs .button,
152
  #supsystic-breadcrumbs *:not(.fa) {
153
- height: 30px;
154
  line-height: 26px;
155
  }
156
  .supsystic-always-top {
@@ -159,10 +159,10 @@ a.ppsSwitchShowHideOptLink:hover {
159
  }
160
  #supsystic-breadcrumbs.supsystic-sticky {
161
  background-color: #f1f1f1;
162
- width: 100%;
163
  }
164
  .popup-tick-label {
165
-
166
  }
167
  [data-block-to-switch] {
168
  width: 100%;
@@ -171,7 +171,7 @@ a.ppsSwitchShowHideOptLink:hover {
171
  #ppsPopupEditDesignTabs .nav-tab-wrapper {
172
  padding-left: 230px;
173
  padding-top: 0;
174
- margin-top: 0px;
175
  margin-bottom: 0px;
176
  }
177
  #ppsPopupEditDesignTabs .nav-tab {
@@ -271,7 +271,7 @@ a.ppsSwitchShowHideOptLink:hover {
271
  #ppsRfFieldSelectOptShellExl {
272
  display: none;
273
  }
274
- .ppsSfFieldSelectOptShell,
275
  .ppsRfFieldSelectOptShell,
276
  .ui-state-highlight-sub-field-select-opt,
277
  .ui-state-highlight-reg-field-select-opt {
@@ -388,4 +388,4 @@ a.ppsSwitchShowHideOptLink:hover {
388
  0% {background-position: 0px 0px, 0px 0px, 0px 0px;}
389
  50% {background-position: 500px 500px, 100px 200px, -100px 150px;}
390
  100% {background-position: 500px 1000px, 200px 400px, -100px 300px;}
391
- }
131
  border: 3px solid transparent;
132
  cursor: pointer;
133
  }
134
+ .ppsPopupAnimEff:hover,
135
  .ppsPopupAnimEff.active {
136
  border: 3px solid #4ae8ea;
137
  }
148
  color: #fff;
149
  /*cursor: pointer;*/
150
  }
151
+ #supsystic-breadcrumbs .button,
152
  #supsystic-breadcrumbs *:not(.fa) {
153
+ height: 30px;
154
  line-height: 26px;
155
  }
156
  .supsystic-always-top {
159
  }
160
  #supsystic-breadcrumbs.supsystic-sticky {
161
  background-color: #f1f1f1;
162
+ /* width: 100%; */
163
  }
164
  .popup-tick-label {
165
+
166
  }
167
  [data-block-to-switch] {
168
  width: 100%;
171
  #ppsPopupEditDesignTabs .nav-tab-wrapper {
172
  padding-left: 230px;
173
  padding-top: 0;
174
+ margin-top: 0px;
175
  margin-bottom: 0px;
176
  }
177
  #ppsPopupEditDesignTabs .nav-tab {
271
  #ppsRfFieldSelectOptShellExl {
272
  display: none;
273
  }
274
+ .ppsSfFieldSelectOptShell,
275
  .ppsRfFieldSelectOptShell,
276
  .ui-state-highlight-sub-field-select-opt,
277
  .ui-state-highlight-reg-field-select-opt {
388
  0% {background-position: 0px 0px, 0px 0px, 0px 0px;}
389
  50% {background-position: 500px 500px, 100px 200px, -100px 150px;}
390
  100% {background-position: 500px 1000px, 200px 400px, -100px 300px;}
391
+ }
modules/popup/views/tpl/popupEditFormControls.php CHANGED
@@ -5,7 +5,7 @@
5
  )))?>
6
  <i id="ppsPopupLabelEditMsg" class="fa fa-fw fa-pencil"></i>
7
  </span>&raquo;&nbsp;
8
- <span id="ppsPopupMainControllsShell" style="float: right; padding-right: 95px;">
9
  <button class="button button-primary ppsPopupSaveBtn" title="<?php _e('Save all changes', PPS_LANG_CODE)?>">
10
  <i class="fa fa-fw fa-save"></i>
11
  <?php _e('Save', PPS_LANG_CODE)?>
5
  )))?>
6
  <i id="ppsPopupLabelEditMsg" class="fa fa-fw fa-pencil"></i>
7
  </span>&raquo;&nbsp;
8
+ <span id="ppsPopupMainControllsShell" style="float: right; ">
9
  <button class="button button-primary ppsPopupSaveBtn" title="<?php _e('Save all changes', PPS_LANG_CODE)?>">
10
  <i class="fa fa-fw fa-save"></i>
11
  <?php _e('Save', PPS_LANG_CODE)?>
modules/supsystic_promo/controller.php CHANGED
@@ -15,6 +15,45 @@ class supsystic_promoControllerPps extends controllerPps {
15
  }
16
  redirectPps($originalPage);
17
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
18
  public function sendContact() {
19
  $res = new responsePps();
20
  $time = time();
@@ -138,7 +177,7 @@ class supsystic_promoControllerPps extends controllerPps {
138
  return array(
139
  PPS_USERLEVELS => array(
140
  PPS_ADMIN => array('welcomePageSaveInfo', 'sendContact', 'addNoticeAction',
141
- 'addStep', 'closeTour', 'addTourFinish', 'saveDeactivateData', 'enbStatsOpt')
142
  ),
143
  );
144
  }
15
  }
16
  redirectPps($originalPage);
17
  }
18
+ public function sendSubscribeMail()
19
+ {
20
+ $res = new responsePps();
21
+ $data = reqPps::get('post');
22
+ $apiUrl = 'https://supsystic.com/wp-admin/admin-ajax.php';
23
+ $reqUrl = $apiUrl . '?action=ac_get_plugin_installed';
24
+ $mail = $data['data'];
25
+ $isPro = !empty($this->getModule('suspsystic_promo')->isPro()) ? true : false;
26
+ $data = array(
27
+ 'body' => array(
28
+ 'key' => 'kJ#f3(FjkF9fasd124t5t589u9d4389r3r3R#2asdas3(#R03r#(r#t-4t5t589u9d4389r3r3R#$%lfdj',
29
+ 'user_name' => $mail['username'],
30
+ 'user_email' => $mail['email'],
31
+ 'site_url' => get_bloginfo('wpurl'),
32
+ 'site_name' => get_bloginfo('name'),
33
+ 'plugin_code' => 'pps',
34
+ 'is_pro' => $isPro,
35
+ ),
36
+ );
37
+ $response = wp_remote_post($reqUrl, $data);
38
+ if (is_wp_error($response)) {
39
+ $res->pushError( 'Some errors' );
40
+ } else {
41
+ update_option('pps_ac_subscribe', true);
42
+ }
43
+ $res->ajaxExec();
44
+ }
45
+ public function sendSubscribeRemind()
46
+ {
47
+ $res = new responsePps();
48
+ update_option('pps_ac_remind', date("Y-m-d h:i:s", time() + 86400));
49
+ $res->ajaxExec();
50
+ }
51
+ public function sendSubscribeDisable()
52
+ {
53
+ $res = new responsePps();
54
+ update_option('pps_ac_disabled', true);
55
+ $res->ajaxExec();
56
+ }
57
  public function sendContact() {
58
  $res = new responsePps();
59
  $time = time();
177
  return array(
178
  PPS_USERLEVELS => array(
179
  PPS_ADMIN => array('welcomePageSaveInfo', 'sendContact', 'addNoticeAction',
180
+ 'addStep', 'closeTour', 'addTourFinish', 'saveDeactivateData', 'enbStatsOpt', 'sendSubscribeMail', 'sendSubscribeRemind', 'sendSubscribeDisable')
181
  ),
182
  );
183
  }
modules/supsystic_promo/img/256.png DELETED
Binary file
modules/supsystic_promo/img/Backup_256.png DELETED
Binary file
modules/supsystic_promo/img/Coming_Soon_256.png DELETED
Binary file
modules/supsystic_promo/img/Contact_Form_256.png DELETED
Binary file
modules/supsystic_promo/img/Data_Tables_256.png DELETED
Binary file
modules/supsystic_promo/img/Digital_Publication_256.png DELETED
Binary file
modules/supsystic_promo/img/Gallery_256.png DELETED
Binary file
modules/supsystic_promo/img/Google_Maps_256.png DELETED
Binary file
modules/supsystic_promo/img/Live_Chat_256.png DELETED
Binary file
modules/supsystic_promo/img/Popup_256.png DELETED
Binary file
modules/supsystic_promo/img/Pricing_Table_256.png DELETED
Binary file
modules/supsystic_promo/img/Slider_256.png DELETED
Binary file
modules/supsystic_promo/img/Social_Buttons_256.png DELETED
Binary file
modules/supsystic_promo/img/heatmap.jpg DELETED
Binary file
modules/supsystic_promo/img/icon-256x256.png DELETED
Binary file
modules/supsystic_promo/img/kinsta_banner.png DELETED
Binary file
modules/supsystic_promo/img/overview-01.png ADDED
Binary file
modules/supsystic_promo/img/overview-02.png ADDED
Binary file
modules/supsystic_promo/img/overview-03.png ADDED
Binary file
modules/supsystic_promo/img/plugin-icon.png ADDED
Binary file
modules/supsystic_promo/img/shapes.jpg DELETED
Binary file
modules/supsystic_promo/img/supsystic-logo-small.png ADDED
Binary file
modules/supsystic_promo/mod.php CHANGED
@@ -13,15 +13,13 @@ class supsystic_promoPps extends modulePps {
13
  add_action('admin_footer', array($this, 'displayAdminFooter'), 9);
14
  if(is_admin()) {
15
  add_action('init', array($this, 'checkWelcome'));
16
- add_action('init', array($this, 'checkStatisticStatus'));
17
- add_action('admin_footer', array($this, 'checkPluginDeactivation'));
18
  }
19
  $this->weLoveYou();
20
  dispatcherPps::addFilter('mainAdminTabs', array($this, 'addAdminTab'));
21
  dispatcherPps::addFilter('subDestList', array($this, 'addSubDestList'));
22
  dispatcherPps::addAction('beforeSaveOpts', array($this, 'checkSaveOpts'));
23
  dispatcherPps::addFilter('showTplsList', array($this, 'checkProTpls'));
24
- dispatcherPps::addAction('discountMsg', array($this, 'getDiscountMsg'));
25
  add_action('admin_notices', array($this, 'checkAdminPromoNotices'));
26
  // Admin tutorial
27
  add_action('admin_enqueue_scripts', array( $this, 'loadTutorial'));
@@ -48,14 +46,14 @@ class supsystic_promoPps extends modulePps {
48
  $enbStatsMsg = '<p>'
49
  . sprintf(__('You can help us improve our plugin - by <a href="%s" data-statistic-code="hide" class="button button-primary ppsEnbStatsAdBtn">enabling Usage Statistics</a>. We will collect only our plugin usage statistics data - to understand Your needs and make our solution better for You.', PPS_LANG_CODE), framePps::_()->getModule('options')->getTabUrl('settings'))
50
  . '</p>';
51
- $checkOtherPlugins = '<p>'
52
- . sprintf(__('Check out <a href="%s" target="_blank" class="button button-primary" data-statistic-code="hide">our other Plugins</a>! Years of experience in WordPress plugins developers made those list unbreakable!', PPS_LANG_CODE), framePps::_()->getModule('options')->getTabUrl('featured-plugins'))
53
- . '</p>';
54
  $notices = array(
55
  'rate_msg' => array('html' => $rateMsg, 'show_after' => 7 * $day),
56
  'enb_promo_link_msg' => array('html' => $enbPromoLinkMsg, 'show_after' => 11 * $day),
57
  'enb_stats_msg' => array('html' => $enbStatsMsg, 'show_after' => 5 * $day),
58
- 'check_other_plugs_msg' => array('html' => $checkOtherPlugins, 'show_after' => 1 * $day),
59
  );
60
  foreach($notices as $nKey => $n) {
61
  if($currTime - $startUsage <= $n['show_after']) {
@@ -101,9 +99,6 @@ class supsystic_promoPps extends modulePps {
101
  $tabs['overview'] = array(
102
  'label' => __('Overview', PPS_LANG_CODE), 'callback' => array($this, 'getOverviewTabContent'), 'fa_icon' => 'fa-info', 'sort_order' => 5,
103
  );
104
- $tabs['featured-plugins'] = array(
105
- 'label' => __('Featured Plugins', PPS_LANG_CODE), 'callback' => array($this, 'showFeaturedPluginsPage'), 'fa_icon' => 'fa-heart', 'sort_order' => 99,
106
- );
107
  return $tabs;
108
  }
109
  public function addSubDestList($subDestList) {
@@ -201,22 +196,6 @@ class supsystic_promoPps extends modulePps {
201
  public function preparePromoLink($link, $ref = '') {
202
  return $this->_preparePromoLink($link, $ref);
203
  }
204
- public function checkStatisticStatus(){
205
- // Not used for now - using big data methods
206
- /*$canSend = (int) framePps::_()->getModule('options')->get('send_stats');
207
- if($canSend && framePps::_()->getModule('user')->isAdmin()) {
208
- // Before this version we had many wrong data collected taht we don't need at all. Let's clear them.
209
- if(PPS_VERSION == '1.3.5') {
210
- $clearedTrashStatData = (int) get_option(PPS_DB_PREF. 'cleared_trash_stat_data');
211
- if(!$clearedTrashStatData) {
212
- $this->getModel()->clearUsageStat();
213
- update_option(PPS_DB_PREF. 'cleared_trash_stat_data', 1);
214
- return; // We just cleared whole data - so don't need to even check send stats
215
- }
216
- }
217
- $this->getModel()->checkAndSend();
218
- }*/
219
- }
220
  public function getMinStatSend() {
221
  return $this->_minDataInStatToSend;
222
  }
@@ -307,30 +286,30 @@ class supsystic_promoPps extends modulePps {
307
  if(!$this->isPro()) {
308
  $imgsPath = framePps::_()->getModule('popup')->getAssetsUrl(). 'img/preview/';
309
  $promoList = array(
310
- array('label' => 'List Building Layered', 'img_preview' => 'list-building-layered.jpg', 'sort_order' => 18, 'type_id' => 10),
311
- array('label' => 'Full Screen Transparent', 'img_preview' => 'full-screen-transparent.jpg', 'sort_order' => 20, 'type_id' => 8),
312
- array('label' => 'Age Verification', 'img_preview' => 'age-verification.jpg', 'sort_order' => 10, 'type_id' => 7),
313
- array('label' => 'WordPress Login', 'img_preview' => 'wordpress-login.jpg', 'sort_order' => 15, 'type_id' => 9),
314
- array('label' => 'Bump!', 'img_preview' => 'bump.jpg', 'sort_order' => 16, 'type_id' => 10),
315
- array('label' => 'Subscribe Me Bar', 'img_preview' => 'subscribe-me-bar.jpg', 'sort_order' => 17, 'type_id' => 10),
316
- array('label' => 'Black Friday', 'img_preview' => 'black-friday.jpg', 'sort_order' => 16, 'type_id' => 10),
317
- array('label' => 'Pyramid', 'img_preview' => 'pyramid.jpg', 'sort_order' => 19, 'type_id' => 10),
318
- array('label' => 'Catch Eye', 'img_preview' => 'catch-eye.jpg', 'sort_order' => 17, 'type_id' => 10),
319
- array('label' => 'Logout Reminder', 'img_preview' => 'wordpress-logout.jpg', 'sort_order' => 16, 'type_id' => 9),
320
- array('label' => 'Ho Ho Holiday Sale', 'img_preview' => 'HoHoHolidaySale.png', 'sort_order' => 0, 'type_id' => 11),
321
- array('label' => 'Exclusive Christmas', 'img_preview' => 'ExclusiveChristmasBg2.png', 'sort_order' => 0, 'type_id' => 11),
322
- array('label' => 'Christmas-4', 'img_preview' => 'christmas-4-prev.png', 'sort_order' => 0, 'type_id' => 11),
323
- array('label' => 'Holiday Discount', 'img_preview' => '358-prev-holiday-discount.png', 'sort_order' => 0, 'type_id' => 11),
324
- array('label' => 'Winter Sale', 'img_preview' => '365-5-winter-sale-prev.png', 'sort_order' => 0, 'type_id' => 7),
325
- array('label' => 'Christmas Tree', 'img_preview' => '365-6-img-prev.png', 'sort_order' => 0, 'type_id' => 11),
326
- array('label' => 'Christmas Candies', 'img_preview' => '361-christmas-candies-prev.png', 'sort_order' => 0, 'type_id' => 11),
327
- array('label' => 'Xmas Discount', 'img_preview' => '373-xmas-discount-prev.png', 'sort_order' => 0, 'type_id' => 11),
328
- array('label' => 'Exclusive Subscription', 'img_preview' => '230-7-exclusive-subscr-preview.png', 'sort_order' => 1, 'type_id' => 1),
329
- array('label' => 'Pretty', 'img_preview' => '2016-8-Pretty-prev.png', 'sort_order' => 1, 'type_id' => 1),
330
- array('label' => 'Get Discount', 'img_preview' => '2016-9-get-discount-prev.png', 'sort_order' => 1, 'type_id' => 1),
331
- array('label' => 'Winter Subscribe', 'img_preview' => '2016-10-winter-subscr-prev.png', 'sort_order' => 1, 'type_id' => 1),
332
- array('label' => 'Lavender Mood', 'img_preview' => '2016-11-lavender-mood-prev.png', 'sort_order' => 1, 'type_id' => 1),
333
- );
334
  foreach($promoList as $i => $t) {
335
  $promoList[ $i ]['img_preview_url'] = $imgsPath. $promoList[ $i ]['img_preview'];
336
  $promoList[ $i ]['promo'] = strtolower(str_replace(array(' ', '!'), '', $t['label']));
@@ -568,56 +547,36 @@ array('label' => 'Lavender Mood', 'img_preview' => '2016-11-lavender-mood-prev.p
568
  public function getContactFormPlgUrl() {
569
  return 'http://wordpress.org/support/plugin/contact-form-by-supsystic';
570
  }
571
- public function showFeaturedPluginsPage() {
572
- return $this->getView()->showFeaturedPluginsPage();
573
- }
574
- public function checkPluginDeactivation() {
575
- if(function_exists('get_current_screen')) {
576
- $screen = get_current_screen();
577
- if($screen && isset($screen->base) && $screen->base == 'plugins') {
578
- framePps::_()->getModule('templates')->loadCoreJs();
579
- framePps::_()->getModule('templates')->loadCoreCss();
580
- //framePps::_()->getModule('templates')->loadJqueryUi();
581
- framePps::_()->addStyle('jquery-ui', $this->getModPath(). 'css/jquery-ui.css');
582
- framePps::_()->addScript('jquery-ui-dialog');
583
- framePps::_()->addScript(PPS_CODE. '.admin.plugins', $this->getModPath(). 'js/admin.plugins.js');
584
- framePps::_()->addJSVar(PPS_CODE. '.admin.plugins', 'ppsPluginsData', array(
585
- 'plugSlug' => PPS_PLUG_NAME,
586
- ));
587
- echo viewPps::ksesString($this->getView()->getPluginDeactivation());
588
- }
589
- }
590
- }
591
  public function connectItemEditStats() {
592
  framePps::_()->addScript(PPS_CODE. '.admin.item.edit.stats', $this->getModPath(). 'js/admin.item.edit.stats.js');
593
  }
594
- public function getDiscountMsg() {
595
- if($this->isPro()
596
- && framePps::_()->getModule('options')->getActiveTab() == 'license'
597
- && framePps::_()->getModule('license')
598
- && framePps::_()->getModule('license')->getModel()->isActive()
599
- ) {
600
- $proPluginsList = array(
601
- 'ultimate-maps-by-supsystic-pro', 'newsletters-by-supsystic-pro', 'contact-form-by-supsystic-pro', 'live-chat-pro',
602
- 'digital-publications-supsystic-pro', 'coming-soon-supsystic-pro', 'price-table-supsystic-pro', 'tables-generator-pro',
603
- 'social-share-pro', 'popup-by-supsystic-pro', 'supsystic_slider_pro', 'supsystic-gallery-pro', 'google-maps-easy-pro',
604
- 'backup-supsystic-pro',
605
- );
606
- $activePluginsList = get_option('active_plugins', array());
607
- $activeProPluginsCount = 0;
608
- foreach($activePluginsList as $actPl) {
609
- foreach($proPluginsList as $proPl) {
610
- if(strpos($actPl, $proPl) !== false) {
611
- $activeProPluginsCount++;
612
- }
613
- }
614
- }
615
- if($activeProPluginsCount === 1) {
616
- $buyLink = $this->getDiscountBuyUrl();
617
- $this->getView()->getDiscountMsg($buyLink);
618
- }
619
- }
620
- }
621
  public function getDiscountBuyUrl() {
622
  $license = framePps::_()->getModule('license')->getModel()->getCredentials();
623
  $license['key'] = md5($license['key']);
13
  add_action('admin_footer', array($this, 'displayAdminFooter'), 9);
14
  if(is_admin()) {
15
  add_action('init', array($this, 'checkWelcome'));
 
 
16
  }
17
  $this->weLoveYou();
18
  dispatcherPps::addFilter('mainAdminTabs', array($this, 'addAdminTab'));
19
  dispatcherPps::addFilter('subDestList', array($this, 'addSubDestList'));
20
  dispatcherPps::addAction('beforeSaveOpts', array($this, 'checkSaveOpts'));
21
  dispatcherPps::addFilter('showTplsList', array($this, 'checkProTpls'));
22
+ // dispatcherPps::addAction('discountMsg', array($this, 'getDiscountMsg'));
23
  add_action('admin_notices', array($this, 'checkAdminPromoNotices'));
24
  // Admin tutorial
25
  add_action('admin_enqueue_scripts', array( $this, 'loadTutorial'));
46
  $enbStatsMsg = '<p>'
47
  . sprintf(__('You can help us improve our plugin - by <a href="%s" data-statistic-code="hide" class="button button-primary ppsEnbStatsAdBtn">enabling Usage Statistics</a>. We will collect only our plugin usage statistics data - to understand Your needs and make our solution better for You.', PPS_LANG_CODE), framePps::_()->getModule('options')->getTabUrl('settings'))
48
  . '</p>';
49
+ // $checkOtherPlugins = '<p>'
50
+ // . sprintf(__('Check out <a href="%s" target="_blank" class="button button-primary" data-statistic-code="hide">our other Plugins</a>! Years of experience in WordPress plugins developers made those list unbreakable!', PPS_LANG_CODE), framePps::_()->getModule('options')->getTabUrl('featured-plugins'))
51
+ // . '</p>';
52
  $notices = array(
53
  'rate_msg' => array('html' => $rateMsg, 'show_after' => 7 * $day),
54
  'enb_promo_link_msg' => array('html' => $enbPromoLinkMsg, 'show_after' => 11 * $day),
55
  'enb_stats_msg' => array('html' => $enbStatsMsg, 'show_after' => 5 * $day),
56
+ // 'check_other_plugs_msg' => array('html' => $checkOtherPlugins, 'show_after' => 1 * $day),
57
  );
58
  foreach($notices as $nKey => $n) {
59
  if($currTime - $startUsage <= $n['show_after']) {
99
  $tabs['overview'] = array(
100
  'label' => __('Overview', PPS_LANG_CODE), 'callback' => array($this, 'getOverviewTabContent'), 'fa_icon' => 'fa-info', 'sort_order' => 5,
101
  );
 
 
 
102
  return $tabs;
103
  }
104
  public function addSubDestList($subDestList) {
196
  public function preparePromoLink($link, $ref = '') {
197
  return $this->_preparePromoLink($link, $ref);
198
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
199
  public function getMinStatSend() {
200
  return $this->_minDataInStatToSend;
201
  }
286
  if(!$this->isPro()) {
287
  $imgsPath = framePps::_()->getModule('popup')->getAssetsUrl(). 'img/preview/';
288
  $promoList = array(
289
+ array('label' => 'List Building Layered', 'img_preview' => 'list-building-layered.jpg', 'sort_order' => 18, 'type_id' => 10),
290
+ array('label' => 'Full Screen Transparent', 'img_preview' => 'full-screen-transparent.jpg', 'sort_order' => 20, 'type_id' => 8),
291
+ array('label' => 'Age Verification', 'img_preview' => 'age-verification.jpg', 'sort_order' => 10, 'type_id' => 7),
292
+ array('label' => 'WordPress Login', 'img_preview' => 'wordpress-login.jpg', 'sort_order' => 15, 'type_id' => 9),
293
+ array('label' => 'Bump!', 'img_preview' => 'bump.jpg', 'sort_order' => 16, 'type_id' => 10),
294
+ array('label' => 'Subscribe Me Bar', 'img_preview' => 'subscribe-me-bar.jpg', 'sort_order' => 17, 'type_id' => 10),
295
+ array('label' => 'Black Friday', 'img_preview' => 'black-friday.jpg', 'sort_order' => 16, 'type_id' => 10),
296
+ array('label' => 'Pyramid', 'img_preview' => 'pyramid.jpg', 'sort_order' => 19, 'type_id' => 10),
297
+ array('label' => 'Catch Eye', 'img_preview' => 'catch-eye.jpg', 'sort_order' => 17, 'type_id' => 10),
298
+ array('label' => 'Logout Reminder', 'img_preview' => 'wordpress-logout.jpg', 'sort_order' => 16, 'type_id' => 9),
299
+ array('label' => 'Ho Ho Holiday Sale', 'img_preview' => 'HoHoHolidaySale.png', 'sort_order' => 0, 'type_id' => 11),
300
+ array('label' => 'Exclusive Christmas', 'img_preview' => 'ExclusiveChristmasBg2.png', 'sort_order' => 0, 'type_id' => 11),
301
+ array('label' => 'Christmas-4', 'img_preview' => 'christmas-4-prev.png', 'sort_order' => 0, 'type_id' => 11),
302
+ array('label' => 'Holiday Discount', 'img_preview' => '358-prev-holiday-discount.png', 'sort_order' => 0, 'type_id' => 11),
303
+ array('label' => 'Winter Sale', 'img_preview' => '365-5-winter-sale-prev.png', 'sort_order' => 0, 'type_id' => 7),
304
+ array('label' => 'Christmas Tree', 'img_preview' => '365-6-img-prev.png', 'sort_order' => 0, 'type_id' => 11),
305
+ array('label' => 'Christmas Candies', 'img_preview' => '361-christmas-candies-prev.png', 'sort_order' => 0, 'type_id' => 11),
306
+ array('label' => 'Xmas Discount', 'img_preview' => '373-xmas-discount-prev.png', 'sort_order' => 0, 'type_id' => 11),
307
+ array('label' => 'Exclusive Subscription', 'img_preview' => '230-7-exclusive-subscr-preview.png', 'sort_order' => 1, 'type_id' => 1),
308
+ array('label' => 'Pretty', 'img_preview' => '2016-8-Pretty-prev.png', 'sort_order' => 1, 'type_id' => 1),
309
+ array('label' => 'Get Discount', 'img_preview' => '2016-9-get-discount-prev.png', 'sort_order' => 1, 'type_id' => 1),
310
+ array('label' => 'Winter Subscribe', 'img_preview' => '2016-10-winter-subscr-prev.png', 'sort_order' => 1, 'type_id' => 1),
311
+ array('label' => 'Lavender Mood', 'img_preview' => '2016-11-lavender-mood-prev.png', 'sort_order' => 1, 'type_id' => 1),
312
+ );
313
  foreach($promoList as $i => $t) {
314
  $promoList[ $i ]['img_preview_url'] = $imgsPath. $promoList[ $i ]['img_preview'];
315
  $promoList[ $i ]['promo'] = strtolower(str_replace(array(' ', '!'), '', $t['label']));
547
  public function getContactFormPlgUrl() {
548
  return 'http://wordpress.org/support/plugin/contact-form-by-supsystic';
549
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
550
  public function connectItemEditStats() {
551
  framePps::_()->addScript(PPS_CODE. '.admin.item.edit.stats', $this->getModPath(). 'js/admin.item.edit.stats.js');
552
  }
553
+ // public function getDiscountMsg() {
554
+ // if($this->isPro()
555
+ // && framePps::_()->getModule('options')->getActiveTab() == 'license'
556
+ // && framePps::_()->getModule('license')
557
+ // && framePps::_()->getModule('license')->getModel()->isActive()
558
+ // ) {
559
+ // $proPluginsList = array(
560
+ // 'ultimate-maps-by-supsystic-pro', 'newsletters-by-supsystic-pro', 'contact-form-by-supsystic-pro', 'live-chat-pro',
561
+ // 'digital-publications-supsystic-pro', 'coming-soon-supsystic-pro', 'price-table-supsystic-pro', 'tables-generator-pro',
562
+ // 'social-share-pro', 'popup-by-supsystic-pro', 'supsystic_slider_pro', 'supsystic-gallery-pro', 'google-maps-easy-pro',
563
+ // 'backup-supsystic-pro',
564
+ // );
565
+ // $activePluginsList = get_option('active_plugins', array());
566
+ // $activeProPluginsCount = 0;
567
+ // foreach($activePluginsList as $actPl) {
568
+ // foreach($proPluginsList as $proPl) {
569
+ // if(strpos($actPl, $proPl) !== false) {
570
+ // $activeProPluginsCount++;
571
+ // }
572
+ // }
573
+ // }
574
+ // if($activeProPluginsCount === 1) {
575
+ // $buyLink = $this->getDiscountBuyUrl();
576
+ // $this->getView()->getDiscountMsg($buyLink);
577
+ // }
578
+ // }
579
+ // }
580
  public function getDiscountBuyUrl() {
581
  $license = framePps::_()->getModule('license')->getModel()->getCredentials();
582
  $license['key'] = md5($license['key']);
modules/supsystic_promo/views/supsystic_promo.php CHANGED
@@ -16,7 +16,6 @@ class supsystic_promoViewPps extends viewPps {
16
  $this->assign('mainLink', $this->getModule()->getMainLink());
17
  $this->assign('faqList', $this->getFaqList());
18
  $this->assign('serverSettings', $this->getServerSettings());
19
- $this->assign('news', $this->getNewsContent());
20
  $this->assign('contactFields', $this->getModule()->getContactFormFields());
21
  return parent::getContent('overviewTabContent');
22
  }
@@ -57,30 +56,13 @@ Here you can edit css style of the pop-up window.', PPS_LANG_CODE),
57
  => sprintf(__("If you setup you're PopUp properly, and it still doesn't show on the page - there are can be conflict with your WordPress theme or other plugins. <a href='%s' target='_blank'>Contact us</a> with the URL of the webpage you add popup and screenshots / text of the error messages, if you have one - and we will help you resolve your issue.", PPS_LANG_CODE), $this->getModule()->getContactLink()),
58
  );
59
  }
60
- public function getNewsContent() {
61
- $getData = wp_remote_get('http://supsystic.com/news/main.html');
62
- $content = '';
63
- if($getData
64
- && is_array($getData)
65
- && isset($getData['response'])
66
- && isset($getData['response']['code'])
67
- && $getData['response']['code'] == 200
68
- && isset($getData['body'])
69
- && !empty($getData['body'])
70
- ) {
71
- $content = $getData['body'];
72
- } else {
73
- $content = sprintf(__('There were some problems while trying to retrieve our news, but you can always check all list <a target="_blank" href="%s">here</a>.', PPS_LANG_CODE), 'http://supsystic.com/news');
74
- }
75
- return $content;
76
- }
77
  public function getServerSettings() {
78
  global $wpdb;
79
  return array(
80
- 'Operating System' => array('value' => PHP_OS),
81
  'PHP Version' => array('value' => PHP_VERSION),
82
  'Server Software' => array('value' => $_SERVER['SERVER_SOFTWARE']),
83
- 'MySQL' => array('value' => $wpdb->db_version()),
84
  'PHP Allow URL Fopen' => array('value' => ini_get('allow_url_fopen') ? __('Yes', PPS_LANG_CODE) : __('No', PPS_LANG_CODE)),
85
  'PHP Memory Limit' => array('value' => ini_get('memory_limit')),
86
  'PHP Max Post Size' => array('value' => ini_get('post_max_size')),
@@ -116,41 +98,12 @@ Here you can edit css style of the pop-up window.', PPS_LANG_CODE),
116
  $this->assign('finishSiteLink', $this->getModule()->generateMainLink('utm_source=plugin&utm_medium=final_step_b_step&utm_campaign=popup'));
117
  return parent::getContent('adminTour');
118
  }
119
- public function showFeaturedPluginsPage() {
120
- framePps::_()->addStyle('admin.featured-plugins', $this->getModule()->getModPath(). 'css/admin.featured-plugins.css');
121
- framePps::_()->getModule('templates')->loadGoogleFont('Montserrat');
122
- $siteUrl = 'https://supsystic.com/';
123
- $pluginsUrl = $siteUrl. 'plugins/';
124
- $uploadsUrl = $siteUrl. 'wp-content/uploads/';
125
- $downloadsUrl = 'https://downloads.wordpress.org/plugin/';
126
- $imgUrl = framePps::_()->getModule('supsystic_promo')->getModPath(). 'img/';
127
- $promoCampaign = 'popup';
128
- $this->assign('pluginsList', array(
129
- array('label' => __('Popup Plugin', PPS_LANG_CODE), 'url' => $pluginsUrl. 'popup-plugin/','external' => true, 'img' => $imgUrl. 'Popup_256.png', 'desc' => __('The Best WordPress PopUp option plugin to help you gain more subscribers, social followers or advertisement. Responsive pop-ups with friendly options.', PPS_LANG_CODE), 'download' => $downloadsUrl. 'popup-by-supsystic.zip'),
130
- array('label' => __('Photo Gallery Plugin', PPS_LANG_CODE), 'url' => $pluginsUrl. 'photo-gallery/','external' => true, 'img' => $imgUrl. 'Gallery_256.png', 'desc' => __('Photo Gallery Plugin with a great number of layouts will help you to create quality respectable portfolios and image galleries.', PPS_LANG_CODE), 'download' => $downloadsUrl. 'gallery-by-supsystic.zip'),
131
- array('label' => __('Contact Form Plugin', PPS_LANG_CODE), 'url' => $pluginsUrl. 'contact-form-plugin/','external' => true, 'img' => $imgUrl. 'Contact_Form_256.png', 'desc' => __('One of the best plugin for creating Contact Forms on your WordPress site. Changeable fonts, backgrounds, an option for adding fields etc.', PPS_LANG_CODE), 'download' => $downloadsUrl. 'contact-form-by-supsystic.zip'),
132
- array('label' => __('Data Tables Generator', PPS_LANG_CODE), 'url' => $pluginsUrl. 'data-tables-generator-plugin/','external' => true, 'img' => $imgUrl. 'Data_Tables_256.png', 'desc' => __('Create and manage beautiful data tables with custom design. No HTML knowledge is required.', PPS_LANG_CODE), 'download' => $downloadsUrl. 'data-tables-generator-by-supsystic.zip'),
133
- array('label' => __('Slider Plugin', PPS_LANG_CODE), 'url' => $pluginsUrl. 'slider/','external' => true, 'img' => $imgUrl. 'Slider_256.png', 'desc' => __('Creating slideshows with Slider plugin is fast and easy. Simply select images from your WordPress Media Library, Flickr, Instagram or Facebook, set slide captions, links and SEO fields all from one page.', PPS_LANG_CODE), 'download' => $downloadsUrl. 'slider-by-supsystic.zip'),
134
- array('label' => __('Social Share Buttons', PPS_LANG_CODE), 'url' => $pluginsUrl. 'social-share-plugin/','external' => true, 'img' => $imgUrl. 'Social_Buttons_256.png', 'desc' => __('Social share buttons to increase social traffic and popularity. Social sharing to Facebook, Twitter and other social networks.', PPS_LANG_CODE), 'download' => $downloadsUrl. 'social-share-buttons-by-supsystic.zip'),
135
- array('label' => __('Pricing Table', PPS_LANG_CODE), 'url' => $pluginsUrl. 'pricing-table/','external' => true, 'img' => $imgUrl. 'Pricing_Table_256.png', 'desc' => __('It’s never been so easy to create and manage pricing and comparison tables with table builder. Any element of the table can be customise with mouse click.', PPS_LANG_CODE), 'download' => $downloadsUrl. 'pricing-table-by-supsystic.zip'),
136
- array('label' => __('Coming Soon Plugin', PPS_LANG_CODE), 'url' => $pluginsUrl. 'coming-soon-plugin/', 'external' => true, 'img' => $imgUrl. 'Coming_Soon_256.png', 'desc' => __('Coming soon page with drag-and-drop builder or under construction | maintenance mode to notify visitors and collects emails.', PPS_LANG_CODE), 'download' => $downloadsUrl. 'coming-soon-by-supsystic.zip'),
137
- array('label' => __('Google Maps Easy', PPS_LANG_CODE), 'url' => $pluginsUrl. 'google-maps-plugin/', 'external' => true, 'img' => $imgUrl. 'Google_Maps_256.png', 'desc' => __('Display custom Google Maps. Set markers and locations with text, images, categories and links. Customize google map in a simple and intuitive way.', PPS_LANG_CODE), 'download' => $downloadsUrl. 'google-maps-easy.zip'),
138
- array('label' => __('Digital Publication Plugin', PPS_LANG_CODE), 'url' => $pluginsUrl. 'digital-publication-plugin/', 'external' => true, 'img' => $imgUrl. 'Digital_Publication_256.png', 'desc' => __('Digital Publication WordPress Plugin by Supsystic for Magazines, Catalogs, Portfolios. Convert images, posts, PDF to the page flip book.', PPS_LANG_CODE), 'download' => $downloadsUrl. 'digital-publications-by-supsystic.zip'),
139
- ));
140
- foreach($this->pluginsList as $i => $p) {
141
- if (empty($p['external'])) {
142
- $this->pluginsList[$i]['url'] = $this->pluginsList[$i]['url'] . '?utm_source=plugin&utm_medium=featured_plugins&utm_campaign=' . $promoCampaign;
143
- }
144
- }
145
- $this->assign('bundleUrl', $siteUrl. 'product/plugins-bundle/'. '?utm_source=plugin&utm_medium=featured_plugins&utm_campaign='. $promoCampaign);
146
- return parent::getContent('featuredPlugins');
147
- }
148
  public function getPluginDeactivation() {
149
  return parent::getContent('pluginDeactivation');
150
  }
151
- public function getDiscountMsg($buyLink = '#') {
152
- $this->assign('bundlePageLink', '//supsystic.com/all-plugins/');
153
- $this->assign('buyLink', $buyLink);
154
- parent::display('discountMsg');
155
- }
156
  }
16
  $this->assign('mainLink', $this->getModule()->getMainLink());
17
  $this->assign('faqList', $this->getFaqList());
18
  $this->assign('serverSettings', $this->getServerSettings());
 
19
  $this->assign('contactFields', $this->getModule()->getContactFormFields());
20
  return parent::getContent('overviewTabContent');
21
  }
56
  => sprintf(__("If you setup you're PopUp properly, and it still doesn't show on the page - there are can be conflict with your WordPress theme or other plugins. <a href='%s' target='_blank'>Contact us</a> with the URL of the webpage you add popup and screenshots / text of the error messages, if you have one - and we will help you resolve your issue.", PPS_LANG_CODE), $this->getModule()->getContactLink()),
57
  );
58
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
59
  public function getServerSettings() {
60
  global $wpdb;
61
  return array(
62
+ 'Operating System' => array('value' => PHP_OS),
63
  'PHP Version' => array('value' => PHP_VERSION),
64
  'Server Software' => array('value' => $_SERVER['SERVER_SOFTWARE']),
65
+ 'MySQL' => array('value' => $wpdb->db_version()),
66
  'PHP Allow URL Fopen' => array('value' => ini_get('allow_url_fopen') ? __('Yes', PPS_LANG_CODE) : __('No', PPS_LANG_CODE)),
67
  'PHP Memory Limit' => array('value' => ini_get('memory_limit')),
68
  'PHP Max Post Size' => array('value' => ini_get('post_max_size')),
98
  $this->assign('finishSiteLink', $this->getModule()->generateMainLink('utm_source=plugin&utm_medium=final_step_b_step&utm_campaign=popup'));
99
  return parent::getContent('adminTour');
100
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
101
  public function getPluginDeactivation() {
102
  return parent::getContent('pluginDeactivation');
103
  }
104
+ // public function getDiscountMsg($buyLink = '#') {
105
+ // $this->assign('bundlePageLink', '//supsystic.com/all-plugins/');
106
+ // $this->assign('buyLink', $buyLink);
107
+ // parent::display('discountMsg');
108
+ // }
109
  }
modules/supsystic_promo/views/tpl/adminFooter.php CHANGED
@@ -1,21 +1,33 @@
1
- <div class="ppsAdminFooterShell">
2
- <div class="ppsAdminFooterCell">
3
- <?php echo viewPps::ksesString(PPS_WP_PLUGIN_NAME)?>
4
- <?php _e('Version', PPS_LANG_CODE)?>:
5
- <a target="_blank" href="http://wordpress.org/plugins/popup-by-supsystic/changelog/"><?php echo viewPps::ksesString(PPS_VERSION)?></a>
6
- </div>
7
- <div class="ppsAdminFooterCell">|</div>
8
- <?php if(!framePps::_()->getModule(implode('', array('l','ic','e','ns','e')))) {?>
9
- <div class="ppsAdminFooterCell">
10
- <?php _e('Go', PPS_LANG_CODE)?>&nbsp;<a target="_blank" href="<?php echo viewPps::ksesString(esc_html($this->getModule()->getMainLink()));?>"><?php _e('PRO', PPS_LANG_CODE)?></a>
11
- </div>
12
- <div class="ppsAdminFooterCell">|</div>
13
- <?php } ?>
14
- <div class="ppsAdminFooterCell">
15
- <a target="_blank" href="http://wordpress.org/support/plugin/popup-by-supsystic"><?php _e('Support', PPS_LANG_CODE)?></a>
16
- </div>
17
- <div class="ppsAdminFooterCell">|</div>
18
- <div class="ppsAdminFooterCell">
19
- Add your <a target="_blank" href="http://wordpress.org/support/view/plugin-reviews/popup-by-supsystic?filter=5#postform">&#9733;&#9733;&#9733;&#9733;&#9733;</a> on wordpress.org.
20
- </div>
 
 
 
 
 
 
 
 
 
 
 
 
21
  </div>
1
+ <div class="supsysticOverviewACFormOverlay">
2
+ <form method="post" id="overview-ac-form" class="supsysticOverviewACForm">
3
+ <div class="supsysticOverviewACTitle">
4
+ <div class="supsysticOverviewACClose"><i class="fa fa-times" aria-hidden="true"></i></div>
5
+ <a href="https://supsystic.com/" target="_blank"><img src="<?php echo PPS_PLUGINS_URL .'/'. PPS_PLUG_NAME;?>/modules/supsystic_promo/img/supsystic-logo-small.png"></a><br>
6
+ <b>PRO plugins</b> and <b>amazing gifts</b>!
7
+ </div>
8
+ <?php
9
+ global $current_user;
10
+ $userName = $current_user->user_firstname.' '.$current_user->user_lastname;
11
+ $userEmail = $current_user->user_email;
12
+ ?>
13
+ <label>Name *</label>
14
+ <input type="text" name="username" value="<?php echo $userName;?>">
15
+ <label>Email *</label>
16
+ <input type="text" name="email" value="<?php echo $userEmail;?>">
17
+ <button id="subscribe-btn" type="submit" class="button button-primary button-hero">
18
+ <i class="fa fa-check-square" aria-hidden="true"></i>
19
+ Subscribe
20
+ </button>
21
+ <div class="button button-primary button-hero supsysticOverviewACBtn supsysticOverviewACBtnRemind"><i class="fa fa-hourglass-half" aria-hidden="true"></i> Remind me tomorrow</div>
22
+ <div class="button button-primary button-hero supsysticOverviewACBtn supsysticOverviewACBtnDisable"><i class="fa fa-times" aria-hidden="true"></i> Do not disturb me again</div>
23
+ <div class="supsysticOverviewACFormNotification" style="color: red; float: left; display:none;">Fields with * are required to fill</div>
24
+ </form>
25
+ <div class="clear"></div>
26
+ </div>
27
+ <div id="supsysticOverviewACFormDialog" hidden>
28
+ <div class="on-error" style="display:none">
29
+ <p>Some errors occurred while sending mail please send your message trough this contact form:</p>
30
+ <p><a href="https://supsystic.com/plugins/#contact" target="_blank">https://supsystic.com/plugins/#contact</a></p>
31
+ </div>
32
+ <div class="message"></div>
33
  </div>
modules/supsystic_promo/views/tpl/overviewTabContent.php CHANGED
@@ -1,109 +1,139 @@
1
- <section>
2
- <div class="supsystic-item supsystic-panel">
3
- <div id="containerWrapper">
4
- <div class="supsistic-half-side-box supsystic-border-right">
5
- <div class="faq-list">
6
- <h3><?php _e('FAQ and Documentation', PPS_LANG_CODE)?></h3>
7
- <?php foreach($this->faqList as $title => $desc) { ?>
8
- <div class="faq-title">
9
- <i class="fa fa-info-circle"></i>
10
- <?php echo viewPps::ksesString($title);?>
11
- <div class="description" style="display: none;"><?php echo viewPps::ksesString($desc);?></div>
12
- </div>
13
- <?php }?>
14
- <div style="clear: both;"></div>
15
- <a target="_blank" class="button button-primary button-hero" href="<?php echo viewPps::ksesString($this->mainLink)?>#faq" style="float: right;">
16
- <i class="fa fa-info-circle"></i>
17
- <?php _e('Check all FAQs', PPS_LANG_CODE)?>
18
- </a>
19
- <div style="clear: both;"></div>
20
- </div>
21
- <div class="video">
22
- <h3><?php _e('Video Tutorial', PPS_LANG_CODE)?></h3>
23
- <iframe type="text/html"
24
- width="80%"
25
- height="240px"
26
- src="https://www.youtube.com/embed/v8h2k3vvpdM"
27
- frameborder="0">
28
- </iframe>
29
- </div>
30
- <div class="banner">
31
- <div class="text-block"><?php _e('If you want to host a business site or a blog, Kinsta managed WordPress hosting is the best place to stop on. Without any hesitation, we can say Kinsta is incredible when it comes to uptime and speed.', PPS_LANG_CODE)?></div>
32
- <a href="https://kinsta.com?kaid=MNRQQASUYJRT">
33
- <img src="<?php echo viewPps::ksesString(framePps::_()->getModule('supsystic_promo')->getModPath())?>img/kinsta_banner.png" style="width: 300px;height: 250px;" />
34
- </a>
35
- </div>
36
- <div class="server-settings">
37
- <h3><?php _e('Server Settings', PPS_LANG_CODE)?></h3>
38
- <ul class="settings-list">
39
- <?php foreach($this->serverSettings as $title => $element) {?>
40
- <li class="settings-line">
41
- <div class="settings-title"><?php echo viewPps::ksesString($title); ?>:</div>
42
- <span><?php echo viewPps::ksesString($element['value']); ?></span>
43
- </li>
44
- <?php }?>
45
- </ul>
46
- </div>
47
  </div>
48
- <div class="supsistic-half-side-box" style="padding-left: 20px;">
49
- <div class="supsystic-overview-news">
50
- <h3><?php _e('News', PPS_LANG_CODE)?></h3>
51
- <div class="supsystic-overview-news-content">
52
- <?php echo viewPps::ksesString($this->news); ?>
 
 
 
 
 
 
 
 
53
  </div>
54
- <a href="<?php echo viewPps::ksesString(esc_html($this->mainLink))?>" class="button button-primary button-hero" style="float: right; margin-top: 10px;">
55
- <i class="fa fa-info-circle"></i>
56
- <?php _e('All news and info', PPS_LANG_CODE)?>
57
- </a>
58
- <div style="clear: both;"></div>
59
- </div>
60
- <div class="overview-contact-form">
61
- <h3><?php _e('Contact form', PPS_LANG_CODE)?></h3>
62
- <form id="form-settings">
63
- <table class="contact-form-table">
64
- <?php foreach($this->contactFields as $fName => $fData) { ?>
65
- <?php
66
- $htmlType = $fData['html'];
67
- $id = 'contact_form_'. $fName;
68
- $htmlParams = array('attrs' => 'id="'. $id. '"');
69
- if(isset($fData['placeholder']))
70
- $htmlParams['placeholder'] = $fData['placeholder'];
71
- if(isset($fData['options']))
72
- $htmlParams['options'] = $fData['options'];
73
- if(isset($fData['def']))
74
- $htmlParams['value'] = $fData['def'];
75
- if(isset($fData['valid']) && in_array('notEmpty', $fData['valid']))
76
- $htmlParams['required'] = true;
77
- ?>
78
- <tr>
79
- <th scope="row">
80
- <label for="<?php echo viewPps::ksesString(esc_html($id))?>"><?php echo viewPps::ksesString(esc_html($fData['label']))?></label>
81
- </th>
82
- <td>
83
- <?php echo viewPps::ksesString(htmlPps::$htmlType($fName, $htmlParams)); ?>
84
- </td>
85
- </tr>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
86
  <?php }?>
87
- <tr>
88
- <th scope="row" colspan="2">
89
- <?php echo viewPps::ksesString(htmlPps::hidden('mod', array('value' => 'supsystic_promo')))?>
90
- <?php echo viewPps::ksesString(htmlPps::hidden('action', array('value' => 'sendContact')))?>
91
- <button class="button button-primary button-hero" style="float: right;">
92
- <i class="fa fa-upload"></i>
93
- <?php _e('Send email', PPS_LANG_CODE)?>
94
- </button>
95
- <div style="clear: both;"></div>
96
- </th>
97
- </tr>
98
- </table>
99
- </form>
100
- <div id="form-settings-send-msg" style="display: none;">
101
- <i class="fa fa-envelope-o"></i>
102
- <?php _e('Your email was sent, we will try to respond to your as soon as possible. Thank you for support!', PPS_LANG_CODE)?>
 
 
 
 
 
 
 
 
 
 
103
  </div>
104
- </div>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
105
  </div>
106
- <div style="clear: both;"></div>
107
- </div>
108
- </div>
109
- </section>
1
+ <div class="supsystic-overview">
2
+ <div class="full-page">
3
+ <div class="plugin-title"><img src="<?php echo PPS_PLUGINS_URL .'/'. PPS_PLUG_NAME;?>/modules/supsystic_promo/img/plugin-icon.png">PopUp By Supsystic</div>
4
+ <div class="plugin-description">This WordPress Popup plugin by Supsystic lets you easily create elegant popups with Subscription Forms, Facebook Likes, Option and Social locks. Plus you get Contact Forms, Slider and more. It’s the go-to tool for bloggers and websites using a lead magnet technique to get more Email Subscribers, Social Followers and Customers!</div>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5
  </div>
6
+ <div class="supsystic-overview-flex">
7
+ <div class="half-page half-page-left">
8
+ <div class="border-wrapper">
9
+ <ul>
10
+ <li class="overview-section-btn" data-section="faq"><i class="fa fa-info-circle"></i> FAQ and Documentation</li>
11
+ <li class="overview-section-btn" data-section="video"><i class="fa fa-play"></i> Video tutorial</li>
12
+ <li class="overview-section-btn" data-section="settings"><i class="fa fa-cog"></i> Server Settings</li>
13
+ <li class="overview-section-btn" data-section="support"><i class="fa fa-life-ring"></i> Support</li>
14
+ <li class="overview-section-btn" data-section="promo_video"><i class="fa fa-star"></i> Our promo video</li>
15
+ <li class="overview-section-btn"><a target="_blank" title="Go to supsystic.com" href="https://supsystic.com/plugins/popup-plugin/?utm_source=plugin&utm_campaign=popup"> Plugin page on supsystic.com <sup><i class="fa fa-external-link"></i></sup></a></li>
16
+ <li class="overview-section-btn"><a target="_blank" title="Go to supsystic.com" href="https://supsystic.com/plugins/popup-plugin/?utm_source=plugin&utm_campaign=popup"> Compare FREE and PRO features <sup><i class="fa fa-external-link"></i></sup></a></li>
17
+ <li class="overview-section-btn"><a target="_blank" title="Go to supsystic.com" href="https://supsystic.com/all-plugins/?utm_source=plugin&utm_campaign=popup"> Check other supsystic FREE plugins <sup><i class="fa fa-external-link"></i></sup></a></li>
18
+ </ul>
19
  </div>
20
+ <div class="border-wrapper">
21
+ <div class="overview-contact-form overview-section" data-section="support">
22
+ <h3><i class="fa fa-life-ring"></i> Support</h3>
23
+ <div class="contact-info-section">
24
+ <p><i class="fa fa-clock-o" aria-hidden="true"></i> Our official support hours are 09:00 - 18:00 GMT+02:00, Monday to Friday – excluding bank holidays and other official holidays.</p>
25
+ <p>The timescales listed below refer to these working hours.</p><br>
26
+ <p><em>Support requests are prioritized based on the type of license:</em></p>
27
+ <ul>
28
+ <li><p><em>Pro Support</em> is reserved for customers with an active Pro license. We respond to new priority support requests within 12 hours.</p></li>
29
+ <li><p><em>Standard Support</em> is provided to customers with an active Free license. We respond to standard support requests within 24h-48h.</p></li>
30
+ </ul><br>
31
+ <p><i class="fa fa-exclamation-triangle" aria-hidden="true"></i> While we don’t guarantee that we will resolve the request in this time period, we will acknowledge it and communicate with the customer as appropriate to help resolve the issue.</p>
32
+ </div>
33
+
34
+ <form id="form-settings">
35
+ <table class="contact-form-table">
36
+ <?php foreach($this->contactFields as $fName => $fData) { ?>
37
+ <?php
38
+ $htmlType = $fData['html'];
39
+ $id = 'contact_form_'. $fName;
40
+ $htmlParams = array('attrs' => 'id="'. $id. '"');
41
+ if(isset($fData['placeholder']))
42
+ $htmlParams['placeholder'] = $fData['placeholder'];
43
+ if(isset($fData['options']))
44
+ $htmlParams['options'] = $fData['options'];
45
+ if(isset($fData['def']))
46
+ $htmlParams['value'] = $fData['def'];
47
+ if(isset($fData['valid']) && in_array('notEmpty', $fData['valid']))
48
+ $htmlParams['required'] = true;
49
+ ?>
50
+ <tr>
51
+ <th scope="row">
52
+ <label for="<?php echo $id?>"><?php echo $fData['label']?></label>
53
+ </th>
54
+ <td>
55
+ <?php echo htmlPps::$htmlType($fName, $htmlParams)?>
56
+ </td>
57
+ </tr>
58
+ <?php }?>
59
+ <tr>
60
+ <th scope="row" colspan="2">
61
+ <?php echo htmlPps::hidden('mod', array('value' => 'supsystic_promo'))?>
62
+ <?php echo htmlPps::hidden('action', array('value' => 'sendContact'))?>
63
+ <button class="button button-primary button-hero" style="float: right;">
64
+ <i class="fa fa-upload"></i>
65
+ <?php _e('Send email', PPS_LANG_CODE)?>
66
+ </button>
67
+ <div style="clear: both;"></div>
68
+ </th>
69
+ </tr>
70
+ </table>
71
+ </form>
72
+ <div class="clear"></div>
73
+ </div>
74
+
75
+ <div id="contact-form-dialog" hidden>
76
+ <div class="on-error" style="display:none">
77
+ <p>Some errors occurred while sending mail please send your message trough this contact form:</p>
78
+ <p><a href="https://supsystic.com/plugins/#contact" target="_blank">https://supsystic.com/plugins/#contact</a></p>
79
+ </div>
80
+ <div class="message"></div>
81
+ </div>
82
+ <div data-section="faq" class="faq-list overview-section">
83
+ <h3><?php _e('FAQ and Documentation', PPS_LANG_CODE)?></h3>
84
+ <?php foreach($this->faqList as $title => $desc) { ?>
85
+ <div class="faq-title">
86
+ <i class="fa fa-info-circle"></i>
87
+ <?php echo $title;?>
88
+ <div class="description" style="display: none;"><?php echo $desc;?></div>
89
+ </div>
90
  <?php }?>
91
+ <div style="clear: both;"></div>
92
+ <a target="_blank" href="https://supsystic.com/docs/popup-documentation/?utm_source=plugin&utm_medium=faq&utm_campaign=popup" class="button button-primary button-hero">
93
+ <i class="fa fa-info-circle"></i>
94
+ Check all FAQs
95
+ </a>
96
+ <div class="clear"></div>
97
+ </div>
98
+ <div data-section="video" class="video overview-section">
99
+ <h3><i class="fa fa-play"></i> Video tutorial</h3>
100
+ <iframe type="text/html"
101
+ width="100%"
102
+ height="350px"
103
+ src="https://www.youtube.com/embed/v8h2k3vvpdM"
104
+ frameborder="0">
105
+ </iframe>
106
+ <div class="clear"></div>
107
+ </div>
108
+ <div data-section="promo_video" class="video overview-section">
109
+ <h3><i class="fa fa-star"></i> Our promo video</h3>
110
+ <iframe type="text/html"
111
+ width="100%"
112
+ height="350px"
113
+ src="http://www.youtube.com/embed/dKd_9g6JzfU"
114
+ frameborder="0">
115
+ </iframe>
116
+ <div class="clear"></div>
117
  </div>
118
+ <div data-section="settings" class="server-settings overview-section">
119
+ <h3><i class="fa fa-cog"></i> Server settings</h3>
120
+ <ul class="settings-list">
121
+ <?php foreach($this->serverSettings as $title => $element) {?>
122
+ <li class="settings-line">
123
+ <div class="settings-title"><?php echo $title?>:</div>
124
+ <span><?php echo $element['value']?></span>
125
+ </li>
126
+ <?php }?>
127
+ </ul>
128
+ <div class="clear"></div>
129
+ </div>
130
+ </div>
131
+ </div>
132
+ <div class="half-page half-page-right">
133
+ <a href="https://supsystic.com/pricing/?utm_source=plugin&utm_campaign=popup" target="_blank"><img class="overview-supsystic-img" src="<?php echo PPS_PLUGINS_URL .'/'. PPS_PLUG_NAME;?>/modules/supsystic_promo/img/overview-01.png"></a>
134
+ <a href="https://supsystic.com/bundle-mix/?utm_source=plugin&utm_campaign=popup" target="_blank"><img class="overview-supsystic-img" src="<?php echo PPS_PLUGINS_URL .'/'. PPS_PLUG_NAME;?>/modules/supsystic_promo/img/overview-02.png"></a>
135
+ <a href="https://supsystic.com/all-plugins/?utm_source=plugin&utm_campaign=popup" target="_blank"><img style="margin-top:20px;" class="overview-supsystic-img" src="<?php echo PPS_PLUGINS_URL .'/'. PPS_PLUG_NAME;?>/modules/supsystic_promo/img/overview-03.png"></a>
136
+ <div class="clear"></div>
137
+ </div>
138
  </div>
139
+ </div>
 
 
 
modules/templates/mod.php CHANGED
@@ -7,20 +7,24 @@ class templatesPps extends modulePps {
7
  parent::__construct($d);
8
  }
9
  public function init() {
10
- if (is_admin()) {
11
- if($isAdminPlugOptsPage = framePps::_()->isAdminPlugOptsPage()) {
12
- $this->loadCoreJs();
13
- $this->loadAdminCoreJs();
14
- $this->loadCoreCss();
15
- $this->loadChosenSelects();
16
- framePps::_()->addStyle('suptablesui', PPS_CSS_PATH. 'suptablesui.min.css');
17
- framePps::_()->addScript('adminOptionsPps', PPS_JS_PATH. 'admin.options.js', array(), false, true);
18
- add_action('admin_enqueue_scripts', array($this, 'loadMediaScripts'));
19
- add_action('init', array($this, 'connectAdditionalAdminAssets'));
20
- }
21
- // Some common styles - that need to be on all admin pages - be careful with them
22
- framePps::_()->addStyle('supsystic-for-all-admin-'. PPS_CODE, PPS_CSS_PATH. 'supsystic-for-all-admin.css');
23
- }
 
 
 
 
24
  parent::init();
25
  }
26
  public function connectAdditionalAdminAssets() {
@@ -67,7 +71,26 @@ class templatesPps extends modulePps {
67
  if(is_admin()) {
68
  $jsData['isPro'] = framePps::_()->getModule('supsystic_promo')->isPro();
69
  $jsData['mainLink'] = framePps::_()->getModule('supsystic_promo')->getMainLink();
70
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
71
  $jsData = dispatcherPps::applyFilters('jsInitVariables', $jsData);
72
  framePps::_()->addJSVar('corePps', 'PPS_DATA', $jsData);
73
  $loaded = true;
7
  parent::__construct($d);
8
  }
9
  public function init() {
10
+ if (is_admin()) {
11
+ if ( $isAdminPlugOptsPage = framePps::_()->isAdminPlugOptsPage() ) {
12
+ $this->loadCoreJs();
13
+ $this->loadAdminCoreJs();
14
+ $this->loadCoreCss();
15
+ $this->loadChosenSelects();
16
+
17
+ framePps::_()->addScript('ppsAcPromoScript', PPS_JS_PATH. 'acPromoScript.js');
18
+ framePps::_()->addStyle('ppsAcPromoStyle', PPS_CSS_PATH. 'acPromoStyle.css');
19
+
20
+ framePps::_()->addStyle('suptablesui', PPS_CSS_PATH. 'suptablesui.min.css');
21
+ framePps::_()->addScript('adminOptionsPps', PPS_JS_PATH. 'admin.options.js', array(), false, true);
22
+ add_action('admin_enqueue_scripts', array($this, 'loadMediaScripts'));
23
+ add_action('init', array($this, 'connectAdditionalAdminAssets'));
24
+ }
25
+ // Some common styles - that need to be on all admin pages - be careful with them
26
+ framePps::_()->addStyle('supsystic-for-all-admin-'. PPS_CODE, PPS_CSS_PATH. 'supsystic-for-all-admin.css');
27
+ }
28
  parent::init();
29
  }
30
  public function connectAdditionalAdminAssets() {
71
  if(is_admin()) {
72
  $jsData['isPro'] = framePps::_()->getModule('supsystic_promo')->isPro();
73
  $jsData['mainLink'] = framePps::_()->getModule('supsystic_promo')->getMainLink();
74
+ $show = true;
75
+ $acRemind = get_option('pps_ac_remind', false);
76
+ if (!empty($acRemind)) {
77
+ $currentDate = date('Y-m-d h:i:s');
78
+ if ($currentDate > $acRemind) {
79
+ $show = true;
80
+ } else {
81
+ $show = false;
82
+ }
83
+ }
84
+ $acSubscribe = get_option('pps_ac_subscribe', false);
85
+ if (!empty($acSubscribe)) {
86
+ $show = false;
87
+ }
88
+ $acDisabled = get_option('pps_ac_disabled', false);
89
+ if (!empty($acDisabled)) {
90
+ $show = false;
91
+ }
92
+ $jsData['ppsAcShow'] = $show;
93
+ }
94
  $jsData = dispatcherPps::applyFilters('jsInitVariables', $jsData);
95
  framePps::_()->addJSVar('corePps', 'PPS_DATA', $jsData);
96
  $loaded = true;
pps.php CHANGED
@@ -3,7 +3,7 @@
3
  * Plugin Name: Popup by Supsystic
4
  * Plugin URI: https://supsystic.com/plugins/popup-plugin/
5
  * Description: The Best WordPress popup plugin to help you gain more subscribers, social followers or advertisement. Responsive popups with friendly options
6
- * Version: 1.10.14
7
  * Author: supsystic.com
8
  * Author URI: https://supsystic.com
9
  * Text Domain: popup-by-supsystic
@@ -42,8 +42,8 @@
42
  importClassPps('errorsPps');
43
  importClassPps('utilsPps');
44
  importClassPps('modInstallerPps');
45
- importClassPps('installerDbUpdaterPps');
46
- importClassPps('datePps');
47
  /**
48
  * Check plugin version - maybe we need to update database, and check global errors in request
49
  */
@@ -55,7 +55,7 @@
55
  framePps::_()->parseRoute();
56
  framePps::_()->init();
57
  framePps::_()->exec();
58
-
59
  //var_dump(framePps::_()->getActivationErrors()); exit();
60
 
61
  // Aaaaaaaaand another test for update:)
3
  * Plugin Name: Popup by Supsystic
4
  * Plugin URI: https://supsystic.com/plugins/popup-plugin/
5
  * Description: The Best WordPress popup plugin to help you gain more subscribers, social followers or advertisement. Responsive popups with friendly options
6
+ * Version: 1.10.15
7
  * Author: supsystic.com
8
  * Author URI: https://supsystic.com
9
  * Text Domain: popup-by-supsystic
42
  importClassPps('errorsPps');
43
  importClassPps('utilsPps');
44
  importClassPps('modInstallerPps');
45
+ importClassPps('installerDbUpdaterPps');
46
+ importClassPps('datePps');
47
  /**
48
  * Check plugin version - maybe we need to update database, and check global errors in request
49
  */
55
  framePps::_()->parseRoute();
56
  framePps::_()->init();
57
  framePps::_()->exec();
58
+
59
  //var_dump(framePps::_()->getActivationErrors()); exit();
60
 
61
  // Aaaaaaaaand another test for update:)
readme.txt CHANGED
@@ -3,7 +3,7 @@ Contributors: supsystic.com
3
  Donate link: https://supsystic.com/plugins/popup-plugin
4
  Tags: popup, popup WordPress plugin, marketing, popover, pop-up, popup builder, social popup, facebook popup, popup builder, popup maker
5
  Tested up to: 6.0
6
- Stable tag: 1.10.14
7
 
8
  Create elegant popup easily with Popup Builder by Supsystic. Popup with Subscription Forms, Facebook popup, Optin and Social locks, Contact Forms etc.
9
 
@@ -116,6 +116,10 @@ Enable “Redirect after close” option in Appearance setting on the Design tab
116
  Leave us a nice review 🙂
117
 
118
  == Changelog ==
 
 
 
 
119
  = 1.10.14 / 03.06.2022 =
120
  * Fixes to HTML tags
121
  * Add support WP 6.0
3
  Donate link: https://supsystic.com/plugins/popup-plugin
4
  Tags: popup, popup WordPress plugin, marketing, popover, pop-up, popup builder, social popup, facebook popup, popup builder, popup maker
5
  Tested up to: 6.0
6
+ Stable tag: 1.10.15
7
 
8
  Create elegant popup easily with Popup Builder by Supsystic. Popup with Subscription Forms, Facebook popup, Optin and Social locks, Contact Forms etc.
9
 
116
  Leave us a nice review 🙂
117
 
118
  == Changelog ==
119
+ = 1.10.15 / 30.08.2022 =
120
+ * Add support PHP 8.1
121
+ * Fixes WP 6.0
122
+
123
  = 1.10.14 / 03.06.2022 =
124
  * Fixes to HTML tags
125
  * Add support WP 6.0