first commit
This commit is contained in:
@@ -0,0 +1,148 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* @package Duplicator
|
||||
*/
|
||||
|
||||
use Duplicator\Ajax\ServicesActivityLog;
|
||||
use Duplicator\Models\ActivityLog\LogUtils;
|
||||
use Duplicator\Models\DynamicGlobalEntity;
|
||||
use Duplicator\Models\GlobalEntity;
|
||||
|
||||
defined("ABSPATH") or die("");
|
||||
|
||||
/**
|
||||
* Variables
|
||||
*
|
||||
* @var Duplicator\Core\Controllers\ControllersManager $ctrlMng
|
||||
* @var Duplicator\Core\Views\TplMng $tplMng
|
||||
* @var array<string, mixed> $tplData
|
||||
*/
|
||||
|
||||
$global = GlobalEntity::getInstance();
|
||||
$dGlobal = DynamicGlobalEntity::getInstance();
|
||||
$retentionMonths = $dGlobal->getValInt('activity_log_retention', LogUtils::DEFAULT_RETENTION_MONTHS) / MONTH_IN_SECONDS;
|
||||
?>
|
||||
|
||||
<div class="dup-accordion-wrapper display-separators close">
|
||||
<div class="accordion-header">
|
||||
<h3 class="title" id="advanced-section-header">
|
||||
<?php esc_html_e('Advanced', 'duplicator-pro') ?>
|
||||
</h3>
|
||||
</div>
|
||||
<div class="accordion-content">
|
||||
|
||||
<label class="lbl-larger">
|
||||
<?php esc_html_e('Settings', 'duplicator-pro'); ?>
|
||||
</label>
|
||||
<div class="margin-bottom-1">
|
||||
<button
|
||||
id="dupli-reset-all"
|
||||
class="button secondary hollow small margin-0"
|
||||
onclick="DupliJs.Pack.ConfirmResetAll(); return false">
|
||||
<i class="fas fa-redo fa-sm"></i> <?php esc_html_e('Reset All Settings', 'duplicator-pro'); ?>
|
||||
</button>
|
||||
<p class="description">
|
||||
<?php
|
||||
esc_html_e("Reset all settings to their defaults.", 'duplicator-pro');
|
||||
$tContent = __(
|
||||
'Resets standard settings to defaults. Does not affect capabilities, license key, storage or schedules.',
|
||||
'duplicator-pro'
|
||||
);
|
||||
?>
|
||||
<i
|
||||
class="fa-solid fa-question-circle fa-sm dark-gray-color"
|
||||
data-tooltip-title="<?php esc_attr_e("Reset Settings", 'duplicator-pro'); ?>"
|
||||
data-tooltip="<?php echo esc_attr($tContent); ?>">
|
||||
</i>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<label class="lbl-larger">
|
||||
<?php esc_html_e("Foreign JavaScript", 'duplicator-pro'); ?>
|
||||
</label>
|
||||
<div class="margin-bottom-1">
|
||||
<input
|
||||
type="checkbox"
|
||||
name="_unhook_third_party_js"
|
||||
id="_unhook_third_party_js"
|
||||
value="1"
|
||||
class="margin-0"
|
||||
<?php checked($global->unhook_third_party_js); ?>>
|
||||
<label for="_unhook_third_party_js"><?php esc_html_e("Disable", 'duplicator-pro'); ?></label> <br />
|
||||
<p class="description">
|
||||
<?php
|
||||
esc_html_e("Check this option if JavaScript from the theme or other plugins conflicts with Duplicator Pro pages.", 'duplicator-pro');
|
||||
?>
|
||||
<br>
|
||||
<?php
|
||||
esc_html_e("Do not modify this setting unless you know the expected result or have talked to support.", 'duplicator-pro');
|
||||
?>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<label class="lbl-larger">
|
||||
<?php esc_html_e("Foreign CSS", 'duplicator-pro'); ?>
|
||||
</label>
|
||||
<div class="margin-bottom-1">
|
||||
<input
|
||||
type="checkbox"
|
||||
name="_unhook_third_party_css"
|
||||
id="unhook_third_party_css"
|
||||
value="1"
|
||||
class="margin-0"
|
||||
<?php checked($global->unhook_third_party_css); ?>>
|
||||
<label for="unhook_third_party_css"><?php esc_html_e("Disable", 'duplicator-pro'); ?></label> <br />
|
||||
<p class="description">
|
||||
<?php
|
||||
esc_html_e("Check this option if CSS from the theme or other plugins conflicts with Duplicator Pro pages.", 'duplicator-pro');
|
||||
?>
|
||||
<br>
|
||||
<?php
|
||||
esc_html_e("Do not modify this setting unless you know the expected result or have talked to support.", 'duplicator-pro');
|
||||
?>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<label class="lbl-larger">
|
||||
<?php esc_html_e("Activity Log Retention", 'duplicator-pro'); ?>
|
||||
</label>
|
||||
<div class="margin-bottom-1">
|
||||
<input
|
||||
type="number"
|
||||
class="width-small inline-display margin-0"
|
||||
name="activity_log_retention_months"
|
||||
id="activity_log_retention_months"
|
||||
value="<?php echo (int) $retentionMonths; ?>"
|
||||
min="0"
|
||||
step="1">
|
||||
<span class="inline-display"><?php esc_html_e("months", 'duplicator-pro'); ?></span>
|
||||
<p class="description">
|
||||
<?php
|
||||
esc_html_e("Set how many months to keep activity log entries. Enter 0 to keep all logs permanently.", 'duplicator-pro');
|
||||
?>
|
||||
<br>
|
||||
<?php
|
||||
esc_html_e("Activity logs older than the specified number of months will be automatically deleted.", 'duplicator-pro');
|
||||
?>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<label class="lbl-larger">
|
||||
<?php esc_html_e("Delete Activity Logs", 'duplicator-pro'); ?>
|
||||
</label>
|
||||
<div class="margin-bottom-1">
|
||||
<button
|
||||
type="button"
|
||||
id="dup-delete-activity-logs"
|
||||
class="button secondary hollow small margin-0"
|
||||
data-nonce="<?php echo esc_attr(wp_create_nonce(ServicesActivityLog::NONCE_DELETE_ALL)); ?>"
|
||||
onclick="DupliJs.Settings.ConfirmDeleteActivityLogs(); return false;">
|
||||
<i class="fas fa-trash fa-sm"></i> <?php esc_html_e('Delete All Logs', 'duplicator-pro'); ?>
|
||||
</button>
|
||||
<p class="description">
|
||||
<?php esc_html_e("Permanently delete all activity log entries. This action cannot be undone.", 'duplicator-pro'); ?>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1,115 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* @package Duplicator
|
||||
*/
|
||||
|
||||
use Duplicator\Models\StaticGlobal;
|
||||
use Duplicator\Utils\Logging\DupLog;
|
||||
use Duplicator\Utils\Logging\TraceLogMng;
|
||||
|
||||
defined("ABSPATH") or die("");
|
||||
|
||||
/**
|
||||
* Variables
|
||||
*
|
||||
* @var Duplicator\Core\Controllers\ControllersManager $ctrlMng
|
||||
* @var Duplicator\Core\Views\TplMng $tplMng
|
||||
* @var array<string, mixed> $tplData
|
||||
*/
|
||||
|
||||
$trace_log_enabled = StaticGlobal::getTraceLogEnabledOption();
|
||||
$send_trace_to_error_log = StaticGlobal::getSendTraceToErrorLogOption();
|
||||
|
||||
if ($trace_log_enabled) {
|
||||
$logging_mode = ($send_trace_to_error_log) ? 'enhanced' : 'on';
|
||||
} else {
|
||||
$logging_mode = 'off';
|
||||
}
|
||||
?>
|
||||
|
||||
<div class="dup-accordion-wrapper display-separators close">
|
||||
<div class="accordion-header">
|
||||
<h3 class="title">
|
||||
<?php esc_html_e('Debug', 'duplicator-pro') ?>
|
||||
</h3>
|
||||
</div>
|
||||
<div class="accordion-content">
|
||||
<label class="lbl-larger">
|
||||
<?php esc_html_e('Trace Log', 'duplicator-pro'); ?>
|
||||
</label>
|
||||
<div class="margin-bottom-1">
|
||||
<select
|
||||
name="_logging_mode"
|
||||
class="margin-0 width-medium">
|
||||
<option value="off" <?php selected($logging_mode, 'off'); ?>>
|
||||
<?php esc_html_e('Off', 'duplicator-pro'); ?>
|
||||
</option>
|
||||
<option value="on" <?php selected($logging_mode, 'on'); ?>>
|
||||
<?php esc_html_e('On', 'duplicator-pro'); ?>
|
||||
</option>
|
||||
<option value="enhanced" <?php selected($logging_mode, 'enhanced'); ?>>
|
||||
<?php esc_html_e('On (Enhanced)', 'duplicator-pro'); ?>
|
||||
</option>
|
||||
</select>
|
||||
<p class="description">
|
||||
<?php
|
||||
esc_html_e("Turning on log initially clears it out. The enhanced setting writes to both trace and PHP error logs.", 'duplicator-pro');
|
||||
echo "<br/>";
|
||||
esc_html_e("WARNING: Only turn on this setting when asked to by support as tracing will impact performance.", 'duplicator-pro');
|
||||
?>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<label class="lbl-larger">
|
||||
<?php esc_html_e('Trace Log Max Size', 'duplicator-pro'); ?>
|
||||
</label>
|
||||
<div class="margin-bottom-1">
|
||||
<?php
|
||||
$maxSizeMB = TraceLogMng::getInstance()->getMaxTotalSize() / MB_IN_BYTES;
|
||||
?>
|
||||
<input
|
||||
data-parsley-required data-parsley-errors-container="#trace_max_size_error_container"
|
||||
data-parsley-min="0"
|
||||
data-parsley-type="number"
|
||||
class="inline-display width-small margin-0"
|
||||
type="number"
|
||||
name="trace_max_size"
|
||||
id="trace_max_size"
|
||||
value="<?php echo (int) $maxSizeMB; ?>">
|
||||
<span> <?php esc_html_e('MB', 'duplicator-pro'); ?></span>
|
||||
<div id="trace_max_size_error_container" class="duplicator-error-container"></div>
|
||||
<p class="description">
|
||||
<?php
|
||||
wp_kses(
|
||||
__(
|
||||
"Maximum total size for all trace log files.<br/>
|
||||
When an individual log file reaches its size limit, it is archived and a new file is created. <br/>
|
||||
This process continues until the total size of all log files reaches this limit, at which point the oldest logs are deleted. <br/>
|
||||
Setting this to 0 means unlimited size (logs will never be automatically deleted). <br/>
|
||||
<b>Caution:</b> leaving trace logging enabled with unlimited size for extended periods can consume
|
||||
significant disk space and require manual cleanup.",
|
||||
'duplicator-pro'
|
||||
),
|
||||
[
|
||||
'br' => [],
|
||||
'b' => [],
|
||||
]
|
||||
); ?>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<label class="lbl-larger">
|
||||
<?php esc_html_e('Download Trace Log', 'duplicator-pro'); ?>
|
||||
</label>
|
||||
<div class="margin-bottom-1">
|
||||
<button
|
||||
class="button secondary hollow small margin-0"
|
||||
<?php disabled(DupLog::traceFileExists(), false); ?>
|
||||
onclick="DupliJs.Pack.DownloadTraceLog(); return false">
|
||||
<i class="fa fa-download"></i>
|
||||
<?php echo esc_html__('Trace Log', 'duplicator-pro') . ' (' . esc_html(DupLog::getTraceStatus()) . ')'; ?>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1,93 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* @package Duplicator
|
||||
*/
|
||||
|
||||
defined("ABSPATH") or die("");
|
||||
|
||||
use Duplicator\Models\GlobalEntity;
|
||||
use Duplicator\Utils\Email\EmailSummary;
|
||||
|
||||
/**
|
||||
* Variables
|
||||
*
|
||||
* @var Duplicator\Core\Controllers\ControllersManager $ctrlMng
|
||||
* @var Duplicator\Core\Views\TplMng $tplMng
|
||||
* @var array<string, mixed> $tplData
|
||||
*/
|
||||
|
||||
$global = GlobalEntity::getInstance();
|
||||
?>
|
||||
|
||||
<h3 class="title">
|
||||
<?php esc_html_e('Email Summary', 'duplicator-pro') ?>
|
||||
</h3>
|
||||
<hr size="1" />
|
||||
|
||||
<label class="lbl-larger">
|
||||
<?php esc_html_e('Frequency', 'duplicator-pro'); ?>
|
||||
</label>
|
||||
<div class="margin-bottom-1">
|
||||
<select
|
||||
id="email-summary-frequency"
|
||||
name="_email_summary_frequency"
|
||||
class="margin-0 width-xlarge">
|
||||
<?php foreach (EmailSummary::getAllFrequencyOptions() as $key => $label) : ?>
|
||||
<option value="<?php echo esc_attr((string) $key); ?>" <?php selected($global->getEmailSummaryFrequency(), $key); ?>>
|
||||
<?php echo esc_html($label); ?>
|
||||
</option>
|
||||
<?php endforeach; ?>
|
||||
</select>
|
||||
<p class="description">
|
||||
<?php
|
||||
printf(
|
||||
esc_html_x(
|
||||
'You can view the email summary example %1$shere%2$s.',
|
||||
'%1$s and %2$s are the opening and close <a> tags to the summary preview link',
|
||||
'duplicator-pro'
|
||||
),
|
||||
'<a href="' . esc_url(EmailSummary::getPreviewLink()) . '" target="_blank">',
|
||||
'</a>'
|
||||
);
|
||||
?>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<label class="lbl-larger">
|
||||
<?php esc_html_e('Recipients', 'duplicator-pro'); ?>
|
||||
</label>
|
||||
<div class="margin-bottom-1">
|
||||
<select
|
||||
id="email-summary-recipients"
|
||||
name="_email_summary_recipients[]" m
|
||||
multiple
|
||||
class="margin-0 width-xlarge">
|
||||
<?php foreach ($global->getEmailSummaryRecipients() as $email) : ?>
|
||||
<option value="<?php echo esc_attr($email); ?>" selected><?php echo esc_html($email); ?></option>
|
||||
<?php endforeach; ?>
|
||||
<?php foreach (EmailSummary::getRecipientSuggestions() as $email) : ?>
|
||||
<option value="<?php echo esc_attr($email); ?>"><?php echo esc_html($email); ?></option>
|
||||
<?php endforeach; ?>
|
||||
</select>
|
||||
<?php if (count($global->getEmailSummaryRecipients()) === 0) : ?>
|
||||
<p class="descriptionred">
|
||||
<em>
|
||||
<span class="maroon">
|
||||
<?php esc_html_e('No recipients entered. Email summary won\'t be send.', 'duplicator-pro') ?>
|
||||
</span>
|
||||
</em>
|
||||
</p>
|
||||
<?php endif; ?>
|
||||
</div>
|
||||
|
||||
<script type="text/javascript">
|
||||
jQuery(document).ready(function($) {
|
||||
$('#email-summary-recipients').select2({
|
||||
tags: true,
|
||||
tokenSeparators: [',', ' '],
|
||||
placeholder: '<?php esc_attr_e('Enter email addresses', 'duplicator-pro'); ?>',
|
||||
minimumInputLength: 3,
|
||||
});
|
||||
});
|
||||
</script>
|
||||
@@ -0,0 +1,135 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* @package Duplicator
|
||||
*/
|
||||
|
||||
use Duplicator\Models\GlobalEntity;
|
||||
use Duplicator\Core\Controllers\ControllersManager;
|
||||
use Duplicator\Core\Views\TplMng;
|
||||
use Duplicator\Controllers\SettingsPageController;
|
||||
use Duplicator\Core\Controllers\PageAction;
|
||||
use Duplicator\Views\UI\UiDialog;
|
||||
|
||||
defined("ABSPATH") or die("");
|
||||
|
||||
/**
|
||||
* Variables
|
||||
*
|
||||
* @var Duplicator\Core\Controllers\ControllersManager $ctrlMng
|
||||
* @var Duplicator\Core\Views\TplMng $tplMng
|
||||
* @var array<string, mixed> $tplData
|
||||
*/
|
||||
|
||||
$global = GlobalEntity::getInstance();
|
||||
|
||||
/** @var PageAction */
|
||||
$resetAction = $tplData['actions'][SettingsPageController::ACTION_RESET_SETTINGS];
|
||||
|
||||
?>
|
||||
<?php do_action('duplicator_settings_general_before'); ?>
|
||||
|
||||
<form id="dup-settings-form" action="<?php echo esc_url(ControllersManager::getCurrentLink()); ?>" method="post" data-parsley-validate>
|
||||
<?php $tplData['actions'][SettingsPageController::ACTION_GENERAL_SAVE]->getActionNonceFileds(); ?>
|
||||
|
||||
<div class="dup-settings-wrapper margin-bottom-1">
|
||||
<?php $tplMng->render('admin_pages/settings/general/plugin_settings'); ?>
|
||||
<hr>
|
||||
<?php TplMng::getInstance()->render('admin_pages/settings/general/email_summary'); ?>
|
||||
<?php TplMng::getInstance()->render('admin_pages/settings/general/debug_settings'); ?>
|
||||
<?php TplMng::getInstance()->render('admin_pages/settings/general/advanced_settings'); ?>
|
||||
</div>
|
||||
|
||||
<p>
|
||||
<input
|
||||
type="submit" name="submit" id="submit"
|
||||
class="button primary small"
|
||||
value="<?php esc_attr_e('Save Settings', 'duplicator-pro') ?>">
|
||||
</p>
|
||||
</form>
|
||||
|
||||
<?php
|
||||
$resetSettingsDialog = new UiDialog();
|
||||
$resetSettingsDialog->title = __('Reset Settings?', 'duplicator-pro');
|
||||
$resetSettingsDialog->message = __('Are you sure you want to reset settings to defaults?', 'duplicator-pro');
|
||||
$resetSettingsDialog->progressText = __('Resetting settings, Please Wait...', 'duplicator-pro');
|
||||
$resetSettingsDialog->jsCallback = 'DupliJs.Pack.ResetAll()';
|
||||
$resetSettingsDialog->progressOn = false;
|
||||
$resetSettingsDialog->okText = __('Yes', 'duplicator-pro');
|
||||
$resetSettingsDialog->cancelText = __('No', 'duplicator-pro');
|
||||
$resetSettingsDialog->closeOnConfirm = true;
|
||||
$resetSettingsDialog->initConfirm();
|
||||
|
||||
$deleteLogsDialog = new UiDialog();
|
||||
$deleteLogsDialog->title = __('Delete Activity Logs?', 'duplicator-pro');
|
||||
$deleteLogsDialog->message = __('Are you sure you want to delete all activity logs? This action cannot be undone.', 'duplicator-pro');
|
||||
$deleteLogsDialog->progressText = __('Deleting logs, Please Wait...', 'duplicator-pro');
|
||||
$deleteLogsDialog->jsCallback = 'DupliJs.Settings.DeleteActivityLogs()';
|
||||
$deleteLogsDialog->progressOn = false;
|
||||
$deleteLogsDialog->okText = __('Yes', 'duplicator-pro');
|
||||
$deleteLogsDialog->cancelText = __('No', 'duplicator-pro');
|
||||
$deleteLogsDialog->closeOnConfirm = true;
|
||||
$deleteLogsDialog->initConfirm();
|
||||
?>
|
||||
|
||||
<script>
|
||||
jQuery(document).ready(function($) {
|
||||
// which: 0=installer, 1=archive, 2=sql file, 3=log
|
||||
DupliJs.Pack.DownloadTraceLog = function() {
|
||||
var actionLocation = ajaxurl + '?action=duplicator_get_trace_log&nonce=' +
|
||||
'<?php echo esc_js(wp_create_nonce('duplicator_get_trace_log')); ?>';
|
||||
location.href = actionLocation;
|
||||
};
|
||||
|
||||
DupliJs.Pack.ConfirmResetAll = function() {
|
||||
<?php $resetSettingsDialog->showConfirm(); ?>
|
||||
};
|
||||
|
||||
DupliJs.Pack.ResetAll = function() {
|
||||
let resetUrl = <?php echo wp_json_encode($resetAction->getUrl()); ?>;
|
||||
location.href = resetUrl;
|
||||
};
|
||||
|
||||
DupliJs.Settings.ConfirmDeleteActivityLogs = function() {
|
||||
<?php $deleteLogsDialog->showConfirm(); ?>
|
||||
};
|
||||
|
||||
DupliJs.Settings.DeleteActivityLogs = function() {
|
||||
var $button = $('#dup-delete-activity-logs');
|
||||
var nonce = $button.data('nonce');
|
||||
|
||||
$button.prop('disabled', true);
|
||||
|
||||
$.ajax({
|
||||
type: 'POST',
|
||||
url: ajaxurl,
|
||||
data: {
|
||||
action: 'duplicator_activity_log_delete_all',
|
||||
nonce: nonce
|
||||
},
|
||||
success: function(response) {
|
||||
var funcData = response.data && response.data.funcData ? response.data.funcData : {};
|
||||
if (response.success && funcData.success) {
|
||||
DupliJs.addAdminMessage(funcData.message, 'notice');
|
||||
} else {
|
||||
var errorMsg = funcData.message
|
||||
? funcData.message
|
||||
: '<?php echo esc_js(__('An error occurred while deleting activity logs.', 'duplicator-pro')); ?>';
|
||||
DupliJs.addAdminMessage(errorMsg, 'error');
|
||||
}
|
||||
$button.prop('disabled', false);
|
||||
},
|
||||
error: function() {
|
||||
DupliJs.addAdminMessage('<?php echo esc_js(__('An error occurred while deleting activity logs.', 'duplicator-pro')); ?>', 'error');
|
||||
$button.prop('disabled', false);
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
//Init
|
||||
$("#_trace_log_enabled").click(function() {
|
||||
$('#_send_trace_to_error_log').attr('disabled', !$(this).is(':checked'));
|
||||
});
|
||||
|
||||
});
|
||||
</script>
|
||||
@@ -0,0 +1,128 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* @package Duplicator
|
||||
*/
|
||||
|
||||
use Duplicator\Models\GlobalEntity;
|
||||
use Duplicator\Models\StaticGlobal;
|
||||
use Duplicator\Utils\Crypt\CryptBlowfish;
|
||||
|
||||
defined("ABSPATH") or die("");
|
||||
|
||||
/**
|
||||
* Variables
|
||||
*
|
||||
* @var Duplicator\Core\Controllers\ControllersManager $ctrlMng
|
||||
* @var Duplicator\Core\Views\TplMng $tplMng
|
||||
* @var array<string, mixed> $tplData
|
||||
*/
|
||||
|
||||
$global = GlobalEntity::getInstance();
|
||||
|
||||
?>
|
||||
|
||||
<h3 class="title">
|
||||
<?php esc_html_e("Plugin", 'duplicator-pro') ?>
|
||||
</h3>
|
||||
<hr size="1" />
|
||||
|
||||
<label class="lbl-larger">
|
||||
<?php esc_html_e("Version", 'duplicator-pro'); ?>
|
||||
</label>
|
||||
<div class="margin-bottom-1">
|
||||
<?php echo esc_html(DUPLICATOR_VERSION); ?>
|
||||
</div>
|
||||
|
||||
<label class="lbl-larger">
|
||||
<?php esc_html_e("Uninstall", 'duplicator-pro'); ?>
|
||||
</label>
|
||||
<div class="margin-bottom-1">
|
||||
<input
|
||||
type="checkbox"
|
||||
name="uninstall_settings"
|
||||
id="uninstall_settings"
|
||||
value="1"
|
||||
class="margin-0"
|
||||
<?php checked(StaticGlobal::getUninstallSettingsOption()); ?>>
|
||||
<label for="uninstall_settings"><?php esc_html_e("Delete plugin settings", 'duplicator-pro'); ?> </label><br />
|
||||
|
||||
<input
|
||||
type="checkbox"
|
||||
name="uninstall_packages"
|
||||
id="uninstall_packages"
|
||||
value="1"
|
||||
class="margin-0"
|
||||
<?php checked(StaticGlobal::getUninstallPackageOption()); ?>>
|
||||
<label for="uninstall_packages"><?php esc_html_e("Delete entire storage directory", 'duplicator-pro'); ?></label><br />
|
||||
</div>
|
||||
|
||||
<label class="lbl-larger">
|
||||
<?php esc_html_e("Encrypt Settings", 'duplicator-pro'); ?>
|
||||
</label>
|
||||
<div class="margin-bottom-1">
|
||||
<input
|
||||
type="checkbox"
|
||||
name="crypt"
|
||||
id="crypt"
|
||||
value="1"
|
||||
class="margin-0"
|
||||
<?php checked(StaticGlobal::getCryptOption()); ?>>
|
||||
<label for="crypt"><?php esc_html_e("Enable settings encryption", 'duplicator-pro'); ?> </label><br />
|
||||
<p class="description">
|
||||
<?php if (CryptBlowfish::isEncryptAvailable()) { ?>
|
||||
<?php esc_html_e(
|
||||
"When this option is enabled, all sensitive data (such as passwords, storage data, and license data)
|
||||
will be saved encrypted in the database. Disable this option only in case of problems in saving data.",
|
||||
'duplicator-pro'
|
||||
); ?>
|
||||
<?php } else { ?>
|
||||
<span class="maroon">
|
||||
<?php esc_html_e('Encryption is not available on this server.', 'duplicator-pro'); ?>
|
||||
</span>
|
||||
<?php } ?>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<label class="lbl-larger">
|
||||
<?php esc_html_e("Usage statistics", 'duplicator-pro'); ?>
|
||||
</label>
|
||||
<div class="margin-bottom-1">
|
||||
<?php if (DUPLICATOR_USTATS_DISALLOW) { // @phpstan-ignore-line
|
||||
?>
|
||||
<span class="maroon">
|
||||
<?php esc_html_e('Usage statistics are hardcoded disallowed.', 'duplicator-pro'); ?>
|
||||
</span>
|
||||
<?php } else { ?>
|
||||
<input
|
||||
type="checkbox"
|
||||
name="usage_tracking"
|
||||
id="usage_tracking"
|
||||
value="1"
|
||||
class="margin-0"
|
||||
<?php checked($global->getUsageTracking()); ?>>
|
||||
<label for="usage_tracking"><?php esc_html_e("Enable usage tracking", 'duplicator-pro'); ?> </label>
|
||||
<i
|
||||
class="fa-solid fa-question-circle fa-sm dark-gray-color"
|
||||
data-tooltip-title="<?php esc_attr_e("Usage Tracking", 'duplicator-pro'); ?>"
|
||||
data-tooltip="<?php echo esc_attr($tplMng->render('admin_pages/settings/general/usage_tracking_tooltip', [], false)); ?>"
|
||||
data-tooltip-width="600">
|
||||
</i>
|
||||
<?php } ?>
|
||||
</div>
|
||||
|
||||
<label class="lbl-larger">
|
||||
<?php esc_html_e("Hide Announcements", 'duplicator-pro'); ?>
|
||||
</label>
|
||||
<div class="margin-bottom-1">
|
||||
<input
|
||||
type="checkbox"
|
||||
name="dup_am_notices"
|
||||
id="dup_am_notices"
|
||||
value="1"
|
||||
class="margin-0"
|
||||
<?php checked(!$global->isAmNoticesEnabled()); ?>>
|
||||
<label for="dup_am_notices">
|
||||
<?php esc_html_e("Check this option to hide plugin announcements and update details.", 'duplicator-pro'); ?>
|
||||
</label>
|
||||
</div>
|
||||
@@ -0,0 +1,187 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* @package Duplicator
|
||||
* @copyright (c) 2022, Snap Creek LLC
|
||||
*/
|
||||
|
||||
defined("ABSPATH") || exit;
|
||||
|
||||
/**
|
||||
* Variables
|
||||
*
|
||||
* @var \Duplicator\Core\Controllers\ControllersManager $ctrlMng
|
||||
* @var \Duplicator\Core\Views\TplMng $tplMng
|
||||
* @var array<string, mixed> $tplData
|
||||
*/
|
||||
?>
|
||||
<div>
|
||||
<b>
|
||||
<?php esc_html_e('All information sent to the server is anonymous except the license key and email.', 'duplicator-pro'); ?><br>
|
||||
<?php esc_html_e('No information about storage or Backup\'s content are sent.', 'duplicator-pro'); ?>
|
||||
</b>
|
||||
</div>
|
||||
<br>
|
||||
<div>
|
||||
<?php
|
||||
esc_html_e(
|
||||
'Usage tracking for Duplicator helps us better understand our users and their website needs by looking
|
||||
at a range of server and website environments.',
|
||||
'duplicator-pro'
|
||||
);
|
||||
?>
|
||||
<b>
|
||||
<?php esc_html_e('This allows us to continuously improve our product as well as our Q&A / testing process.', 'duplicator-pro'); ?>
|
||||
</b>
|
||||
<?php esc_html_e('Below is the list of information that Duplicator collects as part of the usage tracking:', 'duplicator-pro'); ?>
|
||||
</div>
|
||||
<ul>
|
||||
<li>
|
||||
<?php
|
||||
printf(
|
||||
esc_html_x(
|
||||
'%1$sPHP Version:%2$s So we know which PHP versions we have to test against (no one likes whitescreens or log files full of errors).',
|
||||
'%1$s and %2$s are are opening and closing bold (<b></b>) tags',
|
||||
'duplicator-pro'
|
||||
),
|
||||
'<b>',
|
||||
'</b>'
|
||||
);
|
||||
?>
|
||||
</li>
|
||||
<li>
|
||||
<?php
|
||||
printf(
|
||||
esc_html_x(
|
||||
'%1$sWordPress Version:%2$s So we know which WordPress versions to support and test against.',
|
||||
'%1$s and %2$s are are opening and closing bold (<b></b>) tags',
|
||||
'duplicator-pro'
|
||||
),
|
||||
'<b>',
|
||||
'</b>'
|
||||
);
|
||||
?>
|
||||
</li>
|
||||
<li>
|
||||
<?php
|
||||
printf(
|
||||
esc_html_x(
|
||||
'%1$sMySQL Version:%2$s So we know which versions of MySQL to support and test against for our custom tables.',
|
||||
'%1$s and %2$s are are opening and closing bold (<b></b>) tags',
|
||||
'duplicator-pro'
|
||||
),
|
||||
'<b>',
|
||||
'</b>'
|
||||
);
|
||||
?>
|
||||
</li>
|
||||
<li>
|
||||
<?php
|
||||
printf(
|
||||
esc_html_x(
|
||||
'%1$sDuplicator Version:%2$s So we know which versions of Duplicator are potentially responsible for issues when we get bug reports,
|
||||
allowing us to identify issues and release solutions much faster.',
|
||||
'%1$s and %2$s are are opening and closing bold (<b></b>) tags',
|
||||
'duplicator-pro'
|
||||
),
|
||||
'<b>',
|
||||
'</b>'
|
||||
);
|
||||
?>
|
||||
</li>
|
||||
<li>
|
||||
<?php
|
||||
printf(
|
||||
esc_html_x(
|
||||
'%1$sPlugins and Themes infos:%2$s So we can figure out which ones can generate compatibility errors with Duplicator.',
|
||||
'%1$s and %2$s are are opening and closing bold (<b></b>) tags',
|
||||
'duplicator-pro'
|
||||
),
|
||||
'<b>',
|
||||
'</b>'
|
||||
);
|
||||
?>
|
||||
</li>
|
||||
<li>
|
||||
<?php
|
||||
printf(
|
||||
esc_html_x(
|
||||
'%1$sSite info:%2$s General information about the site such as database, file size, number of users, and sites in case it is a multisite.
|
||||
This is useful for us to understand the critical issues of Backup creation.',
|
||||
'%1$s and %2$s are are opening and closing bold (<b></b>) tags',
|
||||
'duplicator-pro'
|
||||
),
|
||||
'<b>',
|
||||
'</b>'
|
||||
);
|
||||
?>
|
||||
</li>
|
||||
<li>
|
||||
<?php
|
||||
printf(
|
||||
esc_html_x(
|
||||
'%1$sBackups infos:%2$s Information about the Backups created and the type of components included.',
|
||||
'%1$s and %2$s are are opening and closing bold (<b></b>) tags',
|
||||
'duplicator-pro'
|
||||
),
|
||||
'<b>',
|
||||
'</b>'
|
||||
);
|
||||
?>
|
||||
</li>
|
||||
<li>
|
||||
<?php
|
||||
printf(
|
||||
esc_html_x(
|
||||
'%1$sStorage infos:%2$s Information about the type of storage used,
|
||||
this data is useful for us to understand how to improve our support for external storages.(Only anonymized data is sent).',
|
||||
'%1$s and %2$s are are opening and closing bold (<b></b>) tags',
|
||||
'duplicator-pro'
|
||||
),
|
||||
'<b>',
|
||||
'</b>'
|
||||
);
|
||||
?>
|
||||
</li>
|
||||
<li>
|
||||
<?php
|
||||
printf(
|
||||
esc_html_x(
|
||||
'%1$sTemplate infos:%2$s Information about the template components.',
|
||||
'%1$s and %2$s are are opening and closing bold (<b></b>) tags',
|
||||
'duplicator-pro'
|
||||
),
|
||||
'<b>',
|
||||
'</b>'
|
||||
);
|
||||
?>
|
||||
</li>
|
||||
<li>
|
||||
<?php
|
||||
printf(
|
||||
esc_html_x(
|
||||
'%1$sSchedule infos:%2$s Information on how schedules are used.',
|
||||
'%1$s and %2$s are are opening and closing bold (<b></b>) tags',
|
||||
'duplicator-pro'
|
||||
),
|
||||
'<b>',
|
||||
'</b>'
|
||||
);
|
||||
?>
|
||||
</li>
|
||||
<li>
|
||||
<?php
|
||||
printf(
|
||||
esc_html_x(
|
||||
'%1$sLicense key and email and url:%2$s If you\'re a Duplicator customer, then we use this to determine if there\'s an issue
|
||||
with your specific license key, and to link the profile of your site with the configuration of authentication to allow us to
|
||||
determine if there are issues with your Duplicator authentication.',
|
||||
'%1$s and %2$s are are opening and closing bold (<b></b>) tags',
|
||||
'duplicator-pro'
|
||||
),
|
||||
'<b>',
|
||||
'</b>'
|
||||
);
|
||||
?>
|
||||
</li>
|
||||
</ul>
|
||||
Reference in New Issue
Block a user