first commit
This commit is contained in:
@@ -0,0 +1,216 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* @package Duplicator
|
||||
*/
|
||||
|
||||
use Duplicator\Addons\ProBase\License\License;
|
||||
use Duplicator\Addons\ProBase\LicensingController;
|
||||
use Duplicator\Addons\ProBase\Models\LicenseData;
|
||||
use Duplicator\Core\Controllers\ControllersManager;
|
||||
|
||||
defined("ABSPATH") or die("");
|
||||
|
||||
/**
|
||||
* Variables
|
||||
*
|
||||
* @var Duplicator\Core\Controllers\ControllersManager $ctrlMng
|
||||
* @var Duplicator\Core\Views\TplMng $tplMng
|
||||
* @var array<string, mixed> $tplData
|
||||
*/
|
||||
|
||||
$global = DUP_PRO_Global_Entity::getInstance();
|
||||
LicenseData::getInstance()->clearCache();
|
||||
|
||||
$license_status = LicenseData::getInstance()->getStatus();
|
||||
$license_type = License::getType();
|
||||
$license_text_disabled = false;
|
||||
$activate_button_text = __('Activate', 'duplicator-pro');
|
||||
$license_status_text_alt = false;
|
||||
|
||||
|
||||
switch ($license_status) {
|
||||
case LicenseData::STATUS_VALID:
|
||||
$license_status_style = 'color:#509B18';
|
||||
$activate_button_text = __('Deactivate', 'duplicator-pro');
|
||||
$license_text_disabled = true;
|
||||
|
||||
$license_key = License::getLicenseKey();
|
||||
|
||||
$license_status_text = '<b>' . __('Status: ', 'duplicator-pro') . '</b>' . __('Active', 'duplicator-pro');
|
||||
$license_status_text .= '<br/>';
|
||||
$license_status_text .= '<b>' . __('Expiration: ', 'duplicator-pro') . '</b>';
|
||||
$license_status_text .= LicenseData::getInstance()->getExpirationDate(get_option('date_format'));
|
||||
$expDays = LicenseData::getInstance()->getExpirationDays();
|
||||
|
||||
if ($expDays === false) {
|
||||
$expDays = __('no data', 'duplicator-pro');
|
||||
} elseif ($expDays <= 0) {
|
||||
$expDays = __('expired', 'duplicator-pro');
|
||||
} elseif ($expDays == PHP_INT_MAX) {
|
||||
$expDays = __('no expiration', 'duplicator-pro');
|
||||
} else {
|
||||
$expDays = sprintf(__('%d days left', 'duplicator-pro'), $expDays);
|
||||
}
|
||||
|
||||
$license_status_text .= ' (<b>' . $expDays . '</b>)';
|
||||
break;
|
||||
case LicenseData::STATUS_INACTIVE:
|
||||
$license_status_style = 'color:#dd3d36;';
|
||||
$license_status_text = __('Status: Inactive', 'duplicator-pro');
|
||||
break;
|
||||
case LicenseData::STATUS_SITE_INACTIVE:
|
||||
$license_status_style = 'color:#dd3d36;';
|
||||
$global = DUP_PRO_Global_Entity::getInstance();
|
||||
|
||||
if (LicenseData::getInstance()->haveNoActivationsLeft()) {
|
||||
$license_status_text = __('Status: Inactive (out of site licenses).', 'duplicator-pro') . '<br>' . License::getNoActivationLeftMessage();
|
||||
} else {
|
||||
$license_status_text = __('Status: Inactive', 'duplicator-pro');
|
||||
}
|
||||
break;
|
||||
case LicenseData::STATUS_EXPIRED:
|
||||
$renewal_url = DUPLICATOR_PRO_BLOG_URL . 'checkout?edd_license_key=' . License::getLicenseKey();
|
||||
$license_status_style = 'color:#dd3d36;';
|
||||
$license_status_text = sprintf(
|
||||
_x(
|
||||
'Your Duplicator Pro license key has expired so you aren\'t getting important updates! %1$sRenew your license now%2$s',
|
||||
'1: <a> tag, 2: </a> tag',
|
||||
'duplicator-pro'
|
||||
),
|
||||
'<a target="_blank" href="' . $renewal_url . '">',
|
||||
'</a>'
|
||||
);
|
||||
break;
|
||||
default:
|
||||
// https://duplicator.com/knowledge-base/how-to-resolve-license-activation-issues/
|
||||
$license_status_style = 'color:#dd3d36;';
|
||||
$license_status_text = '<b>' . __('Status: ', 'duplicator-pro') . '</b>' .
|
||||
LicenseData::getInstance()->getLicenseStatusString() . '<br/>';
|
||||
$license_status_text_alt = true;
|
||||
break;
|
||||
}
|
||||
?>
|
||||
|
||||
|
||||
<form
|
||||
id="dup-license-activation-form"
|
||||
action="<?php echo esc_url(ControllersManager::getCurrentLink()); ?>"
|
||||
method="post"
|
||||
data-parsley-validate
|
||||
>
|
||||
<h3 class="title"><?php esc_html_e('Activation', 'duplicator-pro') ?> </h3>
|
||||
<hr size="1" />
|
||||
<table class="form-table">
|
||||
<?php
|
||||
if ($global->license_key_visible !== License::VISIBILITY_NONE) : ?>
|
||||
<tr valign="top" id="dup-tr-license-dashboard">
|
||||
<th scope="row"><?php esc_html_e('Dashboard', 'duplicator-pro') ?></th>
|
||||
<td>
|
||||
<i class="fa fa-th-large fa-sm"></i>
|
||||
<a target="_blank" href="<?php echo esc_url(DUPLICATOR_PRO_BLOG_URL . 'my-account'); ?>">
|
||||
<?php
|
||||
esc_html_e('Manage Account Online', 'duplicator-pro')
|
||||
?>
|
||||
</a>
|
||||
</td>
|
||||
</tr>
|
||||
<tr valign="top" id="dup-tr-license-type">
|
||||
<th scope="row"><?php esc_html_e('License Type', 'duplicator-pro') ?></th>
|
||||
<td class="dup-license-type">
|
||||
<?php LicensingController::displayLicenseInfo(); ?>
|
||||
</td>
|
||||
</tr>
|
||||
<?php endif; ?>
|
||||
<?php if ($global->license_key_visible === License::VISIBILITY_ALL) : ?>
|
||||
<tr valign="top" id="dup-tr-license-key-and-description">
|
||||
<th scope="row">
|
||||
<label><?php esc_html_e('License Key', 'duplicator-pro'); ?></label>
|
||||
</th>
|
||||
<td class="dup-license-key-area">
|
||||
<input
|
||||
type="text"
|
||||
class="dup-license-key-input"
|
||||
name="_license_key"
|
||||
id="_license_key"
|
||||
value="<?php echo esc_attr(License::getLicenseKey()); ?>">
|
||||
<br>
|
||||
<p class="description">
|
||||
<span style="<?php echo esc_attr($license_status_style); ?>" >
|
||||
<?php
|
||||
echo wp_kses(
|
||||
$license_status_text,
|
||||
[
|
||||
'a' => [
|
||||
'href' => [],
|
||||
'target' => [],
|
||||
],
|
||||
'b' => [],
|
||||
'br' => [],
|
||||
]
|
||||
);
|
||||
?>
|
||||
</span>
|
||||
<?php
|
||||
if ($license_status_text_alt) {
|
||||
esc_html_e('If license activation fails please wait a few minutes and retry.', 'duplicator-pro');
|
||||
?>
|
||||
<div class="dup-license-status-notes ">
|
||||
<?php
|
||||
printf(
|
||||
esc_html_x(
|
||||
'- Failure to activate after several attempts please review %1$sfaq activation steps%2$s.',
|
||||
'1 and 2 represent opening and closing anchor tags (<a> and </a>)',
|
||||
'duplicator-pro'
|
||||
),
|
||||
'<a target="_blank" href="' . esc_url(DUPLICATOR_PRO_DUPLICATOR_DOCS_URL . 'how-to-resolve-license-activation-issues/') . '">',
|
||||
'</a>'
|
||||
);
|
||||
?>
|
||||
<br/>
|
||||
<?php
|
||||
printf(
|
||||
esc_html_x(
|
||||
'- To upgrade or renew your license visit %1$sduplicator.com%2$s.',
|
||||
'1 and 2 represent opening and closing anchor tags (<a> and </a>)',
|
||||
'duplicator-pro'
|
||||
),
|
||||
'<a target="_blank" href="' . esc_url(DUPLICATOR_PRO_BLOG_URL) . '">',
|
||||
'</a>'
|
||||
);
|
||||
?>
|
||||
<br/>
|
||||
<?php esc_html_e('- A valid key is needed for plugin updates but not for functionality.', 'duplicator-pro'); ?>
|
||||
</div>
|
||||
<?php } ?>
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<?php endif;?>
|
||||
<tr>
|
||||
<th scope="row" class="dup-license-key-btns">
|
||||
<label><?php esc_html_e('License Action', 'duplicator-pro'); ?></label>
|
||||
</th>
|
||||
<td class="dup-license-key-btns">
|
||||
<?php $echostring = (($license_status != LicenseData::STATUS_VALID) ? 'true' : 'false'); ?>
|
||||
<div class="dup-license-key-btns">
|
||||
<?php if ($global->license_key_visible === License::VISIBILITY_ALL) : ?>
|
||||
<button
|
||||
id="dup-license-activation-btn"
|
||||
class="button"
|
||||
onclick="DupPro.Licensing.ChangeActivationStatus(<?php echo esc_js($echostring); ?>);return false;">
|
||||
<?php echo esc_html($activate_button_text); ?>
|
||||
</button>
|
||||
<?php endif;?>
|
||||
<button
|
||||
id="dup-license-clear-btn"
|
||||
class="button"
|
||||
onclick="DupPro.Licensing.ClearActivationStatus();return false;"
|
||||
>
|
||||
<?php esc_html_e('Clear Key', 'duplicator-pro') ?>
|
||||
</button>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</form>
|
||||
@@ -0,0 +1,80 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* @package Duplicator
|
||||
*/
|
||||
|
||||
use Duplicator\Addons\ProBase\License\License;
|
||||
use Duplicator\Addons\ProBase\LicensingController;
|
||||
|
||||
defined("ABSPATH") or die("");
|
||||
|
||||
/**
|
||||
* Variables
|
||||
*
|
||||
* @var Duplicator\Core\Controllers\ControllersManager $ctrlMng
|
||||
* @var Duplicator\Core\Views\TplMng $tplMng
|
||||
* @var array<string, mixed> $tplData
|
||||
*/
|
||||
|
||||
$tplMng->render('licensing/activation');
|
||||
$tplMng->render('licensing/visibility');
|
||||
?>
|
||||
|
||||
<script>
|
||||
jQuery(document).ready(function($) {
|
||||
DupPro.Licensing = new Object();
|
||||
DupPro.Licensing.VISIBILITY_ALL = <?php echo (int) License::VISIBILITY_ALL;?>;
|
||||
DupPro.Licensing.VISIBILITY_INFO = <?php echo (int) License::VISIBILITY_INFO;?>;
|
||||
DupPro.Licensing.VISIBILITY_NONE = <?php echo (int) License::VISIBILITY_NONE;?>;
|
||||
|
||||
$("#_key_password, #_key_password_confirmation").keyup(function(event) {
|
||||
|
||||
if (event.keyCode == 13) {
|
||||
$("#show_hide").click();
|
||||
}
|
||||
});
|
||||
|
||||
DupPro.Licensing.ChangeActivationStatus = function(activate) {
|
||||
if (activate) {
|
||||
let licenseKey = $('.dup-license-key-input').val();
|
||||
window.location.href =
|
||||
<?php echo json_encode($tplData['actions'][LicensingController::ACTION_ACTIVATE_LICENSE]->getUrl()); ?> +
|
||||
'&_license_key=' + encodeURIComponent(licenseKey);
|
||||
} else {
|
||||
window.location.href = <?php echo json_encode($tplData['actions'][LicensingController::ACTION_DEACTIVATE_LICENSE]->getUrl()); ?>;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
DupPro.Licensing.ClearActivationStatus = function() {
|
||||
window.location.href = <?php echo json_encode($tplData['actions'][LicensingController::ACTION_CLEAR_KEY]->getUrl()); ?>;
|
||||
}
|
||||
|
||||
DupPro.Licensing.ChangeKeyVisibility = function(show) {
|
||||
$('#dup-license-visibility-form').submit();
|
||||
}
|
||||
|
||||
DupPro.Licensing.VisibilityTemporary = function(visibility) {
|
||||
switch (visibility) {
|
||||
case DupPro.Licensing.VISIBILITY_ALL:
|
||||
$("#dup-tr-license-dashboard").show();
|
||||
$("#dup-tr-license-type").show();
|
||||
$("#dup-tr-license-key-and-description").show();
|
||||
break;
|
||||
case DupPro.Licensing.VISIBILITY_INFO:
|
||||
$("#dup-tr-license-dashboard").show();
|
||||
$("#dup-tr-license-type").show();
|
||||
$("#dup-tr-license-key-and-description").hide();
|
||||
break;
|
||||
case DupPro.Licensing.VISIBILITY_NONE:
|
||||
$("#dup-tr-license-dashboard").hide();
|
||||
$("#dup-tr-license-type").hide();
|
||||
$("#dup-tr-license-key-and-description").hide();
|
||||
break;
|
||||
default:
|
||||
alert("Unexpected visibility value!");
|
||||
}
|
||||
}
|
||||
});
|
||||
</script>
|
||||
@@ -0,0 +1,68 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* @package Duplicator
|
||||
*/
|
||||
|
||||
use Duplicator\Libs\Snap\SnapUtil;
|
||||
|
||||
defined("ABSPATH") or die("");
|
||||
|
||||
/**
|
||||
* Variables
|
||||
*
|
||||
* @var Duplicator\Core\Controllers\ControllersManager $ctrlMng
|
||||
* @var Duplicator\Core\Views\TplMng $tplMng
|
||||
* @var array<string, mixed> $tplData
|
||||
*/
|
||||
|
||||
if (empty($tplData['license_message'])) {
|
||||
return;
|
||||
}
|
||||
|
||||
$details = "";
|
||||
if (isset($tplData['license_request_error'])) {
|
||||
$details = 'Message: ' . $tplData['license_request_error']['message'] . "\n" .
|
||||
'Error code: ' . $tplData['license_request_error']['code'] . "\n" .
|
||||
"\n" . 'Request Details' . "\n" .
|
||||
$tplData['license_request_error']['requestDetails'] .
|
||||
"\n" . 'Response Details' . "\n" .
|
||||
$tplData['license_request_error']['details'];
|
||||
}
|
||||
|
||||
?>
|
||||
<p>
|
||||
<?php if (!$tplData['license_success']) { ?>
|
||||
<i class="fa fa-exclamation-triangle"></i>
|
||||
<?php } ?>
|
||||
<?php echo esc_html($tplData['license_message']) ?>
|
||||
</p>
|
||||
<?php if (isset($tplData['license_request_error'])) {
|
||||
?>
|
||||
<textarea class="dup-error-message-textarea" disabled ><?php echo esc_textarea($details); ?></textarea>
|
||||
<button
|
||||
data-dup-copy-value="<?php echo esc_attr($details); ?>"
|
||||
data-dup-copy-title="<?php echo esc_attr("Copy Error Message to clipboard"); ?>"
|
||||
data-dup-copied-title="<?php echo esc_attr("Error Message copied to clipboard"); ?>"
|
||||
class="button dup-btn-copy-error-message">
|
||||
<?php esc_html_e('Copy error details', 'duplicator-pro'); ?>
|
||||
</button>
|
||||
<?php if (!SnapUtil::isCurlEnabled()) {
|
||||
$tplMng->render('licensing/notices/curl_message');
|
||||
} ?>
|
||||
<p>
|
||||
<?php
|
||||
printf(
|
||||
wp_kses(
|
||||
__("If the error persists please open a ticket <a href=\"%s\">here</a> and attach the errors details.", 'duplicator-pro'),
|
||||
array(
|
||||
'a' => array(
|
||||
'href' => array(),
|
||||
),
|
||||
)
|
||||
),
|
||||
esc_url(DUPLICATOR_PRO_BLOG_URL . 'my-account/support/')
|
||||
);
|
||||
?>
|
||||
</p>
|
||||
<?php } ?>
|
||||
@@ -0,0 +1,47 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* @package Duplicator
|
||||
*/
|
||||
|
||||
use Duplicator\Views\ViewHelper;
|
||||
|
||||
defined("ABSPATH") or die("");
|
||||
|
||||
/**
|
||||
* Variables
|
||||
*
|
||||
* @var Duplicator\Core\Controllers\ControllersManager $ctrlMng
|
||||
* @var Duplicator\Core\Views\TplMng $tplMng
|
||||
* @var array<string, mixed> $tplData
|
||||
*/
|
||||
?>
|
||||
<p>
|
||||
<?php
|
||||
echo wp_kses(
|
||||
__(
|
||||
'<b>CURL isn\'t enabled.</b> This module is far more reliable for remote communication.',
|
||||
'duplicator-pro'
|
||||
),
|
||||
ViewHelper::GEN_KSES_TAGS
|
||||
);
|
||||
?>
|
||||
</br>
|
||||
<?php esc_html_e('A possible solution to the problem could be to activate it.', 'duplicator-pro'); ?>
|
||||
</br>
|
||||
<?php
|
||||
printf(
|
||||
wp_kses(
|
||||
_x(
|
||||
'For detailed steps on how to enable cURL please see <b>Solution 3, Issue A</b> in %1$sthis FAQ Entry%2$s.',
|
||||
'%1$s and %2$s represents the opening and closing HTML tags for an anchor or link',
|
||||
'duplicator-pro'
|
||||
),
|
||||
ViewHelper::GEN_KSES_TAGS
|
||||
),
|
||||
'<a href="' . esc_url(DUPLICATOR_PRO_DUPLICATOR_DOCS_URL . 'how-to-resolve-license-activation-issues/') . '" target="_blank">',
|
||||
'</a>'
|
||||
);
|
||||
?>
|
||||
<br/>
|
||||
</p>
|
||||
@@ -0,0 +1,61 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* @package Duplicator
|
||||
*/
|
||||
|
||||
use Duplicator\Addons\ProBase\License\License;
|
||||
|
||||
defined("ABSPATH") or die("");
|
||||
|
||||
/**
|
||||
* Variables
|
||||
*
|
||||
* @var Duplicator\Core\Controllers\ControllersManager $ctrlMng
|
||||
* @var Duplicator\Core\Views\TplMng $tplMng
|
||||
* @var array<string, mixed> $tplData
|
||||
*/
|
||||
$daysLeft = $tplData['schedule_disalbe_days_left'];
|
||||
$activeSchedule = $tplData['active_schedule_present'];
|
||||
|
||||
if ($daysLeft === false) {
|
||||
return;
|
||||
}
|
||||
|
||||
if ($activeSchedule) {
|
||||
?>
|
||||
<u>
|
||||
<?php
|
||||
if (License::can(License::CAPABILITY_SCHEDULE)) {
|
||||
$message = sprintf(
|
||||
_n(
|
||||
'Scheduled Backups are going to be disabled <b><em>in %d day</em></b>.',
|
||||
'Scheduled Backups are going to be disabled <b><em>in %d days</em></b>.',
|
||||
$daysLeft,
|
||||
'duplicator-pro'
|
||||
),
|
||||
$daysLeft
|
||||
);
|
||||
$message .= __(' Please renew your license to assure your backups are not interrupted.', 'duplicator-pro');
|
||||
echo wp_kses(
|
||||
$message,
|
||||
array(
|
||||
'b' => array(),
|
||||
'em' => array(),
|
||||
)
|
||||
);
|
||||
} else {
|
||||
esc_html_e(
|
||||
'All automatic backups have been disabeld. Please renew your license to re-enable them.',
|
||||
'duplicator-pro'
|
||||
);
|
||||
}
|
||||
?>
|
||||
</u>
|
||||
<?php
|
||||
} else {
|
||||
esc_html_e(
|
||||
'Scheduled Backups.',
|
||||
'duplicator-pro'
|
||||
);
|
||||
}
|
||||
@@ -0,0 +1,38 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* @package Duplicator
|
||||
*/
|
||||
|
||||
defined("ABSPATH") or die("");
|
||||
|
||||
/**
|
||||
* Variables
|
||||
*
|
||||
* @var Duplicator\Core\Controllers\ControllersManager $ctrlMng
|
||||
* @var Duplicator\Core\Views\TplMng $tplMng
|
||||
* @var array<string, mixed> $tplData
|
||||
*/
|
||||
|
||||
$renewal_url = $tplData['renewal_url'];
|
||||
?>
|
||||
<span class='dashicons dashicons-warning'></span>
|
||||
<div class="dup-sub-content">
|
||||
<h3>
|
||||
<?php esc_html_e('Warning! Your Duplicator Pro license has expired...', 'duplicator-pro');?>
|
||||
</h3>
|
||||
<?php esc_html_e('You\'re currently missing:', 'duplicator-pro'); ?>
|
||||
<ul class="dup-pro-simple-style-disc" >
|
||||
<li><?php esc_html_e('Access to Advanced Features', 'duplicator-pro'); ?></li>
|
||||
<li><?php $tplMng->render('licensing/notices/drm_schedules_msg'); ?></li>
|
||||
<li><?php esc_html_e('Storages Management', 'duplicator-pro'); ?></li>
|
||||
<li><?php esc_html_e('Templates Management', 'duplicator-pro'); ?></li>
|
||||
<li><?php esc_html_e('New Features', 'duplicator-pro'); ?></li>
|
||||
<li><?php esc_html_e('Important Updates for Security Patches', 'duplicator-pro'); ?></li>
|
||||
<li><?php esc_html_e('Bug Fixes', 'duplicator-pro'); ?></li>
|
||||
<li><?php esc_html_e('Support Requests', 'duplicator-pro'); ?></li>
|
||||
</ul>
|
||||
<a class="button" target="_blank" href="<?php echo esc_url($renewal_url); ?>">
|
||||
<?php esc_html_e('Renew Now!', 'duplicator-pro'); ?>
|
||||
</a>
|
||||
</div>
|
||||
@@ -0,0 +1,62 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* @package Duplicator
|
||||
*/
|
||||
|
||||
use Duplicator\Addons\ProBase\LicensingController;
|
||||
use Duplicator\Core\Controllers\ControllersManager;
|
||||
use Duplicator\Views\ViewHelper;
|
||||
|
||||
defined("ABSPATH") or die("");
|
||||
|
||||
/**
|
||||
* Variables
|
||||
*
|
||||
* @var Duplicator\Core\Controllers\ControllersManager $ctrlMng
|
||||
* @var Duplicator\Core\Views\TplMng $tplMng
|
||||
* @var array<string, mixed> $tplData
|
||||
*/
|
||||
|
||||
$img_url = plugins_url('duplicator-pro/assets/img/warning.png');
|
||||
$problem_text = $tplData['problem'];
|
||||
$licensing_tab_url = ControllersManager::getMenuLink(ControllersManager::SETTINGS_SUBMENU_SLUG, LicensingController::L2_SLUG_LICENSING);
|
||||
?>
|
||||
<span class='dashicons dashicons-warning'></span>
|
||||
<div class="dup-sub-content">
|
||||
<h3>
|
||||
<?php
|
||||
printf(
|
||||
esc_html_x('Your Duplicator Pro license key is %1$s ...', '%1$s represent the license status', 'duplicator-pro'),
|
||||
esc_html($tplData['problem'])
|
||||
);
|
||||
?>
|
||||
</h3>
|
||||
<?php esc_html_e('You\'re currently missing:', 'duplicator-pro'); ?>
|
||||
<ul class="dup-pro-simple-style-disc" >
|
||||
<li><?php esc_html_e('Access to Advanced Features', 'duplicator-pro'); ?></li>
|
||||
<li><?php esc_html_e('Scheduled Backups', 'duplicator-pro'); ?></li>
|
||||
<li><?php esc_html_e('Storages Management', 'duplicator-pro'); ?></li>
|
||||
<li><?php esc_html_e('Templates Management', 'duplicator-pro'); ?></li>
|
||||
<li><?php esc_html_e('New Features', 'duplicator-pro'); ?></li>
|
||||
<li><?php esc_html_e('Important Updates for Security Patches', 'duplicator-pro'); ?></li>
|
||||
<li><?php esc_html_e('Bug Fixes', 'duplicator-pro'); ?></li>
|
||||
<li><?php esc_html_e('Support Requests', 'duplicator-pro'); ?></li>
|
||||
</ul>
|
||||
<?php
|
||||
printf(
|
||||
wp_kses(
|
||||
_x(
|
||||
'<b>Please %1$sActivate Your License%2$s</b>. If you do not have a license key go to %3$sduplicator.com%4$s to get it.',
|
||||
'1 and 2 are opening and 3 and 4 are closing anchor tags (<a> and </a>)',
|
||||
'duplicator-pro'
|
||||
),
|
||||
ViewHelper::GEN_KSES_TAGS
|
||||
),
|
||||
'<a href="' . esc_url($licensing_tab_url) . '">',
|
||||
'</a>',
|
||||
'<a target="_blank" href="' . esc_url(DUPLICATOR_PRO_BLOG_URL . 'my-account') . '">',
|
||||
'</a>'
|
||||
);
|
||||
?>
|
||||
</div>
|
||||
@@ -0,0 +1,60 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* @package Duplicator
|
||||
*/
|
||||
|
||||
use Duplicator\Addons\ProBase\LicensingController;
|
||||
use Duplicator\Core\Controllers\ControllersManager;
|
||||
|
||||
defined("ABSPATH") or die("");
|
||||
|
||||
/**
|
||||
* Variables
|
||||
*
|
||||
* @var Duplicator\Core\Controllers\ControllersManager $ctrlMng
|
||||
* @var Duplicator\Core\Views\TplMng $tplMng
|
||||
* @var array<string, mixed> $tplData
|
||||
*/
|
||||
|
||||
$licensing_tab_url = ControllersManager::getMenuLink(ControllersManager::SETTINGS_SUBMENU_SLUG, LicensingController::L2_SLUG_LICENSING);
|
||||
$dashboard_url = DUPLICATOR_PRO_BLOG_URL . 'my-account';
|
||||
$img_url = plugins_url('duplicator-pro/assets/img/warning.png');
|
||||
|
||||
?>
|
||||
<span class='dashicons dashicons-warning'></span>
|
||||
<div class="dup-sub-content">
|
||||
<h3>
|
||||
<?php esc_html_e('Duplicator Pro\'s license is deactivated because you\'re out of site activations.', 'duplicator-pro'); ?>
|
||||
</h3>
|
||||
<?php esc_html_e('You\'re currently missing:', 'duplicator-pro'); ?>
|
||||
<ul class="dup-pro-simple-style-disc" >
|
||||
<li><?php esc_html_e('Access to Advanced Features', 'duplicator-pro'); ?></li>
|
||||
<li><?php esc_html_e('Scheduled Backups', 'duplicator-pro'); ?></li>
|
||||
<li><?php esc_html_e('Storages Management', 'duplicator-pro'); ?></li>
|
||||
<li><?php esc_html_e('Templates Management', 'duplicator-pro'); ?></li>
|
||||
<li><?php esc_html_e('New Features', 'duplicator-pro'); ?></li>
|
||||
<li><?php esc_html_e('Important Updates for Security Patches', 'duplicator-pro'); ?></li>
|
||||
<li><?php esc_html_e('Bug Fixes', 'duplicator-pro'); ?></li>
|
||||
<li><?php esc_html_e('Support Requests', 'duplicator-pro'); ?></li>
|
||||
</ul>
|
||||
<?php
|
||||
printf(
|
||||
wp_kses(
|
||||
_x(
|
||||
'Upgrade your license using the %1$sDuplicator Dashboard%2$s or deactivate plugin on old sites.<br/>
|
||||
After making necessary changes %3$srefresh the license status%4$s.',
|
||||
'1 and 2 are opening and 3 and 4 are closing anchor tags (<a> and </a>)',
|
||||
'duplicator-pro'
|
||||
),
|
||||
[
|
||||
'br' => [],
|
||||
]
|
||||
),
|
||||
'<a href="' . esc_url($dashboard_url) . '" target="_blank">',
|
||||
'</a>',
|
||||
'<a href="' . esc_url($licensing_tab_url) . '">',
|
||||
'</a>'
|
||||
);
|
||||
?>
|
||||
</div>
|
||||
@@ -0,0 +1,113 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* @package Duplicator
|
||||
*/
|
||||
|
||||
use Duplicator\Addons\ProBase\License\License;
|
||||
use Duplicator\Addons\ProBase\LicensingController;
|
||||
use Duplicator\Core\Controllers\ControllersManager;
|
||||
|
||||
defined("ABSPATH") or die("");
|
||||
|
||||
/**
|
||||
* Variables
|
||||
*
|
||||
* @var Duplicator\Core\Controllers\ControllersManager $ctrlMng
|
||||
* @var Duplicator\Core\Views\TplMng $tplMng
|
||||
* @var array<string, mixed> $tplData
|
||||
*/
|
||||
|
||||
$global = DUP_PRO_Global_Entity::getInstance();
|
||||
?>
|
||||
<h3 class="title"><?php esc_html_e("Key Visibility", 'duplicator-pro') ?> </h3>
|
||||
<small>
|
||||
<?php
|
||||
esc_html_e(
|
||||
"This is an optional setting that prevents the 'License Key' from being copied.
|
||||
Select the desired visibility mode, enter a password and hit the 'Change Visibility' button.",
|
||||
'duplicator-pro'
|
||||
);
|
||||
echo '<br/>';
|
||||
esc_html_e("Note: the password can be anything, it does not have to be the same as the WordPress user password.", 'duplicator-pro');
|
||||
?>
|
||||
</small>
|
||||
<hr size="1" />
|
||||
<form
|
||||
id="dup-license-visibility-form"
|
||||
action="<?php echo esc_url(ControllersManager::getCurrentLink()); ?>"
|
||||
method="post"
|
||||
data-parsley-validate
|
||||
>
|
||||
<?php $tplData['actions'][LicensingController::ACTION_CHANGE_VISIBILITY]->getActionNonceFileds(); ?>
|
||||
<table class="form-table">
|
||||
<tr valign="top">
|
||||
<th scope="row"><label><?php esc_html_e("Visibility", 'duplicator-pro'); ?></label></th>
|
||||
<td>
|
||||
<label class="margin-right-1">
|
||||
<input
|
||||
type="radio"
|
||||
name="license_key_visible"
|
||||
value="<?php echo (int) License::VISIBILITY_ALL;?>"
|
||||
onclick="DupPro.Licensing.VisibilityTemporary(<?php echo (int) License::VISIBILITY_ALL;?>);"
|
||||
<?php checked($global->license_key_visible, License::VISIBILITY_ALL); ?>
|
||||
>
|
||||
<?php esc_html_e("License Visible", 'duplicator-pro'); ?>
|
||||
</label>
|
||||
<label class="margin-right-1">
|
||||
<input
|
||||
type="radio"
|
||||
name="license_key_visible"
|
||||
value="<?php echo (int) License::VISIBILITY_INFO;?>"
|
||||
onclick="DupPro.Licensing.VisibilityTemporary(<?php echo (int) License::VISIBILITY_INFO;?>);"
|
||||
<?php checked($global->license_key_visible, License::VISIBILITY_INFO); ?>
|
||||
>
|
||||
<?php esc_html_e("Info Only", 'duplicator-pro'); ?>
|
||||
</label>
|
||||
<label>
|
||||
<input
|
||||
type="radio"
|
||||
name="license_key_visible"
|
||||
value="<?php echo (int) License::VISIBILITY_NONE;?>"
|
||||
onclick="DupPro.Licensing.VisibilityTemporary(<?php echo (int) License::VISIBILITY_NONE;?>);"
|
||||
<?php checked($global->license_key_visible, License::VISIBILITY_NONE); ?>
|
||||
>
|
||||
<?php esc_html_e("License Invisible", 'duplicator-pro'); ?>
|
||||
</label>
|
||||
</td>
|
||||
</tr>
|
||||
<tr valign="top">
|
||||
<th scope="row"><label><?php esc_html_e("Password", 'duplicator-pro'); ?></label></th>
|
||||
<td>
|
||||
<input type="password" class="dup-wide-input" name="_key_password" id="_key_password" size="50" />
|
||||
</td>
|
||||
</tr>
|
||||
<?php if ($global->license_key_visible == License::VISIBILITY_ALL) { ?>
|
||||
<tr valign="top">
|
||||
<th scope="row"><label><?php esc_html_e("Retype Password", 'duplicator-pro'); ?></label></th>
|
||||
<td>
|
||||
<input
|
||||
type="password"
|
||||
class="dup-wide-input"
|
||||
name="_key_password_confirmation"
|
||||
id="_key_password_confirmation"
|
||||
data-parsley-equalto="#_key_password"
|
||||
size="50"
|
||||
>
|
||||
</td>
|
||||
</tr>
|
||||
<?php } ?>
|
||||
<tr valign="top">
|
||||
<th scope="row"></th>
|
||||
<td>
|
||||
<button
|
||||
class="button"
|
||||
id="show_hide"
|
||||
onclick="DupPro.Licensing.ChangeKeyVisibility(); return false;"
|
||||
>
|
||||
<?php esc_html_e('Change Visibility', 'duplicator-pro'); ?>
|
||||
</button>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</form>
|
||||
Reference in New Issue
Block a user