Under Construction - Version 1.60

Version Description

  • 2017/02/06
  • new theme - Safe
  • added "Support" tab with FAQ and links
  • minor bug fixes
  • added 2 social icons: Skype and Phone
Download this release

Release Info

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

Code changes from version 1.55 to 1.60

css/ucp-admin.css CHANGED
@@ -16,6 +16,9 @@
16
  soverflow: hidden;
17
  }
18
 
 
 
 
19
 
20
  .form-table th {
21
  padding: 15px 10px 20px 0;
@@ -70,7 +73,7 @@ div.ucp-thumb img, .ucp-thumb-special img {
70
  margin-left: 14px;
71
  }
72
 
73
- input[type=url]:invalid, input[type=email]:invalid {
74
  border-color: #EA1919;
75
  -webkit-box-shadow: 0 0 2px rgba(234,25,25,1);
76
  box-shadow: 0 0 2px rgba(234,25,25,1);
16
  soverflow: hidden;
17
  }
18
 
19
+ #ucp_tabs #wp-content-editor-tools {
20
+ padding-top: 0;
21
+ }
22
 
23
  .form-table th {
24
  padding: 15px 10px 20px 0;
73
  margin-left: 14px;
74
  }
75
 
76
+ input[type=url]:invalid, input[type=email]:invalid, input[type=tel]:invalid {
77
  border-color: #EA1919;
78
  -webkit-box-shadow: 0 0 2px rgba(234,25,25,1);
79
  box-shadow: 0 0 2px rgba(234,25,25,1);
images/safe.png ADDED
Binary file
readme.txt CHANGED
@@ -3,7 +3,7 @@ Contributors: WebFactory
3
  Tags: under construction page, coming soon page, maintenance, maintenance page, coming soon, maintenance mode, under construction mode, coming soon mode, site unavailable, under construction, landing page, construction, launch, launch page, offline, rtl
4
  Requires at least: 4.0
5
  Tested up to: 4.7
6
- Stable tag: 1.55
7
  License: GPLv2 or later
8
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
9
 
@@ -73,14 +73,22 @@ Or if needed, upload manually;
73
  8. Rocket Launch theme
74
  9. Loader at Work theme
75
  10. Cyber Chick Dark theme
76
- 11. Main settings
77
- 12. Design settings
78
- 13. Content settings
79
- 14. Access settings
 
80
 
81
 
82
  == Changelog ==
83
 
 
 
 
 
 
 
 
84
  = 1.55 =
85
  * 2017/01/30
86
  * new theme - Cyber Chick Dark
3
  Tags: under construction page, coming soon page, maintenance, maintenance page, coming soon, maintenance mode, under construction mode, coming soon mode, site unavailable, under construction, landing page, construction, launch, launch page, offline, rtl
4
  Requires at least: 4.0
5
  Tested up to: 4.7
6
+ Stable tag: 1.60
7
  License: GPLv2 or later
8
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
9
 
73
  8. Rocket Launch theme
74
  9. Loader at Work theme
75
  10. Cyber Chick Dark theme
76
+ 11. Safe theme
77
+ 12. Main settings
78
+ 13. Design settings
79
+ 14. Content settings
80
+ 15. Access settings
81
 
82
 
83
  == Changelog ==
84
 
85
+ = 1.60 =
86
+ * 2017/02/06
87
+ * new theme - Safe
88
+ * added "Support" tab with FAQ and links
89
+ * minor bug fixes
90
+ * added 2 social icons: Skype and Phone
91
+
92
  = 1.55 =
93
  * 2017/01/30
94
  * new theme - Cyber Chick Dark
themes/safe/index.php ADDED
@@ -0,0 +1,60 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /*
3
+ * UnderConstructionPage
4
+ * Safe theme
5
+ * (c) Web factory Ltd, 2015 - 2016
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="UnderConstructionPage plugin for WordPress">
23
+ <link rel="stylesheet" href="[theme-url-common]css/bootstrap.min.css?v=[version]" type="text/css">
24
+ <link rel="stylesheet" href="[theme-url]style.css?v=[version]" type="text/css">
25
+ <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Nunito:400,900">
26
+ <link rel="stylesheet" href="[theme-url-common]css/font-awesome.min.css?v=[version]" type="text/css">
27
+ [head]
28
+ </head>
29
+
30
+ <body>
31
+ <div class="container top-container">
32
+ <div class="row display-table">
33
+ <div class="col-lg-offset-1 col-xs-12 col-md-12 col-lg-5 display-cell">
34
+ <h1>[heading1]</h1>
35
+ </div>
36
+ <div class="col-xs-12 col-md-12 col-lg-5 display-cell">
37
+ <div id="hero-image">
38
+ <img src="[theme-url]safe.png" alt="Site is safe and secure" title="Site is safe and secure">
39
+ </div>
40
+ </div>
41
+ </div>
42
+ </div>
43
+
44
+ <div class="container">
45
+ <div class="row">
46
+ <div class="col-xs-12 col-md-8 col-md-offset-2 col-lg-offset-2 col-lg-8">
47
+ <p class="content">[content]</p>
48
+ </div>
49
+ </div>
50
+
51
+ <div class="row" id="social">
52
+ <div class="col-xs-12 col-md-12 col-lg-12">
53
+ [social-icons]
54
+ </div>
55
+ </div>
56
+
57
+ </div>
58
+ [footer]
59
+ </body>
60
+ </html>
themes/safe/safe.png ADDED
Binary file
themes/safe/style.css ADDED
@@ -0,0 +1,109 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*
2
+ * UnderConstructionPage
3
+ * Safe theme CSS
4
+ * (c) Web factory Ltd, 2015 - 2016
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: #414042;
19
+ background: #00bfff; /* Old browsers */
20
+ padding: 0;
21
+ margin: 0;
22
+ height: 100%;
23
+ background-repeat: no-repeat;
24
+ background-attachment: fixed;;
25
+ }
26
+
27
+ .top-container {
28
+ padding: 50px 0;
29
+ }
30
+
31
+ #hero-image {
32
+ text-align: center;
33
+ }
34
+
35
+ #hero-image img {
36
+ max-width: 80%;
37
+ }
38
+
39
+ .display-table {
40
+ display: table;
41
+ table-layout: fixed;
42
+ }
43
+
44
+ .display-cell {
45
+ display: table-cell;
46
+ vertical-align: middle;
47
+ float: none;
48
+ }
49
+
50
+ h1 {
51
+ font-size: 34px;
52
+ color: #414042;
53
+ font-family: "Nunito", sans-serif;
54
+ font-weight: 900;
55
+ margin: 20px 0 30px 0;
56
+ text-align: right;
57
+ }
58
+
59
+ .content {
60
+ text-align: center;
61
+ font-family: "Helvetica", "Arial", sans-serif;
62
+ }
63
+
64
+ #social {
65
+ text-align: center;
66
+ margin-top: 30px;
67
+ }
68
+
69
+ #social a i {
70
+ color: #414042;
71
+ margin: 10px;
72
+ box-sizing: content-box;
73
+ }
74
+
75
+ #social a:hover i {
76
+ color: #ffffff;
77
+ }
78
+
79
+ @media(max-width:767px) {
80
+ h1 {
81
+ font-size: 28px;
82
+ margin: 10px 0 30px 0;
83
+ }
84
+ #hero-image img {
85
+ max-width: 95%;
86
+ }
87
+ }
88
+
89
+ @media (max-width: 1200px) {
90
+ h1 {
91
+ text-align: center;
92
+ padding: 0 20px;
93
+ }
94
+ .display-table {
95
+ display: initial;
96
+ table-layout: auto;
97
+ }
98
+ .display-cell {
99
+ display: block;
100
+ vertical-align: middle;
101
+ float: none;
102
+ }
103
+ #hero-image img {
104
+ max-height: 250px
105
+ }
106
+ .top-container {
107
+ padding: 25px 0;
108
+ }
109
+ }
under-construction.php CHANGED
@@ -4,7 +4,7 @@
4
  Plugin URI: https://underconstructionpage.com/
5
  Description: Hide your site behind a great looking under construction page while you do maintenance work.
6
  Author: Web factory Ltd
7
- Version: 1.55
8
  Author URI: http://www.webfactoryltd.com/
9
  Text Domain: under-construction-page
10
  Domain Path: lang
@@ -419,9 +419,15 @@ class UCP {
419
  if (!empty($options['social_instagram'])) {
420
  $out .= '<a href="' . $options['social_instagram'] . '" target="_blank"><i class="fa fa-instagram fa-3x"></i></a>';
421
  }
 
 
 
422
  if (!empty($options['social_email'])) {
423
  $out .= '<a href="mailto:' . self::encode_email($options['social_email']) . '"><i class="fa fa-envelope fa-3x"></i></a>';
424
  }
 
 
 
425
 
426
  return $out;
427
  } // generate_social_icons
@@ -689,6 +695,8 @@ class UCP {
689
  'social_behance' => '',
690
  'social_instagram' => '',
691
  'social_email' => '',
 
 
692
  'login_button' => '1',
693
  'linkback' => '0',
694
  'roles' => array('administrator'),
@@ -720,6 +728,8 @@ class UCP {
720
  case 'social_behance':
721
  case 'social_instagram':
722
  case 'social_email':
 
 
723
  $options[$key] = trim($value);
724
  break;
725
  case 'ga_tracking_id':
@@ -889,14 +899,14 @@ class UCP {
889
  echo '<p class="description">Main heading/title (see above for available <a href="#title">shortcodes</a>). Default: ' . $default_options['heading1'] . '</p>';
890
  echo '</td></tr>';
891
 
892
- echo '<tr valign="top">
893
  <th scope="row"><label for="content">Content</label></th>
894
  <td>';
895
  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));
896
  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>';
897
  echo '</td></tr>';
898
 
899
- echo '<tr valign="top">
900
  <th scope="row"><label for="login_button">Login Button</label></th>
901
  <td><div class="onoffswitch">
902
  <input ' . self::checked(1, $options['login_button']) . ' type="checkbox" value="1" name="' . UCP_OPTIONS_KEY . '[login_button]" class="onoffswitch-checkbox" id="login_button">
@@ -980,10 +990,22 @@ class UCP {
980
  echo '<p class="description">Complete URL, with http prefix, to Instagram profile.</p>';
981
  echo '</td></tr>';
982
 
 
 
 
 
 
 
983
  echo '<tr valign="top">
984
  <th scope="row"><label for="social_email">Email Address</label></th>
985
- <td><input id="social_email" type="email" class="regular-text code" name="' . UCP_OPTIONS_KEY . '[social_email]" value="' . esc_attr($options['social_email']) . '" placeholder="Contact email address">';
986
- echo '<p class="description">Email will be encoded in HTML to protect it from spammers.</p>';
 
 
 
 
 
 
987
  echo '</td></tr>';
988
 
989
  echo '</table>';
@@ -996,7 +1018,7 @@ class UCP {
996
 
997
  $img_path = UCP_PLUGIN_URL . 'images/';
998
 
999
- $themes = array('mad_designer' => 'Mad Designer', 'plain_text' => 'Plain Text', 'under_construction' => 'Under Construction', 'dark' => 'Things Went Dark', 'forklift' => 'Forklift at Work', 'under_construction_text' => 'Under Construction Text', 'cyber_chick' => 'Cyber Chick', 'rocket' => 'Rocket Launch', 'loader' => 'Loader at Work', 'cyber_chick_dark' => 'Cyber Chick Dark');
1000
 
1001
  echo '<table class="form-table">';
1002
  echo '<tr valign="top">
@@ -1070,12 +1092,21 @@ class UCP {
1070
  } // tab_access
1071
 
1072
 
1073
- // todo - support tab
1074
  static function tab_support() {
1075
- $options = self::get_options();
1076
- $default_options = self::default_options();
 
 
 
1077
 
1078
- echo 'support';
 
 
 
 
 
 
1079
  } // tab_support
1080
 
1081
 
@@ -1099,9 +1130,7 @@ class UCP {
1099
  $tabs[] = array('id' => 'ucp_design', 'icon' => 'dashicons-admin-customizer', 'class' => '', 'label' => 'Design', 'callback' => array(__CLASS__, 'tab_design'));
1100
  $tabs[] = array('id' => 'ucp_content', 'icon' => 'dashicons-format-aside', 'class' => '', 'label' => 'Content', 'callback' => array(__CLASS__, 'tab_content'));
1101
  $tabs[] = array('id' => 'ucp_access', 'icon' => 'dashicons-shield', 'class' => '', 'label' => 'Access', 'callback' => array(__CLASS__, 'tab_access'));
1102
-
1103
- // todo
1104
- //$tabs[] = array('id' => 'ucp_support', 'icon' => 'dashicons-sos', 'class' => '', 'label' => 'Support', 'callback' => array(__CLASS__, 'tab_support'));
1105
  $tabs = apply_filters('ucp_tabs', $tabs);
1106
 
1107
  echo '<div id="ucp_tabs" class="ui-tabs" style="display: none;">';
4
  Plugin URI: https://underconstructionpage.com/
5
  Description: Hide your site behind a great looking under construction page while you do maintenance work.
6
  Author: Web factory Ltd
7
+ Version: 1.60
8
  Author URI: http://www.webfactoryltd.com/
9
  Text Domain: under-construction-page
10
  Domain Path: lang
419
  if (!empty($options['social_instagram'])) {
420
  $out .= '<a href="' . $options['social_instagram'] . '" target="_blank"><i class="fa fa-instagram fa-3x"></i></a>';
421
  }
422
+ if (!empty($options['social_skype'])) {
423
+ $out .= '<a href="skype:' . $options['social_skype'] . '?chat"><i class="fa fa-skype fa-3x"></i></a>';
424
+ }
425
  if (!empty($options['social_email'])) {
426
  $out .= '<a href="mailto:' . self::encode_email($options['social_email']) . '"><i class="fa fa-envelope fa-3x"></i></a>';
427
  }
428
+ if (!empty($options['social_phone'])) {
429
+ $out .= '<a href="callto:' . $options['social_phone'] . '"><i class="fa fa-phone-square fa-3x"></i></a>';
430
+ }
431
 
432
  return $out;
433
  } // generate_social_icons
695
  'social_behance' => '',
696
  'social_instagram' => '',
697
  'social_email' => '',
698
+ 'social_phone' => '',
699
+ 'social_skype' => '',
700
  'login_button' => '1',
701
  'linkback' => '0',
702
  'roles' => array('administrator'),
728
  case 'social_behance':
729
  case 'social_instagram':
730
  case 'social_email':
731
+ case 'social_phone':
732
+ case 'social_skype':
733
  $options[$key] = trim($value);
734
  break;
735
  case 'ga_tracking_id':
899
  echo '<p class="description">Main heading/title (see above for available <a href="#title">shortcodes</a>). Default: ' . $default_options['heading1'] . '</p>';
900
  echo '</td></tr>';
901
 
902
+ echo '<tr valign="top" id="content_wrap">
903
  <th scope="row"><label for="content">Content</label></th>
904
  <td>';
905
  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));
906
  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>';
907
  echo '</td></tr>';
908
 
909
+ echo '<tr valign="top" id="login_button_wrap">
910
  <th scope="row"><label for="login_button">Login Button</label></th>
911
  <td><div class="onoffswitch">
912
  <input ' . self::checked(1, $options['login_button']) . ' type="checkbox" value="1" name="' . UCP_OPTIONS_KEY . '[login_button]" class="onoffswitch-checkbox" id="login_button">
990
  echo '<p class="description">Complete URL, with http prefix, to Instagram profile.</p>';
991
  echo '</td></tr>';
992
 
993
+ echo '<tr valign="top">
994
+ <th scope="row"><label for="social_skype">Skype Username</label></th>
995
+ <td><input id="social_skype" type="text" class="regular-text code" name="' . UCP_OPTIONS_KEY . '[social_skype]" value="' . esc_attr($options['social_skype']) . '" placeholder="Skype username / account name">';
996
+ echo '<p class="description">Skype username / account name.</p>';
997
+ echo '</td></tr>';
998
+
999
  echo '<tr valign="top">
1000
  <th scope="row"><label for="social_email">Email Address</label></th>
1001
+ <td><input id="social_email" type="email" class="regular-text code" name="' . UCP_OPTIONS_KEY . '[social_email]" value="' . esc_attr($options['social_email']) . '" placeholder="name@domain.com">';
1002
+ echo '<p class="description">Email will be encoded on the page to protect it from email address harvesters.</p>';
1003
+ echo '</td></tr>';
1004
+
1005
+ echo '<tr valign="top">
1006
+ <th scope="row"><label for="social_phone">Phone Number</label></th>
1007
+ <td><input id="social_phone" type="tel" class="regular-text" name="' . UCP_OPTIONS_KEY . '[social_phone]" value="' . esc_attr($options['social_phone']) . '" placeholder="+1-123-456-789">';
1008
+ echo '<p class="description">Complete phone number in international format.</p>';
1009
  echo '</td></tr>';
1010
 
1011
  echo '</table>';
1018
 
1019
  $img_path = UCP_PLUGIN_URL . 'images/';
1020
 
1021
+ $themes = array('mad_designer' => 'Mad Designer', 'plain_text' => 'Plain Text', 'under_construction' => 'Under Construction', 'dark' => 'Things Went Dark', 'forklift' => 'Forklift at Work', 'under_construction_text' => 'Under Construction Text', 'cyber_chick' => 'Cyber Chick', 'rocket' => 'Rocket Launch', 'loader' => 'Loader at Work', 'cyber_chick_dark' => 'Cyber Chick Dark', 'safe' => 'Safe');
1022
 
1023
  echo '<table class="form-table">';
1024
  echo '<tr valign="top">
1092
  } // tab_access
1093
 
1094
 
1095
+ // support tab - FAQ and links
1096
  static function tab_support() {
1097
+ echo '<h2>FAQ</h2>';
1098
+
1099
+ 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>';
1100
+
1101
+ echo '<p><b>How can I log in / access WordPress admin after construction mode has been enabled?</b><br>Enable the <a class="change_tab" data-tab="2" href="#login_button_wrap">Login Button</a> option under Content, and a login link will be shown in the lower right corner of the under construction page.</p>';
1102
 
1103
+ echo '<p><b>How do I add my logo to the page?</b><br>Head over to <a class="change_tab" data-tab="2" href="#content_wrap">Content</a> and click "Add Media". Upload/select the logo, position it as you see fit and add other content.</p>';
1104
+
1105
+ echo '<p><b>I\'ve made changes to UCP, but they are not visible. What do I do?</b><br>Click "Save Changes" one more time. Open your site and force refresh browser cache (Ctrl or Shift + F5). If that doesn\'t help it means you have a caching plugin installed. Purge/delete cache in that plugin or disable it.</p>';
1106
+
1107
+ echo '<h2><br>How to get support?</h2>';
1108
+
1109
+ echo '<p>We do our very best to keep <span class="ucp-logo">UnderConstructionPage</span> bug free and compatible with all plugins and themes. If you run into a problem head over to the <a target="_blank" href="http://wordpress.org/support/plugin/under-construction-page">official support forum</a>, open a new thread, and we\'ll help you ASAP.</p>';
1110
  } // tab_support
1111
 
1112
 
1130
  $tabs[] = array('id' => 'ucp_design', 'icon' => 'dashicons-admin-customizer', 'class' => '', 'label' => 'Design', 'callback' => array(__CLASS__, 'tab_design'));
1131
  $tabs[] = array('id' => 'ucp_content', 'icon' => 'dashicons-format-aside', 'class' => '', 'label' => 'Content', 'callback' => array(__CLASS__, 'tab_content'));
1132
  $tabs[] = array('id' => 'ucp_access', 'icon' => 'dashicons-shield', 'class' => '', 'label' => 'Access', 'callback' => array(__CLASS__, 'tab_access'));
1133
+ $tabs[] = array('id' => 'ucp_support', 'icon' => 'dashicons-sos', 'class' => '', 'label' => 'Support', 'callback' => array(__CLASS__, 'tab_support'));
 
 
1134
  $tabs = apply_filters('ucp_tabs', $tabs);
1135
 
1136
  echo '<div id="ucp_tabs" class="ui-tabs" style="display: none;">';