Version Description
- 2019/04/17
- bug fixes
- partnership with NordVPN
Download this release
Release Info
| Developer | WebFactory |
| Plugin | |
| Version | 3.40 |
| Comparing to | |
| See all releases | |
Code changes from version 3.35 to 3.40
- css/ucp-admin.css +103 -11
- images/nordvpn-logo.png +0 -0
- images/security-ninja-logo.png +0 -0
- readme.txt +8 -2
- under-construction.php +88 -8
css/ucp-admin.css
CHANGED
|
@@ -440,7 +440,7 @@ span.select2-container .select2-search--inline .select2-search__field {
|
|
| 440 |
font-weight: 600;
|
| 441 |
line-height: 32px;
|
| 442 |
color: #AAAAAA;
|
| 443 |
-
padding:
|
| 444 |
display: block;
|
| 445 |
letter-spacing: 1px;
|
| 446 |
}
|
|
@@ -504,6 +504,28 @@ span.select2-container .select2-search--inline .select2-search__field {
|
|
| 504 |
-webkit-box-shadow: none;
|
| 505 |
}
|
| 506 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 507 |
#ucp_tabs li span.dashicons-star-filled {
|
| 508 |
color: #FFC107;
|
| 509 |
}
|
|
@@ -550,16 +572,6 @@ s.settings_page_ucp .ucp-tabs-2nd-level li.ui-state-active a:before {
|
|
| 550 |
.ucp-tabs-2nd-level .form-table {
|
| 551 |
margin: 0;
|
| 552 |
}
|
| 553 |
-
|
| 554 |
-
@media screen and (max-width: 782px) {
|
| 555 |
-
.settings_page_ucp .ui-tabs .ui-tabs-nav li a {
|
| 556 |
-
padding: 5px 10px;
|
| 557 |
-
}
|
| 558 |
-
.settings_page_ucp .ui-tabs ul.ui-tabs-nav li {
|
| 559 |
-
margin: 5px 2px -5px 2px;
|
| 560 |
-
}
|
| 561 |
-
}
|
| 562 |
-
|
| 563 |
/* tabs */
|
| 564 |
|
| 565 |
|
|
@@ -959,3 +971,83 @@ option.weglot-promo {
|
|
| 959 |
color: #2980b9;
|
| 960 |
}
|
| 961 |
/* upsell dialog */
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 440 |
font-weight: 600;
|
| 441 |
line-height: 32px;
|
| 442 |
color: #AAAAAA;
|
| 443 |
+
padding: 10px 20px;
|
| 444 |
display: block;
|
| 445 |
letter-spacing: 1px;
|
| 446 |
}
|
| 504 |
-webkit-box-shadow: none;
|
| 505 |
}
|
| 506 |
|
| 507 |
+
@media screen and (max-width: 782px) {
|
| 508 |
+
.settings_page_ucp .ui-tabs ul.ui-tabs-nav li .label {
|
| 509 |
+
display: none;
|
| 510 |
+
}
|
| 511 |
+
.settings_page_ucp .ui-tabs .ui-tabs-nav li a {
|
| 512 |
+
padding: 8px 15px 0px 14px;
|
| 513 |
+
}
|
| 514 |
+
.settings_page_ucp .ui-tabs ul.ui-tabs-nav li {
|
| 515 |
+
margin: 5px 2px -5px 2px;
|
| 516 |
+
min-width: inherit;
|
| 517 |
+
}
|
| 518 |
+
}
|
| 519 |
+
|
| 520 |
+
@media screen and (max-width: 1150px) {
|
| 521 |
+
.settings_page_ucp .ui-tabs .ui-tabs-nav li a {
|
| 522 |
+
padding: 10px 15px 10px 15px;
|
| 523 |
+
}
|
| 524 |
+
.settings_page_ucp .ui-tabs ul.ui-tabs-nav li {
|
| 525 |
+
min-width: inherit;
|
| 526 |
+
}
|
| 527 |
+
}
|
| 528 |
+
|
| 529 |
#ucp_tabs li span.dashicons-star-filled {
|
| 530 |
color: #FFC107;
|
| 531 |
}
|
| 572 |
.ucp-tabs-2nd-level .form-table {
|
| 573 |
margin: 0;
|
| 574 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 575 |
/* tabs */
|
| 576 |
|
| 577 |
|
| 971 |
color: #2980b9;
|
| 972 |
}
|
| 973 |
/* upsell dialog */
|
| 974 |
+
|
| 975 |
+
.nordvpn {
|
| 976 |
+
font-variant: normal;
|
| 977 |
+
font-size: 14px;
|
| 978 |
+
font-weight: 400;
|
| 979 |
+
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
|
| 980 |
+
font-style: italic;
|
| 981 |
+
}
|
| 982 |
+
|
| 983 |
+
#ucp_security_ninja .button-primary {
|
| 984 |
+
text-decoration: none;
|
| 985 |
+
border-radius: 0px !important;
|
| 986 |
+
border-width: 0px !important;
|
| 987 |
+
border-color: transparent !important;
|
| 988 |
+
background: #499ed7;
|
| 989 |
+
color: #fff;
|
| 990 |
+
font-weight: bold !important;
|
| 991 |
+
box-shadow: none !important;
|
| 992 |
+
padding: 11px 40px;
|
| 993 |
+
height: auto !important;
|
| 994 |
+
text-transform: uppercase;
|
| 995 |
+
display: inline-block;
|
| 996 |
+
box-shadow: none !important;
|
| 997 |
+
outline: none !important;
|
| 998 |
+
white-space: inherit;
|
| 999 |
+
}
|
| 1000 |
+
|
| 1001 |
+
.sn-box p {
|
| 1002 |
+
font-size: 15px;
|
| 1003 |
+
text-align: left;
|
| 1004 |
+
max-width: 800px;
|
| 1005 |
+
display: inline-block;
|
| 1006 |
+
line-height: 1.8;
|
| 1007 |
+
}
|
| 1008 |
+
|
| 1009 |
+
.sn-box {
|
| 1010 |
+
margin: 10px 5px 20px 5px;
|
| 1011 |
+
text-align: center;
|
| 1012 |
+
background: #f9f9f9;
|
| 1013 |
+
padding: 30px 50px;
|
| 1014 |
+
border: 1px solid #e5e5e5;
|
| 1015 |
+
}
|
| 1016 |
+
|
| 1017 |
+
.sn-box h2 {
|
| 1018 |
+
border-bottom: none;
|
| 1019 |
+
font-size: 2em;
|
| 1020 |
+
line-height: 1.1;
|
| 1021 |
+
}
|
| 1022 |
+
|
| 1023 |
+
.sn-box h2 span {
|
| 1024 |
+
position: relative;
|
| 1025 |
+
}
|
| 1026 |
+
|
| 1027 |
+
.sn-box h2 span:after {
|
| 1028 |
+
border-bottom: 3px solid #499ed7;
|
| 1029 |
+
background-color: #499ed7;
|
| 1030 |
+
content: "";
|
| 1031 |
+
width: 100%;
|
| 1032 |
+
position: absolute;
|
| 1033 |
+
bottom: 2px;
|
| 1034 |
+
left: 0;
|
| 1035 |
+
}
|
| 1036 |
+
|
| 1037 |
+
#ucp_security_ninja .ucp-tab-content {
|
| 1038 |
+
max-width: 800px;
|
| 1039 |
+
}
|
| 1040 |
+
|
| 1041 |
+
#ucp_security_ninja .textcenter {
|
| 1042 |
+
text-align: center;
|
| 1043 |
+
}
|
| 1044 |
+
|
| 1045 |
+
.security-ninja-logo {
|
| 1046 |
+
margin: 10px 0 20px 0;
|
| 1047 |
+
display: block;
|
| 1048 |
+
text-align: center;
|
| 1049 |
+
}
|
| 1050 |
+
|
| 1051 |
+
.security-ninja-logo img {
|
| 1052 |
+
height: 80px;
|
| 1053 |
+
}
|
images/nordvpn-logo.png
ADDED
|
Binary file
|
images/security-ninja-logo.png
ADDED
|
Binary file
|
readme.txt
CHANGED
|
@@ -3,8 +3,8 @@ Contributors: WebFactory, UnderConstructionPage, googlemapswidget, securityninja
|
|
| 3 |
Tags: maintenance mode, maintenance page, coming soon page, landing page, under construction, under construction page, coming soon, launch page, coming soon mode, maintenance mode page, offline page, maintenance, multilingual, multilanguage
|
| 4 |
Requires at least: 4.0
|
| 5 |
Requires PHP: 5.2
|
| 6 |
-
Tested up to: 5.
|
| 7 |
-
Stable tag: 3.
|
| 8 |
License: GPLv2 or later
|
| 9 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
| 10 |
|
|
@@ -25,6 +25,7 @@ UCP has full support for collecting leads and subscribers via optin boxes in con
|
|
| 25 |
|
| 26 |
Thanks to our partnership with <a href="https://wordpress.org/plugins/weglot/">Weglot</a>, UCP is fully multilanguage ready and you can instantly translate your under construction page to 100+ languages with one click.
|
| 27 |
|
|
|
|
| 28 |
|
| 29 |
**Options**
|
| 30 |
|
|
@@ -137,6 +138,11 @@ Or if needed, upload manually;
|
|
| 137 |
|
| 138 |
== Changelog ==
|
| 139 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 140 |
= 3.35 =
|
| 141 |
* 2019/03/18
|
| 142 |
* 300,000 installs hit on 2019/01/18 with 2,151,500 downloads
|
| 3 |
Tags: maintenance mode, maintenance page, coming soon page, landing page, under construction, under construction page, coming soon, launch page, coming soon mode, maintenance mode page, offline page, maintenance, multilingual, multilanguage
|
| 4 |
Requires at least: 4.0
|
| 5 |
Requires PHP: 5.2
|
| 6 |
+
Tested up to: 5.2
|
| 7 |
+
Stable tag: 3.40
|
| 8 |
License: GPLv2 or later
|
| 9 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
| 10 |
|
| 25 |
|
| 26 |
Thanks to our partnership with <a href="https://wordpress.org/plugins/weglot/">Weglot</a>, UCP is fully multilanguage ready and you can instantly translate your under construction page to 100+ languages with one click.
|
| 27 |
|
| 28 |
+
Under Construction Page is proudly sponsored by <a href="https://nordvpn.com/">NordVPN</a>. The days of "hoping for the best" while surfing are long gone. NordVPN gives you peace of mind every time you use the public Wi-Fi, access personal and work accounts on the road, or want to keep your browsing history to yourself.
|
| 29 |
|
| 30 |
**Options**
|
| 31 |
|
| 138 |
|
| 139 |
== Changelog ==
|
| 140 |
|
| 141 |
+
= 3.40 =
|
| 142 |
+
* 2019/04/17
|
| 143 |
+
* bug fixes
|
| 144 |
+
* partnership with NordVPN
|
| 145 |
+
|
| 146 |
= 3.35 =
|
| 147 |
* 2019/03/18
|
| 148 |
* 300,000 installs hit on 2019/01/18 with 2,151,500 downloads
|
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: WebFactory Ltd
|
| 7 |
-
Version: 3.
|
| 8 |
Author URI: https://www.webfactoryltd.com/
|
| 9 |
Text Domain: under-construction-page
|
| 10 |
Domain Path: lang
|
|
@@ -88,6 +88,7 @@ class UCP {
|
|
| 88 |
add_action('admin_action_ucp_reset_settings', array(__CLASS__, 'reset_settings'));
|
| 89 |
add_action('admin_action_install_mailoptin', array(__CLASS__, 'install_mailoptin'));
|
| 90 |
add_action('admin_action_install_weglot', array(__CLASS__, 'install_weglot'));
|
|
|
|
| 91 |
|
| 92 |
// enqueue admin scripts
|
| 93 |
add_action('admin_enqueue_scripts', array(__CLASS__, 'admin_enqueue_scripts'), 100, 1);
|
|
@@ -1987,6 +1988,18 @@ class UCP {
|
|
| 1987 |
} // tab_access
|
| 1988 |
|
| 1989 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1990 |
// support tab - FAQ and links
|
| 1991 |
static function tab_support() {
|
| 1992 |
$user = wp_get_current_user();
|
|
@@ -2102,6 +2115,7 @@ class UCP {
|
|
| 2102 |
}
|
| 2103 |
echo '</div>';
|
| 2104 |
}
|
|
|
|
| 2105 |
|
| 2106 |
|
| 2107 |
echo '<div class="ucp-tab-content">';
|
|
@@ -2161,11 +2175,8 @@ class UCP {
|
|
| 2161 |
wp_die('You do not have sufficient permissions to access this page.');
|
| 2162 |
}
|
| 2163 |
|
| 2164 |
-
$options = self::get_options();
|
| 2165 |
-
$default_options = self::default_options();
|
| 2166 |
-
|
| 2167 |
echo '<div class="wrap">
|
| 2168 |
-
<h1 class="ucp-logo"><a href="' . admin_url('options-general.php?page=ucp') . '"><img src="' . UCP_PLUGIN_URL . 'images/ucp_logo.png" class="rotate" alt="UnderConstructionPage" title="UnderConstructionPage"><img src="' . UCP_PLUGIN_URL . 'images/ucp_logo_2.png" class="ucp-logo-text" alt="UnderConstructionPage" title="UnderConstructionPage"></a></h1>';
|
| 2169 |
|
| 2170 |
echo '<form action="options.php" method="post" id="ucp_form">';
|
| 2171 |
settings_fields(UCP_OPTIONS_KEY);
|
|
@@ -2177,25 +2188,28 @@ class UCP {
|
|
| 2177 |
$tabs[] = array('id' => 'ucp_access', 'icon' => 'dashicons-shield', 'class' => '', 'label' => __('Access', 'under-construction-page'), 'callback' => array(__CLASS__, 'tab_access'));
|
| 2178 |
$tabs[] = array('id' => 'ucp_support', 'icon' => 'dashicons-sos', 'class' => '', 'label' => __('Support', 'under-construction-page'), 'callback' => array(__CLASS__, 'tab_support'));
|
| 2179 |
$tabs[] = array('id' => 'ucp_pro', 'icon' => 'dashicons-star-filled', 'class' => '', 'label' => __('PRO', 'under-construction-page'), 'callback' => array(__CLASS__, 'tab_pro'));
|
|
|
|
|
|
|
|
|
|
|
|
|
| 2180 |
$tabs = apply_filters('ucp_tabs', $tabs);
|
| 2181 |
|
| 2182 |
echo '<div id="ucp_tabs" class="ui-tabs" style="display: none;">';
|
| 2183 |
echo '<ul class="ucp-main-tab">';
|
| 2184 |
foreach ($tabs as $tab) {
|
| 2185 |
-
if(!empty($tab['label'])){
|
| 2186 |
echo '<li><a href="#' . $tab['id'] . '" class="' . $tab['class'] . '"><span class="icon"><span class="dashicons ' . $tab['icon'] . '"></span></span><span class="label">' . $tab['label'] . '</span></a></li>';
|
| 2187 |
}
|
| 2188 |
}
|
| 2189 |
echo '</ul>';
|
| 2190 |
|
| 2191 |
foreach ($tabs as $tab) {
|
| 2192 |
-
if(is_callable($tab['callback'])) {
|
| 2193 |
echo '<div style="display: none;" id="' . $tab['id'] . '">';
|
| 2194 |
call_user_func($tab['callback']);
|
| 2195 |
echo '</div>';
|
| 2196 |
}
|
| 2197 |
} // foreach
|
| 2198 |
-
|
| 2199 |
echo '</div>'; // ucp_tabs
|
| 2200 |
|
| 2201 |
echo '</form>'; // ucp_tabs
|
|
@@ -2407,6 +2421,10 @@ class UCP {
|
|
| 2407 |
|
| 2408 |
// auto download / install / activate MailOptin plugin
|
| 2409 |
static function install_mailoptin() {
|
|
|
|
|
|
|
|
|
|
|
|
|
| 2410 |
$plugin_slug = 'mailoptin/mailoptin.php';
|
| 2411 |
$plugin_zip = 'https://downloads.wordpress.org/plugin/mailoptin.latest-stable.zip';
|
| 2412 |
|
|
@@ -2461,6 +2479,10 @@ class UCP {
|
|
| 2461 |
|
| 2462 |
// auto download / install / activate Weglot plugin
|
| 2463 |
static function install_weglot() {
|
|
|
|
|
|
|
|
|
|
|
|
|
| 2464 |
$plugin_slug = 'weglot/weglot.php';
|
| 2465 |
$plugin_zip = 'https://downloads.wordpress.org/plugin/weglot.latest-stable.zip';
|
| 2466 |
|
|
@@ -2513,6 +2535,64 @@ class UCP {
|
|
| 2513 |
} // install_weglot
|
| 2514 |
|
| 2515 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 2516 |
static function is_plugin_installed($slug) {
|
| 2517 |
if (!function_exists('get_plugins')) {
|
| 2518 |
require_once ABSPATH . 'wp-admin/includes/plugin.php';
|
| 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: WebFactory Ltd
|
| 7 |
+
Version: 3.40
|
| 8 |
Author URI: https://www.webfactoryltd.com/
|
| 9 |
Text Domain: under-construction-page
|
| 10 |
Domain Path: lang
|
| 88 |
add_action('admin_action_ucp_reset_settings', array(__CLASS__, 'reset_settings'));
|
| 89 |
add_action('admin_action_install_mailoptin', array(__CLASS__, 'install_mailoptin'));
|
| 90 |
add_action('admin_action_install_weglot', array(__CLASS__, 'install_weglot'));
|
| 91 |
+
add_action('admin_action_install_security_ninja', array(__CLASS__, 'install_security_ninja'));
|
| 92 |
|
| 93 |
// enqueue admin scripts
|
| 94 |
add_action('admin_enqueue_scripts', array(__CLASS__, 'admin_enqueue_scripts'), 100, 1);
|
| 1988 |
} // tab_access
|
| 1989 |
|
| 1990 |
|
| 1991 |
+
// security ninja tab
|
| 1992 |
+
static function tab_security_ninja() {
|
| 1993 |
+
echo '<div class="ucp-tab-content">';
|
| 1994 |
+
echo '<h3 class="security-ninja-logo"><a href="https://wpsecurityninja.com/?utm_source=ucp-free&utm_medium=plugin&utm_content=sn-tab-logo&utm_campaign=ucp-free-v3.40" target="_blank"><img src="' . UCP_PLUGIN_URL . 'images/security-ninja-logo.png" alt="Security Ninja" title="Security Ninja"></a></h3>';
|
| 1995 |
+
|
| 1996 |
+
echo '<div class="sn-box"><h2>Protect your site from hackers <span>from day one</span>! Perform 50+ tests to see how secure it is</h2>';
|
| 1997 |
+
echo '<p>Getting hacked sucks! We created <b>Security Ninja</b> more than seven years ago to <b>save you money, time & nerves</b>. Security Ninja will give you a clear understanding of what\'s going on if an attack occurs, and cleaning up a site in a worse-case scenario will be a breeze. Save yourself hours of frustration and <b>hundreds of dollars in repair fees</b> by installing Security Ninja for free.</p>';
|
| 1998 |
+
echo '<p class="textcenter"><a href="' . add_query_arg(array('action' => 'install_security_ninja'), admin_url('admin.php')), '" target="_blank" class="button button-primary button-large">Install & activate Security Ninja for FREE and perform 50+ tests on your site</a><br>or visit <a href="https://wpsecurityninja.com/?utm_source=ucp-free&utm_medium=plugin&utm_content=sn-tab-more&utm_campaign=ucp-free-v3.40" target="_blank">wpsecurityninja.com</a> to find out more</p>';
|
| 1999 |
+
echo '</div>';
|
| 2000 |
+
echo '</div>';
|
| 2001 |
+
} // tab_security_ninja
|
| 2002 |
+
|
| 2003 |
// support tab - FAQ and links
|
| 2004 |
static function tab_support() {
|
| 2005 |
$user = wp_get_current_user();
|
| 2115 |
}
|
| 2116 |
echo '</div>';
|
| 2117 |
}
|
| 2118 |
+
echo '</div>';
|
| 2119 |
|
| 2120 |
|
| 2121 |
echo '<div class="ucp-tab-content">';
|
| 2175 |
wp_die('You do not have sufficient permissions to access this page.');
|
| 2176 |
}
|
| 2177 |
|
|
|
|
|
|
|
|
|
|
| 2178 |
echo '<div class="wrap">
|
| 2179 |
+
<h1 class="ucp-logo"><a href="' . admin_url('options-general.php?page=ucp') . '"><img src="' . UCP_PLUGIN_URL . 'images/ucp_logo.png" class="rotate" alt="UnderConstructionPage" title="UnderConstructionPage"><img src="' . UCP_PLUGIN_URL . 'images/ucp_logo_2.png" class="ucp-logo-text" alt="UnderConstructionPage" title="UnderConstructionPage"></a> <span class="nordvpn">proudly sponsored by <a href="http://nordvpn.org/webfactory" title="NordVPN" target="_blank"><img src="' . UCP_PLUGIN_URL . '/images/nordvpn-logo.png" alt="NordVPN" title="NordVPN"></a></span></h1>';
|
| 2180 |
|
| 2181 |
echo '<form action="options.php" method="post" id="ucp_form">';
|
| 2182 |
settings_fields(UCP_OPTIONS_KEY);
|
| 2188 |
$tabs[] = array('id' => 'ucp_access', 'icon' => 'dashicons-shield', 'class' => '', 'label' => __('Access', 'under-construction-page'), 'callback' => array(__CLASS__, 'tab_access'));
|
| 2189 |
$tabs[] = array('id' => 'ucp_support', 'icon' => 'dashicons-sos', 'class' => '', 'label' => __('Support', 'under-construction-page'), 'callback' => array(__CLASS__, 'tab_support'));
|
| 2190 |
$tabs[] = array('id' => 'ucp_pro', 'icon' => 'dashicons-star-filled', 'class' => '', 'label' => __('PRO', 'under-construction-page'), 'callback' => array(__CLASS__, 'tab_pro'));
|
| 2191 |
+
if (!defined('WF_SN_BASE_FILE')) {
|
| 2192 |
+
$tabs[] = array('id' => 'ucp_security_ninja', 'icon' => 'dashicons-shield-alt', 'class' => '', 'label' => __('Security Ninja', 'under-construction-page'), 'callback' => array(__CLASS__, 'tab_security_ninja'));
|
| 2193 |
+
}
|
| 2194 |
+
|
| 2195 |
$tabs = apply_filters('ucp_tabs', $tabs);
|
| 2196 |
|
| 2197 |
echo '<div id="ucp_tabs" class="ui-tabs" style="display: none;">';
|
| 2198 |
echo '<ul class="ucp-main-tab">';
|
| 2199 |
foreach ($tabs as $tab) {
|
| 2200 |
+
if (!empty($tab['label'])){
|
| 2201 |
echo '<li><a href="#' . $tab['id'] . '" class="' . $tab['class'] . '"><span class="icon"><span class="dashicons ' . $tab['icon'] . '"></span></span><span class="label">' . $tab['label'] . '</span></a></li>';
|
| 2202 |
}
|
| 2203 |
}
|
| 2204 |
echo '</ul>';
|
| 2205 |
|
| 2206 |
foreach ($tabs as $tab) {
|
| 2207 |
+
if (is_callable($tab['callback'])) {
|
| 2208 |
echo '<div style="display: none;" id="' . $tab['id'] . '">';
|
| 2209 |
call_user_func($tab['callback']);
|
| 2210 |
echo '</div>';
|
| 2211 |
}
|
| 2212 |
} // foreach
|
|
|
|
| 2213 |
echo '</div>'; // ucp_tabs
|
| 2214 |
|
| 2215 |
echo '</form>'; // ucp_tabs
|
| 2421 |
|
| 2422 |
// auto download / install / activate MailOptin plugin
|
| 2423 |
static function install_mailoptin() {
|
| 2424 |
+
if (false === current_user_can('administrator')) {
|
| 2425 |
+
wp_die('Sorry, you have to be an admin to run this action.');
|
| 2426 |
+
}
|
| 2427 |
+
|
| 2428 |
$plugin_slug = 'mailoptin/mailoptin.php';
|
| 2429 |
$plugin_zip = 'https://downloads.wordpress.org/plugin/mailoptin.latest-stable.zip';
|
| 2430 |
|
| 2479 |
|
| 2480 |
// auto download / install / activate Weglot plugin
|
| 2481 |
static function install_weglot() {
|
| 2482 |
+
if (false === current_user_can('administrator')) {
|
| 2483 |
+
wp_die('Sorry, you have to be an admin to run this action.');
|
| 2484 |
+
}
|
| 2485 |
+
|
| 2486 |
$plugin_slug = 'weglot/weglot.php';
|
| 2487 |
$plugin_zip = 'https://downloads.wordpress.org/plugin/weglot.latest-stable.zip';
|
| 2488 |
|
| 2535 |
} // install_weglot
|
| 2536 |
|
| 2537 |
|
| 2538 |
+
// auto download / install / activate Security Ninja
|
| 2539 |
+
static function install_security_ninja() {
|
| 2540 |
+
if (false === current_user_can('administrator')) {
|
| 2541 |
+
wp_die('Sorry, you have to be an admin to run this action.');
|
| 2542 |
+
}
|
| 2543 |
+
|
| 2544 |
+
$plugin_slug = 'security-ninja/security-ninja.php';
|
| 2545 |
+
$plugin_zip = 'https://downloads.wordpress.org/plugin/security-ninja.latest-stable.zip';
|
| 2546 |
+
|
| 2547 |
+
@include_once ABSPATH . 'wp-admin/includes/plugin.php';
|
| 2548 |
+
@include_once ABSPATH . 'wp-admin/includes/class-wp-upgrader.php';
|
| 2549 |
+
@include_once ABSPATH . 'wp-admin/includes/plugin-install.php';
|
| 2550 |
+
@include_once ABSPATH . 'wp-admin/includes/file.php';
|
| 2551 |
+
@include_once ABSPATH . 'wp-admin/includes/misc.php';
|
| 2552 |
+
echo '<style>
|
| 2553 |
+
body{
|
| 2554 |
+
font-family: sans-serif;
|
| 2555 |
+
font-size: 14px;
|
| 2556 |
+
line-height: 1.5;
|
| 2557 |
+
color: #444;
|
| 2558 |
+
}
|
| 2559 |
+
</style>';
|
| 2560 |
+
|
| 2561 |
+
echo '<div style="margin: 20px; color:#444;">';
|
| 2562 |
+
echo 'If things are not done in a minute <a target="_parent" href="' . admin_url('plugin-install.php?s=security+ninja&tab=search&type=term') .'">install the plugin manually via Plugins page</a><br><br>';
|
| 2563 |
+
echo 'Starting ...<br><br>';
|
| 2564 |
+
|
| 2565 |
+
wp_cache_flush();
|
| 2566 |
+
$upgrader = new Plugin_Upgrader();
|
| 2567 |
+
echo 'Check if Security Ninja is already installed ... <br />';
|
| 2568 |
+
if (self::is_plugin_installed($plugin_slug)) {
|
| 2569 |
+
echo 'Security Ninja is already installed! <br /><br />Making sure it\'s the latest version.<br />';
|
| 2570 |
+
$upgrader->upgrade($plugin_slug);
|
| 2571 |
+
$installed = true;
|
| 2572 |
+
} else {
|
| 2573 |
+
echo 'Installing Security Ninja.<br />';
|
| 2574 |
+
$installed = $upgrader->install($plugin_zip);
|
| 2575 |
+
}
|
| 2576 |
+
wp_cache_flush();
|
| 2577 |
+
|
| 2578 |
+
if (!is_wp_error($installed) && $installed) {
|
| 2579 |
+
echo 'Activating Security Ninja.<br />';
|
| 2580 |
+
$activate = activate_plugin($plugin_slug);
|
| 2581 |
+
|
| 2582 |
+
if (is_null($activate)) {
|
| 2583 |
+
echo 'Security Ninja Activated.<br />';
|
| 2584 |
+
|
| 2585 |
+
echo '<script>setTimeout(function() { top.location = "tools.php?page=wf-sn"; }, 500);</script>';
|
| 2586 |
+
echo '<br>If you are not redirected in a few seconds - <a href="tools.php?page=wf-sn" target="_parent">click here</a>.';
|
| 2587 |
+
}
|
| 2588 |
+
} else {
|
| 2589 |
+
echo 'Could not install Security Ninja. You\'ll have to <a target="_parent" href="' . admin_url('plugin-install.php?s=security+ninja&tab=search&type=term') .'">download and install manually</a>.';
|
| 2590 |
+
}
|
| 2591 |
+
|
| 2592 |
+
echo '</div>';
|
| 2593 |
+
} // install_security_ninja
|
| 2594 |
+
|
| 2595 |
+
|
| 2596 |
static function is_plugin_installed($slug) {
|
| 2597 |
if (!function_exists('get_plugins')) {
|
| 2598 |
require_once ABSPATH . 'wp-admin/includes/plugin.php';
|
