Under Construction - Version 2.95

Version Description

  • 2018/03/26
  • we reached 200k active installations on March 23rd & 1,115,000 downloads
  • new theme - Hard Worker
Download this release

Release Info

Developer WebFactory
Plugin Icon 128x128 Under Construction
Version 2.95
Comparing to
See all releases

Code changes from version 2.90 to 2.95

css/ucp-admin.css CHANGED
@@ -144,8 +144,8 @@ div.ucp-thumb .ribbon::after {
144
  div.ucp-thumb .ribbon i {
145
  position: absolute;
146
  display: inline-block;
147
- width: 106px;
148
- padding: 22px 0px 6px 9px;
149
  background-color: #ff7900e6;
150
  box-shadow: 0 5px 10px rgba(0,0,0,.1);
151
  color: #fff;
@@ -153,8 +153,8 @@ div.ucp-thumb .ribbon i {
153
  text-shadow: 0 1px 1px rgba(0,0,0,.2);
154
  text-transform: uppercase;
155
  text-align: center;
156
- left: 25px;
157
- top: -11px;
158
  transform: rotate(45deg);
159
  }
160
  div.ucp-thumb .ribbon::before,
@@ -762,6 +762,20 @@ h3.ucp-pro-logo span {
762
  .ucp-upsell-dialog a:hover {
763
  color: #000;
764
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
765
  #ucp-pricing-table, #ucp-pricing-table tr, #ucp-pricing-table td, #ucp-pricing-table h3 {
766
  margin: 0;
767
  padding: 0;
144
  div.ucp-thumb .ribbon i {
145
  position: absolute;
146
  display: inline-block;
147
+ width: 100px;
148
+ padding: 32px 12px 0px 39px;
149
  background-color: #ff7900e6;
150
  box-shadow: 0 5px 10px rgba(0,0,0,.1);
151
  color: #fff;
153
  text-shadow: 0 1px 1px rgba(0,0,0,.2);
154
  text-transform: uppercase;
155
  text-align: center;
156
+ left: 38px;
157
+ top: -7px;
158
  transform: rotate(45deg);
159
  }
160
  div.ucp-thumb .ribbon::before,
762
  .ucp-upsell-dialog a:hover {
763
  color: #000;
764
  }
765
+ #ucp-pricing-table {
766
+ width: 100%;
767
+ }
768
+ .upsell-header {
769
+ margin: 0 0 20px 0;
770
+ background: #ff7900;
771
+ color: #fefefe;
772
+ padding: 10px;
773
+ box-sizing: content-box;
774
+ border: 1px solid #111;
775
+ }
776
+ .upsell-header b {
777
+ font-weight: bolder;
778
+ }
779
  #ucp-pricing-table, #ucp-pricing-table tr, #ucp-pricing-table td, #ucp-pricing-table h3 {
780
  margin: 0;
781
  padding: 0;
images/thumbnails/hard_worker.png ADDED
Binary file
images/thumbnails/pro/fitness-studio.jpg ADDED
Binary file
images/thumbnails/pro/pink-lips.jpg ADDED
Binary file
images/thumbnails/pro/simple-office-theme.jpg ADDED
Binary file
images/thumbnails/pro/sunset.jpg ADDED
Binary file
js/ucp-admin.js CHANGED
@@ -364,6 +364,51 @@ jQuery(document).ready(function($) {
364
  return false;
365
  }
366
  });
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
367
  }); // on ready
368
 
369
 
364
  return false;
365
  }
366
  });
367
+
368
+ if (!Date.now) {
369
+ Date.now = function() { return new Date().getTime(); }
370
+ }
371
+
372
+ function ucp_update_timer() {
373
+ out = '';
374
+ timer = $('.ucp-countdown');
375
+
376
+ if (timer.length == 0) {
377
+ clearInterval(ucp_countdown_interval);
378
+ }
379
+
380
+ now = Math.round(new Date().getTime()/1000);
381
+ timer_end = ucp.promo_countdown;
382
+ delta = timer_end - now;
383
+ seconds = Math.floor( (delta) % 60 );
384
+ minutes = Math.floor( (delta/60) % 60 );
385
+ hours = Math.floor( (delta/(60*60)) % 24 );
386
+
387
+ if (delta <= 0) {
388
+ clearInterval(ucp_countdown_interval);
389
+ }
390
+
391
+ if (hours) {
392
+ out += hours + 'h ';
393
+ }
394
+ if (minutes || out) {
395
+ out += minutes + 'min ';
396
+ }
397
+ if (seconds || out) {
398
+ out += seconds + 'sec';
399
+ }
400
+ if (delta <= 0 || !out) {
401
+ out = 'discount is no longer available';
402
+ }
403
+
404
+ $(timer).html(out);
405
+
406
+ return true;
407
+ } // ucp_update_timer
408
+
409
+ if (ucp.promo_countdown) {
410
+ ucp_countdown_interval = setInterval(ucp_update_timer, 1000);
411
+ }
412
  }); // on ready
413
 
414
 
readme.txt CHANGED
@@ -4,7 +4,7 @@ Tags: maintenance mode, maintenance page, coming soon page, landing page, under
4
  Requires at least: 4.0
5
  Requires PHP: 5.2
6
  Tested up to: 4.9
7
- Stable tag: 2.90
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
 
@@ -116,16 +116,22 @@ Or if needed, upload manually;
116
  27. Clock theme
117
  28. Bulldozer theme
118
  29. Christmas theme
119
- 30. Main settings
120
- 31. Design settings
121
- 32. Content settings
122
- 33. Access settings
123
- 34. Support
 
124
 
125
 
126
  == Changelog ==
127
 
128
- = 2.85 =
 
 
 
 
 
129
  * 2018/03/13
130
  * removed the "help us translate" notice
131
  * few small bug fixes
4
  Requires at least: 4.0
5
  Requires PHP: 5.2
6
  Tested up to: 4.9
7
+ Stable tag: 2.95
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
 
116
  27. Clock theme
117
  28. Bulldozer theme
118
  29. Christmas theme
119
+ 30. Hard Worker theme
120
+ 31. Main settings
121
+ 32. Design settings
122
+ 33. Content settings
123
+ 34. Access settings
124
+ 35. Support
125
 
126
 
127
  == Changelog ==
128
 
129
+ = 2.95 =
130
+ * 2018/03/26
131
+ * we reached 200k active installations on March 23rd & 1,115,000 downloads
132
+ * new theme - Hard Worker
133
+
134
+ = 2.90 =
135
  * 2018/03/13
136
  * removed the "help us translate" notice
137
  * few small bug fixes
themes/hard_worker/hard_worker.png ADDED
Binary file
themes/hard_worker/index.php ADDED
@@ -0,0 +1,56 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /*
3
+ * UnderConstructionPage
4
+ * Hard Worker theme
5
+ * (c) WebFactory Ltd, 2015 - 2018
6
+ */
7
+
8
+
9
+ // this is an include only WP file
10
+ if (!defined('ABSPATH')) {
11
+ die;
12
+ }
13
+ ?>
14
+ <!DOCTYPE html>
15
+ <html lang="en">
16
+ <head>
17
+ <meta charset="utf-8">
18
+ <meta http-equiv="X-UA-Compatible" content="IE=edge">
19
+ <meta name="viewport" content="width=device-width, initial-scale=1">
20
+ <title>[title]</title>
21
+ <meta name="description" content="[description]">
22
+ <meta name="generator" content="[generator]">
23
+ <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:400,900">
24
+ [head]
25
+ </head>
26
+
27
+ <body>
28
+ <div class="container">
29
+ <div class="row">
30
+ <div class="col-xs-12 col-md-12 col-lg-12">
31
+ <h1>[heading1]</h1>
32
+ </div>
33
+ </div>
34
+ </div>
35
+
36
+ <div id="hero-image">
37
+ <img src="[theme-url]hard_worker.png" alt="Hard worker on site" title="Hard worker on site">
38
+ </div>
39
+ <div class="container">
40
+
41
+ <div class="row">
42
+ <div class="col-xs-12 col-md-8 col-md-offset-2 col-lg-offset-2 col-lg-8">
43
+ <p class="content">[content]</p>
44
+ </div>
45
+ </div>
46
+
47
+ <div class="row" id="social">
48
+ <div class="col-xs-12 col-md-12 col-lg-12">
49
+ [social-icons]
50
+ </div>
51
+ </div>
52
+
53
+ </div>
54
+ [footer]
55
+ </body>
56
+ </html>
themes/hard_worker/style.css ADDED
@@ -0,0 +1,76 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*
2
+ * UnderConstructionPage
3
+ * Hard Worker theme CSS
4
+ * (c) WebFactory Ltd, 2015 - 2018
5
+ */
6
+
7
+
8
+ html {
9
+ height: 100%;
10
+ padding: 0;
11
+ margin: 0;
12
+ }
13
+
14
+ body {
15
+ font-weight: 400;
16
+ font-size: 14px;
17
+ line-height: 120%;
18
+ color: #bebfc1;
19
+ background: linear-gradient(to bottom, #0e6f8d 0%, #084C61 100%);
20
+ padding: 0;
21
+ margin: 0;
22
+ background-repeat: repeat;
23
+ background-attachment: fixed;
24
+ }
25
+
26
+ #hero-image {
27
+ text-align: center;
28
+ margin: 20px auto 40px auto;
29
+ border-bottom: 2px solid rgba(0, 0, 0, 0.9);
30
+ }
31
+
32
+ #hero-image img {
33
+ max-width: 80%;
34
+ }
35
+
36
+ h1 {
37
+ font-size: 34px;
38
+ color: #d2d4d5;
39
+ font-family: "Roboto", sans-serif;
40
+ font-weight: 900;
41
+ margin: 60px 0 30px 0;
42
+ text-align: center;
43
+ }
44
+
45
+ .content {
46
+ text-align: center;
47
+ font-family: "Helvetica", "Arial", sans-serif;
48
+ }
49
+
50
+ #social {
51
+ text-align: center;
52
+ margin-top: 30px;
53
+ }
54
+
55
+ #social a i {
56
+ color: #bebfc1;
57
+ margin: 10px;
58
+ box-sizing: content-box;
59
+ }
60
+
61
+ #social a:hover i {
62
+ color: #FFBB33;
63
+ }
64
+
65
+ @media(max-width:767px){
66
+ #hero-image {
67
+ border-bottom: 1px solid rgba(0, 0, 0, 0.7);
68
+ }
69
+ h1 {
70
+ font-size: 30px;
71
+ margin: 10px 0 30px 0;
72
+ }
73
+ #hero-image img {
74
+ max-width: 95%;
75
+ }
76
+ }
under-construction.php CHANGED
@@ -4,7 +4,7 @@
4
  Plugin URI: https://underconstructionpage.com/
5
  Description: Put your site behind a great looking under construction, coming soon, maintenance mode or landing page.
6
  Author: Web factory Ltd
7
- Version: 2.90
8
  Author URI: http://www.webfactoryltd.com/
9
  Text Domain: under-construction-page
10
  Domain Path: lang
@@ -310,11 +310,19 @@ class UCP {
310
  $open_survey = false;
311
  }
312
 
 
 
 
 
 
 
 
313
  $js_localize = array('undocumented_error' => __('An undocumented error has occured. Please refresh the page and try again.', 'under-construction-page'),
314
  'plugin_name' => __('UnderConstructionPage', 'under-construction-page'),
315
  'settings_url' => admin_url('options-general.php?page=ucp'),
316
  'whitelisted_users_placeholder' => __('Select whitelisted user(s)', 'under-construction-page'),
317
  'open_survey' => $open_survey,
 
318
  'is_activated' => UCP_license::is_activated(),
319
  'dialog_upsell_title' => '<img alt="' . __('UnderConstructionPage PRO', 'under-construction-page') . '" title="' . __('UnderConstructionPage PRO', 'under-construction-page') . '" src="' . UCP_PLUGIN_URL . 'images/ucp_pro_logo_white.png' . '">',
320
  'nonce_dismiss_survey' => wp_create_nonce('ucp_dismiss_survey'),
@@ -802,7 +810,8 @@ class UCP {
802
  }
803
 
804
  // todo translate
805
- // ask for rating - disabled
 
806
  if (false && empty($notices['dismiss_rate']) &&
807
  (time() - $meta['first_install']) > (DAY_IN_SECONDS * 1.0)) {
808
  $rate_url = 'https://wordpress.org/support/plugin/under-construction-page/reviews/?filter=5&rate=5#new-post';
@@ -1397,9 +1406,19 @@ class UCP {
1397
  <th scope="row"><label for="content">' . __('Content', 'under-construction-page') . '</label></th>
1398
  <td>';
1399
  wp_editor($options['content'], 'content', array('tabfocus_elements' => 'insert-media-button,save-post', 'editor_height' => 250, 'resize' => 1, 'textarea_name' => UCP_OPTIONS_KEY . '[content]', 'drag_drop_upload' => 1));
1400
- echo '<p class="description">All HTML elements are allowed. Shortcodes are not parsed except <a href="#title">UC template ones</a>. Default: ' . $default_options['content'] . '</p>';
1401
  echo '</td></tr>';
1402
 
 
 
 
 
 
 
 
 
 
 
1403
  echo '<tr valign="top">
1404
  <th scope="row"><label for="external_shortcodes">' . __('3rd Party Shortcode Support in Content', 'under-construction-page') . '</label></th>
1405
  <td>';
@@ -1577,12 +1596,17 @@ class UCP {
1577
  '_pro_forest-in-the-fog' => __('Forest in the Fog', 'under-construction-page'),
1578
  'laptop' => __('Laptop', 'under-construction-page'),
1579
  'puzzles' => __('Puzzles', 'under-construction-page'),
 
1580
  'iot' => __('Internet of Things', 'under-construction-page'),
1581
  'setup' => __('Setup', 'under-construction-page'),
 
1582
  'stop' => __('Stop', 'under-construction-page'),
1583
  'clock' => __('Clock', 'under-construction-page'),
 
1584
  'bulldozer' => __('Bulldozer at Work', 'under-construction-page'),
1585
- 'christmas' => __('Christmas Greetings', 'under-construction-page'));
 
 
1586
 
1587
  $themes = apply_filters('ucp_themes', $themes);
1588
 
@@ -1599,7 +1623,7 @@ class UCP {
1599
 
1600
  echo '<table class="form-table">';
1601
  echo '<tr valign="top">
1602
- <td colspan="2"><b style="margin-bottom: 10px; display: inline-block;">' . __('Theme', 'under-construction-page') . '</b><br>';
1603
  echo '<input type="hidden" id="theme_id" name="' . UCP_OPTIONS_KEY . '[theme]" value="' . $options['theme'] . '">';
1604
 
1605
  foreach ($themes as $theme_id => $theme_name) {
@@ -1616,7 +1640,7 @@ class UCP {
1616
  echo '<a href="https://templates.underconstructionpage.com/?ucp_template_preview&template=' . $theme_id . '&utm_source=ucp-free&utm_medium=plugin&utm_content=design-preview-' . $theme_id . '&utm_campaign=ucp-free-v' . self::$version . '" class="button-secondary" target="_blank">Preview</a>';
1617
  }
1618
  echo '</div>';
1619
- echo '<div class="ribbon"><i>PRO</i></div></div>';
1620
  } else {
1621
  echo '<div class="ucp-thumb' . $class . '" data-theme-id="' . $theme_id . '"><img src="' . $img_path . $theme_id . '.png" alt="' . $theme_name . '" title="' . $theme_name . '"><span>' . $theme_name . '</span>';
1622
  echo '<div class="buttons"><a href="#" class="button button-primary activate-theme">Activate</a> <a href="' . get_home_url() . '/?ucp_preview&theme=' . $theme_id . '" class="button-secondary" target="_blank">Preview</a></div>';
@@ -1730,10 +1754,12 @@ class UCP {
1730
 
1731
  echo '<div style="display: none;" id="tab_support_faq" class="ucp-tab-content">';
1732
 
1733
- echo '<p><b>How can I build a custom page or customize themes?</b><br>If you know how to code custom CSS a lot can be accomplished by using the <a class="change_tab" data-tab="1" href="#custom_css">custom CSS</a> option. A much faster and easier solution is to check out <a href="' . self::generate_web_link('faq-custom-page') . '" target="_blank">UCP PRO</a> with an easy-to-use drag&amp;drop builder and dozens of pre-built themes.</p>';
1734
 
1735
  echo '<p><b>Do you have a video to help me get started?</b><br>We sure do! <a href="https://www.youtube.com/watch?v=RN4XABhK7_w" target="_blank">Getting started with the UnderConstructionPage plugin</a>. If that doesn\'t help we also have an <a href="https://www.youtube.com/watch?v=K3DF-NP6Fog" target="_blank">in-depth video walktrough</a>. In case you\'re still uncertain about something don\'t hesitate to contact our friendly support.</p>';
1736
 
 
 
1737
  echo '<p><b>How can I check if construction mode is really enabled on my site?</b><br>If the under construction status is green in the admin bar (the very top of the page, above this text), then it\'s enabled. But we made a tool specifically for these kinds of situations so you can double-check everything. <a href="' . self::generate_web_link('faq-tester', 'under-construction-tester/', array('url' => get_home_url())) . '" target="_blank">Run under construction mode tester</a>.</p>';
1738
 
1739
  echo '<p><b>How can I work on my site while construction mode is enabled?</b><br>Make sure your user role (probably admin) is selected under <a class="change_tab" data-tab="3" href="#whitelisted-roles">Access - Whitelisted User Roles</a> and open the site while logged in.</p>';
@@ -1818,7 +1844,11 @@ class UCP {
1818
  echo '<p style="text-align: center;"><a href="' . $update_url . '" class="button button-primary button-large">Update UnderConstructionPage files to PRO</a><br><br></p>';
1819
  } else {
1820
  echo '<div id="ucp-earlybird"><span>Build <b>landing pages, coming soon pages, maintenance &amp; under construction pages</b> faster &amp; easier!</span>';
1821
- echo '<p class="textcenter"><a data-pro-ad="get_pro" href="#" class="button button-primary button-large open-ucp-upsell">Get <b>PRO</b> now with a LIMITED <b>20% discount</b>!</a></p>';
 
 
 
 
1822
  echo '</div>';
1823
  }
1824
 
@@ -1829,7 +1859,7 @@ class UCP {
1829
  echo '<tr valign="top">
1830
  <th scope="row"><label for="license_key">' . __('License Key', 'under-construction-page') . '</label></th>';
1831
  echo '<td><input type="text" id="license_key" class="regular-text" name="' . UCP_OPTIONS_KEY . '[license_key]" value="' . esc_attr($options['license_key']) . '" placeholder="12345-12345-12345-12345" />';
1832
- echo '<p class="description">License key is located in the confirmation email you received after purchasing.<br>In case of any problems, please contact <a href="#" data-tab="4" class="change_tab">support</a>. If you don\'t have a PRO license key - <a href="#" class="open-ucp-upsell">get it now</a>.</p>';
1833
  echo '</td></tr>';
1834
 
1835
  if (!empty($options['license_key'])) {
@@ -1920,36 +1950,18 @@ class UCP {
1920
  echo '</form>'; // ucp_tabs
1921
  echo '</div>'; // wrap
1922
 
1923
- echo '<div id="features-survey-dialog" style="display: none;" title="Please help us make UCP better"><span class="ui-helper-hidden-accessible"><input type="text"/></span>';
1924
- echo '<p>We continuously add new features to <span class="ucp-logo">UnderConstructionPage</span>. In order to know what features to add we need to understand who our users are.<br><b>In what situations do you most often use UCP?</b></p>';
1925
-
1926
- $questions = array();
1927
- $questions[] = '<div class="question-wrapper" data-value="solo-short">' .
1928
- '<div class="question"><b>I need to hide my site for a short time</b><br>while I do some work on it, it\'s a one time thing</div>' .
1929
- '</div>';
1930
-
1931
- $questions[] = '<div class="question-wrapper" data-value="solo-long">' .
1932
- '<div class="question"><b>I\'m building a site &amp; need a coming soon page</b><br>while I finish it</div>' .
1933
- '</div>';
1934
-
1935
- $questions[] = '<div class="question-wrapper" data-value="agency">' .
1936
- '<div class="question"><b>I create / manage multiple sites for clients</b><br>&amp; use UCP on them</div>' .
1937
- '</div>';
1938
-
1939
- $questions[] = '<div class="question-wrapper" data-value="webmaster">' .
1940
- '<div class="question"><b>I own multiple sites</b><br>&amp; use UCP when working on them</div>' .
1941
- '</div>';
1942
-
1943
- shuffle($questions);
1944
- echo implode(' ', $questions);
1945
-
1946
- $current_user = wp_get_current_user();
1947
- echo '<div class="footer">';
1948
- echo '<input id="emailme" type="checkbox" value="' . $current_user->user_email . '"> <label for="emailme">Email me on ' . $current_user->user_email . ' when new features are added</label><br>';
1949
- echo '<a data-survey="usage" class="submit-survey button-primary button button-large" href="#">Cast my Vote</a>';
1950
- echo '<a href="#" class="dismiss-survey" data-survey="usage"><small><i>Close survey &amp; never show it again</i></small></a>';
1951
- echo '</div>';
1952
- echo '</div>'; // features-survey-dialog
1953
 
1954
  // upsell dialog
1955
  echo '<div id="upsell-dialog" style="display: none;" title="UnderConstructionPage PRO"><span class="ui-helper-hidden-accessible"><input type="text"/></span>';
@@ -1967,7 +1979,7 @@ class UCP {
1967
 
1968
  echo '<div class="gmw-pro-feature">';
1969
  echo '<span>400,000+ Stunning Searchable Images</span>';
1970
- echo '<p>There\'s nothing worse than googling for hours just to find that the perfect image you need is either copyrighted or too small. Enjoy a vast library of 4K+ sized images - categorised &amp; copyright free!</p>';
1971
  echo '</div>';
1972
 
1973
  echo '<div class="gmw-pro-feature">';
@@ -1994,10 +2006,10 @@ class UCP {
1994
 
1995
  echo '</div>'; // features tab
1996
  echo '<div class="upsell-tab" id="tab-upsell-buy" style="display: none;">';
 
 
 
1997
  echo '<table id="ucp-pricing-table">
1998
- <colgroup></colgroup>
1999
- <colgroup></colgroup>
2000
- <colgroup></colgroup>
2001
  <tbody>
2002
  <tr>
2003
  <td>
@@ -2025,32 +2037,37 @@ class UCP {
2025
  <td><span class="dashicons dashicons-yes"></span> Lifetime Support &amp; Updates</td>
2026
  <td>1 Year of Support &amp; Updates</td>
2027
  </tr>
2028
- <tr>
2029
  <td>400,000+ Hi-Res Images</td>
2030
  <td><span class="dashicons dashicons-yes"></span> 400,000+ Hi-Res Images</td>
2031
  <td>400,000+ Hi-Res Images</td>
2032
  </tr>
2033
  <tr>
2034
- <td>100+ Templates + Builder</td>
2035
- <td><span class="dashicons dashicons-yes"></span> 50+ Templates + Builder</td>
2036
- <td>50+ Templates + Builder</td>
2037
  </tr>
2038
  <tr>
2039
- <td>Zapier Integration</td>
 
 
 
 
 
2040
  <td><span class="dashicons dashicons-no"></td>
2041
  <td><span class="dashicons dashicons-no"></td>
2042
  </tr>
2043
  <tr>
2044
  <td>
2045
- <a data-href-org="' . self::generate_web_link('pricing-table', 'buy/', array('p' => 'agency-lifetime-welcome', 'r' => 'UCP v' . self::$version)) . '" class="promo-button go-to-license-key" href="' . self::generate_web_link('pricing-table', 'buy/', array('p' => 'agency-lifetime-welcome', 'r' => 'UCP v' . self::$version)) . '" target="_blank">BUY NOW 20% OFF<br><del>$250</del> $200</a>
2046
  <span class="instant-download"><span class="dashicons dashicons-yes"></span> Secure payment<br><span class="dashicons dashicons-yes"></span> Instant activation from WordPress admin<br><span class="dashicons dashicons-yes"></span> 100% No-Risk Money Back Guarantee</span>
2047
  </td>
2048
  <td>
2049
- <a data-href-org="' . self::generate_web_link('pricing-table', 'buy/', array('p' => 'pro-lifetime-welcome', 'r' => 'UCP v' . self::$version)) . '" class="promo-button go-to-license-key" href="' . self::generate_web_link('pricing-table', 'buy/', array('p' => 'pro-lifetime-welcome', 'r' => 'UCP v' . self::$version)) . '" target="_blank">BUY NOW 20% OFF<br><del>$70</del> $56</a>
2050
  <span class="instant-download"><span class="dashicons dashicons-yes"></span> Secure payment<br><span class="dashicons dashicons-yes"></span> Instant activation from WordPress admin<br><span class="dashicons dashicons-yes"></span> 100% No-Risk Money Back Guarantee</span>
2051
  </td>
2052
  <td>
2053
- <a data-href-org="' . self::generate_web_link('pricing-table', 'buy/', array('p' => 'pro-yearly-welcome', 'r' => 'UCP v' . self::$version)) . '" class="promo-button go-to-license-key" href="' . self::generate_web_link('pricing-table', 'buy/', array('p' => 'pro-yearly-welcome', 'r' => 'UCP v' . self::$version)) . '" target="_blank">BUY NOW 20% OFF<br><del>$39</del> $31<small>/year</small></a>
2054
  <span class="instant-download"><span class="dashicons dashicons-yes"></span> Secure payment<br><span class="dashicons dashicons-yes"></span> Instant activation from WordPress admin<br><span class="dashicons dashicons-yes"></span> 100% No-Risk Money Back Guarantee</span>
2055
  </td>
2056
  </tr>
@@ -2064,6 +2081,18 @@ class UCP {
2064
  } // main_page
2065
 
2066
 
 
 
 
 
 
 
 
 
 
 
 
 
2067
  // save and preview buttons
2068
  static function footer_buttons() {
2069
  echo '<p class="submit">';
4
  Plugin URI: https://underconstructionpage.com/
5
  Description: Put your site behind a great looking under construction, coming soon, maintenance mode or landing page.
6
  Author: Web factory Ltd
7
+ Version: 2.95
8
  Author URI: http://www.webfactoryltd.com/
9
  Text Domain: under-construction-page
10
  Domain Path: lang
310
  $open_survey = false;
311
  }
312
 
313
+ $promo = self::is_promo_active();
314
+ if ($promo == 'welcome') {
315
+ $countdown = $meta['first_install'] + HOUR_IN_SECONDS;
316
+ } else {
317
+ $countdown = 0;
318
+ }
319
+
320
  $js_localize = array('undocumented_error' => __('An undocumented error has occured. Please refresh the page and try again.', 'under-construction-page'),
321
  'plugin_name' => __('UnderConstructionPage', 'under-construction-page'),
322
  'settings_url' => admin_url('options-general.php?page=ucp'),
323
  'whitelisted_users_placeholder' => __('Select whitelisted user(s)', 'under-construction-page'),
324
  'open_survey' => $open_survey,
325
+ 'promo_countdown' => $countdown,
326
  'is_activated' => UCP_license::is_activated(),
327
  'dialog_upsell_title' => '<img alt="' . __('UnderConstructionPage PRO', 'under-construction-page') . '" title="' . __('UnderConstructionPage PRO', 'under-construction-page') . '" src="' . UCP_PLUGIN_URL . 'images/ucp_pro_logo_white.png' . '">',
328
  'nonce_dismiss_survey' => wp_create_nonce('ucp_dismiss_survey'),
810
  }
811
 
812
  // todo translate
813
+ // ask for rating
814
+ // disabled
815
  if (false && empty($notices['dismiss_rate']) &&
816
  (time() - $meta['first_install']) > (DAY_IN_SECONDS * 1.0)) {
817
  $rate_url = 'https://wordpress.org/support/plugin/under-construction-page/reviews/?filter=5&rate=5#new-post';
1406
  <th scope="row"><label for="content">' . __('Content', 'under-construction-page') . '</label></th>
1407
  <td>';
1408
  wp_editor($options['content'], 'content', array('tabfocus_elements' => 'insert-media-button,save-post', 'editor_height' => 250, 'resize' => 1, 'textarea_name' => UCP_OPTIONS_KEY . '[content]', 'drag_drop_upload' => 1));
1409
+ echo '<p class="description">All HTML elements are allowed. Shortcodes are not parsed except <a href="#title">UC theme ones</a>. Default: ' . $default_options['content'] . '</p>';
1410
  echo '</td></tr>';
1411
 
1412
+ echo '<tr>';
1413
+ echo '<th><label for="content_font">Content Font</label></th>';
1414
+ echo '<td><select class="skip-save open-ucp-upsell" id="content_font">';
1415
+ echo '<option value="" selected="selected">Theme Default</option>';
1416
+ echo '<option class="ucp-promo" value="-1">ABeeZee</option><option class="ucp-promo" value="-1">Abel</option><option class="ucp-promo" value="-1">Abril Fatface</option><option class="ucp-promo" value="-1">Aclonica</option><option class="ucp-promo" value="-1">Acme</option><option class="ucp-promo" value="-1">Actor</option><option class="ucp-promo" value="-1">Adamina</option><option class="ucp-promo" value="-1">Advent Pro</option><option class="ucp-promo" value="-1">Aguafina Script</option><option class="ucp-promo" value="-1">Akronim</option><option class="ucp-promo" value="-1">Aladin</option><option class="ucp-promo" value="-1">Aldrich</option><option class="ucp-promo" value="-1">Alef</option><option class="ucp-promo" value="-1">Alegreya</option><option class="ucp-promo" value="-1">Alegreya SC</option><option class="ucp-promo" value="-1">Alegreya Sans</option><option class="ucp-promo" value="-1">Alegreya Sans SC</option><option class="ucp-promo" value="-1">Alex Brush</option><option class="ucp-promo" value="-1">Alfa Slab One</option><option class="ucp-promo" value="-1">Alice</option><option class="ucp-promo" value="-1">Alike</option><option class="ucp-promo" value="-1">Alike Angular</option><option class="ucp-promo" value="-1">Allan</option><option class="ucp-promo" value="-1">Allerta</option><option class="ucp-promo" value="-1">Allerta Stencil</option><option class="ucp-promo" value="-1">Allura</option><option class="ucp-promo" value="-1">Almendra</option><option class="ucp-promo" value="-1">Almendra Display</option><option class="ucp-promo" value="-1">Almendra SC</option><option class="ucp-promo" value="-1">Amarante</option><option class="ucp-promo" value="-1">Amaranth</option><option class="ucp-promo" value="-1">Amatic SC</option><option class="ucp-promo" value="-1">Amethysta</option><option class="ucp-promo" value="-1">Anaheim</option><option class="ucp-promo" value="-1">Andada</option><option class="ucp-promo" value="-1">Andika</option><option class="ucp-promo" value="-1">Angkor</option><option class="ucp-promo" value="-1">Annie Use Your Telescope</option><option class="ucp-promo" value="-1">Anonymous Pro</option><option class="ucp-promo" value="-1">Antic</option><option class="ucp-promo" value="-1">Antic Didone</option><option class="ucp-promo" value="-1">Antic Slab</option><option class="ucp-promo" value="-1">Anton</option><option class="ucp-promo" value="-1">Arapey</option><option class="ucp-promo" value="-1">Arbutus</option><option class="ucp-promo" value="-1">Arbutus Slab</option><option class="ucp-promo" value="-1">Architects Daughter</option><option class="ucp-promo" value="-1">Archivo Black</option><option class="ucp-promo" value="-1">Archivo Narrow</option><option class="ucp-promo" value="-1">Arimo</option><option class="ucp-promo" value="-1">Arizonia</option><option class="ucp-promo" value="-1">Armata</option><option class="ucp-promo" value="-1">Artifika</option><option class="ucp-promo" value="-1">Arvo</option><option class="ucp-promo" value="-1">Asap</option><option class="ucp-promo" value="-1">Asset</option><option class="ucp-promo" value="-1">Astloch</option><option class="ucp-promo" value="-1">Asul</option><option class="ucp-promo" value="-1">Atomic Age</option><option class="ucp-promo" value="-1">Aubrey</option><option class="ucp-promo" value="-1">Audiowide</option><option class="ucp-promo" value="-1">Autour One</option><option class="ucp-promo" value="-1">Average</option><option class="ucp-promo" value="-1">Average Sans</option><option class="ucp-promo" value="-1">Averia Gruesa Libre</option><option class="ucp-promo" value="-1">Averia Libre</option><option class="ucp-promo" value="-1">Averia Sans Libre</option><option class="ucp-promo" value="-1">Averia Serif Libre</option><option class="ucp-promo" value="-1">Bad Script</option><option class="ucp-promo" value="-1">Balthazar</option><option class="ucp-promo" value="-1">Bangers</option><option class="ucp-promo" value="-1">Basic</option><option class="ucp-promo" value="-1">Battambang</option><option class="ucp-promo" value="-1">Baumans</option><option class="ucp-promo" value="-1">Bayon</option><option class="ucp-promo" value="-1">Belgrano</option><option class="ucp-promo" value="-1">Belleza</option><option class="ucp-promo" value="-1">BenchNine</option><option class="ucp-promo" value="-1">Bentham</option><option class="ucp-promo" value="-1">Berkshire Swash</option><option class="ucp-promo" value="-1">Bevan</option><option class="ucp-promo" value="-1">Bigelow Rules</option><option class="ucp-promo" value="-1">Bigshot One</option><option class="ucp-promo" value="-1">Bilbo</option><option class="ucp-promo" value="-1">Bilbo Swash Caps</option><option class="ucp-promo" value="-1">Bitter</option><option class="ucp-promo" value="-1">Black Ops One</option><option class="ucp-promo" value="-1">Bokor</option><option class="ucp-promo" value="-1">Bonbon</option><option class="ucp-promo" value="-1">Boogaloo</option><option class="ucp-promo" value="-1">Bowlby One</option><option class="ucp-promo" value="-1">Bowlby One SC</option><option class="ucp-promo" value="-1">Brawler</option><option class="ucp-promo" value="-1">Bree Serif</option><option class="ucp-promo" value="-1">Bubblegum Sans</option><option class="ucp-promo" value="-1">Bubbler One</option><option class="ucp-promo" value="-1">Buda</option><option class="ucp-promo" value="-1">Buenard</option><option class="ucp-promo" value="-1">Butcherman</option><option class="ucp-promo" value="-1">Butterfly Kids</option><option class="ucp-promo" value="-1">Cabin</option><option class="ucp-promo" value="-1">Cabin Condensed</option><option class="ucp-promo" value="-1">Cabin Sketch</option><option class="ucp-promo" value="-1">Caesar Dressing</option><option class="ucp-promo" value="-1">Cagliostro</option><option class="ucp-promo" value="-1">Calligraffitti</option><option class="ucp-promo" value="-1">Cambo</option><option class="ucp-promo" value="-1">Candal</option><option class="ucp-promo" value="-1">Cantarell</option><option class="ucp-promo" value="-1">Cantata One</option><option class="ucp-promo" value="-1">Cantora One</option><option class="ucp-promo" value="-1">Capriola</option><option class="ucp-promo" value="-1">Cardo</option><option class="ucp-promo" value="-1">Carme</option><option class="ucp-promo" value="-1">Carrois Gothic</option><option class="ucp-promo" value="-1">Carrois Gothic SC</option><option class="ucp-promo" value="-1">Carter One</option><option class="ucp-promo" value="-1">Caudex</option><option class="ucp-promo" value="-1">Cedarville Cursive</option><option class="ucp-promo" value="-1">Ceviche One</option><option class="ucp-promo" value="-1">Changa One</option><option class="ucp-promo" value="-1">Chango</option><option class="ucp-promo" value="-1">Chau Philomene One</option><option class="ucp-promo" value="-1">Chela One</option><option class="ucp-promo" value="-1">Chelsea Market</option><option class="ucp-promo" value="-1">Chenla</option><option class="ucp-promo" value="-1">Cherry Cream Soda</option><option class="ucp-promo" value="-1">Cherry Swash</option><option class="ucp-promo" value="-1">Chewy</option><option class="ucp-promo" value="-1">Chicle</option><option class="ucp-promo" value="-1">Chivo</option><option class="ucp-promo" value="-1">Cinzel</option><option class="ucp-promo" value="-1">Cinzel Decorative</option><option class="ucp-promo" value="-1">Clicker Script</option><option class="ucp-promo" value="-1">Coda</option><option class="ucp-promo" value="-1">Coda Caption</option><option class="ucp-promo" value="-1">Codystar</option><option class="ucp-promo" value="-1">Combo</option><option class="ucp-promo" value="-1">Comfortaa</option><option class="ucp-promo" value="-1">Coming Soon</option><option class="ucp-promo" value="-1">Concert One</option><option class="ucp-promo" value="-1">Condiment</option><option class="ucp-promo" value="-1">Content</option><option class="ucp-promo" value="-1">Contrail One</option><option class="ucp-promo" value="-1">Convergence</option><option class="ucp-promo" value="-1">Cookie</option><option class="ucp-promo" value="-1">Copse</option><option class="ucp-promo" value="-1">Corben</option><option class="ucp-promo" value="-1">Courgette</option><option class="ucp-promo" value="-1">Cousine</option><option class="ucp-promo" value="-1">Coustard</option><option class="ucp-promo" value="-1">Covered By Your Grace</option><option class="ucp-promo" value="-1">Crafty Girls</option><option class="ucp-promo" value="-1">Creepster</option><option class="ucp-promo" value="-1">Crete Round</option><option class="ucp-promo" value="-1">Crimson Text</option><option class="ucp-promo" value="-1">Croissant One</option><option class="ucp-promo" value="-1">Crushed</option><option class="ucp-promo" value="-1">Cuprum</option><option class="ucp-promo" value="-1">Cutive</option><option class="ucp-promo" value="-1">Cutive Mono</option><option class="ucp-promo" value="-1">Damion</option><option class="ucp-promo" value="-1">Dancing Script</option><option class="ucp-promo" value="-1">Dangrek</option><option class="ucp-promo" value="-1">Dawning of a New Day</option><option class="ucp-promo" value="-1">Days One</option><option class="ucp-promo" value="-1">Delius</option><option class="ucp-promo" value="-1">Delius Swash Caps</option><option class="ucp-promo" value="-1">Delius Unicase</option><option class="ucp-promo" value="-1">Della Respira</option><option class="ucp-promo" value="-1">Denk One</option><option class="ucp-promo" value="-1">Devonshire</option><option class="ucp-promo" value="-1">Didact Gothic</option><option class="ucp-promo" value="-1">Diplomata</option><option class="ucp-promo" value="-1">Diplomata SC</option><option class="ucp-promo" value="-1">Domine</option><option class="ucp-promo" value="-1">Donegal One</option><option class="ucp-promo" value="-1">Doppio One</option><option class="ucp-promo" value="-1">Dorsa</option><option class="ucp-promo" value="-1">Dosis</option><option class="ucp-promo" value="-1">Dr Sugiyama</option><option class="ucp-promo" value="-1">Droid Sans</option><option class="ucp-promo" value="-1">Droid Sans Mono</option><option class="ucp-promo" value="-1">Droid Serif</option><option class="ucp-promo" value="-1">Duru Sans</option><option class="ucp-promo" value="-1">Dynalight</option><option class="ucp-promo" value="-1">EB Garamond</option><option class="ucp-promo" value="-1">Eagle Lake</option><option class="ucp-promo" value="-1">Eater</option><option class="ucp-promo" value="-1">Economica</option><option class="ucp-promo" value="-1">Ek Mukta</option><option class="ucp-promo" value="-1">Electrolize</option><option class="ucp-promo" value="-1">Elsie</option><option class="ucp-promo" value="-1">Elsie Swash Caps</option><option class="ucp-promo" value="-1">Emblema One</option><option class="ucp-promo" value="-1">Emilys Candy</option><option class="ucp-promo" value="-1">Engagement</option><option class="ucp-promo" value="-1">Englebert</option><option class="ucp-promo" value="-1">Enriqueta</option><option class="ucp-promo" value="-1">Erica One</option><option class="ucp-promo" value="-1">Esteban</option><option class="ucp-promo" value="-1">Euphoria Script</option><option class="ucp-promo" value="-1">Ewert</option><option class="ucp-promo" value="-1">Exo</option><option class="ucp-promo" value="-1">Exo 2</option><option class="ucp-promo" value="-1">Expletus Sans</option><option class="ucp-promo" value="-1">Fanwood Text</option><option class="ucp-promo" value="-1">Fascinate</option><option class="ucp-promo" value="-1">Fascinate Inline</option><option class="ucp-promo" value="-1">Faster One</option><option class="ucp-promo" value="-1">Fasthand</option><option class="ucp-promo" value="-1">Fauna One</option><option class="ucp-promo" value="-1">Federant</option><option class="ucp-promo" value="-1">Federo</option><option class="ucp-promo" value="-1">Felipa</option><option class="ucp-promo" value="-1">Fenix</option><option class="ucp-promo" value="-1">Finger Paint</option><option class="ucp-promo" value="-1">Fira Mono</option><option class="ucp-promo" value="-1">Fira Sans</option><option class="ucp-promo" value="-1">Fjalla One</option><option class="ucp-promo" value="-1">Fjord One</option><option class="ucp-promo" value="-1">Flamenco</option><option class="ucp-promo" value="-1">Flavors</option><option class="ucp-promo" value="-1">Fondamento</option><option class="ucp-promo" value="-1">Fontdiner Swanky</option><option class="ucp-promo" value="-1">Forum</option><option class="ucp-promo" value="-1">Francois One</option><option class="ucp-promo" value="-1">Freckle Face</option><option class="ucp-promo" value="-1">Fredericka the Great</option><option class="ucp-promo" value="-1">Fredoka One</option><option class="ucp-promo" value="-1">Freehand</option><option class="ucp-promo" value="-1">Fresca</option><option class="ucp-promo" value="-1">Frijole</option><option class="ucp-promo" value="-1">Fruktur</option><option class="ucp-promo" value="-1">Fugaz One</option><option class="ucp-promo" value="-1">GFS Didot</option><option class="ucp-promo" value="-1">GFS Neohellenic</option><option class="ucp-promo" value="-1">Gabriela</option><option class="ucp-promo" value="-1">Gafata</option><option class="ucp-promo" value="-1">Galdeano</option><option class="ucp-promo" value="-1">Galindo</option><option class="ucp-promo" value="-1">Gentium Basic</option><option class="ucp-promo" value="-1">Gentium Book Basic</option><option class="ucp-promo" value="-1">Geo</option><option class="ucp-promo" value="-1">Geostar</option><option class="ucp-promo" value="-1">Geostar Fill</option><option class="ucp-promo" value="-1">Germania One</option><option class="ucp-promo" value="-1">Gilda Display</option><option class="ucp-promo" value="-1">Give You Glory</option><option class="ucp-promo" value="-1">Glass Antiqua</option><option class="ucp-promo" value="-1">Glegoo</option><option class="ucp-promo" value="-1">Gloria Hallelujah</option><option class="ucp-promo" value="-1">Goblin One</option><option class="ucp-promo" value="-1">Gochi Hand</option><option class="ucp-promo" value="-1">Gorditas</option><option class="ucp-promo" value="-1">Goudy Bookletter 1911</option><option class="ucp-promo" value="-1">Graduate</option><option class="ucp-promo" value="-1">Grand Hotel</option><option class="ucp-promo" value="-1">Gravitas One</option><option class="ucp-promo" value="-1">Great Vibes</option><option class="ucp-promo" value="-1">Griffy</option><option class="ucp-promo" value="-1">Gruppo</option><option class="ucp-promo" value="-1">Gudea</option><option class="ucp-promo" value="-1">Habibi</option><option class="ucp-promo" value="-1">Hammersmith One</option><option class="ucp-promo" value="-1">Hanalei</option><option class="ucp-promo" value="-1">Hanalei Fill</option><option class="ucp-promo" value="-1">Handlee</option><option class="ucp-promo" value="-1">Hanuman</option><option class="ucp-promo" value="-1">Happy Monkey</option><option class="ucp-promo" value="-1">Headland One</option><option class="ucp-promo" value="-1">Henny Penny</option><option class="ucp-promo" value="-1">Herr Von Muellerhoff</option><option class="ucp-promo" value="-1">Hind</option><option class="ucp-promo" value="-1">Holtwood One SC</option><option class="ucp-promo" value="-1">Homemade Apple</option><option class="ucp-promo" value="-1">Homenaje</option><option class="ucp-promo" value="-1">IM Fell DW Pica</option><option class="ucp-promo" value="-1">IM Fell DW Pica SC</option><option class="ucp-promo" value="-1">IM Fell Double Pica</option><option class="ucp-promo" value="-1">IM Fell Double Pica SC</option><option class="ucp-promo" value="-1">IM Fell English</option><option class="ucp-promo" value="-1">IM Fell English SC</option><option class="ucp-promo" value="-1">IM Fell French Canon</option><option class="ucp-promo" value="-1">IM Fell French Canon SC</option><option class="ucp-promo" value="-1">IM Fell Great Primer</option><option class="ucp-promo" value="-1">IM Fell Great Primer SC</option><option class="ucp-promo" value="-1">Iceberg</option><option class="ucp-promo" value="-1">Iceland</option><option class="ucp-promo" value="-1">Imprima</option><option class="ucp-promo" value="-1">Inconsolata</option><option class="ucp-promo" value="-1">Inder</option><option class="ucp-promo" value="-1">Indie Flower</option><option class="ucp-promo" value="-1">Inika</option><option class="ucp-promo" value="-1">Irish Grover</option><option class="ucp-promo" value="-1">Istok Web</option><option class="ucp-promo" value="-1">Italiana</option><option class="ucp-promo" value="-1">Italianno</option><option class="ucp-promo" value="-1">Jacques Francois</option><option class="ucp-promo" value="-1">Jacques Francois Shadow</option><option class="ucp-promo" value="-1">Jim Nightshade</option><option class="ucp-promo" value="-1">Jockey One</option><option class="ucp-promo" value="-1">Jolly Lodger</option><option class="ucp-promo" value="-1">Josefin Sans</option><option class="ucp-promo" value="-1">Josefin Slab</option><option class="ucp-promo" value="-1">Joti One</option><option class="ucp-promo" value="-1">Judson</option><option class="ucp-promo" value="-1">Julee</option><option class="ucp-promo" value="-1">Julius Sans One</option><option class="ucp-promo" value="-1">Junge</option><option class="ucp-promo" value="-1">Jura</option><option class="ucp-promo" value="-1">Just Another Hand</option><option class="ucp-promo" value="-1">Just Me Again Down Here</option><option class="ucp-promo" value="-1">Kalam</option><option class="ucp-promo" value="-1">Kameron</option><option class="ucp-promo" value="-1">Kantumruy</option><option class="ucp-promo" value="-1">Karla</option><option class="ucp-promo" value="-1">Karma</option><option class="ucp-promo" value="-1">Kaushan Script</option><option class="ucp-promo" value="-1">Kavoon</option><option class="ucp-promo" value="-1">Kdam Thmor</option><option class="ucp-promo" value="-1">Keania One</option><option class="ucp-promo" value="-1">Kelly Slab</option><option class="ucp-promo" value="-1">Kenia</option><option class="ucp-promo" value="-1">Khmer</option><option class="ucp-promo" value="-1">Kite One</option><option class="ucp-promo" value="-1">Knewave</option><option class="ucp-promo" value="-1">Kotta One</option><option class="ucp-promo" value="-1">Koulen</option><option class="ucp-promo" value="-1">Kranky</option><option class="ucp-promo" value="-1">Kreon</option><option class="ucp-promo" value="-1">Kristi</option><option class="ucp-promo" value="-1">Krona One</option><option class="ucp-promo" value="-1">La Belle Aurore</option><option class="ucp-promo" value="-1">Lancelot</option><option class="ucp-promo" value="-1">Lato</option><option class="ucp-promo" value="-1">League Script</option><option class="ucp-promo" value="-1">Leckerli One</option><option class="ucp-promo" value="-1">Ledger</option><option class="ucp-promo" value="-1">Lekton</option><option class="ucp-promo" value="-1">Lemon</option><option class="ucp-promo" value="-1">Libre Baskerville</option><option class="ucp-promo" value="-1">Life Savers</option><option class="ucp-promo" value="-1">Lilita One</option><option class="ucp-promo" value="-1">Lily Script One</option><option class="ucp-promo" value="-1">Limelight</option><option class="ucp-promo" value="-1">Linden Hill</option><option class="ucp-promo" value="-1">Lobster</option><option class="ucp-promo" value="-1">Lobster Two</option><option class="ucp-promo" value="-1">Londrina Outline</option><option class="ucp-promo" value="-1">Londrina Shadow</option><option class="ucp-promo" value="-1">Londrina Sketch</option><option class="ucp-promo" value="-1">Londrina Solid</option><option class="ucp-promo" value="-1">Lora</option><option class="ucp-promo" value="-1">Love Ya Like A Sister</option><option class="ucp-promo" value="-1">Loved by the King</option><option class="ucp-promo" value="-1">Lovers Quarrel</option><option class="ucp-promo" value="-1">Luckiest Guy</option><option class="ucp-promo" value="-1">Lusitana</option><option class="ucp-promo" value="-1">Lustria</option><option class="ucp-promo" value="-1">Macondo</option><option class="ucp-promo" value="-1">Macondo Swash Caps</option><option class="ucp-promo" value="-1">Magra</option><option class="ucp-promo" value="-1">Maiden Orange</option><option class="ucp-promo" value="-1">Mako</option><option class="ucp-promo" value="-1">Marcellus</option><option class="ucp-promo" value="-1">Marcellus SC</option><option class="ucp-promo" value="-1">Marck Script</option><option class="ucp-promo" value="-1">Margarine</option><option class="ucp-promo" value="-1">Marko One</option><option class="ucp-promo" value="-1">Marmelad</option><option class="ucp-promo" value="-1">Marvel</option><option class="ucp-promo" value="-1">Mate</option><option class="ucp-promo" value="-1">Mate SC</option><option class="ucp-promo" value="-1">Maven Pro</option><option class="ucp-promo" value="-1">McLaren</option><option class="ucp-promo" value="-1">Meddon</option><option class="ucp-promo" value="-1">MedievalSharp</option><option class="ucp-promo" value="-1">Medula One</option><option class="ucp-promo" value="-1">Megrim</option><option class="ucp-promo" value="-1">Meie Script</option><option class="ucp-promo" value="-1">Merienda</option><option class="ucp-promo" value="-1">Merienda One</option><option class="ucp-promo" value="-1">Merriweather</option><option class="ucp-promo" value="-1">Merriweather Sans</option><option class="ucp-promo" value="-1">Metal</option><option class="ucp-promo" value="-1">Metal Mania</option><option class="ucp-promo" value="-1">Metamorphous</option><option class="ucp-promo" value="-1">Metrophobic</option><option class="ucp-promo" value="-1">Michroma</option><option class="ucp-promo" value="-1">Milonga</option><option class="ucp-promo" value="-1">Miltonian</option><option class="ucp-promo" value="-1">Miltonian Tattoo</option><option class="ucp-promo" value="-1">Miniver</option><option class="ucp-promo" value="-1">Miss Fajardose</option><option class="ucp-promo" value="-1">Modern Antiqua</option><option class="ucp-promo" value="-1">Molengo</option><option class="ucp-promo" value="-1">Molle</option><option class="ucp-promo" value="-1">Monda</option><option class="ucp-promo" value="-1">Monofett</option><option class="ucp-promo" value="-1">Monoton</option><option class="ucp-promo" value="-1">Monsieur La Doulaise</option><option class="ucp-promo" value="-1">Montaga</option><option class="ucp-promo" value="-1">Montez</option><option class="ucp-promo" value="-1">Montserrat</option><option class="ucp-promo" value="-1">Montserrat Alternates</option><option class="ucp-promo" value="-1">Montserrat Subrayada</option><option class="ucp-promo" value="-1">Moul</option><option class="ucp-promo" value="-1">Moulpali</option><option class="ucp-promo" value="-1">Mountains of Christmas</option><option class="ucp-promo" value="-1">Mouse Memoirs</option><option class="ucp-promo" value="-1">Mr Bedfort</option><option class="ucp-promo" value="-1">Mr Dafoe</option><option class="ucp-promo" value="-1">Mr De Haviland</option><option class="ucp-promo" value="-1">Mrs Saint Delafield</option><option class="ucp-promo" value="-1">Mrs Sheppards</option><option class="ucp-promo" value="-1">Muli</option><option class="ucp-promo" value="-1">Mystery Quest</option><option class="ucp-promo" value="-1">Neucha</option><option class="ucp-promo" value="-1">Neuton</option><option class="ucp-promo" value="-1">New Rocker</option><option class="ucp-promo" value="-1">News Cycle</option><option class="ucp-promo" value="-1">Niconne</option><option class="ucp-promo" value="-1">Nixie One</option><option class="ucp-promo" value="-1">Nobile</option><option class="ucp-promo" value="-1">Nokora</option><option class="ucp-promo" value="-1">Norican</option><option class="ucp-promo" value="-1">Nosifer</option><option class="ucp-promo" value="-1">Nothing You Could Do</option><option class="ucp-promo" value="-1">Noticia Text</option><option class="ucp-promo" value="-1">Noto Sans</option><option class="ucp-promo" value="-1">Noto Serif</option><option class="ucp-promo" value="-1">Nova Cut</option><option class="ucp-promo" value="-1">Nova Flat</option><option class="ucp-promo" value="-1">Nova Mono</option><option class="ucp-promo" value="-1">Nova Oval</option><option class="ucp-promo" value="-1">Nova Round</option><option class="ucp-promo" value="-1">Nova Script</option><option class="ucp-promo" value="-1">Nova Slim</option><option class="ucp-promo" value="-1">Nova Square</option><option class="ucp-promo" value="-1">Numans</option><option class="ucp-promo" value="-1">Nunito</option><option class="ucp-promo" value="-1">Odor Mean Chey</option><option class="ucp-promo" value="-1">Offside</option><option class="ucp-promo" value="-1">Old Standard TT</option><option class="ucp-promo" value="-1">Oldenburg</option><option class="ucp-promo" value="-1">Oleo Script</option><option class="ucp-promo" value="-1">Oleo Script Swash Caps</option><option class="ucp-promo" value="-1">Open Sans</option><option class="ucp-promo" value="-1">Open Sans Condensed</option><option class="ucp-promo" value="-1">Oranienbaum</option><option class="ucp-promo" value="-1">Orbitron</option><option class="ucp-promo" value="-1">Oregano</option><option class="ucp-promo" value="-1">Orienta</option><option class="ucp-promo" value="-1">Original Surfer</option><option class="ucp-promo" value="-1">Oswald</option><option class="ucp-promo" value="-1">Over the Rainbow</option><option class="ucp-promo" value="-1">Overlock</option><option class="ucp-promo" value="-1">Overlock SC</option><option class="ucp-promo" value="-1">Ovo</option><option class="ucp-promo" value="-1">Oxygen</option><option class="ucp-promo" value="-1">Oxygen Mono</option><option class="ucp-promo" value="-1">PT Mono</option><option class="ucp-promo" value="-1">PT Sans</option><option class="ucp-promo" value="-1">PT Sans Caption</option><option class="ucp-promo" value="-1">PT Sans Narrow</option><option class="ucp-promo" value="-1">PT Serif</option><option class="ucp-promo" value="-1">PT Serif Caption</option><option class="ucp-promo" value="-1">Pacifico</option><option class="ucp-promo" value="-1">Paprika</option><option class="ucp-promo" value="-1">Parisienne</option><option class="ucp-promo" value="-1">Passero One</option><option class="ucp-promo" value="-1">Passion One</option><option class="ucp-promo" value="-1">Pathway Gothic One</option><option class="ucp-promo" value="-1">Patrick Hand</option><option class="ucp-promo" value="-1">Patrick Hand SC</option><option class="ucp-promo" value="-1">Patua One</option><option class="ucp-promo" value="-1">Paytone One</option><option class="ucp-promo" value="-1">Peralta</option><option class="ucp-promo" value="-1">Permanent Marker</option><option class="ucp-promo" value="-1">Petit Formal Script</option><option class="ucp-promo" value="-1">Petrona</option><option class="ucp-promo" value="-1">Philosopher</option><option class="ucp-promo" value="-1">Piedra</option><option class="ucp-promo" value="-1">Pinyon Script</option><option class="ucp-promo" value="-1">Pirata One</option><option class="ucp-promo" value="-1">Plaster</option><option class="ucp-promo" value="-1">Play</option><option class="ucp-promo" value="-1">Playball</option><option class="ucp-promo" value="-1">Playfair Display</option><option class="ucp-promo" value="-1">Playfair Display SC</option><option class="ucp-promo" value="-1">Podkova</option><option class="ucp-promo" value="-1">Poiret One</option><option class="ucp-promo" value="-1">Poller One</option><option class="ucp-promo" value="-1">Poly</option><option class="ucp-promo" value="-1">Pompiere</option><option class="ucp-promo" value="-1">Pontano Sans</option><option class="ucp-promo" value="-1">Port Lligat Sans</option><option class="ucp-promo" value="-1">Port Lligat Slab</option><option class="ucp-promo" value="-1">Prata</option><option class="ucp-promo" value="-1">Preahvihear</option><option class="ucp-promo" value="-1">Press Start 2P</option><option class="ucp-promo" value="-1">Princess Sofia</option><option class="ucp-promo" value="-1">Prociono</option><option class="ucp-promo" value="-1">Prosto One</option><option class="ucp-promo" value="-1">Puritan</option><option class="ucp-promo" value="-1">Purple Purse</option><option class="ucp-promo" value="-1">Quando</option><option class="ucp-promo" value="-1">Quantico</option><option class="ucp-promo" value="-1">Quattrocento</option><option class="ucp-promo" value="-1">Quattrocento Sans</option><option class="ucp-promo" value="-1">Questrial</option><option class="ucp-promo" value="-1">Quicksand</option><option class="ucp-promo" value="-1">Quintessential</option><option class="ucp-promo" value="-1">Qwigley</option><option class="ucp-promo" value="-1">Racing Sans One</option><option class="ucp-promo" value="-1">Radley</option><option class="ucp-promo" value="-1">Rajdhani</option><option class="ucp-promo" value="-1">Raleway</option><option class="ucp-promo" value="-1">Raleway Dots</option><option class="ucp-promo" value="-1">Rambla</option><option class="ucp-promo" value="-1">Rammetto One</option><option class="ucp-promo" value="-1">Ranchers</option><option class="ucp-promo" value="-1">Rancho</option><option class="ucp-promo" value="-1">Rationale</option><option class="ucp-promo" value="-1">Redressed</option><option class="ucp-promo" value="-1">Reenie Beanie</option><option class="ucp-promo" value="-1">Revalia</option><option class="ucp-promo" value="-1">Ribeye</option><option class="ucp-promo" value="-1">Ribeye Marrow</option><option class="ucp-promo" value="-1">Righteous</option><option class="ucp-promo" value="-1">Risque</option><option class="ucp-promo" value="-1">Roboto</option><option class="ucp-promo" value="-1">Roboto Condensed</option><option class="ucp-promo" value="-1">Roboto Slab</option><option class="ucp-promo" value="-1">Rochester</option><option class="ucp-promo" value="-1">Rock Salt</option><option class="ucp-promo" value="-1">Rokkitt</option><option class="ucp-promo" value="-1">Romanesco</option><option class="ucp-promo" value="-1">Ropa Sans</option><option class="ucp-promo" value="-1">Rosario</option><option class="ucp-promo" value="-1">Rosarivo</option><option class="ucp-promo" value="-1">Rouge Script</option><option class="ucp-promo" value="-1">Rubik Mono One</option><option class="ucp-promo" value="-1">Rubik One</option><option class="ucp-promo" value="-1">Ruda</option><option class="ucp-promo" value="-1">Rufina</option><option class="ucp-promo" value="-1">Ruge Boogie</option><option class="ucp-promo" value="-1">Ruluko</option><option class="ucp-promo" value="-1">Rum Raisin</option><option class="ucp-promo" value="-1">Ruslan Display</option><option class="ucp-promo" value="-1">Russo One</option><option class="ucp-promo" value="-1">Ruthie</option><option class="ucp-promo" value="-1">Rye</option><option class="ucp-promo" value="-1">Sacramento</option><option class="ucp-promo" value="-1">Sail</option><option class="ucp-promo" value="-1">Salsa</option><option class="ucp-promo" value="-1">Sanchez</option><option class="ucp-promo" value="-1">Sancreek</option><option class="ucp-promo" value="-1">Sansita One</option><option class="ucp-promo" value="-1">Sarina</option><option class="ucp-promo" value="-1">Satisfy</option><option class="ucp-promo" value="-1">Scada</option><option class="ucp-promo" value="-1">Schoolbell</option><option class="ucp-promo" value="-1">Seaweed Script</option><option class="ucp-promo" value="-1">Sevillana</option><option class="ucp-promo" value="-1">Seymour One</option><option class="ucp-promo" value="-1">Shadows Into Light</option><option class="ucp-promo" value="-1">Shadows Into Light Two</option><option class="ucp-promo" value="-1">Shanti</option><option class="ucp-promo" value="-1">Share</option><option class="ucp-promo" value="-1">Share Tech</option><option class="ucp-promo" value="-1">Share Tech Mono</option><option class="ucp-promo" value="-1">Shojumaru</option><option class="ucp-promo" value="-1">Short Stack</option><option class="ucp-promo" value="-1">Siemreap</option><option class="ucp-promo" value="-1">Sigmar One</option><option class="ucp-promo" value="-1">Signika</option><option class="ucp-promo" value="-1">Signika Negative</option><option class="ucp-promo" value="-1">Simonetta</option><option class="ucp-promo" value="-1">Sintony</option><option class="ucp-promo" value="-1">Sirin Stencil</option><option class="ucp-promo" value="-1">Six Caps</option><option class="ucp-promo" value="-1">Skranji</option><option class="ucp-promo" value="-1">Slabo 13px</option><option class="ucp-promo" value="-1">Slabo 27px</option><option class="ucp-promo" value="-1">Slackey</option><option class="ucp-promo" value="-1">Smokum</option><option class="ucp-promo" value="-1">Smythe</option><option class="ucp-promo" value="-1">Sniglet</option><option class="ucp-promo" value="-1">Snippet</option><option class="ucp-promo" value="-1">Snowburst One</option><option class="ucp-promo" value="-1">Sofadi One</option><option class="ucp-promo" value="-1">Sofia</option><option class="ucp-promo" value="-1">Sonsie One</option><option class="ucp-promo" value="-1">Sorts Mill Goudy</option><option class="ucp-promo" value="-1">Source Code Pro</option><option class="ucp-promo" value="-1">Source Sans Pro</option><option class="ucp-promo" value="-1">Source Serif Pro</option><option class="ucp-promo" value="-1">Special Elite</option><option class="ucp-promo" value="-1">Spicy Rice</option><option class="ucp-promo" value="-1">Spinnaker</option><option class="ucp-promo" value="-1">Spirax</option><option class="ucp-promo" value="-1">Squada One</option><option class="ucp-promo" value="-1">Stalemate</option><option class="ucp-promo" value="-1">Stalinist One</option><option class="ucp-promo" value="-1">Stardos Stencil</option><option class="ucp-promo" value="-1">Stint Ultra Condensed</option><option class="ucp-promo" value="-1">Stint Ultra Expanded</option><option class="ucp-promo" value="-1">Stoke</option><option class="ucp-promo" value="-1">Strait</option><option class="ucp-promo" value="-1">Sue Ellen Francisco</option><option class="ucp-promo" value="-1">Sunshiney</option><option class="ucp-promo" value="-1">Supermercado One</option><option class="ucp-promo" value="-1">Suwannaphum</option><option class="ucp-promo" value="-1">Swanky and Moo Moo</option><option class="ucp-promo" value="-1">Syncopate</option><option class="ucp-promo" value="-1">Tangerine</option><option class="ucp-promo" value="-1">Taprom</option><option class="ucp-promo" value="-1">Tauri</option><option class="ucp-promo" value="-1">Teko</option><option class="ucp-promo" value="-1">Telex</option><option class="ucp-promo" value="-1">Tenor Sans</option><option class="ucp-promo" value="-1">Text Me One</option><option class="ucp-promo" value="-1">The Girl Next Door</option><option class="ucp-promo" value="-1">Tienne</option><option class="ucp-promo" value="-1">Tinos</option><option class="ucp-promo" value="-1">Titan One</option><option class="ucp-promo" value="-1">Titillium Web</option><option class="ucp-promo" value="-1">Trade Winds</option><option class="ucp-promo" value="-1">Trocchi</option><option class="ucp-promo" value="-1">Trochut</option><option class="ucp-promo" value="-1">Trykker</option><option class="ucp-promo" value="-1">Tulpen One</option><option class="ucp-promo" value="-1">Ubuntu</option><option class="ucp-promo" value="-1">Ubuntu Condensed</option><option class="ucp-promo" value="-1">Ubuntu Mono</option><option class="ucp-promo" value="-1">Ultra</option><option class="ucp-promo" value="-1">Uncial Antiqua</option><option class="ucp-promo" value="-1">Underdog</option><option class="ucp-promo" value="-1">Unica One</option><option class="ucp-promo" value="-1">UnifrakturCook</option><option class="ucp-promo" value="-1">UnifrakturMaguntia</option><option class="ucp-promo" value="-1">Unkempt</option><option class="ucp-promo" value="-1">Unlock</option><option class="ucp-promo" value="-1">Unna</option><option class="ucp-promo" value="-1">VT323</option><option class="ucp-promo" value="-1">Vampiro One</option><option class="ucp-promo" value="-1">Varela</option><option class="ucp-promo" value="-1">Varela Round</option><option class="ucp-promo" value="-1">Vast Shadow</option><option class="ucp-promo" value="-1">Vibur</option><option class="ucp-promo" value="-1">Vidaloka</option><option class="ucp-promo" value="-1">Viga</option><option class="ucp-promo" value="-1">Voces</option><option class="ucp-promo" value="-1">Volkhov</option><option class="ucp-promo" value="-1">Vollkorn</option><option class="ucp-promo" value="-1">Voltaire</option><option class="ucp-promo" value="-1">Waiting for the Sunrise</option><option class="ucp-promo" value="-1">Wallpoet</option><option class="ucp-promo" value="-1">Walter Turncoat</option><option class="ucp-promo" value="-1">Warnes</option><option class="ucp-promo" value="-1">Wellfleet</option><option class="ucp-promo" value="-1">Wendy One</option><option class="ucp-promo" value="-1">Wire One</option><option class="ucp-promo" value="-1">Yanone Kaffeesatz</option><option class="ucp-promo" value="-1">Yellowtail</option><option class="ucp-promo" value="-1">Yeseva One</option><option class="ucp-promo" value="-1">Yesteryear</option><option class="ucp-promo" value="-1">Zeyada</option>';
1417
+ echo '</select>';
1418
+ echo '<p class="description">Choose one of 600+ beautiful Google fonts or use the default, theme set one. This is a <a href="#" class="open-ucp-upsell" data-pro-ad="content_font">PRO feature</a>.</p>';
1419
+ echo '</td>';
1420
+ echo '</tr>';
1421
+
1422
  echo '<tr valign="top">
1423
  <th scope="row"><label for="external_shortcodes">' . __('3rd Party Shortcode Support in Content', 'under-construction-page') . '</label></th>
1424
  <td>';
1596
  '_pro_forest-in-the-fog' => __('Forest in the Fog', 'under-construction-page'),
1597
  'laptop' => __('Laptop', 'under-construction-page'),
1598
  'puzzles' => __('Puzzles', 'under-construction-page'),
1599
+ '_pro_sunset' => __('Sunset', 'under-construction-page'),
1600
  'iot' => __('Internet of Things', 'under-construction-page'),
1601
  'setup' => __('Setup', 'under-construction-page'),
1602
+ '_pro_fitness-studio' => __('Fitness Studio Landing Page', 'under-construction-page'),
1603
  'stop' => __('Stop', 'under-construction-page'),
1604
  'clock' => __('Clock', 'under-construction-page'),
1605
+ '_pro_simple-office-theme' => __('Simple Office', 'under-construction-page'),
1606
  'bulldozer' => __('Bulldozer at Work', 'under-construction-page'),
1607
+ 'christmas' => __('Christmas Greetings', 'under-construction-page'),
1608
+ '_pro_pink-lips' => __('Pink Lips', 'under-construction-page'),
1609
+ 'hard_worker' => __('Hard Worker', 'under-construction-page'));
1610
 
1611
  $themes = apply_filters('ucp_themes', $themes);
1612
 
1623
 
1624
  echo '<table class="form-table">';
1625
  echo '<tr valign="top">
1626
+ <td colspan="2"><b style="margin-bottom: 10px; display: inline-block;">' . __('Theme', 'under-construction-page') . '</b> (<a target="_blank" href="' . self::generate_web_link('themes-browse-premium', 'templates') . '">browse 100+ premium themes</a>)<br>';
1627
  echo '<input type="hidden" id="theme_id" name="' . UCP_OPTIONS_KEY . '[theme]" value="' . $options['theme'] . '">';
1628
 
1629
  foreach ($themes as $theme_id => $theme_name) {
1640
  echo '<a href="https://templates.underconstructionpage.com/?ucp_template_preview&template=' . $theme_id . '&utm_source=ucp-free&utm_medium=plugin&utm_content=design-preview-' . $theme_id . '&utm_campaign=ucp-free-v' . self::$version . '" class="button-secondary" target="_blank">Preview</a>';
1641
  }
1642
  echo '</div>';
1643
+ echo '<div class="ribbon"><i><span class="dashicons dashicons-star-filled"></span></i></div></div>';
1644
  } else {
1645
  echo '<div class="ucp-thumb' . $class . '" data-theme-id="' . $theme_id . '"><img src="' . $img_path . $theme_id . '.png" alt="' . $theme_name . '" title="' . $theme_name . '"><span>' . $theme_name . '</span>';
1646
  echo '<div class="buttons"><a href="#" class="button button-primary activate-theme">Activate</a> <a href="' . get_home_url() . '/?ucp_preview&theme=' . $theme_id . '" class="button-secondary" target="_blank">Preview</a></div>';
1754
 
1755
  echo '<div style="display: none;" id="tab_support_faq" class="ucp-tab-content">';
1756
 
1757
+ echo '<p><b>Do you have any documentation?</b><br>Yes, <a href="' . self::generate_web_link('faq-documentation', 'documentation-free') . '" target="_blank">detailed documentation</a> with how-to guides is available on the plugins\'s site.</p>';
1758
 
1759
  echo '<p><b>Do you have a video to help me get started?</b><br>We sure do! <a href="https://www.youtube.com/watch?v=RN4XABhK7_w" target="_blank">Getting started with the UnderConstructionPage plugin</a>. If that doesn\'t help we also have an <a href="https://www.youtube.com/watch?v=K3DF-NP6Fog" target="_blank">in-depth video walktrough</a>. In case you\'re still uncertain about something don\'t hesitate to contact our friendly support.</p>';
1760
 
1761
+ echo '<p><b>How can I build a custom page or customize themes?</b><br>If you know how to code custom CSS a lot can be accomplished by using the <a class="change_tab" data-tab="1" href="#custom_css">custom CSS</a> option. A much faster and easier solution is to check out <a href="#" data-pro-ad="faq-custom-css" class="open-ucp-upsell">UCP PRO</a> with an easy-to-use drag&amp;drop builder and dozens of pre-built themes.</p>';
1762
+
1763
  echo '<p><b>How can I check if construction mode is really enabled on my site?</b><br>If the under construction status is green in the admin bar (the very top of the page, above this text), then it\'s enabled. But we made a tool specifically for these kinds of situations so you can double-check everything. <a href="' . self::generate_web_link('faq-tester', 'under-construction-tester/', array('url' => get_home_url())) . '" target="_blank">Run under construction mode tester</a>.</p>';
1764
 
1765
  echo '<p><b>How can I work on my site while construction mode is enabled?</b><br>Make sure your user role (probably admin) is selected under <a class="change_tab" data-tab="3" href="#whitelisted-roles">Access - Whitelisted User Roles</a> and open the site while logged in.</p>';
1844
  echo '<p style="text-align: center;"><a href="' . $update_url . '" class="button button-primary button-large">Update UnderConstructionPage files to PRO</a><br><br></p>';
1845
  } else {
1846
  echo '<div id="ucp-earlybird"><span>Build <b>landing pages, coming soon pages, maintenance &amp; under construction pages</b> faster &amp; easier!</span>';
1847
+ if (self::is_promo_active() == 'welcome') {
1848
+ echo '<p class="textcenter"><a data-pro-ad="get_pro" href="#" class="button button-primary button-large open-ucp-upsell">Get <b>PRO</b> now with a LIMITED <b>welcoming discount</b>! Offer is valid for only <b class="ucp-countdown">59min 33sec</b>.</a></p>';
1849
+ } else {
1850
+ echo '<p class="textcenter"><a data-pro-ad="get_pro" href="#" class="button button-primary button-large open-ucp-upsell">Get <b>PRO</b> now!</a></p>';
1851
+ }
1852
  echo '</div>';
1853
  }
1854
 
1859
  echo '<tr valign="top">
1860
  <th scope="row"><label for="license_key">' . __('License Key', 'under-construction-page') . '</label></th>';
1861
  echo '<td><input type="text" id="license_key" class="regular-text" name="' . UCP_OPTIONS_KEY . '[license_key]" value="' . esc_attr($options['license_key']) . '" placeholder="12345-12345-12345-12345" />';
1862
+ echo '<p class="description">License key is located in the confirmation email you received after purchasing.<br>In case of any problems, please contact <a href="#" data-tab="4" class="change_tab">support</a>. If you don\'t have a PRO license key - <a data-pro-ad="get_key" href="#" class="open-ucp-upsell">get it now</a>.</p>';
1863
  echo '</td></tr>';
1864
 
1865
  if (!empty($options['license_key'])) {
1950
  echo '</form>'; // ucp_tabs
1951
  echo '</div>'; // wrap
1952
 
1953
+ $promo = self::is_promo_active();
1954
+ if ($promo == 'welcome') {
1955
+ $header = 'A <b>welcoming discount</b> has been applied to all packages! It\'s <b>time limited</b> and available for only another <b class="ucp-countdown">59min 30sec</b>.';
1956
+ $products['agency'] = array('link' => self::generate_web_link('pricing-table', 'buy/', array('p' => 'agency-lifetime-welcome', 'r' => 'UCP v' . self::$version)), 'price' => 'BUY NOW <u>$51 OFF</u><br><del>$250</del> $199<br><small>Discount ends in <b class="ucp-countdown">59min 30sec</b></small>');
1957
+ $products['pro-lifetime'] = array('link' => self::generate_web_link('pricing-table', 'buy/', array('p' => 'pro-lifetime-welcome', 'r' => 'UCP v' . self::$version)), 'price' => 'BUY NOW <u>20% OFF</u><br><del>$69</del> $55<br><small>Discount ends in <b class="ucp-countdown">59min 30sec</b></small>');
1958
+ $products['pro-yearly'] = array('link' => self::generate_web_link('pricing-table', 'buy/', array('p' => 'pro-yearly-welcome', 'r' => 'UCP v' . self::$version)), 'price' => 'BUY NOW <u>20% OFF</u><br><del>$39</del> $31<small>/year</small><br><small>Discount ends in <b class="ucp-countdown">59min 30sec</b></small>');
1959
+ } else {
1960
+ $header = '';
1961
+ $products['agency'] = array('link' => self::generate_web_link('pricing-table', 'buy/', array('p' => 'agency-lifetime', 'r' => 'UCP v' . self::$version)), 'price' => 'BUY NOW<br>$250');
1962
+ $products['pro-lifetime'] = array('link' => self::generate_web_link('pricing-table', 'buy/', array('p' => 'pro-lifetime', 'r' => 'UCP v' . self::$version)), 'price' => 'BUY NOW<br>$69');
1963
+ $products['pro-yearly'] = array('link' => self::generate_web_link('pricing-table', 'buy/', array('p' => 'pro-yearly', 'r' => 'UCP v' . self::$version)), 'price' => 'BUY NOW<br>$39 <small>/year</small>');
1964
+ }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1965
 
1966
  // upsell dialog
1967
  echo '<div id="upsell-dialog" style="display: none;" title="UnderConstructionPage PRO"><span class="ui-helper-hidden-accessible"><input type="text"/></span>';
1979
 
1980
  echo '<div class="gmw-pro-feature">';
1981
  echo '<span>400,000+ Stunning Searchable Images</span>';
1982
+ echo '<p>There\'s nothing worse than googling for hours just to find that the perfect image you need is either copyrighted or too small. Enjoy a vast library of 4K+ sized images - categorized &amp; copyright free!</p>';
1983
  echo '</div>';
1984
 
1985
  echo '<div class="gmw-pro-feature">';
2006
 
2007
  echo '</div>'; // features tab
2008
  echo '<div class="upsell-tab" id="tab-upsell-buy" style="display: none;">';
2009
+ if (!empty($header)) {
2010
+ echo '<div class="upsell-header">' . $header . '</div>';
2011
+ }
2012
  echo '<table id="ucp-pricing-table">
 
 
 
2013
  <tbody>
2014
  <tr>
2015
  <td>
2037
  <td><span class="dashicons dashicons-yes"></span> Lifetime Support &amp; Updates</td>
2038
  <td>1 Year of Support &amp; Updates</td>
2039
  </tr>
2040
+ <tr style="display: none;">
2041
  <td>400,000+ Hi-Res Images</td>
2042
  <td><span class="dashicons dashicons-yes"></span> 400,000+ Hi-Res Images</td>
2043
  <td>400,000+ Hi-Res Images</td>
2044
  </tr>
2045
  <tr>
2046
+ <td>50+ Templates + Drag&amp;Drop Builder</td>
2047
+ <td><span class="dashicons dashicons-yes"></span> 50+ Templates + Drag&amp;Drop Builder</td>
2048
+ <td>50+ Templates + Drag&amp;Drop Builder</td>
2049
  </tr>
2050
  <tr>
2051
+ <td>50+ Extra Templates = 100+ Templates</td>
2052
+ <td><span class="dashicons dashicons-no"></td>
2053
+ <td><span class="dashicons dashicons-no"></td>
2054
+ </tr>
2055
+ <tr style="display: none;">
2056
+ <td>Zapier Integration + Extra Modules</td>
2057
  <td><span class="dashicons dashicons-no"></td>
2058
  <td><span class="dashicons dashicons-no"></td>
2059
  </tr>
2060
  <tr>
2061
  <td>
2062
+ <a data-href-org="' . $products['agency']['link'] . '" class="promo-button go-to-license-key" href="' . $products['agency']['link'] . '" target="_blank">' . $products['agency']['price'] . '</a>
2063
  <span class="instant-download"><span class="dashicons dashicons-yes"></span> Secure payment<br><span class="dashicons dashicons-yes"></span> Instant activation from WordPress admin<br><span class="dashicons dashicons-yes"></span> 100% No-Risk Money Back Guarantee</span>
2064
  </td>
2065
  <td>
2066
+ <a data-href-org="' . $products['pro-lifetime']['link'] . '" class="promo-button go-to-license-key" href="' . $products['pro-lifetime']['link'] . '" target="_blank">' . $products['pro-lifetime']['price'] . '</a>
2067
  <span class="instant-download"><span class="dashicons dashicons-yes"></span> Secure payment<br><span class="dashicons dashicons-yes"></span> Instant activation from WordPress admin<br><span class="dashicons dashicons-yes"></span> 100% No-Risk Money Back Guarantee</span>
2068
  </td>
2069
  <td>
2070
+ <a data-href-org="' . $products['pro-yearly']['link'] . '" class="promo-button go-to-license-key" href="' . $products['pro-yearly']['link'] . '" target="_blank">' . $products['pro-yearly']['price'] . '</a>
2071
  <span class="instant-download"><span class="dashicons dashicons-yes"></span> Secure payment<br><span class="dashicons dashicons-yes"></span> Instant activation from WordPress admin<br><span class="dashicons dashicons-yes"></span> 100% No-Risk Money Back Guarantee</span>
2072
  </td>
2073
  </tr>
2081
  } // main_page
2082
 
2083
 
2084
+ // tests if any of the promotions are active and if so returns the name
2085
+ static function is_promo_active() {
2086
+ $meta = self::get_meta();
2087
+
2088
+ if ((time() - $meta['first_install']) < HOUR_IN_SECONDS) {
2089
+ return 'welcome';
2090
+ }
2091
+
2092
+ return false;
2093
+ } // is_promo_active
2094
+
2095
+
2096
  // save and preview buttons
2097
  static function footer_buttons() {
2098
  echo '<p class="submit">';