first commit
This commit is contained in:
@@ -0,0 +1,316 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* Duplicator package row in table packages list
|
||||
*
|
||||
* @package Duplicator
|
||||
* @copyright (c) 2022, Snap Creek LLC
|
||||
*/
|
||||
|
||||
use Duplicator\Controllers\RecoveryController;
|
||||
use Duplicator\Controllers\StoragePageController;
|
||||
use Duplicator\Core\Controllers\ControllersManager;
|
||||
use Duplicator\Core\Views\TplMng;
|
||||
use Duplicator\Package\Create\BuildComponents;
|
||||
use Duplicator\Package\Recovery\RecoveryStatus;
|
||||
use Duplicator\Views\ViewHelper;
|
||||
|
||||
defined("ABSPATH") or die("");
|
||||
|
||||
/**
|
||||
* Variables
|
||||
*
|
||||
* @var ControllersManager $ctrlMng
|
||||
* @var TplMng $tplMng
|
||||
* @var array<string, mixed> $tplData
|
||||
* @var RecoveryStatus $recoverStatus
|
||||
*/
|
||||
|
||||
$recoverStatus = $tplData['recoverStatus'];
|
||||
$filteredData = $recoverStatus->getFilteredData();
|
||||
|
||||
$activeType = $recoverStatus->getType();
|
||||
$activeLabel = strtolower($recoverStatus->getTypeLabel());
|
||||
|
||||
$isLocalStorageSafe = $recoverStatus->isLocalStorageEnabled();
|
||||
$isWordPressCoreSafe = $recoverStatus->isWordPressCoreComplete();
|
||||
$isDatabaseSafe = $recoverStatus->isDatabaseComplete();
|
||||
$isMultisiteComplete = $recoverStatus->isMultisiteComplete();
|
||||
|
||||
$editDefaultStorageURL = StoragePageController::getEditDefaultUrl();
|
||||
|
||||
//echo '<pre>';var_export($isWordPressCoreSafe); echo '</pre>';
|
||||
//echo '<pre>';var_export($recoverStatus->activeTemplate); echo '</pre>';
|
||||
|
||||
/**
|
||||
* @var wpdb $wpdb
|
||||
*/
|
||||
global $wpdb;
|
||||
?>
|
||||
<div class="dup-recover-dlg-notice-box">
|
||||
<div class="title-area">
|
||||
<div class="title">
|
||||
<?php esc_html_e("REQUIREMENTS", 'duplicator-pro'); ?>:
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- ===============
|
||||
LOCAL SERVER STORAGE -->
|
||||
<div class="req-data">
|
||||
<?php
|
||||
if ($activeType == $recoverStatus::TYPE_TEMPLATE) {
|
||||
echo '<i class="far fa-question-circle fa-fw pass"></i>';
|
||||
} else {
|
||||
echo $isLocalStorageSafe
|
||||
? '<i class="far fa-check-circle fa-fw pass"></i>'
|
||||
: '<i class="far fa-times-circle fa-fw fail"></i>';
|
||||
}
|
||||
?>
|
||||
<a class="req-title" href="javascript:void(0)" onclick="jQuery(this).parent().children('div.req-info').toggle();">
|
||||
<?php esc_html_e("Local Server Storage", 'duplicator-pro'); ?>
|
||||
</a>
|
||||
|
||||
<div class="req-info">
|
||||
|
||||
<i class="fas fa-server fa-fw fa-lg"></i>
|
||||
<?php esc_html_e("Recovery points require one of the following 'Local Server' storage types:", 'duplicator-pro'); ?>
|
||||
<ul class="req-info-list">
|
||||
<li>
|
||||
<?php
|
||||
echo sprintf(
|
||||
"<i class='far fa-hdd fa-fw'></i><sup>"
|
||||
. wp_kses(ViewHelper::disasterIcon(false), ['i' => ['class' => []]])
|
||||
. "</sup> "
|
||||
. "<b><a href='" . esc_url($editDefaultStorageURL) . "' target='_blank'>%s</a></b> %s",
|
||||
esc_html__('[Local Default]', 'duplicator-pro'),
|
||||
esc_html__('This is the default built-in local storage type.', 'duplicator-pro')
|
||||
);
|
||||
?>
|
||||
</li>
|
||||
<li>
|
||||
<?php
|
||||
echo sprintf(
|
||||
"<i class='fas fa-hdd'></i><sup>"
|
||||
. wp_kses(ViewHelper::disasterIcon(false), ['i' => ['class' => []]])
|
||||
. "</sup> <b>%s</b> %s",
|
||||
esc_html__('[Local Non-Default]', 'duplicator-pro'),
|
||||
esc_html__('This is a custom directory on this server.', 'duplicator-pro')
|
||||
);
|
||||
?>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<div class="req-status">
|
||||
<b><?php esc_html_e("STATUS", 'duplicator-pro'); ?>:</b><br/>
|
||||
<?php
|
||||
if ($activeType == $recoverStatus::TYPE_TEMPLATE) {
|
||||
esc_html_e(
|
||||
"Templates do not control storage locations, only schedules and new package creation control this process.",
|
||||
'duplicator-pro'
|
||||
);
|
||||
echo ' ';
|
||||
esc_html_e('No changes can be made to affect this test.', 'duplicator-pro');
|
||||
} elseif ($isLocalStorageSafe) {
|
||||
echo '<span class="darkgreen">';
|
||||
echo esc_html__("At least one local server storage is associated with this ", 'duplicator-pro') . esc_html($activeLabel) . '.';
|
||||
echo '</span>';
|
||||
} else {
|
||||
echo '<span class="maroon">';
|
||||
echo esc_html__("No local server storage found for this ", 'duplicator-pro') . esc_html($activeLabel) . '.';
|
||||
echo '</span>';
|
||||
}
|
||||
?>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- ===============
|
||||
WordPress CORE -->
|
||||
<div class="req-data">
|
||||
<?php
|
||||
echo $isWordPressCoreSafe
|
||||
? '<i class="far fa-check-circle fa-fw pass"></i>'
|
||||
: '<i class="far fa-times-circle fa-fw fail"></i>';
|
||||
?>
|
||||
<a class="req-title" href="javascript:void(0)" onclick="jQuery(this).parent().children('div.req-info').toggle();">
|
||||
<?php esc_html_e("WordPress Core Folders", 'duplicator-pro'); ?>
|
||||
</a>
|
||||
<div class="req-info">
|
||||
<i class="fab fa-wordpress-simple fa-fw fa-lg"></i>
|
||||
<?php esc_html_e(
|
||||
"A recovery point needs all WordPress core folders included in the package (wp-admin, wp-content & wp-includes).",
|
||||
'duplicator-pro'
|
||||
); ?>
|
||||
|
||||
<div class="req-status">
|
||||
<b><?php esc_html_e("STATUS", 'duplicator-pro'); ?>:</b><br/>
|
||||
<?php if (($filteredData['dbonly'])) : ?>
|
||||
<span class="maroon">
|
||||
<?php esc_html_e(
|
||||
"Package is setup as a database only configuration, the core WordPress folders have been excluded automatically.",
|
||||
'duplicator-pro'
|
||||
); ?>
|
||||
</span>
|
||||
<?php elseif (count($filteredData['filterDirs']) > 0) : ?>
|
||||
<span class="maroon">
|
||||
<?php esc_html_e("WordPress core folders being filtered.", 'duplicator-pro'); ?>
|
||||
<?php foreach ($filteredData['filterDirs'] as $path) { ?>
|
||||
<small class="req-paths-data"><?php echo esc_html($path); ?></small>
|
||||
<?php } ?>
|
||||
</span>
|
||||
<?php else : ?>
|
||||
<span class="darkgreen">
|
||||
<?php esc_html_e("No WordPress core folder filters set", 'duplicator-pro'); ?>.
|
||||
</span>
|
||||
<?php endif; ?>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<?php if (is_multisite()) { ?>
|
||||
<!-- ===============
|
||||
Multisite complete-->
|
||||
<div class="req-data">
|
||||
<?php
|
||||
echo $isMultisiteComplete
|
||||
? '<i class="far fa-check-circle fa-fw pass"></i>'
|
||||
: '<i class="far fa-times-circle fa-fw fail"></i>';
|
||||
?>
|
||||
<a class="req-title" href="javascript:void(0)" onclick="jQuery(this).parent().children('div.req-info').toggle();">
|
||||
<?php esc_html_e("Multisite", 'duplicator-pro'); ?>
|
||||
</a>
|
||||
<div class="req-info">
|
||||
<?php esc_html_e(
|
||||
"Some subisites are filterd.",
|
||||
'duplicator-pro'
|
||||
); ?>
|
||||
</div>
|
||||
</div>
|
||||
<?php } ?>
|
||||
|
||||
<!-- ===============
|
||||
DATABASE TABLES -->
|
||||
<div class="req-data">
|
||||
<?php
|
||||
echo $isDatabaseSafe
|
||||
? '<i class="far fa-check-circle fa-fw pass"></i>'
|
||||
: '<i class="far fa-times-circle fa-fw fail"></i>';
|
||||
?>
|
||||
<a class="req-title" href="javascript:void(0)" onclick="jQuery(this).parent().children('div.req-info').toggle();">
|
||||
<?php esc_html_e("Primary Database Tables", 'duplicator-pro'); ?>
|
||||
</a>
|
||||
<div class="req-info">
|
||||
<i class="fas fa-database fa-fw fa-lg"></i>
|
||||
<?php
|
||||
echo sprintf(
|
||||
"%s <i>'%s'</i> %s %s %s",
|
||||
esc_html__('All database tables with the prefix', 'duplicator-pro'),
|
||||
esc_html($wpdb->prefix),
|
||||
esc_html__('must be included in the', 'duplicator-pro'),
|
||||
esc_html($activeLabel),
|
||||
esc_html__('for this to be an eligible recovery point.', 'duplicator-pro')
|
||||
);
|
||||
?>
|
||||
<div class="req-status">
|
||||
<b><?php esc_html_e("STATUS", 'duplicator-pro'); ?>:</b><br/>
|
||||
<?php if (count($filteredData['filterTables']) > 0) : ?>
|
||||
<?php esc_html_e("Filtered table list", 'duplicator-pro'); ?>:
|
||||
<?php
|
||||
foreach ($filteredData['filterTables'] as $table) {
|
||||
if (strpos($table, $wpdb->prefix) !== false) {
|
||||
echo '<small class="req-paths-data maroon">' . esc_html($table) . '</small>';
|
||||
} else {
|
||||
echo '<small class="req-paths-data darkgreen">' . esc_html($table) . '</small>';
|
||||
}
|
||||
}
|
||||
?>
|
||||
<?php else : ?>
|
||||
<span class="darkgreen">
|
||||
<?php esc_html_e("No table filters set on this package.", 'duplicator-pro'); ?>
|
||||
</span>
|
||||
<?php endif; ?>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- ===============
|
||||
PACKAGE COMPONENTS-->
|
||||
<div class="req-data">
|
||||
<?php if ($recoverStatus->hasRequiredComponents()) { ?>
|
||||
<i class="far fa-check-circle fa-fw pass"></i>
|
||||
<?php } else { ?>
|
||||
<i class="far fa-times-circle fa-fw fail"></i>
|
||||
<?php } ?>
|
||||
<a class="req-title" href="javascript:void(0)" onclick="jQuery(this).parent().children('div.req-info').toggle();">
|
||||
<?php esc_html_e("Package Components", 'duplicator-pro'); ?>
|
||||
</a>
|
||||
<div class="req-info">
|
||||
<b><?php esc_html_e('Required components:', 'duplicator-pro'); ?>:</b>
|
||||
<ul class="dup-recovery-package-components-required">
|
||||
<?php foreach (RecoveryStatus::COMPONENTS_REQUIRED as $component) { ?>
|
||||
<li>
|
||||
<span class="label"><?php echo esc_html(BuildComponents::getLabel($component)); ?></span>
|
||||
<span class="value">
|
||||
<?php if ($recoverStatus->hasComponent($component)) { ?>
|
||||
<i class="fas fa-check-circle green"></i> <?php esc_html_e('included', 'duplicator-pro'); ?>
|
||||
<?php } else { ?>
|
||||
<i class="fas fa-times-circle maroon"></i> <?php esc_html_e('excluded', 'duplicator-pro'); ?>
|
||||
<?php } ?>
|
||||
</span>
|
||||
</li>
|
||||
<?php } ?>
|
||||
</ul>
|
||||
</div>
|
||||
</div><br/>
|
||||
|
||||
<div class="title-area">
|
||||
<div class="title">
|
||||
<?php esc_html_e("NOTES", 'duplicator-pro'); ?>:
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="req-notes">
|
||||
<?php
|
||||
switch ($recoverStatus->getType()) {
|
||||
case $recoverStatus::TYPE_PACKAGE:
|
||||
esc_html_e(
|
||||
'To create a recovery-point enabled package change the conditions of the package build or template to meet the requirements listed above.',
|
||||
'duplicator-pro'
|
||||
);
|
||||
echo ' ';
|
||||
printf(
|
||||
esc_html_x(
|
||||
'Then use either the %1$sRecovery Point%2$s tool or the Recovery Point button to set which package you would like as the active recovery-point.', // phpcs:ignore Generic.Files.LineLength
|
||||
'%1$s and %2$s represents the opening and closing HTML tags for an anchor or link',
|
||||
'duplicator-pro'
|
||||
),
|
||||
'<a href="' . esc_url(RecoveryController::getRecoverPageLink()) . '" target="_blank" >',
|
||||
'</a>'
|
||||
);
|
||||
break;
|
||||
|
||||
case $recoverStatus::TYPE_SCHEDULE:
|
||||
esc_html_e(
|
||||
'To change the recovery status visit the template link above and make sure that it passes the recovery status test.',
|
||||
'duplicator-pro'
|
||||
);
|
||||
esc_html_e(
|
||||
'If the local storage test does not pass check the schedule storage types and make sure the local server storage type is selected.',
|
||||
'duplicator-pro'
|
||||
);
|
||||
esc_html_e(
|
||||
'These steps are optional and only required if you want to enable this schedule as an active recovery point.',
|
||||
'duplicator-pro'
|
||||
);
|
||||
break;
|
||||
|
||||
case $recoverStatus::TYPE_TEMPLATE:
|
||||
esc_html_e(
|
||||
'To change a template recovery point status to enabled, edit the template and make sure that it passes the recovery status test.',
|
||||
'duplicator-pro'
|
||||
);
|
||||
break;
|
||||
}
|
||||
?>
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1,48 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* Duplicator package row in table packages list
|
||||
*
|
||||
* @package Duplicator
|
||||
* @copyright (c) 2022, Snap Creek LLC
|
||||
*/
|
||||
|
||||
use Duplicator\Package\Recovery\RecoveryPackage;
|
||||
|
||||
defined("ABSPATH") or die("");
|
||||
|
||||
/**
|
||||
* Variables
|
||||
*
|
||||
* @var \Duplicator\Core\Controllers\ControllersManager $ctrlMng
|
||||
* @var \Duplicator\Core\Views\TplMng $tplMng
|
||||
* @var array<string, mixed> $tplData
|
||||
* @var RecoveryPackage $recoverPackage
|
||||
*/
|
||||
|
||||
$recoverPackage = $tplData['recoverPackage'];
|
||||
?><!DOCTYPE html>
|
||||
<html lang="en-US" >
|
||||
<head>
|
||||
<title><?php esc_html_e('Recovery package launcher', 'duplicator-pro'); ?></title>
|
||||
</head>
|
||||
<body>
|
||||
<h2><?php printf(esc_html__('Recovery package launcher created on %s', 'duplicator-pro'), esc_html($recoverPackage->getCreated())); ?></h2>
|
||||
<p>
|
||||
<?php
|
||||
printf(
|
||||
esc_html_x(
|
||||
'If the installer does not start automatically, you can click on this %1$slink and start it manually%2$s.',
|
||||
'%1$s and %2$s represent the opening and closing link tags (<a> and </a>)',
|
||||
'duplicator-pro'
|
||||
),
|
||||
'<a href="' . esc_url($recoverPackage->getInstallLink()) . '">',
|
||||
'</a>'
|
||||
);
|
||||
?>
|
||||
</p>
|
||||
<script>
|
||||
window.location.href = <?php echo json_encode($recoverPackage->getInstallLink()); ?>;
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,39 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* Duplicator package row in table packages list
|
||||
*
|
||||
* @package Duplicator
|
||||
* @copyright (c) 2022, Snap Creek LLC
|
||||
*/
|
||||
|
||||
defined("ABSPATH") or die("");
|
||||
|
||||
/**
|
||||
* Variables
|
||||
*
|
||||
* @var \Duplicator\Core\Controllers\ControllersManager $ctrlMng
|
||||
* @var \Duplicator\Core\Views\TplMng $tplMng
|
||||
* @var array<string, mixed> $tplData
|
||||
* @var \DUP_PRO_Package $package
|
||||
*/
|
||||
$package = $tplData['package'];
|
||||
|
||||
$timeDiff = sprintf(
|
||||
_x('%s ago', '%s represents the time diff, eg. 2 days', 'duplicator-pro'),
|
||||
$package->getPackageLife('human')
|
||||
);
|
||||
|
||||
?>
|
||||
<table>
|
||||
<tr>
|
||||
<td><b><?php esc_html_e('Package', 'duplicator-pro'); ?>:</b></td>
|
||||
<td><?php echo esc_html($package->Name); ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><b><?php esc_html_e('Created', 'duplicator-pro'); ?>:</b> </td>
|
||||
<td>
|
||||
<?php echo esc_html($package->getCreated()); ?> - <i><?php echo esc_html($timeDiff); ?></i>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
Reference in New Issue
Block a user