forked from LiveCarta/LiveCartaWP
Changed source root directory
This commit is contained in:
@@ -0,0 +1,69 @@
|
||||
<?php
|
||||
|
||||
use Duplicator\Utils\ExtraPlugins\ExtraItem;
|
||||
|
||||
/**
|
||||
* Variables
|
||||
*
|
||||
* @var \Duplicator\Core\Views\TplMng $tplMng
|
||||
* @var array<string, mixed> $tplData
|
||||
* @var ExtraItem $plugin
|
||||
*/
|
||||
|
||||
$plugin = $tplData['plugin'];
|
||||
|
||||
switch ($plugin->getStatus()) {
|
||||
case ExtraItem::STATUS_ACTIVE:
|
||||
$buttonLabel = __('Activated', 'duplicator');
|
||||
$buttonClass = 'disabled';
|
||||
$statusClass = 'status-active';
|
||||
break;
|
||||
case ExtraItem::STATUS_INSTALLED:
|
||||
$buttonLabel = __('Activate', 'duplicator');
|
||||
$buttonClass = 'button-secondary';
|
||||
$statusClass = 'status-installed';
|
||||
break;
|
||||
case ExtraItem::STATUS_NOT_INSTALLED:
|
||||
default:
|
||||
$buttonLabel = __('Install Plugin', 'duplicator');
|
||||
$buttonClass = 'button-primary';
|
||||
$statusClass = 'status-missing';
|
||||
break;
|
||||
}
|
||||
|
||||
?>
|
||||
<div class="addons-container">
|
||||
<div class="addon-item">
|
||||
<div class="details dup-clearfix">
|
||||
<img src="<?php echo esc_url($plugin->icon); ?>" alt="<?php echo $plugin->name; ?> logo">
|
||||
<h5 class="addon-name">
|
||||
<?php echo $plugin->name; ?>
|
||||
</h5>
|
||||
<p class="addon-desc"><?php echo $plugin->desc; ?></p>
|
||||
</div>
|
||||
<div class="actions dup-clear">
|
||||
<div class="status">
|
||||
<strong><?php _e('Status:', 'duplicator') ?>
|
||||
<span class="status-label <?php echo $statusClass; ?>">
|
||||
<?php echo $plugin->getStatusText(); ?>
|
||||
</span>
|
||||
</strong>
|
||||
</div>
|
||||
<div class="action-button">
|
||||
<?php if ($plugin->getURLType() === ExtraItem::URL_TYPE_GENERIC) { ?>
|
||||
<a href="<?php echo esc_url($plugin->url); ?>"
|
||||
title="<?php echo esc_attr($buttonLabel); ?>"
|
||||
target="_blank" rel="noopener noreferrer"
|
||||
class="button <?php echo $buttonClass; ?>"
|
||||
>
|
||||
<?php echo esc_html($buttonLabel); ?>
|
||||
</a>
|
||||
<?php } else { ?>
|
||||
<button class="button <?php echo $buttonClass; ?> dup-extra-plugin-item" data-plugin="<?php echo $plugin->getSlug();?>">
|
||||
<?php echo esc_html($buttonLabel); ?>
|
||||
</button>
|
||||
<?php } ?>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1,32 @@
|
||||
<?php
|
||||
|
||||
use Duplicator\Utils\ExtraPlugins\ExtraItem;
|
||||
use Duplicator\Utils\ExtraPlugins\ExtraPluginsMng;
|
||||
|
||||
/**
|
||||
* Variables
|
||||
*
|
||||
* @var \Duplicator\Core\Views\TplMng $tplMng
|
||||
* @var array<string, mixed> $tplData
|
||||
*/
|
||||
|
||||
defined('ABSPATH') || die();
|
||||
|
||||
if (!current_user_can('install_plugins')) {
|
||||
return;
|
||||
}
|
||||
?>
|
||||
<div id="dup-admin-addons">
|
||||
<div id="dup-admin-addons-list">
|
||||
<div class="list">
|
||||
<?php
|
||||
ExtraPluginsMng::getInstance()->foreachCallback(function (ExtraItem $plugin) use ($tplMng) {
|
||||
$tplMng->render(
|
||||
'admin_pages/about_us/about_us/extra_plugin_item',
|
||||
array('plugin' => $plugin->skipLite() ? $plugin->getPro() : $plugin)
|
||||
);
|
||||
});
|
||||
?>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1,55 @@
|
||||
<div class="dup-admin-about-section dup-admin-columns">
|
||||
<div class="dup-admin-column-60">
|
||||
<h3>
|
||||
<?php esc_html_e('Hello and welcome to Duplicator, the most reliable WordPress backup and migration plugin. ' .
|
||||
'At Duplicator, we build software that helps protect your website with our reliable secure backups and ' .
|
||||
'migrate your website without any manual effort.', 'duplicator'); ?>
|
||||
</h3>
|
||||
<p>
|
||||
<?php esc_html_e('Over the years, we found that most WordPress backup and migration plugins were unreliable, ' .
|
||||
'buggy, slow, and very hard to use. So we started with a simple goal: build a WordPress backup and migration ' .
|
||||
'plugin that’s both easy and powerful.', 'duplicator'); ?>
|
||||
</p>
|
||||
<p>
|
||||
<?php esc_html_e('Our goal is to take the pain out of creating backups, migrations, and make it easy.', 'duplicator'); ?>
|
||||
</p>
|
||||
<p>
|
||||
<?php
|
||||
printf(
|
||||
wp_kses(
|
||||
/* translators: %1$s - WPBeginner URL; %2$s - OptinMonster URL; %3$s - MonsterInsights URL. */
|
||||
__(
|
||||
'Duplicator is brought to you by the same team that’s behind the largest WordPress resource site, ' .
|
||||
'<a href="%1$s" target="_blank" rel="noopener noreferrer">WPBeginner</a>, the most popular ' .
|
||||
'lead-generation software, <a href="%2$s" target="_blank" rel="noopener noreferrer">OptinMonster</a>, ' .
|
||||
'the best WordPress analytics plugin, <a href="%3$s" target="_blank" rel="noopener noreferrer">MonsterInsights</a>, and more!',
|
||||
'duplicator'
|
||||
),
|
||||
array(
|
||||
'a' => array(
|
||||
'href' => array(),
|
||||
'rel' => array(),
|
||||
'target' => array(),
|
||||
),
|
||||
)
|
||||
),
|
||||
'https://www.wpbeginner.com/?utm_source=duplicatorplugin&utm_medium=pluginaboutpage&utm_campaign=aboutduplicator',
|
||||
'https://optinmonster.com/?utm_source=duplicatorplugin&utm_medium=pluginaboutpage&utm_campaign=aboutduplicator',
|
||||
'https://www.monsterinsights.com/?utm_source=duplicatorplugin&utm_medium=pluginaboutpage&utm_campaign=aboutduplicator'
|
||||
);
|
||||
?>
|
||||
</p>
|
||||
<p>
|
||||
<?php esc_html_e('Yup, we know a thing or two about building awesome products that customers love.', 'duplicator'); ?>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div class="dup-admin-column-40 dup-admin-column-last">
|
||||
<figure>
|
||||
<img src="<?php echo DUPLICATOR_PLUGIN_URL; ?>assets/img/about/team.jpeg" alt="<?php esc_attr_e('The Awesome Motive Team photo', 'duplicator'); ?>">
|
||||
<figcaption>
|
||||
<?php esc_html_e('The Awesome Motive Team', 'duplicator'); ?><br>
|
||||
</figcaption>
|
||||
</figure>
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1,25 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* Template for About Us page
|
||||
*
|
||||
* @package Duplicator
|
||||
* @copyright (c) 2022, Snap Creek LLC
|
||||
*/
|
||||
|
||||
defined('ABSPATH') || exit;
|
||||
|
||||
/**
|
||||
* Variables
|
||||
*
|
||||
* @var \Duplicator\Core\Views\TplMng $tplMng
|
||||
* @var array<string, mixed> $tplData
|
||||
*/
|
||||
?>
|
||||
|
||||
<div class="wrap" id="dup-admin-about">
|
||||
<?php
|
||||
$tplMng->render('admin_pages/about_us/about_us/info');
|
||||
$tplMng->render('admin_pages/about_us/about_us/extra_plugins');
|
||||
?>
|
||||
</div>
|
||||
@@ -0,0 +1,72 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* Template for First Package section
|
||||
*
|
||||
* @package Duplicator
|
||||
* @copyright (c) 2022, Snap Creek LLC
|
||||
*/
|
||||
|
||||
use Duplicator\Utils\LinkManager;
|
||||
|
||||
defined('ABSPATH') || exit;
|
||||
|
||||
/**
|
||||
* Variables
|
||||
*
|
||||
* @var \Duplicator\Core\Views\TplMng $tplMng
|
||||
* @var array<string, mixed> $tplData
|
||||
*/
|
||||
?>
|
||||
<div class="dup-admin-about-section dup-admin-about-section-first-form" style="display:flex;">
|
||||
|
||||
<div class="dup-admin-about-section-first-form-text">
|
||||
|
||||
<h2><?php _e('Creating Your First Backup', 'duplicator') ?></h2>
|
||||
|
||||
<p>
|
||||
<?php _e('Want to get started creating your first Backup with Duplicator? By following the step by step ' .
|
||||
'instructions in this walkthrough, you can easily create a backup or migration.', 'duplicator') ?>
|
||||
</p>
|
||||
<p>
|
||||
<?php _e('To begin, you’ll need to be logged into the WordPress admin area. Once there, click on Duplicator ' .
|
||||
'in the admin sidebar to go the Backups page.', 'duplicator') ?>
|
||||
</p>
|
||||
<p>
|
||||
<?php _e('In the Backups page, the Backups list will be empty because there are no Backups yet. To create ' .
|
||||
'a new Backup, click on the Create New button, and this will launch the Backup Creation Wizard.', 'duplicator') ?>
|
||||
</p>
|
||||
|
||||
<ul class="list-plain">
|
||||
<li>
|
||||
<a
|
||||
href="<?php echo esc_url(LinkManager::getCategoryUrl(LinkManager::QUICK_START_CAT, 'about-getting_started', 'Quick Start Guide')); ?>"
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
>
|
||||
<?php _e('Quick Start Guide', 'duplicator'); ?>
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a
|
||||
href="<?php echo esc_url(LinkManager::getDocUrl('backup-site', 'about-getting_started', 'Create Backup')); ?>"
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
>
|
||||
<?php _e('How to Create a Backup', 'duplicator'); ?>
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a
|
||||
href="<?php echo esc_url(LinkManager::getDocUrl('classic-install', 'about-getting_started', 'Migrate')); ?>"
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
>
|
||||
<?php _e('How to Migrate to a New Site', 'duplicator'); ?>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
@@ -0,0 +1,113 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* Template for First Package section
|
||||
*
|
||||
* @package Duplicator
|
||||
* @copyright (c) 2022, Snap Creek LLC
|
||||
*/
|
||||
|
||||
use Duplicator\Utils\LinkManager;
|
||||
use Duplicator\Utils\Upsell;
|
||||
|
||||
defined('ABSPATH') || exit;
|
||||
|
||||
/**
|
||||
* Variables
|
||||
*
|
||||
* @var \Duplicator\Core\Views\TplMng $tplMng
|
||||
* @var array<string, mixed> $tplData
|
||||
*/
|
||||
?>
|
||||
<div class="dup-admin-about-section dup-admin-about-section-hero">
|
||||
|
||||
<div class="dup-admin-about-section-hero-main">
|
||||
<h2>
|
||||
<?php _e('Get Duplicator Pro and Unlock all the Powerful Features', 'duplicator'); ?>
|
||||
</h2>
|
||||
|
||||
<p class="bigger">
|
||||
<?php
|
||||
echo wp_kses(
|
||||
__(
|
||||
'Thanks for being a loyal Duplicator Lite user. <strong>Upgrade to Duplicator Pro</strong> to unlock ' .
|
||||
'all the awesome features and experience<br>why Duplicator is consistently rated the best WordPress migration plugin.',
|
||||
'duplicator'
|
||||
),
|
||||
array(
|
||||
'br' => array(),
|
||||
'strong' => array(),
|
||||
)
|
||||
);
|
||||
?>
|
||||
</p>
|
||||
|
||||
<p>
|
||||
<?php
|
||||
printf(
|
||||
wp_kses( /* translators: %s - stars. */
|
||||
__(
|
||||
'We know that you will truly love Duplicator. It has over <strong>4000+ five star ratings</strong> ' .
|
||||
'(%s) and is active on over 1 million websites.',
|
||||
'duplicator'
|
||||
),
|
||||
array(
|
||||
'strong' => array(),
|
||||
)
|
||||
),
|
||||
'<i class="fa fa-star" aria-hidden="true"></i>' .
|
||||
'<i class="fa fa-star" aria-hidden="true"></i>' .
|
||||
'<i class="fa fa-star" aria-hidden="true"></i>' .
|
||||
'<i class="fa fa-star" aria-hidden="true"></i>' .
|
||||
'<i class="fa fa-star" aria-hidden="true"></i>'
|
||||
);
|
||||
?>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div class="dup-admin-about-section-hero-extra">
|
||||
<div class="dup-admin-about-section-features">
|
||||
<ul class="list">
|
||||
<?php
|
||||
foreach (Upsell::getCalloutCTAFeatureList() as $feature) {
|
||||
?>
|
||||
<li class="item">
|
||||
<span>
|
||||
<?php echo esc_html($feature); ?>
|
||||
</span>
|
||||
</li>
|
||||
<?php
|
||||
};
|
||||
?>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<hr/>
|
||||
|
||||
<h3 class="call-to-action">
|
||||
<?php
|
||||
printf(
|
||||
'<a href="%s" target="_blank" rel="noopener noreferrer">',
|
||||
esc_url(LinkManager::getCampaignUrl('duplicator-about_getting-started', 'Get Duplicator Pro Today'))
|
||||
);
|
||||
|
||||
_e('Get Duplicator Pro Today and Unlock all the Powerful Features', 'duplicator');
|
||||
?>
|
||||
</a>
|
||||
</h3>
|
||||
|
||||
<p>
|
||||
<?php
|
||||
printf(
|
||||
__(
|
||||
'Bonus: Duplicator Lite users get <span class="price-20-off">%1$d%% off regular price</span>, ' .
|
||||
'automatically applied at checkout.',
|
||||
'duplicator'
|
||||
),
|
||||
DUP_Constants::UPSELL_DEFAULT_DISCOUNT
|
||||
);
|
||||
?>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
@@ -0,0 +1,30 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* Template for getting started page
|
||||
*
|
||||
* @package Duplicator
|
||||
* @copyright (c) 2022, Snap Creek LLC
|
||||
*/
|
||||
|
||||
use Duplicator\Core\Views\TplMng;
|
||||
use Duplicator\Utils\LinkManager;
|
||||
|
||||
defined('ABSPATH') || exit;
|
||||
|
||||
/**
|
||||
* Variables
|
||||
*
|
||||
* @var \Duplicator\Core\Views\TplMng $tplMng
|
||||
* @var array<string, mixed> $tplData
|
||||
*/
|
||||
|
||||
?>
|
||||
|
||||
<div class="wrap" id="dup-admin-about">
|
||||
<?php
|
||||
TplMng::getInstance()->render('admin_pages/about_us/getting_started/first_package');
|
||||
|
||||
TplMng::getInstance()->render('admin_pages/about_us/getting_started/get_pro');
|
||||
?>
|
||||
</div>
|
||||
@@ -0,0 +1,123 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* Template for lite vs pro page
|
||||
*
|
||||
* @package Duplicator
|
||||
* @copyright (c) 2022, Snap Creek LLC
|
||||
*/
|
||||
|
||||
defined('ABSPATH') || exit;
|
||||
|
||||
use Duplicator\Controllers\AboutUsController;
|
||||
use Duplicator\Utils\LinkManager;
|
||||
|
||||
/**
|
||||
* Variables
|
||||
*
|
||||
* @var \Duplicator\Core\Views\TplMng $tplMng
|
||||
* @var array<string, mixed> $tplData
|
||||
*/
|
||||
?>
|
||||
<div class="wrap" id="dup-admin-about">
|
||||
<div class="dup-admin-about-section dup-admin-about-section-squashed">
|
||||
<h1 class="centered">
|
||||
<?php
|
||||
echo wp_kses(
|
||||
__(
|
||||
'<strong>Lite</strong> vs <strong>Pro</strong>',
|
||||
'duplicator'
|
||||
),
|
||||
[
|
||||
'strong' => [],
|
||||
]
|
||||
);
|
||||
?>
|
||||
</h1>
|
||||
|
||||
<p class="centered">
|
||||
<?php esc_html_e('Get the most out of Duplicator by upgrading to Pro and unlocking all of the powerful features.', 'duplicator'); ?>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div class="dup-admin-about-section dup-admin-about-section-squashed dup-admin-about-section-hero dup-admin-about-section-table">
|
||||
|
||||
<div class="dup-admin-about-section-hero-main dup-admin-columns">
|
||||
<div class="dup-admin-column-33">
|
||||
<h3 class="no-margin">
|
||||
<?php esc_html_e('Feature', 'duplicator'); ?>
|
||||
</h3>
|
||||
</div>
|
||||
<div class="dup-admin-column-33">
|
||||
<h3 class="no-margin">
|
||||
<?php echo __('Lite', 'duplicator'); ?>
|
||||
</h3>
|
||||
</div>
|
||||
<div class="dup-admin-column-33">
|
||||
<h3 class="no-margin">
|
||||
<?php echo __('Pro', 'duplicator'); ?>
|
||||
</h3>
|
||||
</div>
|
||||
</div>
|
||||
<div class="dup-admin-about-section-hero-extra no-padding dup-admin-columns">
|
||||
|
||||
<table>
|
||||
<?php foreach (AboutUsController::getLiteVsProFeatures() as $feature) : ?>
|
||||
<tr class="dup-admin-columns">
|
||||
<td class="dup-admin-column-33">
|
||||
<p><?php echo $feature['title']; ?></p>
|
||||
</td>
|
||||
<td class="dup-admin-column-33">
|
||||
<p class="features-<?php echo $feature['lite_enabled']; ?>">
|
||||
<strong>
|
||||
<?php
|
||||
if (isset($feature['lite_text'])) {
|
||||
echo $feature['lite_text'];
|
||||
} else {
|
||||
$feature['lite_enabled'] === AboutUsController::LITE_ENABLED_FULL ? _e('Included', 'duplicator')
|
||||
: _e('Not Available', 'duplicator');
|
||||
}
|
||||
?>
|
||||
</strong>
|
||||
</p>
|
||||
</td>
|
||||
<td class="dup-admin-column-33">
|
||||
<p class="features-full">
|
||||
<strong>
|
||||
<?php echo isset($feature['pro_text']) ? $feature['pro_text'] : __('Included', 'duplicator'); ?>
|
||||
</strong>
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<?php endforeach; ?>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
<div class="dup-admin-about-section dup-admin-about-section-hero">
|
||||
<div class="dup-admin-about-section-hero-main no-border">
|
||||
<h3 class="call-to-action centered">
|
||||
<?php
|
||||
printf(
|
||||
'<a href="%s" target="_blank" rel="noopener noreferrer">',
|
||||
esc_url(LinkManager::getCampaignUrl('about_duplicator_lite_vs_pro', 'Get Duplicator Pro Today'))
|
||||
);
|
||||
_e('Get Duplicator Pro Today and Unlock all the Powerful Features', 'duplicator')
|
||||
?>
|
||||
</a>
|
||||
</h3>
|
||||
|
||||
<p class="centered">
|
||||
<?php
|
||||
printf(
|
||||
__(
|
||||
'Bonus: Duplicator Lite users get <span class="price-20-off">%1$d%% off regular price</span>, ' .
|
||||
'automatically applied at checkout.',
|
||||
'duplicator'
|
||||
),
|
||||
DUP_Constants::UPSELL_DEFAULT_DISCOUNT
|
||||
);
|
||||
?>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1,27 @@
|
||||
<?php
|
||||
|
||||
use Duplicator\Controllers\AboutUsController;
|
||||
use Duplicator\Core\Controllers\ControllersManager;
|
||||
|
||||
/**
|
||||
* Variables
|
||||
*
|
||||
* @var \Duplicator\Core\Views\TplMng $tplMng
|
||||
* @var array<string, mixed> $tplData
|
||||
*/
|
||||
?>
|
||||
|
||||
<h2 class="nav-tab-wrapper">
|
||||
<a href="<?php echo ControllersManager::getMenuLink(ControllersManager::ABOUT_US_SUBMENU_SLUG, AboutUsController::ABOUT_US_TAB);?>"
|
||||
class="nav-tab <?php echo ($tplData['active_tab'] === AboutUsController::ABOUT_US_TAB) ? 'nav-tab-active' : '' ?>">
|
||||
<?php esc_html_e('About Us', 'duplicator'); ?>
|
||||
</a>
|
||||
<a href="<?php echo ControllersManager::getMenuLink(ControllersManager::ABOUT_US_SUBMENU_SLUG, AboutUsController::GETTING_STARTED);?>"
|
||||
class="nav-tab <?php echo ($tplData['active_tab'] === AboutUsController::GETTING_STARTED) ? 'nav-tab-active' : '' ?>">
|
||||
<?php esc_html_e('Getting Started', 'duplicator'); ?>
|
||||
</a>
|
||||
<a href="<?php echo ControllersManager::getMenuLink(ControllersManager::ABOUT_US_SUBMENU_SLUG, AboutUsController::LITE_VS_PRO);?>"
|
||||
class="nav-tab <?php echo ($tplData['active_tab'] === AboutUsController::LITE_VS_PRO) ? 'nav-tab-active' : '' ?>">
|
||||
<?php esc_html_e('Lite vs Pro', 'duplicator'); ?>
|
||||
</a>
|
||||
</h2>
|
||||
@@ -0,0 +1,23 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* @package Duplicator
|
||||
*/
|
||||
|
||||
use Duplicator\Libs\Snap\SnapIO;
|
||||
|
||||
defined("ABSPATH") or die("");
|
||||
|
||||
/**
|
||||
* Variables
|
||||
*
|
||||
* @var \Duplicator\Core\Controllers\ControllersManager $ctrlMng
|
||||
* @var \Duplicator\Core\Views\TplMng $tplMng
|
||||
* @var array<string, mixed> $tplData
|
||||
*/
|
||||
?>
|
||||
<div class="filter-files-tab-content">
|
||||
<?php $tplMng->render('parts/filters/package_components', array(
|
||||
'package' => $tplData['package'],
|
||||
)); ?>
|
||||
</div>
|
||||
@@ -0,0 +1,57 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* Admin Notifications content.
|
||||
*
|
||||
* Variables
|
||||
*
|
||||
* @var \Duplicator\Core\Views\TplMng $tplMng
|
||||
* @var array<string, mixed> $tplData
|
||||
*/
|
||||
|
||||
use Duplicator\Utils\LinkManager;
|
||||
use Duplicator\Utils\Email\EmailSummary;
|
||||
|
||||
defined('ABSPATH') || exit;
|
||||
|
||||
$frequency = DUP_Settings::Get('email_summary_frequency');
|
||||
?>
|
||||
|
||||
<h3 class="title"><?php _e('Email Summary', 'duplicator') ?></h3>
|
||||
<hr size="1" />
|
||||
<table class="dup-capabilities-selector-wrapper form-table">
|
||||
<tr valign="top">
|
||||
<th scope="row"><label><?php _e('Frequency', 'duplicator'); ?></label></th>
|
||||
<td>
|
||||
<select id="email-summary-frequency" name="email_summary_frequency">
|
||||
<?php foreach (EmailSummary::getAllFrequencyOptions() as $key => $label) : ?>
|
||||
<option value="<?php echo esc_attr((string) $key); ?>" <?php selected($frequency, $key); ?>>
|
||||
<?php echo esc_html($label); ?>
|
||||
</option>
|
||||
<?php endforeach; ?>
|
||||
</select>
|
||||
<p class="description">
|
||||
<?php
|
||||
$faqUrl = LinkManager::getDocUrl('how-to-disable-email-summaries', 'email_summary', 'how to disable');
|
||||
echo sprintf(
|
||||
esc_html_x(
|
||||
'You can view the email summary example %1shere%2s.',
|
||||
'%1s and %2s are the opening and close <a> tags to the summary preview link',
|
||||
'duplicator'
|
||||
),
|
||||
'<a href="' . EmailSummary::getPreviewLink() . '" target="_blank">',
|
||||
'</a>'
|
||||
) . ' ' . sprintf(
|
||||
esc_html_x(
|
||||
'Learn %1show to disable%2s.',
|
||||
'%1s and %2s are opening and closing link tags to the documentation.',
|
||||
'duplicator'
|
||||
),
|
||||
'<a href="' . $faqUrl . '" target="_blank" >',
|
||||
'</a>'
|
||||
);
|
||||
?>
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
@@ -0,0 +1,263 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* @package Duplicator
|
||||
* @copyright (c) 2022, Snap Creek LLC
|
||||
*/
|
||||
|
||||
defined("ABSPATH") || exit;
|
||||
|
||||
/**
|
||||
* Variables
|
||||
*
|
||||
* @var \Duplicator\Core\Views\TplMng $tplMng
|
||||
* @var array<string, mixed> $tplData
|
||||
*/
|
||||
|
||||
use Duplicator\Core\Controllers\ControllersManager;
|
||||
use Duplicator\Utils\LinkManager;
|
||||
use Duplicator\Libs\Snap\SnapUtil;
|
||||
use Duplicator\Core\Views\TplMng;
|
||||
|
||||
global $wp_version;
|
||||
global $wpdb;
|
||||
|
||||
$action_updated = null;
|
||||
$action_response = __("General Settings Saved", 'duplicator');
|
||||
|
||||
//SAVE RESULTS
|
||||
if (isset($_POST['action']) && $_POST['action'] == 'save') {
|
||||
//Nonce Check
|
||||
if (!isset($_POST['dup_settings_save_nonce_field']) || !wp_verify_nonce($_POST['dup_settings_save_nonce_field'], 'dup_settings_save')) {
|
||||
die('Invalid token permissions to perform this request.');
|
||||
}
|
||||
|
||||
DUP_Settings::Set('wpfront_integrate', isset($_POST['wpfront_integrate']) ? "1" : "0");
|
||||
|
||||
$skip_archive_scan = filter_input(INPUT_POST, 'skip_archive_scan', FILTER_VALIDATE_BOOLEAN);
|
||||
DUP_Settings::Set('skip_archive_scan', $skip_archive_scan);
|
||||
|
||||
$unhook_third_party_js = filter_input(INPUT_POST, 'unhook_third_party_js', FILTER_VALIDATE_BOOLEAN);
|
||||
DUP_Settings::Set('unhook_third_party_js', $unhook_third_party_js);
|
||||
|
||||
$unhook_third_party_css = filter_input(INPUT_POST, 'unhook_third_party_css', FILTER_VALIDATE_BOOLEAN);
|
||||
DUP_Settings::Set('unhook_third_party_css', $unhook_third_party_css);
|
||||
|
||||
$email_summary_frequency = SnapUtil::sanitizeStrictInput(INPUT_POST, 'email_summary_frequency');
|
||||
DUP_Settings::setEmailSummaryFrequency($email_summary_frequency);
|
||||
|
||||
|
||||
|
||||
DUP_Settings::Save();
|
||||
$action_updated = true;
|
||||
DUP_Util::initSnapshotDirectory();
|
||||
}
|
||||
|
||||
$wpfront_integrate = DUP_Settings::Get('wpfront_integrate');
|
||||
$wpfront_ready = apply_filters('wpfront_user_role_editor_duplicator_integration_ready', false);
|
||||
$skip_archive_scan = DUP_Settings::Get('skip_archive_scan');
|
||||
$unhook_third_party_js = DUP_Settings::Get('unhook_third_party_js');
|
||||
$unhook_third_party_css = DUP_Settings::Get('unhook_third_party_css');
|
||||
$actionUrl = ControllersManager::getMenuLink(ControllersManager::SETTINGS_SUBMENU_SLUG, 'general');
|
||||
?>
|
||||
|
||||
<style>
|
||||
form#dup-settings-form input[type=text] {width: 400px; }
|
||||
div.dup-feature-found {padding:3px; border:1px solid silver; background: #f7fcfe; border-radius: 3px; width:400px; font-size: 12px}
|
||||
div.dup-feature-notfound {padding:5px; border:1px solid silver; background: #fcf3ef; border-radius: 3px; width:500px; font-size: 13px; line-height: 18px}
|
||||
table.nested-table-data td {padding:5px 5px 5px 0}
|
||||
</style>
|
||||
|
||||
<form id="dup-settings-form" action="<?php echo esc_url($actionUrl); ?>" method="post">
|
||||
|
||||
<?php wp_nonce_field('dup_settings_save', 'dup_settings_save_nonce_field', false); ?>
|
||||
<input type="hidden" name="action" value="save">
|
||||
<input type="hidden" name="page" value="duplicator-settings">
|
||||
|
||||
<?php if ($action_updated) : ?>
|
||||
<div id="message" class="notice notice-success is-dismissible dup-wpnotice-box"><p><?php echo esc_html($action_response); ?></p></div>
|
||||
<?php endif; ?>
|
||||
|
||||
<?php TplMng::getInstance()->render('admin_pages/settings/general/license'); ?>
|
||||
|
||||
<?php TplMng::getInstance()->render('admin_pages/settings/general/email_summary'); ?>
|
||||
|
||||
<!-- ===============================
|
||||
ADVANCED SETTINGS -->
|
||||
<h3 class="title"><?php esc_html_e('Advanced', 'duplicator'); ?> </h3>
|
||||
<hr size="1" />
|
||||
<table class="form-table">
|
||||
<tr>
|
||||
<th scope="row"><label><?php esc_html_e("Settings", 'duplicator'); ?></label></th>
|
||||
<td>
|
||||
<button class="button" onclick="Duplicator.Pack.ConfirmResetAll(); return false;">
|
||||
<i class="fas fa-redo fa-sm"></i> <?php esc_html_e('Reset Backups', 'duplicator'); ?>
|
||||
</button>
|
||||
<p class="description">
|
||||
<?php
|
||||
esc_html_e("This process will reset all Backups by deleting those without a completed status, reset the active Backup id and perform a "
|
||||
. "cleanup of the build tmp file.", 'duplicator');
|
||||
?>
|
||||
<i class="fas fa-question-circle fa-sm"
|
||||
data-tooltip-title="<?php esc_attr_e("Reset Settings", 'duplicator'); ?>"
|
||||
data-tooltip="<?php
|
||||
esc_attr_e('This action should only be used if the Backups screen is having issues or a build is stuck.', 'duplicator'); ?>">
|
||||
</i>
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr valign="top">
|
||||
<th scope="row"><label><?php esc_html_e('Backup scan', 'duplicator'); ?></label></th>
|
||||
<td>
|
||||
<input type="checkbox" name="skip_archive_scan" id="_skip_archive_scan" <?php checked($skip_archive_scan, true); ?> value="1" />
|
||||
<label for="_skip_archive_scan"><?php esc_html_e("Skip", 'duplicator') ?> </label><br/>
|
||||
<p class="description">
|
||||
<?php
|
||||
esc_html_e('If enabled all files check on scan will be skipped before Backup creation. '
|
||||
. 'In some cases, this option can be beneficial if the scan process is having issues running or returning errors.', 'duplicator');
|
||||
?>
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row"><label><?php esc_html_e("Foreign JavaScript", 'duplicator'); ?></label></th>
|
||||
<td>
|
||||
<input type="checkbox" name="unhook_third_party_js" id="unhook_third_party_js" <?php checked($unhook_third_party_js, true); ?> value="1"/>
|
||||
<label for="unhook_third_party_js"><?php esc_html_e("Disable", 'duplicator'); ?></label> <br/>
|
||||
<p class="description">
|
||||
<?php
|
||||
esc_html_e("Check this option if other plugins/themes JavaScript files are conflicting with Duplicator.", 'duplicator');
|
||||
echo '<br/>';
|
||||
esc_html_e("Do not modify this setting unless you know the expected result or have talked to support.", 'duplicator');
|
||||
?>
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row"><label><?php esc_html_e("Foreign CSS", 'duplicator'); ?></label></th>
|
||||
<td>
|
||||
<input type="checkbox" name="unhook_third_party_css" id="unhook_third_party_css" <?php checked($unhook_third_party_css, true); ?> value="1"/>
|
||||
<label for="unhook_third_party_css"><?php esc_html_e("Disable", 'duplicator'); ?></label> <br/>
|
||||
<p class="description">
|
||||
<?php
|
||||
esc_html_e("Check this option if other plugins/themes CSS files are conflicting with Duplicator.", 'duplicator');
|
||||
echo '<br/>';
|
||||
esc_html_e("Do not modify this setting unless you know the expected result or have talked to support.", 'duplicator');
|
||||
?>
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<p class="submit" style="margin: 20px 0px 0xp 5px;">
|
||||
<br/>
|
||||
<input
|
||||
type="submit"
|
||||
name="submit"
|
||||
id="submit"
|
||||
class="button-primary"
|
||||
value="<?php esc_attr_e("Save General Settings", 'duplicator') ?>"
|
||||
style="display: inline-block;"
|
||||
/>
|
||||
</p>
|
||||
|
||||
</form>
|
||||
|
||||
<!-- ==========================================
|
||||
THICK-BOX DIALOGS: -->
|
||||
<?php
|
||||
$reset_confirm = new DUP_UI_Dialog();
|
||||
$reset_confirm->title = __('Reset Backups ?', 'duplicator');
|
||||
$reset_confirm->message = __('This will clear and reset all of the current temporary Backups. Would you like to continue?', 'duplicator');
|
||||
$reset_confirm->progressText = __('Resetting settings, Please Wait...', 'duplicator');
|
||||
$reset_confirm->jscallback = 'Duplicator.Pack.ResetAll()';
|
||||
$reset_confirm->progressOn = false;
|
||||
$reset_confirm->okText = __('Yes', 'duplicator');
|
||||
$reset_confirm->cancelText = __('No', 'duplicator');
|
||||
$reset_confirm->closeOnConfirm = true;
|
||||
$reset_confirm->initConfirm();
|
||||
|
||||
$faqUrl = esc_url(LinkManager::getDocUrl('how-to-resolve-duplicator-plugin-user-interface-ui-issues', 'settings-admin_notice'));
|
||||
$msg_ajax_error = new DUP_UI_Messages(
|
||||
__('AJAX Call Error!', 'duplicator') . '<br>' .
|
||||
sprintf(
|
||||
_x(
|
||||
'AJAX error encountered when resetting Backups. Please see %1$sthis FAQ entry%2$s for possible resolutions.',
|
||||
'1 and 2 are opening and closing <a> tags',
|
||||
'duplicator'
|
||||
),
|
||||
'<a href="' . $faqUrl . '" target="_blank">',
|
||||
'</a>'
|
||||
),
|
||||
DUP_UI_Messages::ERROR
|
||||
);
|
||||
|
||||
$msg_ajax_error->hide_on_init = true;
|
||||
$msg_ajax_error->is_dismissible = true;
|
||||
$msg_ajax_error->initMessage();
|
||||
|
||||
$msg_response_error = new DUP_UI_Messages(__('RESPONSE ERROR!', 'duplicator'), DUP_UI_Messages::ERROR);
|
||||
$msg_response_error->hide_on_init = true;
|
||||
$msg_response_error->is_dismissible = true;
|
||||
$msg_response_error->initMessage();
|
||||
|
||||
$msg_response_success = new DUP_UI_Messages('', DUP_UI_Messages::NOTICE);
|
||||
$msg_response_success->hide_on_init = true;
|
||||
$msg_response_success->is_dismissible = true;
|
||||
$msg_response_success->initMessage();
|
||||
?>
|
||||
<script>
|
||||
jQuery(document).ready(function ($)
|
||||
{
|
||||
var msgDebug = <?php echo DUP_Util::isWpDebug() ? 'true' : 'false'; ?>;
|
||||
Duplicator.Pack.ConfirmResetAll = function ()
|
||||
{
|
||||
<?php $reset_confirm->showConfirm(); ?>
|
||||
};
|
||||
|
||||
Duplicator.Pack.ResetAll = function ()
|
||||
{
|
||||
$.ajax({
|
||||
type: "POST",
|
||||
url: ajaxurl,
|
||||
dataType: "json",
|
||||
data: {
|
||||
action: 'duplicator_reset_all_settings',
|
||||
nonce: '<?php echo wp_create_nonce('duplicator_reset_all_settings'); ?>'
|
||||
},
|
||||
success: function (result) {
|
||||
if (msgDebug) {
|
||||
console.log(result);
|
||||
}
|
||||
|
||||
if (result.success) {
|
||||
var message = '<?php _e('Backups successfully reset', 'duplicator'); ?>';
|
||||
if (msgDebug) {
|
||||
console.log(result.data.message);
|
||||
console.log(result.data.html);
|
||||
}
|
||||
<?php
|
||||
$msg_response_success->updateMessage('message');
|
||||
$msg_response_success->showMessage();
|
||||
?>
|
||||
} else {
|
||||
var message = '<?php _e('RESPONSE ERROR!', 'duplicator'); ?>' + '<br><br>' + result.data.message;
|
||||
if (msgDebug) {
|
||||
message += '<br><br>' + result.data.html;
|
||||
}
|
||||
<?php
|
||||
$msg_response_error->updateMessage('message');
|
||||
$msg_response_error->showMessage();
|
||||
?>
|
||||
}
|
||||
},
|
||||
error: function (result) {
|
||||
if (msgDebug) {
|
||||
console.log(result);
|
||||
}
|
||||
<?php $msg_ajax_error->showMessage(); ?>
|
||||
}
|
||||
});
|
||||
};
|
||||
});
|
||||
</script>
|
||||
@@ -0,0 +1,67 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* License section template for General settings
|
||||
*
|
||||
* @package Duplicator
|
||||
* @copyright (c) 2022, Snap Creek LLC
|
||||
*/
|
||||
|
||||
defined("ABSPATH") || exit;
|
||||
|
||||
use Duplicator\Utils\LinkManager;
|
||||
|
||||
?>
|
||||
|
||||
<h3 class="title"><?php esc_html_e('License', 'duplicator'); ?> </h3>
|
||||
<hr size="1" />
|
||||
<table class="form-table licenses-table">
|
||||
<tr valign="top">
|
||||
<th scope="row"><label><?php esc_html_e('License Key', 'duplicator'); ?></label></th>
|
||||
<td>
|
||||
<div class="description" style="max-width:700px">
|
||||
<p><?php esc_html_e('You\'re using Duplicator Lite - no license needed. Enjoy!', 'duplicator'); ?> 🙂</p>
|
||||
<p>
|
||||
<?php printf(
|
||||
wp_kses(
|
||||
__('To unlock more features consider <strong><a href="%s" target="_blank"
|
||||
rel="noopener noreferrer">upgrading to PRO</a></strong>.', 'duplicator'),
|
||||
array(
|
||||
'a' => array(
|
||||
'href' => array(),
|
||||
'class' => array(),
|
||||
'target' => array(),
|
||||
'rel' => array(),
|
||||
),
|
||||
'strong' => array(),
|
||||
)
|
||||
),
|
||||
esc_url(LinkManager::getCampaignUrl('license-tab', 'upgrading to PRO'))
|
||||
); ?>
|
||||
</p>
|
||||
<p class="discount-note">
|
||||
<?php
|
||||
printf(
|
||||
__(
|
||||
'As a valued Duplicator Lite user you receive <strong>%1$d%% off</strong>, automatically applied at checkout!',
|
||||
'duplicator'
|
||||
),
|
||||
DUP_Constants::UPSELL_DEFAULT_DISCOUNT
|
||||
);
|
||||
?>
|
||||
</p>
|
||||
<hr>
|
||||
<p>
|
||||
<?php _e('Already purchased? Connect to unlock <b>Duplicator PRO!</b>', 'duplicator'); ?></p>
|
||||
<p>
|
||||
<button type="button" class="dup-btn dup-btn-md dup-btn-orange" id="dup-settings-connect-btn">
|
||||
<?php echo esc_html__('Connect to Duplicator Pro', 'duplicator'); ?>
|
||||
</button>
|
||||
</p>
|
||||
<p>
|
||||
<small><?php esc_html_e('This opens connect.duplicator.com where you\'ll securely connect to Duplicator Pro.', 'duplicator'); ?></small>
|
||||
</p>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
@@ -0,0 +1,96 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* @package Duplicator
|
||||
* @copyright (c) 2022, Snap Creek LLC
|
||||
*/
|
||||
|
||||
defined("ABSPATH") || exit;
|
||||
|
||||
/**
|
||||
* Variables
|
||||
*
|
||||
* @var \Duplicator\Core\Views\TplMng $tplMng
|
||||
* @var array<string, mixed> $tplData
|
||||
*/
|
||||
?>
|
||||
<div>
|
||||
<b>
|
||||
<?php _e('All information sent to the server is anonymous.', 'duplicator'); ?><br>
|
||||
<?php _e('No information about storage or Backup\'s content are sent.', 'duplicator'); ?>
|
||||
</b>
|
||||
</div>
|
||||
<br>
|
||||
<div>
|
||||
<?php
|
||||
_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'
|
||||
);
|
||||
?>
|
||||
<b>
|
||||
<?php _e('This allows us to continuously improve our product as well as our Q&A / testing process.', 'duplicator'); ?>
|
||||
</b>
|
||||
<?php _e('Below is the list of information that Duplicator collects as part of the usage tracking:', 'duplicator'); ?>
|
||||
</div>
|
||||
<ul>
|
||||
<li>
|
||||
<?php
|
||||
_e(
|
||||
'<b>PHP Version:</b> so we know which PHP versions we have to test against (no one likes whitescreens or log files full of errors).',
|
||||
'duplicator'
|
||||
);
|
||||
?>
|
||||
</li>
|
||||
<li>
|
||||
<?php
|
||||
_e(
|
||||
'<b>WordPress Version:</b> so we know which WordPress versions to support and test against.',
|
||||
'duplicator'
|
||||
);
|
||||
?>
|
||||
</li>
|
||||
<li>
|
||||
<?php
|
||||
_e(
|
||||
'<b>MySQL Version:</b> so we know which versions of MySQL to support and test against for our custom tables.',
|
||||
'duplicator'
|
||||
);
|
||||
?>
|
||||
</li>
|
||||
<li>
|
||||
<?php
|
||||
_e(
|
||||
'<b>Duplicator Version:</b> 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.',
|
||||
'duplicator'
|
||||
);
|
||||
?>
|
||||
</li>
|
||||
<li>
|
||||
<?php
|
||||
_e(
|
||||
'<b>Plugins and Themes infos:</b> so we can figure out which ones can generate compatibility errors with Duplicator.',
|
||||
'duplicator'
|
||||
);
|
||||
?>
|
||||
</li>
|
||||
<li>
|
||||
<?php
|
||||
_e(
|
||||
'<b>Site info:</b> 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.',
|
||||
'duplicator'
|
||||
);
|
||||
?>
|
||||
</li>
|
||||
<li>
|
||||
<?php
|
||||
_e(
|
||||
'<b>Backups infos:</b> Information about the Backups created and the type of components included.',
|
||||
'duplicator'
|
||||
);
|
||||
?>
|
||||
</li>
|
||||
</ul>
|
||||
@@ -0,0 +1,211 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* @package Duplicator
|
||||
* @copyright (c) 2022, Snap Creek LLC
|
||||
*/
|
||||
|
||||
defined("ABSPATH") || exit;
|
||||
|
||||
/**
|
||||
* Variables
|
||||
*
|
||||
* @var \Duplicator\Core\Views\TplMng $tplMng
|
||||
* @var array<string, mixed> $tplData
|
||||
*/
|
||||
|
||||
use Duplicator\Core\Controllers\ControllersManager;
|
||||
use Duplicator\Libs\Snap\SnapUtil;
|
||||
|
||||
global $wp_version;
|
||||
global $wpdb;
|
||||
|
||||
$action_updated = null;
|
||||
$action_response = __("Misc Settings Saved", 'duplicator');
|
||||
|
||||
//SAVE RESULTS
|
||||
if (isset($_POST['action']) && $_POST['action'] == 'save') {
|
||||
//Nonce Check
|
||||
if (!isset($_POST['dup_settings_save_nonce_field']) || !wp_verify_nonce($_POST['dup_settings_save_nonce_field'], 'dup_settings_save')) {
|
||||
die('Invalid token permissions to perform this request.');
|
||||
}
|
||||
|
||||
DUP_Settings::Set('uninstall_settings', isset($_POST['uninstall_settings']) ? "1" : "0");
|
||||
DUP_Settings::Set('uninstall_files', isset($_POST['uninstall_files']) ? "1" : "0");
|
||||
DUP_Settings::Set('package_debug', isset($_POST['package_debug']) ? "1" : "0");
|
||||
|
||||
$usage_tracking = filter_input(INPUT_POST, 'usage_tracking', FILTER_VALIDATE_BOOLEAN);
|
||||
DUP_Settings::setUsageTracking($usage_tracking);
|
||||
|
||||
$amNotices = !SnapUtil::sanitizeBoolInput(INPUT_POST, 'dup_am_notices');
|
||||
DUP_Settings::Set('amNotices', $amNotices);
|
||||
|
||||
if (isset($_REQUEST['trace_log_enabled'])) {
|
||||
dup_log::trace("#### trace log enabled");
|
||||
// Trace on
|
||||
|
||||
if (DUP_Settings::Get('trace_log_enabled') == 0) {
|
||||
DUP_Log::DeleteTraceLog();
|
||||
}
|
||||
|
||||
DUP_Settings::Set('trace_log_enabled', 1);
|
||||
} else {
|
||||
dup_log::trace("#### trace log disabled");
|
||||
|
||||
// Trace off
|
||||
DUP_Settings::Set('trace_log_enabled', 0);
|
||||
}
|
||||
|
||||
DUP_Settings::Save();
|
||||
$action_updated = true;
|
||||
DUP_Util::initSnapshotDirectory();
|
||||
}
|
||||
|
||||
$trace_log_enabled = DUP_Settings::Get('trace_log_enabled');
|
||||
$uninstall_settings = DUP_Settings::Get('uninstall_settings');
|
||||
$uninstall_files = DUP_Settings::Get('uninstall_files');
|
||||
$package_debug = DUP_Settings::Get('package_debug');
|
||||
$actionUrl = ControllersManager::getMenuLink(ControllersManager::SETTINGS_SUBMENU_SLUG, 'misc');
|
||||
?>
|
||||
|
||||
<style>
|
||||
form#dup-settings-form input[type=text] {width: 400px; }
|
||||
div.dup-feature-found {padding:3px; border:1px solid silver; background: #f7fcfe; border-radius: 3px; width:400px; font-size: 12px}
|
||||
div.dup-feature-notfound {padding:5px; border:1px solid silver; background: #fcf3ef; border-radius: 3px; width:500px; font-size: 13px; line-height: 18px}
|
||||
table.nested-table-data td {padding:5px 5px 5px 0}
|
||||
</style>
|
||||
|
||||
<form id="dup-settings-form" action="<?php echo esc_url($actionUrl); ?>" method="post">
|
||||
|
||||
<?php wp_nonce_field('dup_settings_save', 'dup_settings_save_nonce_field', false); ?>
|
||||
<input type="hidden" name="action" value="save">
|
||||
<input type="hidden" name="page" value="duplicator-settings">
|
||||
|
||||
<?php if ($action_updated) : ?>
|
||||
<div id="message" class="notice notice-success is-dismissible dup-wpnotice-box"><p><?php echo esc_html($action_response); ?></p></div>
|
||||
<?php endif; ?>
|
||||
|
||||
<h3 class="title"><?php esc_html_e("Plugin", 'duplicator') ?> </h3>
|
||||
<hr size="1" />
|
||||
<table class="form-table">
|
||||
<tr valign="top">
|
||||
<th scope="row"><label><?php esc_html_e("Version", 'duplicator'); ?></label></th>
|
||||
<td>
|
||||
<?php
|
||||
echo DUPLICATOR_VERSION;
|
||||
?>
|
||||
</td>
|
||||
</tr>
|
||||
<tr valign="top">
|
||||
<th scope="row"><label><?php esc_html_e("Uninstall", 'duplicator'); ?></label></th>
|
||||
<td>
|
||||
<p>
|
||||
<input type="checkbox" name="uninstall_settings" id="uninstall_settings" <?php echo ($uninstall_settings) ? 'checked="checked"' : ''; ?> />
|
||||
<label for="uninstall_settings"><?php esc_html_e("Delete Plugin Settings", 'duplicator') ?> </label>
|
||||
</p>
|
||||
<p>
|
||||
<input type="checkbox" name="uninstall_files" id="uninstall_files" <?php echo ($uninstall_files) ? 'checked="checked"' : ''; ?> />
|
||||
<label for="uninstall_files"><?php esc_html_e("Delete Entire Storage Directory", 'duplicator') ?></label><br/>
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr valign="top">
|
||||
<th scope="row"><label><?php esc_html_e("Usage statistics", 'duplicator'); ?></label></th>
|
||||
<td>
|
||||
<?php if (DUPLICATOR_USTATS_DISALLOW) { // @phpstan-ignore-line ?>
|
||||
<span class="maroon">
|
||||
<?php _e('Usage statistics are hardcoded disallowed.', 'duplicator'); ?>
|
||||
</span>
|
||||
<?php } else { ?>
|
||||
<input
|
||||
type="checkbox"
|
||||
name="usage_tracking"
|
||||
id="usage_tracking"
|
||||
value="1"
|
||||
<?php checked(DUP_Settings::Get('usage_tracking')); ?>
|
||||
>
|
||||
<label for="usage_tracking"><?php _e("Enable usage tracking", 'duplicator'); ?> </label>
|
||||
<i
|
||||
class="fas fa-question-circle fa-sm"
|
||||
data-tooltip-title="<?php esc_attr_e("Usage Tracking", 'duplicator'); ?>"
|
||||
data-tooltip="<?php echo esc_attr($tplMng->render('admin_pages/settings/general/usage_tracking_tooltip', array(), false)); ?>"
|
||||
data-tooltip-width="600"
|
||||
>
|
||||
</i>
|
||||
<?php } ?>
|
||||
</td>
|
||||
</tr>
|
||||
<tr valign="top">
|
||||
<th scope="row"><label><?php esc_html_e("Hide Announcements", 'duplicator'); ?></label></th>
|
||||
<td>
|
||||
<input
|
||||
type="checkbox"
|
||||
name="dup_am_notices"
|
||||
id="dup_am_notices"
|
||||
<?php checked(!DUP_Settings::Get('amNotices')); ?>
|
||||
/>
|
||||
<label for="dup_am_notices">
|
||||
<?php esc_html_e("Check this option to hide plugin announcements and update details.", 'duplicator') ?>
|
||||
</label>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<h3 class="title"><?php esc_html_e("Debug", 'duplicator') ?> </h3>
|
||||
<hr size="1" />
|
||||
<table class="form-table">
|
||||
<tr>
|
||||
<th scope="row"><label><?php esc_html_e("Debugging", 'duplicator'); ?></label></th>
|
||||
<td>
|
||||
<input type="checkbox" name="package_debug" id="package_debug" <?php echo ($package_debug) ? 'checked="checked"' : ''; ?> />
|
||||
<label for="package_debug"><?php esc_html_e("Enable debug options throughout user interface", 'duplicator'); ?></label>
|
||||
</td>
|
||||
</tr>
|
||||
<tr valign="top">
|
||||
<th scope="row"><label><?php esc_html_e("Trace Log", 'duplicator'); ?></label></th>
|
||||
<td>
|
||||
<input type="checkbox" name="trace_log_enabled" id="trace_log_enabled" <?php echo ($trace_log_enabled == 1) ? 'checked="checked"' : ''; ?> />
|
||||
<label for="trace_log_enabled"><?php esc_html_e("Enabled", 'duplicator') ?> </label><br/>
|
||||
<p class="description">
|
||||
<?php
|
||||
esc_html_e('Turns on detailed operation logging. Logging will occur in both PHP error and local trace logs.', 'duplicator');
|
||||
echo ('<br/>');
|
||||
esc_html_e('WARNING: Only turn on this setting when asked to by support as tracing will impact performance.', 'duplicator');
|
||||
?>
|
||||
</p><br/>
|
||||
<button class="button" <?php
|
||||
if (!DUP_Log::TraceFileExists()) {
|
||||
echo 'disabled';
|
||||
}
|
||||
?> onclick="Duplicator.Pack.DownloadTraceLog(); return false">
|
||||
<i class="fa fa-download"></i> <?php echo esc_html__('Download Trace Log', 'duplicator') . ' (' . DUP_LOG::GetTraceStatus() . ')'; ?>
|
||||
</button>
|
||||
</td>
|
||||
</tr>
|
||||
</table><br/>
|
||||
|
||||
<p class="submit" style="margin: 20px 0px 0xp 5px;">
|
||||
<br/>
|
||||
<input
|
||||
type="submit"
|
||||
name="submit"
|
||||
id="submit"
|
||||
class="button-primary"
|
||||
value="<?php esc_attr_e("Save Misc Settings", 'duplicator') ?>"
|
||||
style="display: inline-block;"
|
||||
/>
|
||||
</p>
|
||||
|
||||
</form>
|
||||
|
||||
<script>
|
||||
jQuery(document).ready(function ($)
|
||||
{
|
||||
// which: 0=installer, 1=archive, 2=sql file, 3=log
|
||||
Duplicator.Pack.DownloadTraceLog = function ()
|
||||
{
|
||||
var actionLocation = ajaxurl + '?action=DUP_CTRL_Tools_getTraceLog&nonce=' + '<?php echo wp_create_nonce('DUP_CTRL_Tools_getTraceLog'); ?>';
|
||||
location.href = actionLocation;
|
||||
};
|
||||
});
|
||||
</script>
|
||||
@@ -0,0 +1,105 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
*
|
||||
* @package Duplicator
|
||||
* @copyright (c) 2023, Snap Creek LLC
|
||||
*/
|
||||
|
||||
defined("ABSPATH") || exit;
|
||||
|
||||
/**
|
||||
* Variables
|
||||
*
|
||||
* @var \Duplicator\Core\Views\TplMng $tplMng
|
||||
* @var array<string, mixed> $tplData
|
||||
*/
|
||||
?>
|
||||
|
||||
<div class="features">
|
||||
<div class="block">
|
||||
<h1><?php esc_html_e('Duplicator Features', 'duplicator'); ?></h1>
|
||||
<h6><?php esc_html_e('Duplicator is both easy to use and extremely powerful. We have tons of helpful features ' .
|
||||
'that allow us to give you everything you need from a backup & migration plugin.', 'duplicator'); ?></h6>
|
||||
|
||||
<div class="feature-list dup-clearfix">
|
||||
<div class="feature-block first">
|
||||
<img src="<?php echo DUPLICATOR_PLUGIN_URL; ?>assets/img/welcome/scheduled-backups.svg">
|
||||
<h5><?php esc_html_e('Scheduled Backups', 'duplicator'); ?></h5>
|
||||
<p>
|
||||
<?php esc_html_e('Ensure that important data is regularly and consistently backed up, allowing for ' .
|
||||
'quick and efficient recovery in case of data loss.', 'duplicator'); ?>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div class="feature-block last">
|
||||
<img src="<?php echo DUPLICATOR_PLUGIN_URL; ?>assets/img/welcome/cloud-backups.svg">
|
||||
<h5><?php esc_html_e('Cloud Backups', 'duplicator'); ?></h5>
|
||||
<p>
|
||||
<?php esc_html_e('Back up to Dropbox, FTP, Google Drive, OneDrive, or Amazon S3 and more for safe storage.', 'duplicator'); ?>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div class="feature-block first">
|
||||
<img src="<?php echo DUPLICATOR_PLUGIN_URL; ?>assets/img/welcome/recovery-points.svg">
|
||||
<h5><?php esc_html_e('Recovery Points', 'duplicator'); ?></h5>
|
||||
<p>
|
||||
<?php esc_html_e('Recovery Points provides protection against mistakes and bad updates by letting ' .
|
||||
'you quickly rollback your system to a known, good state.', 'duplicator'); ?>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div class="feature-block last">
|
||||
<img src="<?php echo DUPLICATOR_PLUGIN_URL; ?>assets/img/welcome/secure-file-encryption.svg">
|
||||
<h5><?php esc_html_e('Secure File Encryption', 'duplicator'); ?></h5>
|
||||
<p>
|
||||
<?php esc_html_e('Protect and secure the Backup file with industry-standard AES-256 encryption.', 'duplicator'); ?>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div class="feature-block first">
|
||||
<img src="<?php echo DUPLICATOR_PLUGIN_URL; ?>assets/img/welcome/server-to-server-import.svg">
|
||||
<h5><?php esc_html_e('Server to Server Import', 'duplicator'); ?></h5>
|
||||
<p>
|
||||
<?php esc_html_e('Direct Backup import from source server or cloud storage using URL. No need to ' .
|
||||
'download the Backup to your desktop machine first.', 'duplicator'); ?>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div class="feature-block last">
|
||||
<img src="<?php echo DUPLICATOR_PLUGIN_URL; ?>assets/img/welcome/file-and-database-filters.svg">
|
||||
<h5><?php esc_html_e('File & Database Table Filters', 'duplicator'); ?></h5>
|
||||
<p>
|
||||
<?php esc_html_e('Use file and database filters to pick and choose exactly what you want to backup or ' .
|
||||
'transfer. No bloat!', 'duplicator'); ?>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div class="feature-block first">
|
||||
<img src="<?php echo DUPLICATOR_PLUGIN_URL; ?>assets/img/welcome/large-site-support.svg">
|
||||
<h5><?php esc_html_e('Large Site Support', 'duplicator'); ?></h5>
|
||||
<p>
|
||||
<?php esc_html_e('Duplicator Pro has developed a new way to package backups especially tailored for ' .
|
||||
'larger site. No server timeouts or other restrictions.', 'duplicator'); ?>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div class="feature-block last">
|
||||
<img src="<?php echo DUPLICATOR_PLUGIN_URL; ?>assets/img/welcome/multisite-support.svg">
|
||||
<h5><?php esc_html_e('Multisite Support', 'duplicator'); ?></h5>
|
||||
<p>
|
||||
<?php esc_html_e('Duplicator Pro supports multisite network backup & migration. You can even install ' .
|
||||
' a subsite as a standalone site.', 'duplicator'); ?>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="button-wrap">
|
||||
<a href="<?php echo \Duplicator\Utils\LinkManager::getCampaignUrl('welcome-page', 'See All Features') ?>"
|
||||
class="dup-btn dup-btn-lg dup-btn-grey" rel="noopener noreferrer"
|
||||
target="_blank">
|
||||
<?php esc_html_e('See All Features', 'duplicator'); ?>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1,41 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
*
|
||||
* @package Duplicator
|
||||
* @copyright (c) 2023, Snap Creek LLC
|
||||
*/
|
||||
|
||||
defined("ABSPATH") || exit;
|
||||
|
||||
/**
|
||||
* Variables
|
||||
*
|
||||
* @var \Duplicator\Core\Views\TplMng $tplMng
|
||||
* @var array<string, mixed> $tplData
|
||||
*/
|
||||
?>
|
||||
|
||||
<div class="footer">
|
||||
<div class="block dup-clearfix">
|
||||
<div class="button-wrap">
|
||||
<div class="left">
|
||||
<a href="<?php echo esc_url($tplData['packageNonceUrl']); ?>"
|
||||
class="dup-btn dup-btn-block dup-btn-lg dup-btn-orange">
|
||||
<?php esc_html_e('Create Your First Backup', 'duplicator'); ?>
|
||||
</a>
|
||||
</div>
|
||||
<div class="right">
|
||||
<a href="<?php echo esc_url(\Duplicator\Utils\LinkManager::getCampaignUrl('welcome-page', 'Upgrade to Duplicator Pro')); ?>"
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
class="dup-btn dup-btn-block dup-btn-lg dup-btn-trans-green">
|
||||
<span class="underline">
|
||||
<?php esc_html_e('Upgrade to Duplicator Pro', 'duplicator'); ?> <span
|
||||
class="dashicons dashicons-arrow-right"></span>
|
||||
</span>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1,148 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
*
|
||||
* @package Duplicator
|
||||
* @copyright (c) 2023, Snap Creek LLC
|
||||
*/
|
||||
|
||||
use Duplicator\Core\Controllers\ControllersManager;
|
||||
|
||||
defined("ABSPATH") || exit;
|
||||
|
||||
/**
|
||||
* Variables
|
||||
*
|
||||
* @var \Duplicator\Core\Views\TplMng $tplMng
|
||||
* @var array<string, mixed> $tplData
|
||||
*/
|
||||
?>
|
||||
<div class="intro">
|
||||
<div class="sullie">
|
||||
<img src="<?php echo DUPLICATOR_PLUGIN_URL; ?>assets/img/welcome/willie.svg"
|
||||
alt="<?php esc_attr_e('Willie the Duplicator mascot', 'duplicator'); ?>">
|
||||
</div>
|
||||
<div class="block">
|
||||
<h1><?php esc_html_e('Never miss an important update', 'duplicator'); ?></h1>
|
||||
</div>
|
||||
<div class="block">
|
||||
<h6>
|
||||
<?php esc_html_e(
|
||||
'Opt in to get email notifications for security & feature updates, educational content, ' .
|
||||
'and occasional offers, and to share some basic WordPress environment info. This will ' .
|
||||
'help us make the plugin more compatible with your site and better at doing what you need it to.',
|
||||
'duplicator'
|
||||
); ?>
|
||||
</h6>
|
||||
<div class="button-wrap">
|
||||
<div>
|
||||
<button id="enable-usage-stats-btn" class="dup-btn dup-btn-lg dup-btn-orange dup-btn-block">
|
||||
<?php esc_html_e('Allow & Continue', 'duplicator'); ?>
|
||||
<i class="fas fa-arrow-right"></i>
|
||||
</button>
|
||||
</div>
|
||||
<div>
|
||||
<a href="<?php echo ControllersManager::getMenuLink(ControllersManager::PACKAGES_SUBMENU_SLUG); ?>"
|
||||
class="dup-btn dup-btn-lg dup-btn-grey dup-btn-block"
|
||||
rel="noopener noreferrer">
|
||||
<?php esc_html_e('Skip', 'duplicator'); ?>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="block terms-container">
|
||||
<div class="terms-list-toggle">
|
||||
<?php esc_html_e('This will allow Duplicator to', 'duplicator'); ?>
|
||||
<i class="fas fa-chevron-right fa-sm"></i>
|
||||
</div>
|
||||
<ul class="terms-list" style="display: none;">
|
||||
<li>
|
||||
<i class="fas fa-user"></i>
|
||||
<div>
|
||||
<b>
|
||||
<?php esc_html_e('View Basic Profile Info', 'duplicator'); ?>
|
||||
<i
|
||||
class="fas fa-question-circle"
|
||||
data-tooltip-title="<?php esc_attr_e("Basic Profile Info", 'duplicator'); ?>"
|
||||
data-tooltip="<?php
|
||||
esc_attr_e(
|
||||
'Never miss important updates, get security warnings before they ' .
|
||||
'become public knowledge, and receive notifications about special offers and awesome new features.',
|
||||
'duplicator'
|
||||
); ?>"
|
||||
aria-expanded="false"
|
||||
></i>
|
||||
</b>
|
||||
<p>
|
||||
<?php esc_html_e(
|
||||
'Your WordPress user\'s: first & last name, and email address',
|
||||
'duplicator'
|
||||
); ?>
|
||||
</p>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<i class="fas fa-globe"></i>
|
||||
<div>
|
||||
<b>
|
||||
<?php esc_html_e('View Basic Website Info', 'duplicator'); ?>
|
||||
<i
|
||||
class="fas fa-question-circle"
|
||||
data-tooltip-title="<?php esc_attr_e("Basic Website Info", 'duplicator'); ?>"
|
||||
data-tooltip="<?php
|
||||
esc_attr_e(
|
||||
'To provide additional functionality that\'s relevant to your website, avoid WordPress ' .
|
||||
'or PHP version incompatibilities that can break your website, and recognize which ' .
|
||||
'languages & regions the plugin should be translated and tailored to.',
|
||||
'duplicator'
|
||||
); ?>"
|
||||
aria-expanded="false"
|
||||
></i>
|
||||
</b>
|
||||
<p>
|
||||
<?php esc_html_e(
|
||||
'Homepage URL & title, WP & PHP versions, and site language',
|
||||
'duplicator'
|
||||
); ?>
|
||||
</p>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<i class="fas fa-plug"></i>
|
||||
<div>
|
||||
<b><?php esc_html_e('View Basic Plugin Info', 'duplicator'); ?></b>
|
||||
<p>
|
||||
<?php esc_html_e(
|
||||
'Current plugin & SDK versions, and if active or uninstalled',
|
||||
'duplicator'
|
||||
); ?>
|
||||
</p>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<i class="fas fa-palette"></i>
|
||||
<div>
|
||||
<b>
|
||||
<?php esc_html_e('View Plugins & Themes List', 'duplicator'); ?>
|
||||
<i
|
||||
class="fas fa-question-circle"
|
||||
data-tooltip-title="<?php esc_attr_e("Plugins & Themes List", 'duplicator'); ?>"
|
||||
data-tooltip="<?php
|
||||
esc_attr_e(
|
||||
'To ensure compatibility and avoid conflicts with your installed plugins and themes.',
|
||||
'duplicator'
|
||||
); ?>"
|
||||
aria-expanded="false"
|
||||
></i>
|
||||
</b>
|
||||
<p>
|
||||
<?php esc_html_e(
|
||||
'Names, slugs, versions, and if active or not',
|
||||
'duplicator'
|
||||
); ?>
|
||||
</p>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1,56 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
*
|
||||
* @package Duplicator
|
||||
* @copyright (c) 2023, Snap Creek LLC
|
||||
*/
|
||||
|
||||
defined("ABSPATH") || exit;
|
||||
|
||||
/**
|
||||
* Variables
|
||||
*
|
||||
* @var \Duplicator\Core\Views\TplMng $tplMng
|
||||
* @var array<string, mixed> $tplData
|
||||
*/
|
||||
?>
|
||||
<div class="testimonials upgrade">
|
||||
<div class="block">
|
||||
<h1><?php esc_html_e('Testimonials', 'duplicator'); ?></h1>
|
||||
|
||||
<div class="testimonial-block dup-clearfix">
|
||||
<img src="<?php echo DUPLICATOR_PLUGIN_URL; ?>assets/img/welcome/welcome-testimonial-Karina.png">
|
||||
<p>
|
||||
<?php
|
||||
echo wp_kses(
|
||||
__(
|
||||
'It walked me step-by-step through the process of migrating a WordPress website. If you want to save ' .
|
||||
'a ton of time with <b>WP migration</b>, I very much recommend this plugin!',
|
||||
'duplicator'
|
||||
),
|
||||
array('b' => array())
|
||||
);
|
||||
?>
|
||||
<p>
|
||||
<p><strong>Karina Caidez</strong>, Website Designer</p>
|
||||
</div>
|
||||
|
||||
<div class="testimonial-block dup-clearfix">
|
||||
<img src="<?php echo DUPLICATOR_PLUGIN_URL; ?>assets/img/welcome/welcome-testimonial-Blake.png">
|
||||
<p>
|
||||
<?php
|
||||
echo wp_kses(
|
||||
__(
|
||||
'Duplicator Pro is the best <b>WordPress migration & backup</b> plugin I have ever used. I will be ' .
|
||||
'recommending this plugin to everyone I can.',
|
||||
'duplicator'
|
||||
),
|
||||
array('b' => array())
|
||||
);
|
||||
?>
|
||||
<p>
|
||||
<p><strong>Blake Stiller</strong>, Website Development Instructor</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1,40 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
*
|
||||
* @package Duplicator
|
||||
* @copyright (c) 2023, Snap Creek LLC
|
||||
*/
|
||||
|
||||
defined("ABSPATH") || exit;
|
||||
|
||||
/**
|
||||
* Variables
|
||||
*
|
||||
* @var \Duplicator\Core\Views\TplMng $tplMng
|
||||
* @var array<string, mixed> $tplData
|
||||
*/
|
||||
?>
|
||||
<div class="upgrade-cta upgrade">
|
||||
<div class="block dup-clearfix">
|
||||
<div class="">
|
||||
<h2><?php esc_html_e('Upgrade to PRO', 'duplicator'); ?></h2>
|
||||
<ul>
|
||||
<?php foreach (\Duplicator\Utils\Upsell::getCalloutCTAFeatureList() as $feature) : ?>
|
||||
<li>
|
||||
<span class="dashicons dashicons-yes"></span> <?php echo esc_html($feature); ?>
|
||||
</li>
|
||||
<?php endforeach; ?>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div class="">
|
||||
<a href="<?php echo esc_url(\Duplicator\Utils\LinkManager::getCampaignUrl('welcome-page', 'Upgrade Now')); ?>"
|
||||
rel="noopener noreferrer"
|
||||
target="_blank"
|
||||
class="dup-btn dup-btn-block dup-btn-lg dup-btn-green">
|
||||
<?php esc_html_e('Upgrade Now', 'duplicator'); ?>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1,48 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
*
|
||||
* @package Duplicator
|
||||
* @copyright (c) 2023, Snap Creek LLC
|
||||
*/
|
||||
|
||||
use Duplicator\Core\Controllers\ControllersManager;
|
||||
use Duplicator\Core\Views\TplMng;
|
||||
|
||||
defined("ABSPATH") || exit;
|
||||
|
||||
/**
|
||||
* Variables
|
||||
*
|
||||
* @var \Duplicator\Core\Views\TplMng $tplMng
|
||||
* @var array<string, mixed> $tplData
|
||||
*/
|
||||
?>
|
||||
|
||||
<div id="duplicator-welcome">
|
||||
<div class="container">
|
||||
<?php
|
||||
$packageUrl = ControllersManager::getMenuLink(ControllersManager::PACKAGES_SUBMENU_SLUG, 'new1');
|
||||
$packageNonceUrl = wp_nonce_url($packageUrl, 'new1-package');
|
||||
TplMng::getInstance()->render(
|
||||
'admin_pages/welcome/intro',
|
||||
array(
|
||||
'packageNonceUrl' => $packageNonceUrl
|
||||
)
|
||||
);
|
||||
|
||||
TplMng::getInstance()->render('admin_pages/welcome/features');
|
||||
|
||||
TplMng::getInstance()->render('admin_pages/welcome/upgrade-cta');
|
||||
|
||||
TplMng::getInstance()->render('admin_pages/welcome/testimonials');
|
||||
|
||||
TplMng::getInstance()->render(
|
||||
'admin_pages/welcome/footer',
|
||||
array(
|
||||
'packageNonceUrl' => $packageNonceUrl
|
||||
)
|
||||
);
|
||||
?>
|
||||
</div>
|
||||
</div>
|
||||
Reference in New Issue
Block a user