Version Description
Download this release
Release Info
Developer | supsystic.com |
Plugin | Contact Form by Supsystic |
Version | 1.7.23 |
Comparing to | |
See all releases |
Code changes from version 1.7.21 to 1.7.23
- cfs.php +1 -1
- classes/Twig/Lexer.php +13 -13
- classes/Twig/Node.php +2 -2
- classes/frame.php +1 -1
- classes/helpers/SxGeo.php +5 -5
- config.php +1 -1
- css/acPromoStyle.css +420 -0
- css/supsystic-ui.css +3 -5
- js/acPromoScript.js +139 -0
- modules/adminmenu/mod.php +13 -14
- modules/forms/js/admin.forms.fields.js +5 -0
- modules/forms/views/tpl/formsEditFormFields.php +5 -5
- modules/options/views/tpl/optionsAdminPage.php +20 -15
- modules/supsystic_promo/controller.php +43 -5
- modules/supsystic_promo/img/256.png +0 -0
- modules/supsystic_promo/img/Backup_256.png +0 -0
- modules/supsystic_promo/img/Coming_Soon_256.png +0 -0
- modules/supsystic_promo/img/Contact_Form_256.png +0 -0
- modules/supsystic_promo/img/Data_Tables_256.png +0 -0
- modules/supsystic_promo/img/Digital_Publication_256.png +0 -0
- modules/supsystic_promo/img/Gallery_256.png +0 -0
- modules/supsystic_promo/img/Google_Maps_256.png +0 -0
- modules/supsystic_promo/img/Live_Chat_256.png +0 -0
- modules/supsystic_promo/img/Popup_256.png +0 -0
- modules/supsystic_promo/img/Pricing_Table_256.png +0 -0
- modules/supsystic_promo/img/Slider_256.png +0 -0
- modules/supsystic_promo/img/Social_Buttons_256.png +0 -0
- modules/supsystic_promo/img/icon-256x256.png +0 -0
- modules/supsystic_promo/img/kinsta_banner.png +0 -0
- modules/supsystic_promo/img/overview-01.png +0 -0
- modules/supsystic_promo/img/overview-02.png +0 -0
- modules/supsystic_promo/img/overview-03.png +0 -0
- modules/supsystic_promo/img/plugin-icon.png +0 -0
- modules/supsystic_promo/img/supsystic-logo-small.png +0 -0
- modules/supsystic_promo/mod.php +109 -109
- modules/supsystic_promo/views/supsystic_promo.php +39 -39
- modules/supsystic_promo/views/tpl/adminFooter.php +33 -21
- modules/supsystic_promo/views/tpl/overviewTabContent.php +133 -103
- modules/templates/mod.php +24 -1
- readme.txt +10 -2
cfs.php
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
/**
|
3 |
* Plugin Name: Contact Form by Supsystic
|
4 |
* Description: Contact Form Builder with drag-and-drop editor to create responsive, mobile ready contact forms in a second. Custom fields and contact form templates
|
5 |
-
* Version: 1.7.
|
6 |
* Author: supsystic.com
|
7 |
* Author URI: https://supsystic.com
|
8 |
* Text Domain: contact-form-by-supsystic
|
2 |
/**
|
3 |
* Plugin Name: Contact Form by Supsystic
|
4 |
* Description: Contact Form Builder with drag-and-drop editor to create responsive, mobile ready contact forms in a second. Custom fields and contact form templates
|
5 |
+
* Version: 1.7.23
|
6 |
* Author: supsystic.com
|
7 |
* Author URI: https://supsystic.com
|
8 |
* Text Domain: contact-form-by-supsystic
|
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,
|
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,
|
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,
|
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,
|
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,
|
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,
|
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,
|
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,
|
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,
|
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,
|
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,
|
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,
|
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,
|
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
@@ -489,7 +489,7 @@ class frameCfs {
|
|
489 |
*/
|
490 |
public function isAdminPlugOptsPage() {
|
491 |
$page = reqCfs::getVar('page');
|
492 |
-
if(is_admin() && strpos($page, frameCfs::_()->getModule('adminmenu')->getMainSlug()) !== false)
|
493 |
return true;
|
494 |
return false;
|
495 |
}
|
489 |
*/
|
490 |
public function isAdminPlugOptsPage() {
|
491 |
$page = reqCfs::getVar('page');
|
492 |
+
if(is_admin() && strpos((string)$page, frameCfs::_()->getModule('adminmenu')->getMainSlug()) !== false)
|
493 |
return true;
|
494 |
return false;
|
495 |
}
|
classes/helpers/SxGeo.php
CHANGED
@@ -213,7 +213,7 @@ class SxGeo {
|
|
213 |
$pos = 0;
|
214 |
foreach($pack AS $p){
|
215 |
list($type, $name) = explode(':', $p);
|
216 |
-
$type0 = $type
|
217 |
if($empty) {
|
218 |
$unpacked[$name] = $type0 == 'b' || $type0 == 'c' ? '' : 0;
|
219 |
continue;
|
@@ -237,15 +237,15 @@ class SxGeo {
|
|
237 |
case 'T': $v = unpack('C', $val); break;
|
238 |
case 's': $v = unpack('s', $val); break;
|
239 |
case 'S': $v = unpack('S', $val); break;
|
240 |
-
case 'm': $v = unpack('l', $val . (ord($val
|
241 |
case 'M': $v = unpack('L', $val . "\0"); break;
|
242 |
case 'i': $v = unpack('l', $val); break;
|
243 |
case 'I': $v = unpack('L', $val); break;
|
244 |
case 'f': $v = unpack('f', $val); break;
|
245 |
case 'd': $v = unpack('d', $val); break;
|
246 |
|
247 |
-
case 'n': $v = current(unpack('s', $val)) / pow(10, $type
|
248 |
-
case 'N': $v = current(unpack('l', $val)) / pow(10, $type
|
249 |
|
250 |
case 'c': $v = rtrim($val, ' '); break;
|
251 |
case 'b': $v = $val; $l++; break;
|
@@ -308,4 +308,4 @@ class SxGeo {
|
|
308 |
),
|
309 |
);
|
310 |
}
|
311 |
-
}
|
213 |
$pos = 0;
|
214 |
foreach($pack AS $p){
|
215 |
list($type, $name) = explode(':', $p);
|
216 |
+
$type0 = $type[0];
|
217 |
if($empty) {
|
218 |
$unpacked[$name] = $type0 == 'b' || $type0 == 'c' ? '' : 0;
|
219 |
continue;
|
237 |
case 'T': $v = unpack('C', $val); break;
|
238 |
case 's': $v = unpack('s', $val); break;
|
239 |
case 'S': $v = unpack('S', $val); break;
|
240 |
+
case 'm': $v = unpack('l', $val . (ord($val[2]) >> 7 ? "\xff" : "\0")); break;
|
241 |
case 'M': $v = unpack('L', $val . "\0"); break;
|
242 |
case 'i': $v = unpack('l', $val); break;
|
243 |
case 'I': $v = unpack('L', $val); break;
|
244 |
case 'f': $v = unpack('f', $val); break;
|
245 |
case 'd': $v = unpack('d', $val); break;
|
246 |
|
247 |
+
case 'n': $v = current(unpack('s', $val)) / pow(10, $type[1]); break;
|
248 |
+
case 'N': $v = current(unpack('l', $val)) / pow(10, $type[1]); break;
|
249 |
|
250 |
case 'c': $v = rtrim($val, ' '); break;
|
251 |
case 'b': $v = $val; $l++; break;
|
308 |
),
|
309 |
);
|
310 |
}
|
311 |
+
}
|
config.php
CHANGED
@@ -49,7 +49,7 @@
|
|
49 |
define('CFS_EOL', "\n");
|
50 |
|
51 |
define('CFS_PLUGIN_INSTALLED', true);
|
52 |
-
define('CFS_VERSION', '1.7.
|
53 |
define('CFS_USER', 'user');
|
54 |
|
55 |
define('CFS_CLASS_PREFIX', 'cfsc');
|
49 |
define('CFS_EOL', "\n");
|
50 |
|
51 |
define('CFS_PLUGIN_INSTALLED', true);
|
52 |
+
define('CFS_VERSION', '1.7.23');
|
53 |
define('CFS_USER', 'user');
|
54 |
|
55 |
define('CFS_CLASS_PREFIX', 'cfsc');
|
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 |
+
|
383 |
+
.supsysticOverviewACFormOverlay .button:hover {
|
384 |
+
background: #4ae8ea !important;
|
385 |
+
border-color: #4ae8ea !important;
|
386 |
+
}
|
387 |
+
.supsysticOverviewACForm input {
|
388 |
+
background-color: #f6f7f7;
|
389 |
+
color: #252728;
|
390 |
+
border-left: none;
|
391 |
+
border-right: none;
|
392 |
+
border-bottom: none;
|
393 |
+
border-top: 1px solid #dfe4e4;
|
394 |
+
padding: 7px 5px;
|
395 |
+
line-height: 1.3em;
|
396 |
+
}
|
397 |
+
.supsystic-breadcrumbs .breadcrumbs-separator {
|
398 |
+
filter: invert(1);
|
399 |
+
}
|
400 |
+
.supsystic-plugin .supsystic-content {
|
401 |
+
width:100% !important;
|
402 |
+
}
|
403 |
+
.supsystic-overview .button {
|
404 |
+
min-height:inherit !important;
|
405 |
+
}
|
406 |
+
.supsystic-overview .supsystic-plugin a {
|
407 |
+
color:#3c434a !important;
|
408 |
+
}
|
409 |
+
#supsystic-breadcrumbs {
|
410 |
+
background:#263546 !important;
|
411 |
+
}
|
412 |
+
#supsystic-breadcrumbs .chosen-container-single .chosen-single span {
|
413 |
+
color: black !important;
|
414 |
+
}
|
415 |
+
#supsystic-breadcrumbs .button-primary {
|
416 |
+
color:black !important;
|
417 |
+
}
|
418 |
+
#supsystic-breadcrumbs .button-primary i {
|
419 |
+
color:black !important;
|
420 |
+
}
|
css/supsystic-ui.css
CHANGED
@@ -293,10 +293,10 @@ input[type="color"] {
|
|
293 |
/*Breadcrumbs*/
|
294 |
.supsystic-breadcrumbs {
|
295 |
/*border-top: 1px solid rgba(12,12,12,0.03);*/
|
296 |
-
background-color: transparent;
|
297 |
/* margin-left: 75px; */
|
298 |
-
padding: 5px 0px;
|
299 |
-
padding-left: 75px;
|
300 |
/*-moz-box-shadow: 0 3px 0 rgba(12,12,12,0.03);
|
301 |
-webkit-box-shadow: 0 3px 0 rgba(12,12,12,0.03);
|
302 |
box-shadow: 0 3px 0 rgba(12,12,12,0.03);*/
|
@@ -325,7 +325,6 @@ input[type="color"] {
|
|
325 |
-webkit-border-radius: 3px;
|
326 |
border-radius: 3px;*/
|
327 |
padding: 10px 10px 10px 40px;
|
328 |
-
margin-bottom: 20px;
|
329 |
position: relative;
|
330 |
/*-moz-box-shadow: 0 3px 0 rgba(12,12,12,0.03);
|
331 |
-webkit-box-shadow: 0 3px 0 rgba(12,12,12,0.03);
|
@@ -706,7 +705,6 @@ input[type="color"] {
|
|
706 |
border-radius: 0px !important;
|
707 |
color: #000 !important;
|
708 |
font-size: 13px !important;
|
709 |
-
margin: 0 0 10px !important;
|
710 |
padding: 9.5px !important;
|
711 |
font-family: monospace !important;
|
712 |
cursor: pointer;
|
293 |
/*Breadcrumbs*/
|
294 |
.supsystic-breadcrumbs {
|
295 |
/*border-top: 1px solid rgba(12,12,12,0.03);*/
|
296 |
+
/* background-color: transparent;
|
297 |
/* margin-left: 75px; */
|
298 |
+
/* padding: 5px 0px;
|
299 |
+
padding-left: 75px; */
|
300 |
/*-moz-box-shadow: 0 3px 0 rgba(12,12,12,0.03);
|
301 |
-webkit-box-shadow: 0 3px 0 rgba(12,12,12,0.03);
|
302 |
box-shadow: 0 3px 0 rgba(12,12,12,0.03);*/
|
325 |
-webkit-border-radius: 3px;
|
326 |
border-radius: 3px;*/
|
327 |
padding: 10px 10px 10px 40px;
|
|
|
328 |
position: relative;
|
329 |
/*-moz-box-shadow: 0 3px 0 rgba(12,12,12,0.03);
|
330 |
-webkit-box-shadow: 0 3px 0 rgba(12,12,12,0.03);
|
705 |
border-radius: 0px !important;
|
706 |
color: #000 !important;
|
707 |
font-size: 13px !important;
|
|
|
708 |
padding: 9.5px !important;
|
709 |
font-family: monospace !important;
|
710 |
cursor: pointer;
|
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': 'cfs',
|
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': 'cfs',
|
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': 'cfs',
|
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 (!CFS_DATA['cfsAcShow']) {
|
134 |
+
jQuery('.supsysticOverviewACFormOverlay').hide();
|
135 |
+
jQuery('.supsysticOverviewACFormOverlay').remove();
|
136 |
+
} else {
|
137 |
+
jQuery('.supsysticOverviewACFormOverlay').show();
|
138 |
+
}
|
139 |
+
});
|
modules/adminmenu/mod.php
CHANGED
@@ -6,24 +6,24 @@ class adminmenuCfs extends moduleCfs {
|
|
6 |
parent::init();
|
7 |
add_action('admin_menu', array($this, 'initMenu'), 9);
|
8 |
$plugName = plugin_basename(CFS_DIR. CFS_MAIN_FILE);
|
9 |
-
add_filter('plugin_action_links_'. $plugName, array($this, 'addSettingsLinkForPlug') );
|
10 |
}
|
11 |
-
public function addSettingsLinkForPlug($links) {
|
12 |
-
|
13 |
-
|
14 |
-
|
15 |
-
|
16 |
-
|
17 |
-
|
18 |
-
|
19 |
-
|
20 |
-
}
|
21 |
public function initMenu() {
|
22 |
$mainCap = $this->getMainCap();
|
23 |
$mainSlug = dispatcherCfs::applyFilters('adminMenuMainSlug', $this->_mainSlug);
|
24 |
$mainMenuPageOptions = array(
|
25 |
-
'page_title' => CFS_WP_PLUGIN_NAME,
|
26 |
-
'menu_title' => CFS_WP_PLUGIN_NAME,
|
27 |
'capability' => $mainCap,
|
28 |
'menu_slug' => $mainSlug,
|
29 |
'function' => array(frameCfs::_()->getModule('options'), 'getAdminPage'));
|
@@ -57,4 +57,3 @@ class adminmenuCfs extends moduleCfs {
|
|
57 |
return dispatcherCfs::applyFilters('adminMenuAccessCap', $this->_mainCap);
|
58 |
}
|
59 |
}
|
60 |
-
|
6 |
parent::init();
|
7 |
add_action('admin_menu', array($this, 'initMenu'), 9);
|
8 |
$plugName = plugin_basename(CFS_DIR. CFS_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', CFS_LANG_CODE), CFS_WP_PLUGIN_NAME);
|
14 |
+
// array_unshift($links, '<a href="'. $this->getMainLink(). '">'. __('Settings', CFS_LANG_CODE). '</a>');
|
15 |
+
// array_push($links, '<a title="'. __('More plugins for your WordPress site here!', CFS_LANG_CODE). '" href="'. $mainLink. '" target="_blank">supsystic.com</a>');
|
16 |
+
// array_push($links, '<a title="'. __('Spread the word!', CFS_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!', CFS_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!', CFS_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 = dispatcherCfs::applyFilters('adminMenuMainSlug', $this->_mainSlug);
|
24 |
$mainMenuPageOptions = array(
|
25 |
+
'page_title' => CFS_WP_PLUGIN_NAME,
|
26 |
+
'menu_title' => CFS_WP_PLUGIN_NAME,
|
27 |
'capability' => $mainCap,
|
28 |
'menu_slug' => $mainSlug,
|
29 |
'function' => array(frameCfs::_()->getModule('options'), 'getAdminPage'));
|
57 |
return dispatcherCfs::applyFilters('adminMenuAccessCap', $this->_mainCap);
|
58 |
}
|
59 |
}
|
|
modules/forms/js/admin.forms.fields.js
CHANGED
@@ -131,6 +131,11 @@ var g_cfsFieldsFrame = {
|
|
131 |
}
|
132 |
}
|
133 |
});
|
|
|
|
|
|
|
|
|
|
|
134 |
// In edit window - options will be separated into several tabs
|
135 |
this._$editWnd.wpTabs({
|
136 |
uniqId: 'cfsFieldsEditWnd'
|
131 |
}
|
132 |
}
|
133 |
});
|
134 |
+
jQuery('document').ready(function() {
|
135 |
+
// setTimeout(function() {
|
136 |
+
jQuery('#cfsFormFieldGoogleMapsWnd').dialog('close');
|
137 |
+
// }, 100);
|
138 |
+
} );
|
139 |
// In edit window - options will be separated into several tabs
|
140 |
this._$editWnd.wpTabs({
|
141 |
uniqId: 'cfsFieldsEditWnd'
|
modules/forms/views/tpl/formsEditFormFields.php
CHANGED
@@ -62,13 +62,13 @@
|
|
62 |
<?php echo htmlCfs::hidden('params[fields][][name]')?>
|
63 |
<?php echo htmlCfs::hidden('params[fields][][bs_class_id]')?>
|
64 |
<?php echo htmlCfs::hidden('params[fields][][display]')?>
|
65 |
-
|
66 |
<?php echo htmlCfs::hidden('params[fields][][min_size]')?>
|
67 |
<?php echo htmlCfs::hidden('params[fields][][max_size]')?>
|
68 |
<?php echo htmlCfs::hidden('params[fields][][add_classes]')?>
|
69 |
<?php echo htmlCfs::hidden('params[fields][][add_styles]')?>
|
70 |
<?php echo htmlCfs::hidden('params[fields][][add_attr]')?>
|
71 |
-
|
72 |
<?php echo htmlCfs::hidden('params[fields][][vn_only_number]')?>
|
73 |
<?php echo htmlCfs::hidden('params[fields][][vn_only_letters]')?>
|
74 |
<?php echo htmlCfs::hidden('params[fields][][vn_pattern]')*/?>
|
@@ -77,7 +77,7 @@
|
|
77 |
<div class="cfsFieldsAddWndElementsShell">
|
78 |
<?php foreach($this->fieldTypes as $ftCode => $ft) { ?>
|
79 |
<?php $pro = (isset($ft['pro']) && !$this->isPro && !empty($ft['pro'])) ? $ft['pro'] : false;?>
|
80 |
-
<div class="cfsFieldWndElement button"
|
81 |
data-html="<?php echo $ftCode;?>"
|
82 |
<?php if($pro) { ?>
|
83 |
data-pro="1"
|
@@ -188,7 +188,7 @@
|
|
188 |
<?php echo htmlCfs::selectbox('value_preset', array(
|
189 |
'options' => array(
|
190 |
'' => __('or select preset', CFS_LANG_CODE),
|
191 |
-
'user_ip' => __('User IP', CFS_LANG_CODE),
|
192 |
'user_country_code' => __('User Country code', CFS_LANG_CODE),
|
193 |
'user_country_label' => __('User Country name', CFS_LANG_CODE),
|
194 |
'page_title' => __('Page Title', CFS_LANG_CODE),
|
@@ -419,7 +419,7 @@
|
|
419 |
))?>
|
420 |
</td>
|
421 |
</tr>
|
422 |
-
|
423 |
</table>
|
424 |
</div>
|
425 |
<div id="cfsFormFieldAdvancedSettings" class="cfsTabContent">
|
62 |
<?php echo htmlCfs::hidden('params[fields][][name]')?>
|
63 |
<?php echo htmlCfs::hidden('params[fields][][bs_class_id]')?>
|
64 |
<?php echo htmlCfs::hidden('params[fields][][display]')?>
|
65 |
+
|
66 |
<?php echo htmlCfs::hidden('params[fields][][min_size]')?>
|
67 |
<?php echo htmlCfs::hidden('params[fields][][max_size]')?>
|
68 |
<?php echo htmlCfs::hidden('params[fields][][add_classes]')?>
|
69 |
<?php echo htmlCfs::hidden('params[fields][][add_styles]')?>
|
70 |
<?php echo htmlCfs::hidden('params[fields][][add_attr]')?>
|
71 |
+
|
72 |
<?php echo htmlCfs::hidden('params[fields][][vn_only_number]')?>
|
73 |
<?php echo htmlCfs::hidden('params[fields][][vn_only_letters]')?>
|
74 |
<?php echo htmlCfs::hidden('params[fields][][vn_pattern]')*/?>
|
77 |
<div class="cfsFieldsAddWndElementsShell">
|
78 |
<?php foreach($this->fieldTypes as $ftCode => $ft) { ?>
|
79 |
<?php $pro = (isset($ft['pro']) && !$this->isPro && !empty($ft['pro'])) ? $ft['pro'] : false;?>
|
80 |
+
<div class="cfsFieldWndElement button"
|
81 |
data-html="<?php echo $ftCode;?>"
|
82 |
<?php if($pro) { ?>
|
83 |
data-pro="1"
|
188 |
<?php echo htmlCfs::selectbox('value_preset', array(
|
189 |
'options' => array(
|
190 |
'' => __('or select preset', CFS_LANG_CODE),
|
191 |
+
'user_ip' => __('User IP', CFS_LANG_CODE),
|
192 |
'user_country_code' => __('User Country code', CFS_LANG_CODE),
|
193 |
'user_country_label' => __('User Country name', CFS_LANG_CODE),
|
194 |
'page_title' => __('Page Title', CFS_LANG_CODE),
|
419 |
))?>
|
420 |
</td>
|
421 |
</tr>
|
422 |
+
|
423 |
</table>
|
424 |
</div>
|
425 |
<div id="cfsFormFieldAdvancedSettings" class="cfsTabContent">
|
modules/options/views/tpl/optionsAdminPage.php
CHANGED
@@ -7,21 +7,21 @@
|
|
7 |
<section class="supsystic-content">
|
8 |
<nav class="supsystic-navigation supsystic-sticky <?php dispatcherCfs::doAction('adminMainNavClassAdd')?>">
|
9 |
<ul>
|
10 |
-
|
11 |
-
|
12 |
-
|
13 |
-
|
14 |
-
|
15 |
-
|
16 |
-
|
17 |
-
|
18 |
-
|
19 |
-
|
20 |
-
|
21 |
-
|
22 |
-
|
23 |
-
|
24 |
-
|
25 |
</ul>
|
26 |
</nav>
|
27 |
<div class="supsystic-container supsystic-<?php echo $this->activeTab?>">
|
@@ -29,6 +29,11 @@
|
|
29 |
<?php echo $this->content?>
|
30 |
<div class="clear"></div>
|
31 |
</div>
|
|
|
|
|
|
|
|
|
|
|
32 |
</section>
|
33 |
</div>
|
34 |
</div>
|
7 |
<section class="supsystic-content">
|
8 |
<nav class="supsystic-navigation supsystic-sticky <?php dispatcherCfs::doAction('adminMainNavClassAdd')?>">
|
9 |
<ul>
|
10 |
+
<?php foreach($this->tabs as $tabKey => $tab) { ?>
|
11 |
+
<?php if(isset($tab['hidden']) && $tab['hidden']) continue;?>
|
12 |
+
<li class="supsystic-tab-<?php echo $tabKey;?> <?php echo (($this->activeTab == $tabKey || in_array($tabKey, $this->activeParentTabs)) ? 'active' : '')?>">
|
13 |
+
<a href="<?php echo $tab['url']?>" title="<?php echo $tab['label']?>">
|
14 |
+
<?php if(isset($tab['fa_icon'])) { ?>
|
15 |
+
<i class="fa <?php echo $tab['fa_icon']?>"></i>
|
16 |
+
<?php } elseif(isset($tab['wp_icon'])) { ?>
|
17 |
+
<i class="dashicons-before <?php echo $tab['wp_icon']?>"></i>
|
18 |
+
<?php } elseif(isset($tab['icon'])) { ?>
|
19 |
+
<i class="<?php echo $tab['icon']?>"></i>
|
20 |
+
<?php }?>
|
21 |
+
<span class="sup-tab-label"><?php echo $tab['label']?></span>
|
22 |
+
</a>
|
23 |
+
</li>
|
24 |
+
<?php }?>
|
25 |
</ul>
|
26 |
</nav>
|
27 |
<div class="supsystic-container supsystic-<?php echo $this->activeTab?>">
|
29 |
<?php echo $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/contact-form-by-supsystic?filter=5#postform">★★★★★</a> on wordpress.org</div>
|
34 |
+
<a href="https://supsystic.com/" target="_blank"><img src="<?php echo CFS_PLUGINS_URL .'/'. CFS_PLUG_NAME;?>/modules/supsystic_promo/img/supsystic-logo-small.png"></a>
|
35 |
+
<div class="supsystic-footer-plugin-version">Contact Form by Supsystic Version: <?php echo CFS_VERSION?></div>
|
36 |
+
</div>
|
37 |
</section>
|
38 |
</div>
|
39 |
</div>
|
modules/supsystic_promo/controller.php
CHANGED
@@ -15,6 +15,45 @@ class supsystic_promoControllerCfs extends controllerCfs {
|
|
15 |
}
|
16 |
redirectCfs($originalPage);
|
17 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
18 |
public function sendContact() {
|
19 |
$res = new responseCfs();
|
20 |
$time = time();
|
@@ -41,7 +80,7 @@ class supsystic_promoControllerCfs extends controllerCfs {
|
|
41 |
}
|
42 |
break;
|
43 |
case 'email':
|
44 |
-
if(!is_email($data[ $fName ]))
|
45 |
$error = __('Please enter valid email address', CFS_LANG_CODE);
|
46 |
break;
|
47 |
}
|
@@ -65,7 +104,7 @@ class supsystic_promoControllerCfs extends controllerCfs {
|
|
65 |
} else {
|
66 |
$res->pushError( frameCfs::_()->getModule('mail')->getMailErrors() );
|
67 |
}
|
68 |
-
|
69 |
}
|
70 |
$res->ajaxExec();
|
71 |
}
|
@@ -124,9 +163,8 @@ class supsystic_promoControllerCfs extends controllerCfs {
|
|
124 |
public function getPermissions() {
|
125 |
return array(
|
126 |
CFS_USERLEVELS => array(
|
127 |
-
CFS_ADMIN => array('welcomePageSaveInfo', 'sendContact', 'addNoticeAction',
|
128 |
-
'addStep', 'closeTour', 'addTourFinish')
|
129 |
),
|
130 |
);
|
131 |
}
|
132 |
-
}
|
15 |
}
|
16 |
redirectCfs($originalPage);
|
17 |
}
|
18 |
+
public function sendSubscribeMail()
|
19 |
+
{
|
20 |
+
$res = new responseCfs();
|
21 |
+
$data = reqCfs::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' => 'cfs',
|
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('cfs_ac_subscribe', true);
|
42 |
+
}
|
43 |
+
$res->ajaxExec();
|
44 |
+
}
|
45 |
+
public function sendSubscribeRemind()
|
46 |
+
{
|
47 |
+
$res = new responseCfs();
|
48 |
+
update_option('cfs_ac_remind', date("Y-m-d h:i:s", time() + 86400));
|
49 |
+
$res->ajaxExec();
|
50 |
+
}
|
51 |
+
public function sendSubscribeDisable()
|
52 |
+
{
|
53 |
+
$res = new responseCfs();
|
54 |
+
update_option('cfs_ac_disabled', true);
|
55 |
+
$res->ajaxExec();
|
56 |
+
}
|
57 |
public function sendContact() {
|
58 |
$res = new responseCfs();
|
59 |
$time = time();
|
80 |
}
|
81 |
break;
|
82 |
case 'email':
|
83 |
+
if(!is_email($data[ $fName ]))
|
84 |
$error = __('Please enter valid email address', CFS_LANG_CODE);
|
85 |
break;
|
86 |
}
|
104 |
} else {
|
105 |
$res->pushError( frameCfs::_()->getModule('mail')->getMailErrors() );
|
106 |
}
|
107 |
+
|
108 |
}
|
109 |
$res->ajaxExec();
|
110 |
}
|
163 |
public function getPermissions() {
|
164 |
return array(
|
165 |
CFS_USERLEVELS => array(
|
166 |
+
CFS_ADMIN => array('welcomePageSaveInfo', 'sendContact', 'addNoticeAction', 'addStep', 'closeTour', 'addTourFinish', 'sendSubscribeMail', 'sendSubscribeRemind', 'sendSubscribeDisable')
|
|
|
167 |
),
|
168 |
);
|
169 |
}
|
170 |
+
}
|
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/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/supsystic-logo-small.png
ADDED
Binary file
|
modules/supsystic_promo/mod.php
CHANGED
@@ -19,8 +19,8 @@ class supsystic_promoCfs extends moduleCfs {
|
|
19 |
dispatcherCfs::addFilter('mainAdminTabs', array($this, 'addAdminTab'));
|
20 |
dispatcherCfs::addAction('beforeSaveOpts', array($this, 'checkSaveOpts'));
|
21 |
dispatcherCfs::addFilter('showTplsList', array($this, 'checkProTpls'));
|
22 |
-
dispatcherCfs::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'));
|
26 |
dispatcherCfs::addFilter('formsEditTabs', array($this, 'addEditTab'));
|
@@ -41,80 +41,80 @@ class supsystic_promoCfs extends moduleCfs {
|
|
41 |
}
|
42 |
return $tabs;
|
43 |
}
|
44 |
-
public function checkAdminPromoNotices() {
|
45 |
-
|
46 |
-
|
47 |
-
|
48 |
-
|
49 |
-
|
50 |
-
|
51 |
-
|
52 |
-
|
53 |
-
|
54 |
-
|
55 |
-
|
56 |
-
|
57 |
-
|
58 |
-
|
59 |
-
|
60 |
-
|
61 |
-
|
62 |
-
|
63 |
-
|
64 |
-
|
65 |
-
|
66 |
-
|
67 |
-
|
68 |
-
|
69 |
-
|
70 |
-
|
71 |
-
|
72 |
-
|
73 |
-
|
74 |
-
|
75 |
-
|
76 |
-
|
77 |
-
|
78 |
-
|
79 |
-
|
80 |
-
|
81 |
-
|
82 |
-
|
83 |
-
|
84 |
-
|
85 |
-
|
86 |
-
|
87 |
-
|
88 |
-
|
89 |
-
|
90 |
-
|
91 |
-
|
92 |
-
|
93 |
-
|
94 |
-
|
95 |
-
|
96 |
-
|
97 |
-
|
98 |
-
|
99 |
-
|
100 |
-
|
101 |
-
|
102 |
-
|
103 |
-
|
104 |
-
|
105 |
-
|
106 |
-
|
107 |
-
|
108 |
-
|
109 |
-
|
110 |
-
}
|
111 |
public function addAdminTab($tabs) {
|
112 |
$tabs['overview'] = array(
|
113 |
'label' => __('Overview', CFS_LANG_CODE), 'callback' => array($this, 'getOverviewTabContent'), 'fa_icon' => 'fa-info', 'sort_order' => 5,
|
114 |
);
|
115 |
-
$tabs['featured-plugins'] = array(
|
116 |
-
|
117 |
-
);
|
118 |
return $tabs;
|
119 |
}
|
120 |
public function addSubDestList($subDestList) {
|
@@ -546,41 +546,41 @@ class supsystic_promoCfs extends moduleCfs {
|
|
546 |
frameCfs::_()->addScript(CFS_CODE. 'admin.tour', $this->getModPath(). 'js/admin.tour.js');
|
547 |
frameCfs::_()->addJSVar(CFS_CODE. 'admin.tour', 'cfsAdminTourData', $tourData);
|
548 |
}
|
549 |
-
public function showFeaturedPluginsPage() {
|
550 |
-
|
551 |
-
}
|
552 |
-
public function getDiscountMsg() {
|
553 |
-
|
554 |
-
|
555 |
-
|
556 |
-
|
557 |
-
|
558 |
-
|
559 |
-
|
560 |
-
|
561 |
-
|
562 |
-
|
563 |
-
|
564 |
-
|
565 |
-
|
566 |
-
|
567 |
-
|
568 |
-
|
569 |
-
|
570 |
-
|
571 |
-
|
572 |
-
|
573 |
-
|
574 |
-
|
575 |
-
|
576 |
-
|
577 |
-
|
578 |
-
}
|
579 |
-
public function getDiscountBuyUrl() {
|
580 |
-
|
581 |
-
|
582 |
-
|
583 |
-
|
584 |
-
|
585 |
-
}
|
586 |
}
|
19 |
dispatcherCfs::addFilter('mainAdminTabs', array($this, 'addAdminTab'));
|
20 |
dispatcherCfs::addAction('beforeSaveOpts', array($this, 'checkSaveOpts'));
|
21 |
dispatcherCfs::addFilter('showTplsList', array($this, 'checkProTpls'));
|
22 |
+
// dispatcherCfs::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'));
|
26 |
dispatcherCfs::addFilter('formsEditTabs', array($this, 'addEditTab'));
|
41 |
}
|
42 |
return $tabs;
|
43 |
}
|
44 |
+
// public function checkAdminPromoNotices() {
|
45 |
+
// if(!frameCfs::_()->isAdminPlugOptsPage()) // Our notices - only for our plugin pages for now
|
46 |
+
// return;
|
47 |
+
// $notices = array();
|
48 |
+
// // Start usage
|
49 |
+
// $startUsage = (int) frameCfs::_()->getModule('options')->get('start_usage');
|
50 |
+
// $currTime = time();
|
51 |
+
// $day = 24 * 3600;
|
52 |
+
// if($startUsage) { // Already saved
|
53 |
+
// $rateMsg = sprintf(__("<h3>Hey, I noticed you just use %s over a week – that’s awesome!</h3><p>Could you please do me a BIG favor and give it a 5-star rating on WordPress? Just to help us spread the word and boost our motivation.</p>", CFS_LANG_CODE), CFS_WP_PLUGIN_NAME);
|
54 |
+
// $rateMsg .= '<p><a href="https://wordpress.org/support/view/plugin-reviews/contact-form-by-supsystic?rate=5#postform" target="_blank" class="button button-primary" data-statistic-code="done">'. __('Ok, you deserve it', CFS_LANG_CODE). '</a>
|
55 |
+
// <a href="#" class="button" data-statistic-code="later">'. __('Nope, maybe later', CFS_LANG_CODE). '</a>
|
56 |
+
// <a href="#" class="button" data-statistic-code="hide">'. __('I already did', CFS_LANG_CODE). '</a></p>';
|
57 |
+
// $enbPromoLinkMsg = sprintf(__("<h3>More then eleven days with our %s plugin - Congratulations!</h3>", CFS_LANG_CODE), CFS_WP_PLUGIN_NAME);;
|
58 |
+
// $enbPromoLinkMsg .= __('<p>On behalf of the entire <a href="https://supsystic.com/" target="_blank">supsystic.com</a> company I would like to thank you for been with us, and I really hope that our software helped you.</p>', CFS_LANG_CODE);
|
59 |
+
// $enbPromoLinkMsg .= __('<p>And today, if you want, - you can help us. This is really simple - you can just add small promo link to our site under your Forms. This is small step for you, but a big help for us! Sure, if you don\'t want - just skip this and continue enjoy our software!</p>', CFS_LANG_CODE);
|
60 |
+
// $enbPromoLinkMsg .= '<p><a href="#" class="button button-primary" data-statistic-code="done">'. __('Ok, you deserve it', CFS_LANG_CODE). '</a>
|
61 |
+
// <a href="#" class="button" data-statistic-code="later">'. __('Nope, maybe later', CFS_LANG_CODE). '</a>
|
62 |
+
// <a href="#" class="button" data-statistic-code="hide">'. __('Skip', CFS_LANG_CODE). '</a></p>';
|
63 |
+
// $checkOtherPlugins = '<p>'
|
64 |
+
// . 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!', CFS_LANG_CODE), frameCfs::_()->getModule('options')->getTabUrl('featured-plugins'))
|
65 |
+
// . '</p>';
|
66 |
+
// $notices = array(
|
67 |
+
// 'rate_msg' => array('html' => $rateMsg, 'show_after' => 7 * $day),
|
68 |
+
// 'enb_promo_link_msg' => array('html' => $enbPromoLinkMsg, 'show_after' => 11 * $day),
|
69 |
+
// 'check_other_plugs_msg' => array('html' => $checkOtherPlugins, 'show_after' => 1 * $day),
|
70 |
+
// );
|
71 |
+
// foreach($notices as $nKey => $n) {
|
72 |
+
// if($currTime - $startUsage <= $n['show_after']) {
|
73 |
+
// unset($notices[ $nKey ]);
|
74 |
+
// continue;
|
75 |
+
// }
|
76 |
+
// $done = (int) frameCfs::_()->getModule('options')->get('done_'. $nKey);
|
77 |
+
// if($done) {
|
78 |
+
// unset($notices[ $nKey ]);
|
79 |
+
// continue;
|
80 |
+
// }
|
81 |
+
// $hide = (int) frameCfs::_()->getModule('options')->get('hide_'. $nKey);
|
82 |
+
// if($hide) {
|
83 |
+
// unset($notices[ $nKey ]);
|
84 |
+
// continue;
|
85 |
+
// }
|
86 |
+
// $later = (int) frameCfs::_()->getModule('options')->get('later_'. $nKey);
|
87 |
+
// if($later && ($currTime - $later) <= 2 * $day) { // remember each 2 days
|
88 |
+
// unset($notices[ $nKey ]);
|
89 |
+
// continue;
|
90 |
+
// }
|
91 |
+
// if($nKey == 'enb_promo_link_msg' && (int)frameCfs::_()->getModule('options')->get('add_love_link')) {
|
92 |
+
// unset($notices[ $nKey ]);
|
93 |
+
// continue;
|
94 |
+
// }
|
95 |
+
// }
|
96 |
+
// } else {
|
97 |
+
// frameCfs::_()->getModule('options')->getModel()->save('start_usage', $currTime);
|
98 |
+
// }
|
99 |
+
// if(!empty($notices)) {
|
100 |
+
// if(isset($notices['rate_msg']) && isset($notices['enb_promo_link_msg']) && !empty($notices['enb_promo_link_msg'])) {
|
101 |
+
// unset($notices['rate_msg']); // Show only one from those messages
|
102 |
+
// }
|
103 |
+
// $html = '';
|
104 |
+
// foreach($notices as $nKey => $n) {
|
105 |
+
// $this->getModel()->saveUsageStat($nKey. '.'. 'show', true);
|
106 |
+
// $html .= '<div class="updated notice is-dismissible supsystic-admin-notice" data-code="'. $nKey. '">'. $n['html']. '</div>';
|
107 |
+
// }
|
108 |
+
// echo $html;
|
109 |
+
// }
|
110 |
+
// }
|
111 |
public function addAdminTab($tabs) {
|
112 |
$tabs['overview'] = array(
|
113 |
'label' => __('Overview', CFS_LANG_CODE), 'callback' => array($this, 'getOverviewTabContent'), 'fa_icon' => 'fa-info', 'sort_order' => 5,
|
114 |
);
|
115 |
+
// $tabs['featured-plugins'] = array(
|
116 |
+
// 'label' => __('Featured Plugins', CFS_LANG_CODE), 'callback' => array($this, 'showFeaturedPluginsPage'), 'fa_icon' => 'fa-heart', 'sort_order' => 99,
|
117 |
+
// );
|
118 |
return $tabs;
|
119 |
}
|
120 |
public function addSubDestList($subDestList) {
|
546 |
frameCfs::_()->addScript(CFS_CODE. 'admin.tour', $this->getModPath(). 'js/admin.tour.js');
|
547 |
frameCfs::_()->addJSVar(CFS_CODE. 'admin.tour', 'cfsAdminTourData', $tourData);
|
548 |
}
|
549 |
+
// public function showFeaturedPluginsPage() {
|
550 |
+
// return $this->getView()->showFeaturedPluginsPage();
|
551 |
+
// }
|
552 |
+
// public function getDiscountMsg() {
|
553 |
+
// if($this->isPro()
|
554 |
+
// && frameCfs::_()->getModule('options')->getActiveTab() == 'license'
|
555 |
+
// && frameCfs::_()->getModule('license')
|
556 |
+
// && frameCfs::_()->getModule('license')->getModel()->isActive()
|
557 |
+
// ) {
|
558 |
+
// $proPluginsList = array(
|
559 |
+
// 'ultimate-maps-by-supsystic-pro', 'newsletters-by-supsystic-pro', 'contact-form-by-supsystic-pro', 'live-chat-pro',
|
560 |
+
// 'digital-publications-supsystic-pro', 'coming-soon-supsystic-pro', 'price-table-supsystic-pro', 'tables-generator-pro',
|
561 |
+
// 'social-share-pro', 'popup-by-supsystic-pro', 'supsystic_slider_pro', 'supsystic-gallery-pro', 'google-maps-easy-pro',
|
562 |
+
// 'backup-supsystic-pro',
|
563 |
+
// );
|
564 |
+
// $activePluginsList = get_option('active_plugins', array());
|
565 |
+
// $activeProPluginsCount = 0;
|
566 |
+
// foreach($activePluginsList as $actPl) {
|
567 |
+
// foreach($proPluginsList as $proPl) {
|
568 |
+
// if(strpos($actPl, $proPl) !== false) {
|
569 |
+
// $activeProPluginsCount++;
|
570 |
+
// }
|
571 |
+
// }
|
572 |
+
// }
|
573 |
+
// if($activeProPluginsCount === 1) {
|
574 |
+
// $buyLink = $this->getDiscountBuyUrl();
|
575 |
+
// $this->getView()->getDiscountMsg($buyLink);
|
576 |
+
// }
|
577 |
+
// }
|
578 |
+
// }
|
579 |
+
// public function getDiscountBuyUrl() {
|
580 |
+
// $license = frameCfs::_()->getModule('license')->getModel()->getCredentials();
|
581 |
+
// $license['key'] = md5($license['key']);
|
582 |
+
// $license = urlencode(base64_encode(implode('|', $license)));
|
583 |
+
// $plugin_code = 'contact_form_by_supsystic_pro';
|
584 |
+
// return 'http://supsystic.com/?mod=manager&pl=lms&action=applyDiscountBuyUrl&plugin_code='. $plugin_code. '&lic='. $license;
|
585 |
+
// }
|
586 |
}
|
modules/supsystic_promo/views/supsystic_promo.php
CHANGED
@@ -120,43 +120,43 @@ Here you can edit css style of the pop-up window.', CFS_LANG_CODE),
|
|
120 |
$this->assign('finishSiteLink', $this->getModule()->generateMainLink('utm_source=plugin&utm_medium=final_step_b_step&utm_campaign=forms'));
|
121 |
return parent::getContent('adminTour');
|
122 |
}
|
123 |
-
public function showFeaturedPluginsPage() {
|
124 |
-
|
125 |
-
|
126 |
-
|
127 |
-
|
128 |
-
|
129 |
-
|
130 |
-
|
131 |
-
|
132 |
-
|
133 |
-
|
134 |
-
|
135 |
-
|
136 |
-
|
137 |
-
|
138 |
-
|
139 |
-
|
140 |
-
|
141 |
-
|
142 |
-
|
143 |
-
|
144 |
-
|
145 |
-
|
146 |
-
|
147 |
-
|
148 |
-
|
149 |
-
|
150 |
-
|
151 |
-
|
152 |
-
|
153 |
-
|
154 |
-
|
155 |
-
|
156 |
-
}
|
157 |
-
public function getDiscountMsg($buyLink = '#') {
|
158 |
-
|
159 |
-
|
160 |
-
|
161 |
-
}
|
162 |
}
|
120 |
$this->assign('finishSiteLink', $this->getModule()->generateMainLink('utm_source=plugin&utm_medium=final_step_b_step&utm_campaign=forms'));
|
121 |
return parent::getContent('adminTour');
|
122 |
}
|
123 |
+
// public function showFeaturedPluginsPage() {
|
124 |
+
// frameCfs::_()->getModule('templates')->loadSupTablesUi();
|
125 |
+
// frameCfs::_()->addStyle('admin.featured-plugins', $this->getModule()->getModPath(). 'css/admin.featured-plugins.css');
|
126 |
+
// frameCfs::_()->getModule('templates')->loadGoogleFont('Montserrat');
|
127 |
+
// $siteUrl = 'https://supsystic.com/';
|
128 |
+
// $pluginsUrl = $siteUrl. 'plugins/';
|
129 |
+
// $downloadsUrl = 'https://downloads.wordpress.org/plugin/';
|
130 |
+
// $imgUrl = frameCfs::_()->getModule('supsystic_promo')->getModPath(). 'img/';
|
131 |
+
// $promoCampaign = 'forms';
|
132 |
+
// $this->assign('pluginsList', array(
|
133 |
+
// array('label' => __('Popup Plugin', CFS_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.', CFS_LANG_CODE), 'download' => $downloadsUrl. 'popup-by-supsystic.zip'),
|
134 |
+
// array('label' => __('Photo Gallery Plugin', CFS_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.', CFS_LANG_CODE), 'download' => $downloadsUrl. 'gallery-by-supsystic.zip'),
|
135 |
+
// array('label' => __('Contact Form Plugin', CFS_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.', CFS_LANG_CODE), 'download' => $downloadsUrl. 'contact-form-by-supsystic.zip'),
|
136 |
+
// array('label' => __('Newsletter Plugin', CFS_LANG_CODE), 'url' => $pluginsUrl. 'newsletter-plugin/','external' => true, 'img' => $imgUrl. 'icon-256x256.png', 'desc' => __('Supsystic Newsletter plugin for automatic mailing of your letters. You will have no need to control it or send them manually. No coding, hard skills or long hours of customizing are required.', CFS_LANG_CODE), 'download' => $downloadsUrl. 'newsletter-by-supsystic.zip'),
|
137 |
+
// array('label' => __('Membership by Supsystic', CFS_LANG_CODE), 'url' => $pluginsUrl. 'membership-plugin/','external' => true, 'img' => $imgUrl. '256.png', 'desc' => __('Create online membership community with custom user profiles, roles, FrontEnd registration and login. Members Directory, activity, groups, messages.', CFS_LANG_CODE), 'download' => $downloadsUrl. 'membership-by-supsystic.zip'),
|
138 |
+
// array('label' => __('Data Tables Generator', CFS_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.', CFS_LANG_CODE), 'download' => $downloadsUrl. 'data-tables-generator-by-supsystic.zip'),
|
139 |
+
// array('label' => __('Slider Plugin', CFS_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.', CFS_LANG_CODE), 'download' => $downloadsUrl. 'slider-by-supsystic.zip'),
|
140 |
+
// array('label' => __('Social Share Buttons', CFS_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.', CFS_LANG_CODE), 'download' => $downloadsUrl. 'social-share-buttons-by-supsystic.zip'),
|
141 |
+
// array('label' => __('Live Chat Plugin', CFS_LANG_CODE), 'url' => $pluginsUrl. 'live-chat/','external' => true, 'img' => $imgUrl. 'Live_Chat_256.png', 'desc' => __('Be closer to your visitors and customers with Live Chat Support by Supsystic. Help you visitors, support them in real-time with exceptional Live Chat WordPress plugin by Supsystic.', CFS_LANG_CODE), 'download' => $downloadsUrl. 'live-chat-by-supsystic.zip'),
|
142 |
+
// array('label' => __('Pricing Table', CFS_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.', CFS_LANG_CODE), 'download' => $downloadsUrl. 'pricing-table-by-supsystic.zip'),
|
143 |
+
// array('label' => __('Coming Soon Plugin', CFS_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.', CFS_LANG_CODE), 'download' => $downloadsUrl. 'coming-soon-by-supsystic.zip'),
|
144 |
+
// array('label' => __('Backup Plugin', CFS_LANG_CODE), 'url' => $pluginsUrl. 'backup-plugin/', 'external' => true, 'img' => $imgUrl. 'Backup_256.png', 'desc' => __('Backup and Restore WordPress Plugin by Supsystic provides quick and unhitched DropBox, FTP, Amazon S3, Google Drive backup for your WordPress website.', CFS_LANG_CODE), 'download' => $downloadsUrl. 'backup-by-supsystic.zip'),
|
145 |
+
// array('label' => __('Google Maps Easy', CFS_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.', CFS_LANG_CODE), 'download' => $downloadsUrl. 'google-maps-easy.zip'),
|
146 |
+
// array('label' => __('Digital Publication Plugin', CFS_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.', CFS_LANG_CODE), 'download' => $downloadsUrl. 'digital-publications-by-supsystic.zip'),
|
147 |
+
// array('label' => __('Kinsta Hosting', CFS_LANG_CODE), 'url' => 'https://kinsta.com?kaid=MNRQQASUYJRT', 'external' => true, 'img' => $imgUrl. 'kinsta_banner.png', 'desc' => __('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.', CFS_LANG_CODE)),
|
148 |
+
// ));
|
149 |
+
// foreach($this->pluginsList as $i => $p) {
|
150 |
+
// if(empty($p['external'])) {
|
151 |
+
// $this->pluginsList[ $i ]['url'] = $this->pluginsList[ $i ]['url']. '?utm_source=plugin&utm_medium=featured_plugins&utm_campaign='. $promoCampaign;
|
152 |
+
// }
|
153 |
+
// }
|
154 |
+
// $this->assign('bundleUrl', $siteUrl. 'product/plugins-bundle/'. '?utm_source=plugin&utm_medium=featured_plugins&utm_campaign='. $promoCampaign);
|
155 |
+
// return parent::getContent('featuredPlugins');
|
156 |
+
// }
|
157 |
+
// public function getDiscountMsg($buyLink = '#') {
|
158 |
+
// $this->assign('bundlePageLink', '//supsystic.com/all-plugins/');
|
159 |
+
// $this->assign('buyLink', $buyLink);
|
160 |
+
// parent::display('discountMsg');
|
161 |
+
// }
|
162 |
}
|
modules/supsystic_promo/views/tpl/adminFooter.php
CHANGED
@@ -1,21 +1,33 @@
|
|
1 |
-
<div class="
|
2 |
-
|
3 |
-
|
4 |
-
|
5 |
-
|
6 |
-
|
7 |
-
|
8 |
-
|
9 |
-
|
10 |
-
|
11 |
-
|
12 |
-
|
13 |
-
|
14 |
-
|
15 |
-
|
16 |
-
|
17 |
-
|
18 |
-
|
19 |
-
|
20 |
-
|
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 CFS_PLUGINS_URL .'/'. CFS_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;" hidden>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 |
-
<
|
2 |
-
|
3 |
-
|
4 |
-
|
5 |
-
<?php /*?><h3><?php _e('FAQ and Documentation', CFS_LANG_CODE)?></h3>
|
6 |
-
<div class="faq-list">
|
7 |
-
<?php foreach($this->faqList as $title => $desc) { ?>
|
8 |
-
<div class="faq-title">
|
9 |
-
<i class="fa fa-info-circle"></i>
|
10 |
-
<?php echo $title;?>
|
11 |
-
<div class="description" style="display: none;"><?php echo $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 $this->mainLink?>#faq" style="float: right;">
|
16 |
-
<i class="fa fa-info-circle"></i>
|
17 |
-
<?php _e('Check all FAQs', CFS_LANG_CODE)?>
|
18 |
-
</a>
|
19 |
-
<div style="clear: both;"></div>
|
20 |
-
</div>
|
21 |
-
<div class="video">
|
22 |
-
<h3><?php _e('Video Tutorial', CFS_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><?php */?>
|
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.', CFS_LANG_CODE)?></div>
|
32 |
-
<a href="https://kinsta.com?kaid=MNRQQASUYJRT">
|
33 |
-
<img src="<?php echo frameCfs::_()->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', CFS_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 $title?>:</div>
|
42 |
-
<span><?php echo $element['value']?></span>
|
43 |
-
</li>
|
44 |
-
<?php }?>
|
45 |
-
</ul>
|
46 |
-
</div>
|
47 |
</div>
|
48 |
-
<div class="
|
49 |
-
|
50 |
-
<
|
51 |
-
|
52 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
53 |
</div>
|
54 |
-
<
|
55 |
-
|
56 |
-
|
57 |
-
|
58 |
-
|
59 |
-
|
60 |
-
|
61 |
-
|
62 |
-
|
63 |
-
|
64 |
-
|
65 |
-
|
66 |
-
|
67 |
-
|
68 |
-
|
69 |
-
|
70 |
-
|
71 |
-
|
72 |
-
|
73 |
-
|
74 |
-
|
75 |
-
|
76 |
-
|
77 |
-
|
78 |
-
|
79 |
-
|
80 |
-
|
81 |
-
|
82 |
-
|
83 |
-
|
84 |
-
|
85 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
86 |
<?php }?>
|
87 |
-
<
|
88 |
-
|
89 |
-
|
90 |
-
|
91 |
-
|
92 |
-
|
93 |
-
|
94 |
-
|
95 |
-
|
96 |
-
|
97 |
-
|
98 |
-
|
99 |
-
|
100 |
-
|
101 |
-
|
102 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
103 |
</div>
|
104 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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 CFS_PLUGINS_URL .'/'. CFS_PLUG_NAME;?>/modules/supsystic_promo/img/plugin-icon.png">Contact Form By Supsystic</div>
|
4 |
+
<div class="plugin-description">Contact Form WordPress plugin helps you easily create contact forms with your customers, gather your own client data and make it maximum elegant, beautiful and quick. Simple and flexible plugin with user-friendly interface and light theme. Eye-catching design and minimalistic functional variety – everything for your comfort!</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" style="display:none;"><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/contact-form-plugin/?utm_source=plugin&utm_campaign=contact-form"> 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/contact-form-plugin/?utm_source=plugin&utm_campaign=contact-form"> 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=contact-form"> 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 htmlCfs::$htmlType($fName, $htmlParams)?>
|
56 |
+
</td>
|
57 |
+
</tr>
|
58 |
+
<?php }?>
|
59 |
+
<tr>
|
60 |
+
<th scope="row" colspan="2">
|
61 |
+
<?php echo htmlCfs::hidden('mod', array('value' => 'supsystic_promo'))?>
|
62 |
+
<?php echo htmlCfs::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', CFS_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', CFS_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/contact-form/?utm_source=plugin&utm_medium=faq&utm_campaign=contact-form" 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="http://www.youtube.com/embed/_GvD8fZryzY"
|
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=contact-form" target="_blank"><img class="overview-supsystic-img" src="<?php echo CFS_PLUGINS_URL .'/'. CFS_PLUG_NAME;?>/modules/supsystic_promo/img/overview-01.png"></a>
|
134 |
+
<a href="https://supsystic.com/bundle-mix/?utm_source=plugin&utm_campaign=contact-form" target="_blank"><img class="overview-supsystic-img" src="<?php echo CFS_PLUGINS_URL .'/'. CFS_PLUG_NAME;?>/modules/supsystic_promo/img/overview-02.png"></a>
|
135 |
+
<a href="https://supsystic.com/all-plugins/?utm_source=plugin&utm_campaign=contact-form" target="_blank"><img style="margin-top:20px;" class="overview-supsystic-img" src="<?php echo CFS_PLUGINS_URL .'/'. CFS_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
@@ -13,6 +13,10 @@ class templatesCfs extends moduleCfs {
|
|
13 |
$this->loadAdminCoreJs();
|
14 |
$this->loadCoreCss();
|
15 |
$this->loadChosenSelects();
|
|
|
|
|
|
|
|
|
16 |
frameCfs::_()->addScript('adminOptionsCfs', CFS_JS_PATH. 'admin.options.js', array(), false, true);
|
17 |
add_action('admin_enqueue_scripts', array($this, 'loadMediaScripts'));
|
18 |
add_action('init', array($this, 'connectAdditionalAdminAssets'));
|
@@ -63,7 +67,26 @@ class templatesCfs extends moduleCfs {
|
|
63 |
);
|
64 |
if(is_admin()) {
|
65 |
$jsData['isPro'] = frameCfs::_()->getModule('supsystic_promo')->isPro();
|
66 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
67 |
$jsData = dispatcherCfs::applyFilters('jsInitVariables', $jsData);
|
68 |
frameCfs::_()->addJSVar('coreCfs', 'CFS_DATA', $jsData);
|
69 |
$loaded = true;
|
13 |
$this->loadAdminCoreJs();
|
14 |
$this->loadCoreCss();
|
15 |
$this->loadChosenSelects();
|
16 |
+
|
17 |
+
frameCfs::_()->addScript('cfsAcPromoScript', CFS_JS_PATH. 'acPromoScript.js');
|
18 |
+
frameCfs::_()->addStyle('cfsAcPromoStyle', CFS_CSS_PATH. 'acPromoStyle.css');
|
19 |
+
|
20 |
frameCfs::_()->addScript('adminOptionsCfs', CFS_JS_PATH. 'admin.options.js', array(), false, true);
|
21 |
add_action('admin_enqueue_scripts', array($this, 'loadMediaScripts'));
|
22 |
add_action('init', array($this, 'connectAdditionalAdminAssets'));
|
67 |
);
|
68 |
if(is_admin()) {
|
69 |
$jsData['isPro'] = frameCfs::_()->getModule('supsystic_promo')->isPro();
|
70 |
+
$show = true;
|
71 |
+
$acSubscribe = get_option('cfs_ac_subscribe', false);
|
72 |
+
if (!empty($acSubscribe)) {
|
73 |
+
$show = false;
|
74 |
+
}
|
75 |
+
$acDisabled = get_option('cfs_ac_disabled', false);
|
76 |
+
if (!empty($acDisabled)) {
|
77 |
+
$show = false;
|
78 |
+
}
|
79 |
+
$acRemind = get_option('cfs_ac_remind', false);
|
80 |
+
if (!empty($acRemind)) {
|
81 |
+
$currentDate = date('Y-m-d h:i:s');
|
82 |
+
if ($currentDate > $acRemind) {
|
83 |
+
$show = true;
|
84 |
+
} else {
|
85 |
+
$show = false;
|
86 |
+
}
|
87 |
+
}
|
88 |
+
$jsData['cfsAcShow'] = $show;
|
89 |
+
}
|
90 |
$jsData = dispatcherCfs::applyFilters('jsInitVariables', $jsData);
|
91 |
frameCfs::_()->addJSVar('coreCfs', 'CFS_DATA', $jsData);
|
92 |
$loaded = true;
|
readme.txt
CHANGED
@@ -1,8 +1,8 @@
|
|
1 |
=== Contact Form by Supsystic ===
|
2 |
Contributors: supsystic.com
|
3 |
Tags: contact, contact form, contact form builder, contact form maker, contact form manager, contact form plugin, contact forms, custom form, feedback form, form, forms, forms creator
|
4 |
-
Tested up to:
|
5 |
-
Stable tag: 1.7.
|
6 |
|
7 |
Contact Form Builder with drag-and-drop editor to create responsive, mobile ready contact forms in a second. Custom fields and contact form templates
|
8 |
|
@@ -202,6 +202,14 @@ Using Contact Form plugin on your WordPress site, you start a really responsive
|
|
202 |
Contact Form admin interface
|
203 |
|
204 |
== Changelog ==
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
205 |
1.7.21 / 05.11.2021 =
|
206 |
* Add fix for striptags
|
207 |
|
1 |
=== Contact Form by Supsystic ===
|
2 |
Contributors: supsystic.com
|
3 |
Tags: contact, contact form, contact form builder, contact form maker, contact form manager, contact form plugin, contact forms, custom form, feedback form, form, forms, forms creator
|
4 |
+
Tested up to: 6.0
|
5 |
+
Stable tag: 1.7.23
|
6 |
|
7 |
Contact Form Builder with drag-and-drop editor to create responsive, mobile ready contact forms in a second. Custom fields and contact form templates
|
8 |
|
202 |
Contact Form admin interface
|
203 |
|
204 |
== Changelog ==
|
205 |
+
1.7.23 / 30.08.2022 =
|
206 |
+
* Add support WP 6.0
|
207 |
+
* Add support PHP 8.1
|
208 |
+
|
209 |
+
1.7.22 / 30.08.2022 =
|
210 |
+
* Add support WP 6.0
|
211 |
+
* Add support PHP 8.1
|
212 |
+
|
213 |
1.7.21 / 05.11.2021 =
|
214 |
* Add fix for striptags
|
215 |
|