Version Description
- Enh: Refactor our wp_login action hook to work with custom calls to this action with different parameter count than the one in WordPress Core #1223
- Enh: Sort new staging sites in descending order by creation time #1226
- Enh: Warn if creating a backup in PHP 32 bits #1231
- Enh: Update the backups upload success message #1221
- Enh: Show a notice for outdated wp staging on free version of plugin #1250
- Enh: Refactor wpstg_existing_clones_beta in db option to wpstg_staging_sites #1211
- Enh: Update the message shown when the entire delete of the staging site fails #1257
- Fix: Fix a rare issue that could happen when creating a new staging site or restoring a backup when there is a row with primary key with value zero #1271
- Fix: Try to repair MyISAM table if it's corrupt when creating a Backup #1222
- Fix: FIx an issue on backup creation that would cause a database export to loop when encountering a table with negative integers or zeros as a primary key value #1251
- Fix: Lock specific tables while exporting a backup, to prevent a rare duplicated row issue #1245
- Fix: If the memory exhausts during a database export using the Backup feature, we now lower the memory usage/speed of the export and try again automatically #1230
- Fix: Prevent failure of adding database to backup from causing a loop #1231
- Fix: Fix issue when old clones from version 1.1.6 or lower replaces the existing clones from later version when upgrading from FREE to PRO version #1233
- Fix: Fix inconsistent Unselect All Tables button's action #1243
- Fix: Replace undefined date with proper formatted date during backups log for some warning and critical messages #1244
- Fix: Split scanning of wp-content into scanning of plugins, themes, uploads and other directories to reduce timeout issues #1247
- Fix: Rename .user.ini to .user.ini.bak after cloning into staging site reduce fatal errors on your staging site. Also show a notice about this #1255
- Fix: Skip scanning the root directory if all other directories are are unselected #1256
- Dev: fix the version of Selenium containers to 3.141.59-20210713 to avoid issues with broken latest version #1234
Download this release
Release Info
Developer | ReneHermi |
Plugin | WP Staging – DB & File Duplicator & Migration |
Version | 2.8.7 |
Comparing to | |
See all releases |
Code changes from version 2.8.6 to 2.8.7
- .wordpress-org/icon-128x128.png +0 -0
- .wordpress-org/icon-256x256.png +0 -0
- Backend/Administrator.php +15 -7
- Backend/Feedback/Feedback.php +0 -2
- Backend/Modules/Jobs/CancelUpdate.php +2 -0
- Backend/Modules/Jobs/Cloning.php +2 -1
- Backend/Modules/Jobs/Delete.php +5 -4
- Backend/Modules/Jobs/Directories.php +95 -75
- Backend/Modules/Jobs/Finish.php +3 -2
- Backend/Modules/Jobs/PreserveDataFirstStep.php +6 -5
- Backend/Modules/Jobs/PreserveDataSecondStep.php +8 -7
- Backend/Modules/Jobs/ProcessLock.php +1 -0
- Backend/Modules/Jobs/Scan.php +2 -1
- Backend/Modules/SystemInfo.php +6 -3
- Backend/Notices/Notices.php +26 -1
- Backend/Notices/OutdatedWpStagingNotice.php +86 -0
- Backend/Upgrade/Upgrade.php +108 -98
- Backend/views/_main/header.php +1 -1
- Backend/views/backup/restore-wait.php +1 -1
- Backend/views/clone/ajax/single-overview.php +1 -1
- Backend/views/notices/_partial/notice_dismiss_action.php +46 -0
- Backend/views/notices/disabled-items-notice.php +12 -37
- Backend/views/notices/outdated-wp-staging-version.php +12 -0
- Backend/views/notices/wordfence-userini-renamed.php +29 -0
- Core/Utils/Logger.php +7 -2
- Framework/Adapter/Database/WpDbAdapter.php +3 -0
- Framework/CloningProcess/Data/DBCloningService.php +1 -1
- Framework/CloningProcess/Data/UpdateStagingOptionsTable.php +2 -1
- Framework/CloningProcess/Database/DatabaseCloningService.php +8 -1
- Framework/Staging/FirstRun.php +4 -0
- Framework/Staging/Sites.php +126 -0
- Framework/Support/ThirdParty/WordFence.php +67 -0
- Framework/Traits/DatabaseSearchReplaceTrait.php +2 -0
- Framework/Traits/MySQLRowsGeneratorTrait.php +1 -1
- Framework/Utils/Cache/BufferedCache.php +1 -1
- Framework/Utils/WpDefaultDirectories.php +17 -0
- Frontend/views/loginForm.php +1 -1
- assets/css/dist/wpstg-admin.css +10 -1
- assets/css/dist/wpstg-admin.css.map +1 -1
- assets/css/dist/wpstg-admin.min.css +1 -1
- assets/css/dist/wpstg-admin.min.css.map +1 -1
- assets/img/logo.svg +1 -0
- assets/img/logo_clean_small_212_25.png +0 -0
- assets/js/dist/wpstg-admin.js +8 -6
- assets/js/dist/wpstg-admin.js.map +1 -1
- assets/js/dist/wpstg-admin.min.js +1 -1
- assets/js/dist/wpstg-admin.min.js.map +0 -1
.wordpress-org/icon-128x128.png
DELETED
Binary file
|
.wordpress-org/icon-256x256.png
CHANGED
Binary file
|
Backend/Administrator.php
CHANGED
@@ -35,6 +35,8 @@ use WPStaging\Backend\Pro\Notices\BackupsDifferentPrefixNotice;
|
|
35 |
use WPStaging\Backend\Pro\Modules\Jobs\Processing;
|
36 |
use WPStaging\Backend\Pro\Modules\Jobs\Backups\BackupUploadsDir;
|
37 |
use WPStaging\Backend\Pluginmeta\Pluginmeta;
|
|
|
|
|
38 |
|
39 |
/**
|
40 |
* Class Administrator
|
@@ -385,7 +387,7 @@ class Administrator
|
|
385 |
public function getClonePage()
|
386 |
{
|
387 |
// Existing clones
|
388 |
-
$availableClones = get_option(
|
389 |
|
390 |
require_once "{$this->path}views/clone/index.php";
|
391 |
}
|
@@ -396,7 +398,7 @@ class Administrator
|
|
396 |
public function getBackupPage()
|
397 |
{
|
398 |
// Existing clones
|
399 |
-
$availableClones = get_option(
|
400 |
|
401 |
$openBackupPage = true;
|
402 |
|
@@ -583,7 +585,7 @@ class Administrator
|
|
583 |
}
|
584 |
|
585 |
// Existing clones
|
586 |
-
$availableClones =
|
587 |
|
588 |
// Get license data
|
589 |
$license = get_option('wpstg_license_status');
|
@@ -667,7 +669,7 @@ class Administrator
|
|
667 |
|
668 |
$cloneDirectoryName = sanitize_key($_POST["directoryName"]);
|
669 |
$cloneDirectoryNameLength = strlen($cloneDirectoryName);
|
670 |
-
$existingClones = get_option(
|
671 |
|
672 |
$cloneDestDir = trailingslashit(get_home_path()) . $cloneDirectoryName;
|
673 |
|
@@ -964,6 +966,12 @@ class Administrator
|
|
964 |
return;
|
965 |
}
|
966 |
|
|
|
|
|
|
|
|
|
|
|
|
|
967 |
wp_send_json(null);
|
968 |
}
|
969 |
|
@@ -1004,7 +1012,7 @@ class Administrator
|
|
1004 |
return;
|
1005 |
}
|
1006 |
|
1007 |
-
$existingClones = get_option(
|
1008 |
if (isset($_POST["clone"]) && array_key_exists($_POST["clone"], $existingClones)) {
|
1009 |
$clone = $existingClones[$_POST["clone"]];
|
1010 |
require_once "{$this->path}Pro/views/edit-clone-data.php";
|
@@ -1024,7 +1032,7 @@ class Administrator
|
|
1024 |
return;
|
1025 |
}
|
1026 |
|
1027 |
-
$existingClones = get_option(
|
1028 |
if (isset($_POST["clone"]) && array_key_exists($_POST["clone"], $existingClones)) {
|
1029 |
if (empty($_POST['directoryName'])) {
|
1030 |
echo __("Site name is required!");
|
@@ -1047,7 +1055,7 @@ class Administrator
|
|
1047 |
$existingClones[$cloneId]["databaseServer"] = stripslashes($_POST["externalDBHost"]);
|
1048 |
$existingClones[$cloneId]["databasePrefix"] = stripslashes($_POST["externalDBPrefix"]);
|
1049 |
|
1050 |
-
update_option(
|
1051 |
|
1052 |
echo __("Success");
|
1053 |
} else {
|
35 |
use WPStaging\Backend\Pro\Modules\Jobs\Processing;
|
36 |
use WPStaging\Backend\Pro\Modules\Jobs\Backups\BackupUploadsDir;
|
37 |
use WPStaging\Backend\Pluginmeta\Pluginmeta;
|
38 |
+
use WPStaging\Framework\Staging\Sites;
|
39 |
+
use WPStaging\Framework\Support\ThirdParty\WordFence;
|
40 |
|
41 |
/**
|
42 |
* Class Administrator
|
387 |
public function getClonePage()
|
388 |
{
|
389 |
// Existing clones
|
390 |
+
$availableClones = get_option(Sites::STAGING_SITES_OPTION, []);
|
391 |
|
392 |
require_once "{$this->path}views/clone/index.php";
|
393 |
}
|
398 |
public function getBackupPage()
|
399 |
{
|
400 |
// Existing clones
|
401 |
+
$availableClones = get_option(Sites::STAGING_SITES_OPTION, []);
|
402 |
|
403 |
$openBackupPage = true;
|
404 |
|
585 |
}
|
586 |
|
587 |
// Existing clones
|
588 |
+
$availableClones = (new Sites())->getSortedStagingSites();
|
589 |
|
590 |
// Get license data
|
591 |
$license = get_option('wpstg_license_status');
|
669 |
|
670 |
$cloneDirectoryName = sanitize_key($_POST["directoryName"]);
|
671 |
$cloneDirectoryNameLength = strlen($cloneDirectoryName);
|
672 |
+
$existingClones = get_option(Sites::STAGING_SITES_OPTION, []);
|
673 |
|
674 |
$cloneDestDir = trailingslashit(get_home_path()) . $cloneDirectoryName;
|
675 |
|
966 |
return;
|
967 |
}
|
968 |
|
969 |
+
// Dismiss wordfence user.ini renamed notice
|
970 |
+
if ($_POST['wpstg_notice'] === WordFence::NOTICE_NAME && (new WordFence())->disable() !== false) {
|
971 |
+
wp_send_json(true);
|
972 |
+
return;
|
973 |
+
}
|
974 |
+
|
975 |
wp_send_json(null);
|
976 |
}
|
977 |
|
1012 |
return;
|
1013 |
}
|
1014 |
|
1015 |
+
$existingClones = get_option(Sites::STAGING_SITES_OPTION, []);
|
1016 |
if (isset($_POST["clone"]) && array_key_exists($_POST["clone"], $existingClones)) {
|
1017 |
$clone = $existingClones[$_POST["clone"]];
|
1018 |
require_once "{$this->path}Pro/views/edit-clone-data.php";
|
1032 |
return;
|
1033 |
}
|
1034 |
|
1035 |
+
$existingClones = get_option(Sites::STAGING_SITES_OPTION, []);
|
1036 |
if (isset($_POST["clone"]) && array_key_exists($_POST["clone"], $existingClones)) {
|
1037 |
if (empty($_POST['directoryName'])) {
|
1038 |
echo __("Site name is required!");
|
1055 |
$existingClones[$cloneId]["databaseServer"] = stripslashes($_POST["externalDBHost"]);
|
1056 |
$existingClones[$cloneId]["databasePrefix"] = stripslashes($_POST["externalDBPrefix"]);
|
1057 |
|
1058 |
+
update_option(Sites::STAGING_SITES_OPTION, $existingClones);
|
1059 |
|
1060 |
echo __("Success");
|
1061 |
} else {
|
Backend/Feedback/Feedback.php
CHANGED
@@ -22,8 +22,6 @@ class Feedback
|
|
22 |
* Load feedback form
|
23 |
*
|
24 |
* @todo check if this is being used, remove otherwise.
|
25 |
-
*
|
26 |
-
* @return string
|
27 |
*/
|
28 |
public function loadForm()
|
29 |
{
|
22 |
* Load feedback form
|
23 |
*
|
24 |
* @todo check if this is being used, remove otherwise.
|
|
|
|
|
25 |
*/
|
26 |
public function loadForm()
|
27 |
{
|
Backend/Modules/Jobs/CancelUpdate.php
CHANGED
@@ -24,6 +24,8 @@ class CancelUpdate extends Job
|
|
24 |
$this->deleteCacheFiles();
|
25 |
|
26 |
$this->returnFinish();
|
|
|
|
|
27 |
}
|
28 |
|
29 |
/**
|
24 |
$this->deleteCacheFiles();
|
25 |
|
26 |
$this->returnFinish();
|
27 |
+
|
28 |
+
return true;
|
29 |
}
|
30 |
|
31 |
/**
|
Backend/Modules/Jobs/Cloning.php
CHANGED
@@ -7,6 +7,7 @@ use WPStaging\Core\Utils\Helper;
|
|
7 |
use WPStaging\Core\WPStaging;
|
8 |
use WPStaging\Framework\Filesystem\Scanning\ScanConst;
|
9 |
use WPStaging\Framework\Security\AccessToken;
|
|
|
10 |
use WPStaging\Framework\Utils\SlashMode;
|
11 |
use WPStaging\Framework\Utils\WpDefaultDirectories;
|
12 |
|
@@ -243,7 +244,7 @@ class Cloning extends Job
|
|
243 |
"extraDirectories" => $this->options->extraDirectories,
|
244 |
];
|
245 |
|
246 |
-
if (update_option(
|
247 |
$this->log("Cloning: Failed to save {$this->options->clone}'s clone job data to database'");
|
248 |
return false;
|
249 |
}
|
7 |
use WPStaging\Core\WPStaging;
|
8 |
use WPStaging\Framework\Filesystem\Scanning\ScanConst;
|
9 |
use WPStaging\Framework\Security\AccessToken;
|
10 |
+
use WPStaging\Framework\Staging\Sites;
|
11 |
use WPStaging\Framework\Utils\SlashMode;
|
12 |
use WPStaging\Framework\Utils\WpDefaultDirectories;
|
13 |
|
244 |
"extraDirectories" => $this->options->extraDirectories,
|
245 |
];
|
246 |
|
247 |
+
if (update_option(Sites::STAGING_SITES_OPTION, $this->options->existingClones) === false) {
|
248 |
$this->log("Cloning: Failed to save {$this->options->clone}'s clone job data to database'");
|
249 |
return false;
|
250 |
}
|
Backend/Modules/Jobs/Delete.php
CHANGED
@@ -12,6 +12,7 @@ use WPStaging\Core\Utils\Logger;
|
|
12 |
use WPStaging\Core\WPStaging;
|
13 |
use WPStaging\Framework\Filesystem\Filesystem;
|
14 |
use WPStaging\Framework\Filesystem\FilesystemExceptions;
|
|
|
15 |
use WPStaging\Framework\Utils\Strings;
|
16 |
|
17 |
/**
|
@@ -146,7 +147,7 @@ class Delete extends Job
|
|
146 |
$name = (string)$_POST["clone"];
|
147 |
}
|
148 |
|
149 |
-
$clones = get_option(
|
150 |
|
151 |
if (empty($clones) || !isset($clones[$name])) {
|
152 |
$this->log("Couldn't find clone name {$name} or no existing clone", Logger::TYPE_FATAL);
|
@@ -390,7 +391,7 @@ class Delete extends Job
|
|
390 |
}
|
391 |
|
392 |
$clone = (string)$this->clone->path;
|
393 |
-
$errorMessage = __(sprintf("
|
394 |
$deleteStatus = "finished";
|
395 |
if ($this->isNotEmpty($this->deleteDir)) {
|
396 |
$fs = (new Filesystem())
|
@@ -460,7 +461,7 @@ class Delete extends Job
|
|
460 |
'delete' => 'finished',
|
461 |
];
|
462 |
|
463 |
-
$existingClones = get_option(
|
464 |
|
465 |
// Check if clone exist and then remove it from options
|
466 |
$this->log("Verifying existing clones...");
|
@@ -470,7 +471,7 @@ class Delete extends Job
|
|
470 |
}
|
471 |
}
|
472 |
|
473 |
-
if (update_option(
|
474 |
$this->log("Delete: Nothing to save.'");
|
475 |
}
|
476 |
|
12 |
use WPStaging\Core\WPStaging;
|
13 |
use WPStaging\Framework\Filesystem\Filesystem;
|
14 |
use WPStaging\Framework\Filesystem\FilesystemExceptions;
|
15 |
+
use WPStaging\Framework\Staging\Sites;
|
16 |
use WPStaging\Framework\Utils\Strings;
|
17 |
|
18 |
/**
|
147 |
$name = (string)$_POST["clone"];
|
148 |
}
|
149 |
|
150 |
+
$clones = get_option(Sites::STAGING_SITES_OPTION, []);
|
151 |
|
152 |
if (empty($clones) || !isset($clones[$name])) {
|
153 |
$this->log("Couldn't find clone name {$name} or no existing clone", Logger::TYPE_FATAL);
|
391 |
}
|
392 |
|
393 |
$clone = (string)$this->clone->path;
|
394 |
+
$errorMessage = __(sprintf("We could not delete the staging site completely. There are still files in the folder %s that could not be deleted. This could be a write permission issue. Try to delete the folder manually by using FTP or a file manager plugin.<br/> If this happens again please contact us at support@wp-staging.com", $clone), "wp-staging");
|
395 |
$deleteStatus = "finished";
|
396 |
if ($this->isNotEmpty($this->deleteDir)) {
|
397 |
$fs = (new Filesystem())
|
461 |
'delete' => 'finished',
|
462 |
];
|
463 |
|
464 |
+
$existingClones = get_option(Sites::STAGING_SITES_OPTION, []);
|
465 |
|
466 |
// Check if clone exist and then remove it from options
|
467 |
$this->log("Verifying existing clones...");
|
471 |
}
|
472 |
}
|
473 |
|
474 |
+
if (update_option(Sites::STAGING_SITES_OPTION, $existingClones) === false) {
|
475 |
$this->log("Delete: Nothing to save.'");
|
476 |
}
|
477 |
|
Backend/Modules/Jobs/Directories.php
CHANGED
@@ -6,7 +6,6 @@ use Exception;
|
|
6 |
use WPStaging\Core\WPStaging;
|
7 |
use WPStaging\Framework\Adapter\Directory;
|
8 |
use WPStaging\Framework\CloningProcess\ExcludedPlugins;
|
9 |
-
use WPStaging\Framework\Filesystem\Filesystem;
|
10 |
use WPStaging\Framework\Filesystem\Filters\ExcludeFilter;
|
11 |
use WPStaging\Framework\Traits\FileScanToCacheTrait;
|
12 |
use WPStaging\Framework\Utils\SlashMode;
|
@@ -30,7 +29,7 @@ class Directories extends JobExecutable
|
|
30 |
* Total steps to do
|
31 |
* @var int
|
32 |
*/
|
33 |
-
private $total =
|
34 |
|
35 |
/**
|
36 |
* path to the cache file
|
@@ -64,11 +63,6 @@ class Directories extends JobExecutable
|
|
64 |
*/
|
65 |
protected function calculateTotalSteps()
|
66 |
{
|
67 |
-
// Set total to 5 for multisite
|
68 |
-
if ($this->isMultisiteAndPro()) {
|
69 |
-
$this->total = 5;
|
70 |
-
}
|
71 |
-
|
72 |
$this->options->totalSteps = $this->total + count($this->options->extraDirectories);
|
73 |
}
|
74 |
|
@@ -94,6 +88,15 @@ class Directories extends JobExecutable
|
|
94 |
*/
|
95 |
private function getWpRootFiles()
|
96 |
{
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
97 |
// open file handle
|
98 |
$files = $this->open($this->filename, 'a');
|
99 |
|
@@ -111,38 +114,47 @@ class Directories extends JobExecutable
|
|
111 |
}
|
112 |
|
113 |
/**
|
114 |
-
* Step 1
|
115 |
-
*
|
|
|
|
|
116 |
*/
|
117 |
-
private function
|
118 |
{
|
119 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
120 |
// Skip it
|
121 |
if ($this->isDirectoryExcluded($directory)) {
|
122 |
-
$this->log("
|
123 |
return true;
|
124 |
}
|
|
|
|
|
|
|
|
|
125 |
// open file handle
|
126 |
$files = $this->open($this->filename, 'a');
|
127 |
|
128 |
-
$relativeDirectory = str_replace(ABSPATH, '', $directory);
|
129 |
-
$this->log("Scanning " . $relativeDirectory . " for its sub-directories and files");
|
130 |
-
|
131 |
$excludePaths = [
|
132 |
-
$this->wpDirectories->getRelativeWpContentPath(SlashMode::BOTH_SLASHES) . 'cache',
|
133 |
'/' . str_replace(ABSPATH, '', rtrim(WPStaging::getContentDir(), '/')),
|
134 |
-
'**/wp-staging*/**/node_modules', // only exclude node modules in WP Staging's plugins
|
135 |
];
|
136 |
|
137 |
-
if
|
138 |
-
|
139 |
-
|
140 |
-
|
|
|
141 |
}
|
142 |
|
143 |
-
// add excluded plugins defined by WP Staging
|
144 |
-
$excludePaths = array_merge((new ExcludedPlugins())->getPluginsToExcludeWithRelativePath(), $excludePaths);
|
145 |
-
|
146 |
$excludePaths = array_merge($this->getFilteredExcludedPaths(), $excludePaths);
|
147 |
|
148 |
try {
|
@@ -157,13 +169,12 @@ class Directories extends JobExecutable
|
|
157 |
}
|
158 |
|
159 |
/**
|
160 |
-
* Step
|
161 |
-
*
|
162 |
-
* @throws Exception
|
163 |
*/
|
164 |
-
private function
|
165 |
{
|
166 |
-
$directory =
|
167 |
// Skip it
|
168 |
if ($this->isDirectoryExcluded($directory)) {
|
169 |
$this->log("Skip " . $directory);
|
@@ -173,10 +184,22 @@ class Directories extends JobExecutable
|
|
173 |
$files = $this->open($this->filename, 'a');
|
174 |
|
175 |
$relativeDirectory = str_replace(ABSPATH, '', $directory);
|
176 |
-
$this->log("Scanning " . $relativeDirectory . " for
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
177 |
|
178 |
try {
|
179 |
-
$this->options->totalFiles += $this->scanToCacheFile($files, $directory, true);
|
180 |
} catch (Exception $e) {
|
181 |
$this->returnException('Error: ' . $e->getMessage());
|
182 |
}
|
@@ -187,13 +210,13 @@ class Directories extends JobExecutable
|
|
187 |
}
|
188 |
|
189 |
/**
|
190 |
-
* Step
|
191 |
* @return boolean
|
192 |
* @throws Exception
|
193 |
*/
|
194 |
-
private function
|
195 |
{
|
196 |
-
$directory = ABSPATH . 'wp-
|
197 |
// Skip it
|
198 |
if ($this->isDirectoryExcluded($directory)) {
|
199 |
$this->log("Skip " . $directory);
|
@@ -217,49 +240,26 @@ class Directories extends JobExecutable
|
|
217 |
}
|
218 |
|
219 |
/**
|
220 |
-
* Step
|
221 |
-
*
|
|
|
222 |
*/
|
223 |
-
private function
|
224 |
{
|
225 |
-
|
226 |
-
if (is_main_site()) {
|
227 |
-
return true;
|
228 |
-
}
|
229 |
-
|
230 |
-
// Skip if symlink option selected
|
231 |
-
if ($this->options->uploadsSymlinked) {
|
232 |
-
return true;
|
233 |
-
}
|
234 |
-
|
235 |
-
// Absolute path to uploads folder
|
236 |
-
$directory = $this->wpDirectories->getUploadsPath();
|
237 |
-
|
238 |
-
// Skip it
|
239 |
-
if (!is_dir($directory)) {
|
240 |
-
$this->log("Skipping: {$directory} does not exist.");
|
241 |
-
return true;
|
242 |
-
}
|
243 |
-
|
244 |
// Skip it
|
245 |
if ($this->isDirectoryExcluded($directory)) {
|
246 |
-
$this->log("
|
247 |
return true;
|
248 |
}
|
249 |
-
|
250 |
-
|
251 |
// open file handle
|
252 |
$files = $this->open($this->filename, 'a');
|
253 |
|
254 |
-
$
|
255 |
-
|
256 |
-
'**/node_modules',
|
257 |
-
];
|
258 |
-
|
259 |
-
$excludePaths = array_merge($this->getFilteredExcludedPaths(), $excludePaths);
|
260 |
|
261 |
try {
|
262 |
-
$this->options->totalFiles += $this->scanToCacheFile($files, $directory, true
|
263 |
} catch (Exception $e) {
|
264 |
$this->returnException('Error: ' . $e->getMessage());
|
265 |
}
|
@@ -270,8 +270,7 @@ class Directories extends JobExecutable
|
|
270 |
}
|
271 |
|
272 |
/**
|
273 |
-
* Step
|
274 |
-
* Step 5 - x (Multisite)
|
275 |
* Get extra folders of the wp root level
|
276 |
* Does not collect wp-includes, wp-admin and wp-content folder
|
277 |
* @param string $folder
|
@@ -369,33 +368,55 @@ class Directories extends JobExecutable
|
|
369 |
return false;
|
370 |
}
|
371 |
|
372 |
-
|
373 |
if ($this->options->currentStep == 0) {
|
374 |
$this->getWpRootFiles();
|
375 |
$this->prepareResponse(false, true);
|
376 |
return false;
|
377 |
}
|
378 |
|
|
|
379 |
if ($this->options->currentStep == 1) {
|
380 |
-
$this->
|
381 |
$this->prepareResponse(false, true);
|
382 |
return false;
|
383 |
}
|
384 |
|
|
|
385 |
if ($this->options->currentStep == 2) {
|
386 |
-
$this->
|
387 |
$this->prepareResponse(false, true);
|
388 |
return false;
|
389 |
}
|
390 |
|
|
|
391 |
if ($this->options->currentStep == 3) {
|
392 |
-
$this->
|
393 |
$this->prepareResponse(false, true);
|
394 |
return false;
|
395 |
}
|
396 |
|
397 |
-
|
398 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
399 |
$this->prepareResponse(false, true);
|
400 |
return false;
|
401 |
}
|
@@ -406,7 +427,6 @@ class Directories extends JobExecutable
|
|
406 |
return false;
|
407 |
}
|
408 |
|
409 |
-
|
410 |
// Prepare response
|
411 |
$this->prepareResponse(false, true);
|
412 |
// Not finished
|
6 |
use WPStaging\Core\WPStaging;
|
7 |
use WPStaging\Framework\Adapter\Directory;
|
8 |
use WPStaging\Framework\CloningProcess\ExcludedPlugins;
|
|
|
9 |
use WPStaging\Framework\Filesystem\Filters\ExcludeFilter;
|
10 |
use WPStaging\Framework\Traits\FileScanToCacheTrait;
|
11 |
use WPStaging\Framework\Utils\SlashMode;
|
29 |
* Total steps to do
|
30 |
* @var int
|
31 |
*/
|
32 |
+
private $total = 8;
|
33 |
|
34 |
/**
|
35 |
* path to the cache file
|
63 |
*/
|
64 |
protected function calculateTotalSteps()
|
65 |
{
|
|
|
|
|
|
|
|
|
|
|
66 |
$this->options->totalSteps = $this->total + count($this->options->extraDirectories);
|
67 |
}
|
68 |
|
88 |
*/
|
89 |
private function getWpRootFiles()
|
90 |
{
|
91 |
+
// Skip scanning the root directory if all other directories are unselected
|
92 |
+
if (
|
93 |
+
$this->isDirectoryExcluded(ABSPATH . 'wp-admin') &&
|
94 |
+
$this->isDirectoryExcluded(ABSPATH . 'wp-includes')
|
95 |
+
) {
|
96 |
+
$this->log("Skipping: /");
|
97 |
+
return true;
|
98 |
+
}
|
99 |
+
|
100 |
// open file handle
|
101 |
$files = $this->open($this->filename, 'a');
|
102 |
|
114 |
}
|
115 |
|
116 |
/**
|
117 |
+
* Step 1-4
|
118 |
+
* Scan plugins, mu-plugins, themes or uploads dir depending upon the input
|
119 |
+
*
|
120 |
+
* @param string $directory
|
121 |
*/
|
122 |
+
private function getWpContentSubDirectory($directory)
|
123 |
{
|
124 |
+
// Skip if scanning uploads directory and symlink option selected
|
125 |
+
if ($this->wpDirectories->getUploadsPath() === $directory && $this->options->uploadsSymlinked) {
|
126 |
+
return true;
|
127 |
+
}
|
128 |
+
|
129 |
+
// Skip it
|
130 |
+
if (!is_dir($directory)) {
|
131 |
+
$this->log("Skipping: {$directory} does not exist.");
|
132 |
+
return true;
|
133 |
+
}
|
134 |
+
|
135 |
// Skip it
|
136 |
if ($this->isDirectoryExcluded($directory)) {
|
137 |
+
$this->log("Skipping: {$directory}");
|
138 |
return true;
|
139 |
}
|
140 |
+
|
141 |
+
$relativeDirectory = str_replace($this->strUtils->sanitizeDirectorySeparator(ABSPATH), '', $directory);
|
142 |
+
$this->log("Scanning " . $relativeDirectory . " and its sub-directories and files");
|
143 |
+
|
144 |
// open file handle
|
145 |
$files = $this->open($this->filename, 'a');
|
146 |
|
|
|
|
|
|
|
147 |
$excludePaths = [
|
|
|
148 |
'/' . str_replace(ABSPATH, '', rtrim(WPStaging::getContentDir(), '/')),
|
|
|
149 |
];
|
150 |
|
151 |
+
// Exclude predefined plugins if given directory is plugins dir
|
152 |
+
if (WP_PLUGIN_DIR === $directory) {
|
153 |
+
$excludePaths[] = '**/wp-staging*/**/node_modules'; // only exclude node modules in WP Staging's plugins
|
154 |
+
// add excluded plugins defined by WP Staging
|
155 |
+
$excludePaths = array_merge((new ExcludedPlugins())->getPluginsToExcludeWithRelativePath(), $excludePaths);
|
156 |
}
|
157 |
|
|
|
|
|
|
|
158 |
$excludePaths = array_merge($this->getFilteredExcludedPaths(), $excludePaths);
|
159 |
|
160 |
try {
|
169 |
}
|
170 |
|
171 |
/**
|
172 |
+
* Step 5
|
173 |
+
* Get WP Content Files for other files than plugins, mu plugins, themes and uploads.
|
|
|
174 |
*/
|
175 |
+
private function getWpContentFiles()
|
176 |
{
|
177 |
+
$directory = WP_CONTENT_DIR;
|
178 |
// Skip it
|
179 |
if ($this->isDirectoryExcluded($directory)) {
|
180 |
$this->log("Skip " . $directory);
|
184 |
$files = $this->open($this->filename, 'a');
|
185 |
|
186 |
$relativeDirectory = str_replace(ABSPATH, '', $directory);
|
187 |
+
$this->log("Scanning " . $relativeDirectory . " for other directories");
|
188 |
+
|
189 |
+
$excludePaths = [
|
190 |
+
$this->wpDirectories->getRelativeWpContentPath(SlashMode::BOTH_SLASHES) . 'cache',
|
191 |
+
'/' . str_replace(ABSPATH, '', rtrim(WPStaging::getContentDir(), '/')),
|
192 |
+
'**/wp-staging*/**/node_modules', // only exclude node modules in WP Staging's plugins
|
193 |
+
$this->wpDirectories->getRelativeUploadPath(SlashMode::LEADING_SLASH),
|
194 |
+
$this->wpDirectories->getRelativePluginPath(SlashMode::LEADING_SLASH),
|
195 |
+
$this->wpDirectories->getRelativeMuPluginPath(SlashMode::LEADING_SLASH),
|
196 |
+
$this->wpDirectories->getRelativeThemePath(SlashMode::LEADING_SLASH),
|
197 |
+
];
|
198 |
+
|
199 |
+
$excludePaths = array_merge($this->getFilteredExcludedPaths(), $excludePaths);
|
200 |
|
201 |
try {
|
202 |
+
$this->options->totalFiles += $this->scanToCacheFile($files, $directory, true, $excludePaths, $this->getFilteredExcludedFileSizes());
|
203 |
} catch (Exception $e) {
|
204 |
$this->returnException('Error: ' . $e->getMessage());
|
205 |
}
|
210 |
}
|
211 |
|
212 |
/**
|
213 |
+
* Step 6
|
214 |
* @return boolean
|
215 |
* @throws Exception
|
216 |
*/
|
217 |
+
private function getWpIncludesFiles()
|
218 |
{
|
219 |
+
$directory = ABSPATH . 'wp-includes';
|
220 |
// Skip it
|
221 |
if ($this->isDirectoryExcluded($directory)) {
|
222 |
$this->log("Skip " . $directory);
|
240 |
}
|
241 |
|
242 |
/**
|
243 |
+
* Step 7
|
244 |
+
* @return boolean
|
245 |
+
* @throws Exception
|
246 |
*/
|
247 |
+
private function getWpAdminFiles()
|
248 |
{
|
249 |
+
$directory = ABSPATH . 'wp-admin';
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
250 |
// Skip it
|
251 |
if ($this->isDirectoryExcluded($directory)) {
|
252 |
+
$this->log("Skip " . $directory);
|
253 |
return true;
|
254 |
}
|
|
|
|
|
255 |
// open file handle
|
256 |
$files = $this->open($this->filename, 'a');
|
257 |
|
258 |
+
$relativeDirectory = str_replace(ABSPATH, '', $directory);
|
259 |
+
$this->log("Scanning " . $relativeDirectory . " for its sub-directories and files");
|
|
|
|
|
|
|
|
|
260 |
|
261 |
try {
|
262 |
+
$this->options->totalFiles += $this->scanToCacheFile($files, $directory, true);
|
263 |
} catch (Exception $e) {
|
264 |
$this->returnException('Error: ' . $e->getMessage());
|
265 |
}
|
270 |
}
|
271 |
|
272 |
/**
|
273 |
+
* Step 8 - x
|
|
|
274 |
* Get extra folders of the wp root level
|
275 |
* Does not collect wp-includes, wp-admin and wp-content folder
|
276 |
* @param string $folder
|
368 |
return false;
|
369 |
}
|
370 |
|
|
|
371 |
if ($this->options->currentStep == 0) {
|
372 |
$this->getWpRootFiles();
|
373 |
$this->prepareResponse(false, true);
|
374 |
return false;
|
375 |
}
|
376 |
|
377 |
+
// Scan Plugins directory
|
378 |
if ($this->options->currentStep == 1) {
|
379 |
+
$this->getWpContentSubDirectory(WP_PLUGIN_DIR);
|
380 |
$this->prepareResponse(false, true);
|
381 |
return false;
|
382 |
}
|
383 |
|
384 |
+
// Scan Mu Plugins directory
|
385 |
if ($this->options->currentStep == 2) {
|
386 |
+
$this->getWpContentSubDirectory(WPMU_PLUGIN_DIR);
|
387 |
$this->prepareResponse(false, true);
|
388 |
return false;
|
389 |
}
|
390 |
|
391 |
+
// Scan Themes directory
|
392 |
if ($this->options->currentStep == 3) {
|
393 |
+
$this->getWpContentSubDirectory(WP_CONTENT_DIR . '/themes');
|
394 |
$this->prepareResponse(false, true);
|
395 |
return false;
|
396 |
}
|
397 |
|
398 |
+
// Scan Uploads directory
|
399 |
+
if ($this->options->currentStep == 4) {
|
400 |
+
$this->getWpContentSubDirectory($this->wpDirectories->getUploadsPath());
|
401 |
+
$this->prepareResponse(false, true);
|
402 |
+
return false;
|
403 |
+
}
|
404 |
+
|
405 |
+
// Scan WP Content directory except plugins, mu-plugins, themes and uploads directory
|
406 |
+
if ($this->options->currentStep == 5) {
|
407 |
+
$this->getWpContentFiles();
|
408 |
+
$this->prepareResponse(false, true);
|
409 |
+
return false;
|
410 |
+
}
|
411 |
+
|
412 |
+
if ($this->options->currentStep == 6) {
|
413 |
+
$this->getWpIncludesFiles();
|
414 |
+
$this->prepareResponse(false, true);
|
415 |
+
return false;
|
416 |
+
}
|
417 |
+
|
418 |
+
if ($this->options->currentStep == 7) {
|
419 |
+
$this->getWpAdminFiles();
|
420 |
$this->prepareResponse(false, true);
|
421 |
return false;
|
422 |
}
|
427 |
return false;
|
428 |
}
|
429 |
|
|
|
430 |
// Prepare response
|
431 |
$this->prepareResponse(false, true);
|
432 |
// Not finished
|
Backend/Modules/Jobs/Finish.php
CHANGED
@@ -4,6 +4,7 @@ namespace WPStaging\Backend\Modules\Jobs;
|
|
4 |
|
5 |
use WPStaging\Core\WPStaging;
|
6 |
use WPStaging\Core\Utils\Helper;
|
|
|
7 |
|
8 |
/**
|
9 |
* Class Finish
|
@@ -90,7 +91,7 @@ class Finish extends Job
|
|
90 |
$this->options->existingClones[$this->options->clone]['prefix'] = $this->options->prefix;
|
91 |
$this->options->existingClones[$this->options->clone]['emailsAllowed'] = (bool) $this->options->emailsAllowed;
|
92 |
$this->options->existingClones[$this->options->clone]['uploadsSymlinked'] = (bool) $this->options->uploadsSymlinked;
|
93 |
-
update_option(
|
94 |
$this->log("Finish: The job finished!");
|
95 |
return true;
|
96 |
}
|
@@ -115,7 +116,7 @@ class Finish extends Job
|
|
115 |
"uploadsSymlinked" => (bool) $this->options->uploadsSymlinked
|
116 |
];
|
117 |
|
118 |
-
if (update_option(
|
119 |
$this->log("Finish: Failed to save {$this->options->clone}'s clone job data to database'");
|
120 |
return false;
|
121 |
}
|
4 |
|
5 |
use WPStaging\Core\WPStaging;
|
6 |
use WPStaging\Core\Utils\Helper;
|
7 |
+
use WPStaging\Framework\Staging\Sites;
|
8 |
|
9 |
/**
|
10 |
* Class Finish
|
91 |
$this->options->existingClones[$this->options->clone]['prefix'] = $this->options->prefix;
|
92 |
$this->options->existingClones[$this->options->clone]['emailsAllowed'] = (bool) $this->options->emailsAllowed;
|
93 |
$this->options->existingClones[$this->options->clone]['uploadsSymlinked'] = (bool) $this->options->uploadsSymlinked;
|
94 |
+
update_option(Sites::STAGING_SITES_OPTION, $this->options->existingClones);
|
95 |
$this->log("Finish: The job finished!");
|
96 |
return true;
|
97 |
}
|
116 |
"uploadsSymlinked" => (bool) $this->options->uploadsSymlinked
|
117 |
];
|
118 |
|
119 |
+
if (update_option(Sites::STAGING_SITES_OPTION, $this->options->existingClones) === false) {
|
120 |
$this->log("Finish: Failed to save {$this->options->clone}'s clone job data to database'");
|
121 |
return false;
|
122 |
}
|
Backend/Modules/Jobs/PreserveDataFirstStep.php
CHANGED
@@ -5,9 +5,10 @@ namespace WPStaging\Backend\Modules\Jobs;
|
|
5 |
use WPStaging\Core\WPStaging;
|
6 |
use WPStaging\Framework\Adapter\SourceDatabase;
|
7 |
use WPStaging\Framework\Staging\CloneOptions;
|
|
|
8 |
|
9 |
/**
|
10 |
-
* Preserve staging sites in
|
11 |
* While cloning, copy an existing entry from staging site to wpstg_tmp_data and after cloning restore that data.
|
12 |
* Mainly used while an existing staging site is updated, not initially cloned
|
13 |
* @package WPStaging\Backend\Modules\Jobs
|
@@ -80,11 +81,11 @@ class PreserveDataFirstStep extends JobExecutable
|
|
80 |
return true;
|
81 |
}
|
82 |
|
83 |
-
// Get
|
84 |
$stagingSites = $this->stagingDb->get_var(
|
85 |
$this->stagingDb->prepare(
|
86 |
"SELECT `option_value` FROM " . $this->stagingPrefix . "options WHERE `option_name` = %s",
|
87 |
-
|
88 |
)
|
89 |
);
|
90 |
|
@@ -130,7 +131,7 @@ class PreserveDataFirstStep extends JobExecutable
|
|
130 |
}
|
131 |
|
132 |
if ($stagingSites === false) {
|
133 |
-
$this->log("Preserve Data: Failed to get
|
134 |
}
|
135 |
|
136 |
if ($settings === false) {
|
@@ -142,7 +143,7 @@ class PreserveDataFirstStep extends JobExecutable
|
|
142 |
}
|
143 |
|
144 |
if ($insert === false) {
|
145 |
-
$this->log("Preserve Data: Failed to insert
|
146 |
}
|
147 |
|
148 |
return true;
|
5 |
use WPStaging\Core\WPStaging;
|
6 |
use WPStaging\Framework\Adapter\SourceDatabase;
|
7 |
use WPStaging\Framework\Staging\CloneOptions;
|
8 |
+
use WPStaging\Framework\Staging\Sites;
|
9 |
|
10 |
/**
|
11 |
+
* Preserve staging sites in wpstg_staging_sites in staging database while updating a site
|
12 |
* While cloning, copy an existing entry from staging site to wpstg_tmp_data and after cloning restore that data.
|
13 |
* Mainly used while an existing staging site is updated, not initially cloned
|
14 |
* @package WPStaging\Backend\Modules\Jobs
|
81 |
return true;
|
82 |
}
|
83 |
|
84 |
+
// Get wpstg_staging_sites from staging database
|
85 |
$stagingSites = $this->stagingDb->get_var(
|
86 |
$this->stagingDb->prepare(
|
87 |
"SELECT `option_value` FROM " . $this->stagingPrefix . "options WHERE `option_name` = %s",
|
88 |
+
Sites::STAGING_SITES_OPTION
|
89 |
)
|
90 |
);
|
91 |
|
131 |
}
|
132 |
|
133 |
if ($stagingSites === false) {
|
134 |
+
$this->log("Preserve Data: Failed to get wpstg_staging_sites");
|
135 |
}
|
136 |
|
137 |
if ($settings === false) {
|
143 |
}
|
144 |
|
145 |
if ($insert === false) {
|
146 |
+
$this->log("Preserve Data: Failed to insert wpstg_staging_sites to wpstg_tmp_data");
|
147 |
}
|
148 |
|
149 |
return true;
|
Backend/Modules/Jobs/PreserveDataSecondStep.php
CHANGED
@@ -5,9 +5,10 @@ namespace WPStaging\Backend\Modules\Jobs;
|
|
5 |
use WPStaging\Core\WPStaging;
|
6 |
use WPStaging\Framework\Adapter\SourceDatabase;
|
7 |
use WPStaging\Framework\Staging\CloneOptions;
|
|
|
8 |
|
9 |
/**
|
10 |
-
* Copy wpstg_tmp_data back to
|
11 |
* @package WPStaging\Backend\Modules\Jobs
|
12 |
*/
|
13 |
|
@@ -86,9 +87,9 @@ class PreserveDataSecondStep extends JobExecutable
|
|
86 |
$this->productionDb->prepare("DELETE FROM " . $this->productionDb->prefix . "options WHERE `option_name` = %s", "wpstg_tmp_data")
|
87 |
);
|
88 |
|
89 |
-
// Delete
|
90 |
$deleteStagingSites = $this->stagingDb->query(
|
91 |
-
$this->stagingDb->prepare("DELETE FROM " . $this->stagingPrefix . "options WHERE `option_name` = %s",
|
92 |
);
|
93 |
|
94 |
// Delete wpstg_settings from the staging site
|
@@ -103,11 +104,11 @@ class PreserveDataSecondStep extends JobExecutable
|
|
103 |
|
104 |
$tempData = maybe_unserialize($result);
|
105 |
|
106 |
-
// Insert
|
107 |
$insertStagingSites = $this->stagingDb->query(
|
108 |
$this->stagingDb->prepare(
|
109 |
"INSERT INTO `" . $this->stagingPrefix . "options` ( `option_id`, `option_name`, `option_value`, `autoload` ) VALUES ( NULL , %s, %s, %s )",
|
110 |
-
|
111 |
$tempData->stagingSites,
|
112 |
"no"
|
113 |
)
|
@@ -138,7 +139,7 @@ class PreserveDataSecondStep extends JobExecutable
|
|
138 |
}
|
139 |
|
140 |
if ($deleteStagingSites === false) {
|
141 |
-
$this->log("Preserve Data Second Step: Failed to delete
|
142 |
}
|
143 |
|
144 |
if ($deleteSettings === false) {
|
@@ -154,7 +155,7 @@ class PreserveDataSecondStep extends JobExecutable
|
|
154 |
}
|
155 |
|
156 |
if ($insertStagingSites === false) {
|
157 |
-
$this->log("Preserve Data Second Step: Failed to insert preserved existing clones into
|
158 |
}
|
159 |
|
160 |
if ($insertSettings === false) {
|
5 |
use WPStaging\Core\WPStaging;
|
6 |
use WPStaging\Framework\Adapter\SourceDatabase;
|
7 |
use WPStaging\Framework\Staging\CloneOptions;
|
8 |
+
use WPStaging\Framework\Staging\Sites;
|
9 |
|
10 |
/**
|
11 |
+
* Copy wpstg_tmp_data back to wpstg_staging_sites after cloning with class::PreserveDataSecondStep
|
12 |
* @package WPStaging\Backend\Modules\Jobs
|
13 |
*/
|
14 |
|
87 |
$this->productionDb->prepare("DELETE FROM " . $this->productionDb->prefix . "options WHERE `option_name` = %s", "wpstg_tmp_data")
|
88 |
);
|
89 |
|
90 |
+
// Delete wpstg_staging_sites from the staging site
|
91 |
$deleteStagingSites = $this->stagingDb->query(
|
92 |
+
$this->stagingDb->prepare("DELETE FROM " . $this->stagingPrefix . "options WHERE `option_name` = %s", Sites::STAGING_SITES_OPTION)
|
93 |
);
|
94 |
|
95 |
// Delete wpstg_settings from the staging site
|
104 |
|
105 |
$tempData = maybe_unserialize($result);
|
106 |
|
107 |
+
// Insert wpstg_staging_sites in staging database
|
108 |
$insertStagingSites = $this->stagingDb->query(
|
109 |
$this->stagingDb->prepare(
|
110 |
"INSERT INTO `" . $this->stagingPrefix . "options` ( `option_id`, `option_name`, `option_value`, `autoload` ) VALUES ( NULL , %s, %s, %s )",
|
111 |
+
Sites::STAGING_SITES_OPTION,
|
112 |
$tempData->stagingSites,
|
113 |
"no"
|
114 |
)
|
139 |
}
|
140 |
|
141 |
if ($deleteStagingSites === false) {
|
142 |
+
$this->log("Preserve Data Second Step: Failed to delete wpstg_staging_sites from the staging site");
|
143 |
}
|
144 |
|
145 |
if ($deleteSettings === false) {
|
155 |
}
|
156 |
|
157 |
if ($insertStagingSites === false) {
|
158 |
+
$this->log("Preserve Data Second Step: Failed to insert preserved existing clones into wpstg_staging_sites of the staging site");
|
159 |
}
|
160 |
|
161 |
if ($insertSettings === false) {
|
Backend/Modules/Jobs/ProcessLock.php
CHANGED
@@ -83,5 +83,6 @@ class ProcessLock extends JobExecutable
|
|
83 |
*/
|
84 |
protected function execute()
|
85 |
{
|
|
|
86 |
}
|
87 |
}
|
83 |
*/
|
84 |
protected function execute()
|
85 |
{
|
86 |
+
return false;
|
87 |
}
|
88 |
}
|
Backend/Modules/Jobs/Scan.php
CHANGED
@@ -13,6 +13,7 @@ use WPStaging\Core\WPStaging;
|
|
13 |
use WPStaging\Framework\Adapter\Directory;
|
14 |
use WPStaging\Framework\Filesystem\DiskWriteCheck;
|
15 |
use WPStaging\Framework\Filesystem\Scanning\ScanConst;
|
|
|
16 |
use WPStaging\Framework\Utils\Strings;
|
17 |
use WPStaging\Framework\Utils\WpDefaultDirectories;
|
18 |
use WPStaging\Pro\Backup\Exceptions\DiskNotWritableException;
|
@@ -146,7 +147,7 @@ class Scan extends Job
|
|
146 |
{
|
147 |
// Basic Options
|
148 |
$this->options->root = str_replace(["\\", '/'], DIRECTORY_SEPARATOR, WPStaging::getWPpath());
|
149 |
-
$this->options->existingClones = get_option(
|
150 |
$this->options->current = null;
|
151 |
|
152 |
if (isset($_POST["clone"]) && array_key_exists($_POST["clone"], $this->options->existingClones)) {
|
13 |
use WPStaging\Framework\Adapter\Directory;
|
14 |
use WPStaging\Framework\Filesystem\DiskWriteCheck;
|
15 |
use WPStaging\Framework\Filesystem\Scanning\ScanConst;
|
16 |
+
use WPStaging\Framework\Staging\Sites;
|
17 |
use WPStaging\Framework\Utils\Strings;
|
18 |
use WPStaging\Framework\Utils\WpDefaultDirectories;
|
19 |
use WPStaging\Pro\Backup\Exceptions\DiskNotWritableException;
|
147 |
{
|
148 |
// Basic Options
|
149 |
$this->options->root = str_replace(["\\", '/'], DIRECTORY_SEPARATOR, WPStaging::getWPpath());
|
150 |
+
$this->options->existingClones = get_option(Sites::STAGING_SITES_OPTION, []);
|
151 |
$this->options->current = null;
|
152 |
|
153 |
if (isset($_POST["clone"]) && array_key_exists($_POST["clone"], $this->options->existingClones)) {
|
Backend/Modules/SystemInfo.php
CHANGED
@@ -8,6 +8,7 @@ use WPStaging\Core\WPStaging;
|
|
8 |
use WPStaging\Core\Utils;
|
9 |
use WPStaging\Core\Utils\Multisite;
|
10 |
use WPStaging\Core\Utils\Helper;
|
|
|
11 |
|
12 |
// No Direct Access
|
13 |
if (!defined("WPINC")) {
|
@@ -165,7 +166,9 @@ class SystemInfo
|
|
165 |
// Clones data < 1.1.6.x
|
166 |
$clones = (object)get_option('wpstg_existing_clones', []);
|
167 |
// Clones data version > 2.x
|
168 |
-
|
|
|
|
|
169 |
|
170 |
|
171 |
$output = "-- WP Staging Settings" . PHP_EOL . PHP_EOL;
|
@@ -183,7 +186,7 @@ class SystemInfo
|
|
183 |
}
|
184 |
$output .= PHP_EOL . PHP_EOL . "-- Available Sites Version > 2.0.x" . PHP_EOL . PHP_EOL;
|
185 |
|
186 |
-
foreach ($
|
187 |
$path = !empty($clone['path']) ? $clone['path'] : 'undefined';
|
188 |
|
189 |
$output .= $this->info("Number:", isset($clone['number']) ? $clone['number'] : 'undefined');
|
@@ -197,7 +200,7 @@ class SystemInfo
|
|
197 |
}
|
198 |
|
199 |
|
200 |
-
$output .= $this->info("Raw Clones Data:", json_encode(get_option(
|
201 |
|
202 |
$output .= '' . PHP_EOL;
|
203 |
|
8 |
use WPStaging\Core\Utils;
|
9 |
use WPStaging\Core\Utils\Multisite;
|
10 |
use WPStaging\Core\Utils\Helper;
|
11 |
+
use WPStaging\Framework\Staging\Sites;
|
12 |
|
13 |
// No Direct Access
|
14 |
if (!defined("WPINC")) {
|
166 |
// Clones data < 1.1.6.x
|
167 |
$clones = (object)get_option('wpstg_existing_clones', []);
|
168 |
// Clones data version > 2.x
|
169 |
+
// old name wpstg_existing_clones_beta
|
170 |
+
// New name since version 4.0.3
|
171 |
+
$stagingSites = get_option(Sites::STAGING_SITES_OPTION, []);
|
172 |
|
173 |
|
174 |
$output = "-- WP Staging Settings" . PHP_EOL . PHP_EOL;
|
186 |
}
|
187 |
$output .= PHP_EOL . PHP_EOL . "-- Available Sites Version > 2.0.x" . PHP_EOL . PHP_EOL;
|
188 |
|
189 |
+
foreach ($stagingSites as $key => $clone) {
|
190 |
$path = !empty($clone['path']) ? $clone['path'] : 'undefined';
|
191 |
|
192 |
$output .= $this->info("Number:", isset($clone['number']) ? $clone['number'] : 'undefined');
|
200 |
}
|
201 |
|
202 |
|
203 |
+
$output .= $this->info("Raw Clones Data:", json_encode(get_option(Sites::STAGING_SITES_OPTION, 'undefined')));
|
204 |
|
205 |
$output .= '' . PHP_EOL;
|
206 |
|
Backend/Notices/Notices.php
CHANGED
@@ -19,6 +19,7 @@ use WPStaging\Framework\CloningProcess\ExcludedPlugins;
|
|
19 |
use WPStaging\Framework\Staging\CloneOptions;
|
20 |
use WPStaging\Framework\Staging\FirstRun;
|
21 |
use WPStaging\Framework\Support\ThirdParty\FreemiusScript;
|
|
|
22 |
|
23 |
/**
|
24 |
* Class Notices
|
@@ -61,7 +62,7 @@ class Notices
|
|
61 |
$currentPage = (isset($_GET["page"])) ? $_GET["page"] : null;
|
62 |
|
63 |
$availablePages = [
|
64 |
-
"wpstg-settings", "wpstg-addons", "wpstg-tools", "wpstg-clone", "wpstg_clone"
|
65 |
];
|
66 |
|
67 |
return !(!is_admin() || !in_array($currentPage, $availablePages, true));
|
@@ -173,6 +174,10 @@ class Notices
|
|
173 |
require "{$viewsNoticesPath}wp-options-missing-pk.php";
|
174 |
}
|
175 |
|
|
|
|
|
|
|
|
|
176 |
/**
|
177 |
* Display all notices below this line in WP STAGING admin pages only and only to administrators!
|
178 |
*/
|
@@ -187,6 +192,13 @@ class Notices
|
|
187 |
require "{$viewsNoticesPath}uploads-outside-wp-root.php";
|
188 |
}
|
189 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
190 |
// Show notice Cache directory is not writable
|
191 |
/** @var Cache $cache */
|
192 |
$cache = WPStaging::getInstance()->get("cache");
|
@@ -339,4 +351,17 @@ class Notices
|
|
339 |
{
|
340 |
return $this->assets;
|
341 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
342 |
}
|
19 |
use WPStaging\Framework\Staging\CloneOptions;
|
20 |
use WPStaging\Framework\Staging\FirstRun;
|
21 |
use WPStaging\Framework\Support\ThirdParty\FreemiusScript;
|
22 |
+
use WPStaging\Framework\Support\ThirdParty\WordFence;
|
23 |
|
24 |
/**
|
25 |
* Class Notices
|
62 |
$currentPage = (isset($_GET["page"])) ? $_GET["page"] : null;
|
63 |
|
64 |
$availablePages = [
|
65 |
+
"wpstg-settings", "wpstg-addons", "wpstg-tools", "wpstg-clone", "wpstg_clone", "wpstg_backup"
|
66 |
];
|
67 |
|
68 |
return !(!is_admin() || !in_array($currentPage, $availablePages, true));
|
174 |
require "{$viewsNoticesPath}wp-options-missing-pk.php";
|
175 |
}
|
176 |
|
177 |
+
// Show notice if WordFence Firewall is disabled
|
178 |
+
/** @var WordFence */
|
179 |
+
WPStaging::make(WordFence::class)->showNotice($viewsNoticesPath);
|
180 |
+
|
181 |
/**
|
182 |
* Display all notices below this line in WP STAGING admin pages only and only to administrators!
|
183 |
*/
|
192 |
require "{$viewsNoticesPath}uploads-outside-wp-root.php";
|
193 |
}
|
194 |
|
195 |
+
/**
|
196 |
+
* Display outdated WP Staging version notice (Free Only)
|
197 |
+
*/
|
198 |
+
/** @var OutdatedWpStagingNotice */
|
199 |
+
WPStaging::make(OutdatedWpStagingNotice::class)
|
200 |
+
->showNotice($viewsNoticesPath);
|
201 |
+
|
202 |
// Show notice Cache directory is not writable
|
203 |
/** @var Cache $cache */
|
204 |
$cache = WPStaging::getInstance()->get("cache");
|
351 |
{
|
352 |
return $this->assets;
|
353 |
}
|
354 |
+
|
355 |
+
/**
|
356 |
+
* Render the notice dismiss action
|
357 |
+
*
|
358 |
+
* @param string $viewsNoticesPath
|
359 |
+
* @param string $wpstgNotice
|
360 |
+
* @param string $cssClassSelectorDismiss
|
361 |
+
* @param string $cssClassSelectorNotice
|
362 |
+
*/
|
363 |
+
public static function renderNoticeDismissAction($viewsNoticesPath, $wpstgNotice, $cssClassSelectorDismiss, $cssClassSelectorNotice)
|
364 |
+
{
|
365 |
+
require "{$viewsNoticesPath}_partial/notice_dismiss_action.php";
|
366 |
+
}
|
367 |
}
|
Backend/Notices/OutdatedWpStagingNotice.php
ADDED
@@ -0,0 +1,86 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
namespace WPStaging\Backend\Notices;
|
4 |
+
|
5 |
+
use WPStaging\Core\WPStaging;
|
6 |
+
|
7 |
+
/**
|
8 |
+
* Class OutdatedWpStagingNotice
|
9 |
+
*
|
10 |
+
* Check if using an outdated version of WP Staging Plugin
|
11 |
+
*
|
12 |
+
* @see \WPStaging\Backend\Notices\Notices
|
13 |
+
*/
|
14 |
+
class OutdatedWpStagingNotice
|
15 |
+
{
|
16 |
+
/**
|
17 |
+
* @var string
|
18 |
+
*/
|
19 |
+
private $currentWpstgVersion = null;
|
20 |
+
|
21 |
+
/**
|
22 |
+
* @var string
|
23 |
+
*/
|
24 |
+
private $latestWpstgVersion = null;
|
25 |
+
|
26 |
+
public function showNotice($viewsNoticesPath)
|
27 |
+
{
|
28 |
+
// Early bail if PRO version and not an outdated version
|
29 |
+
if (!Notices::SHOW_ALL_NOTICES && (WPStaging::isPro() || !$this->isOutdatedWpStagingVersion())) {
|
30 |
+
return;
|
31 |
+
}
|
32 |
+
|
33 |
+
require "{$viewsNoticesPath}outdated-wp-staging-version.php";
|
34 |
+
}
|
35 |
+
|
36 |
+
/**
|
37 |
+
* @return string
|
38 |
+
*/
|
39 |
+
public function getCurrentWpstgVersion()
|
40 |
+
{
|
41 |
+
if ($this->currentWpstgVersion === null) {
|
42 |
+
$this->currentWpstgVersion = WPStaging::getVersion();
|
43 |
+
}
|
44 |
+
|
45 |
+
return $this->currentWpstgVersion;
|
46 |
+
}
|
47 |
+
|
48 |
+
/**
|
49 |
+
* @return string
|
50 |
+
*/
|
51 |
+
public function getLatestWpstgVersion()
|
52 |
+
{
|
53 |
+
if ($this->latestWpstgVersion === null) {
|
54 |
+
$this->latestWpstgVersion = $this->getNewestVersionToUpdateBySlug('wp-staging');
|
55 |
+
}
|
56 |
+
|
57 |
+
return $this->latestWpstgVersion;
|
58 |
+
}
|
59 |
+
|
60 |
+
/**
|
61 |
+
* @param string $slug
|
62 |
+
* @return null|string
|
63 |
+
*/
|
64 |
+
private function getNewestVersionToUpdateBySlug($slug)
|
65 |
+
{
|
66 |
+
$plugins = get_site_transient('update_plugins');
|
67 |
+
$plugins = $plugins->response;
|
68 |
+
foreach ($plugins as $plugin) {
|
69 |
+
if ($plugin->slug === $slug) {
|
70 |
+
return $plugin->new_version;
|
71 |
+
}
|
72 |
+
}
|
73 |
+
|
74 |
+
return null;
|
75 |
+
}
|
76 |
+
|
77 |
+
private function isOutdatedWpStagingVersion()
|
78 |
+
{
|
79 |
+
// If latest version is not available that mean to update
|
80 |
+
if ($this->getLatestWpstgVersion() === null) {
|
81 |
+
return false;
|
82 |
+
}
|
83 |
+
|
84 |
+
return version_compare($this->getLatestWpstgVersion(), $this->getCurrentWpstgVersion(), '>=') ? true : false;
|
85 |
+
}
|
86 |
+
}
|
Backend/Upgrade/Upgrade.php
CHANGED
@@ -2,10 +2,10 @@
|
|
2 |
|
3 |
namespace WPStaging\Backend\Upgrade;
|
4 |
|
5 |
-
use WPStaging\Core\WPStaging;
|
6 |
-
use WPStaging\Core\Utils\Logger;
|
7 |
use WPStaging\Core\Utils\IISWebConfig;
|
8 |
use WPStaging\Core\Utils\Htaccess;
|
|
|
|
|
9 |
|
10 |
/**
|
11 |
* Upgrade Class
|
@@ -17,7 +17,8 @@ if( !defined( "WPINC" ) ) {
|
|
17 |
die;
|
18 |
}
|
19 |
|
20 |
-
class Upgrade
|
|
|
21 |
|
22 |
/**
|
23 |
* Previous Version number
|
@@ -25,110 +26,110 @@ class Upgrade {
|
|
25 |
*/
|
26 |
private $previousVersion;
|
27 |
|
28 |
-
/**
|
29 |
-
* Clone data
|
30 |
-
* @var object
|
31 |
-
*/
|
32 |
-
private $clones;
|
33 |
-
|
34 |
/**
|
35 |
* Global settings
|
36 |
* @var object
|
37 |
*/
|
38 |
private $settings;
|
39 |
|
40 |
-
/**
|
41 |
-
* Cron data
|
42 |
-
* @var object
|
43 |
-
*/
|
44 |
-
private $cron;
|
45 |
-
|
46 |
-
/**
|
47 |
-
* Logger
|
48 |
-
* @var object
|
49 |
-
*/
|
50 |
-
private $logger;
|
51 |
-
|
52 |
/**
|
53 |
* db object
|
54 |
* @var object
|
55 |
*/
|
56 |
private $db;
|
57 |
|
58 |
-
|
59 |
-
|
60 |
-
|
61 |
-
|
62 |
|
|
|
|
|
63 |
// Previous version
|
64 |
-
$this->previousVersion = preg_replace(
|
65 |
|
66 |
-
$this->settings = (
|
67 |
-
|
68 |
-
// Logger
|
69 |
-
$this->logger = new Logger;
|
70 |
|
71 |
// db
|
72 |
-
$this->db = WPStaging::getInstance()->get(
|
|
|
|
|
|
|
73 |
}
|
74 |
|
75 |
-
public function doUpgrade()
|
|
|
76 |
$this->upgrade2_0_3();
|
77 |
$this->upgrade2_1_2();
|
78 |
$this->upgrade2_2_0();
|
79 |
$this->upgrade2_4_4();
|
80 |
$this->upgrade2_5_9();
|
|
|
81 |
|
82 |
$this->setVersion();
|
83 |
}
|
84 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
85 |
/**
|
86 |
* Fix array keys of staging sites
|
87 |
*/
|
88 |
-
private function upgrade2_5_9()
|
|
|
89 |
// Previous version lower than 2.5.9
|
90 |
-
if(
|
91 |
|
92 |
// Current options
|
93 |
-
$sites =
|
94 |
|
95 |
$new = [];
|
96 |
|
97 |
// Fix keys. Replace white spaces with dash character
|
98 |
-
foreach (
|
99 |
-
$key = preg_replace(
|
100 |
$new[$key] = $sites[$oldKey];
|
101 |
}
|
102 |
-
|
|
|
|
|
|
|
103 |
}
|
104 |
}
|
105 |
|
106 |
-
private function upgrade2_4_4()
|
|
|
107 |
// Previous version lower than 2.4.4
|
108 |
-
if(
|
109 |
// Add htaccess to wp staging uploads folder
|
110 |
$htaccess = new Htaccess();
|
111 |
-
$htaccess->create(
|
112 |
-
$htaccess->create(
|
113 |
|
114 |
// Add litespeed htaccess to wp root folder
|
115 |
-
if(
|
116 |
-
$htaccess->createLitespeed(
|
117 |
}
|
118 |
|
119 |
// create web.config file for IIS in wp staging uploads folder
|
120 |
$webconfig = new IISWebConfig();
|
121 |
-
$webconfig->create(
|
122 |
-
$webconfig->create(
|
123 |
}
|
124 |
}
|
125 |
|
126 |
/**
|
127 |
* Upgrade method 2.2.0
|
128 |
*/
|
129 |
-
public function upgrade2_2_0()
|
|
|
130 |
// Previous version lower than 2.2.0
|
131 |
-
if(
|
132 |
$this->upgradeElements();
|
133 |
}
|
134 |
}
|
@@ -136,27 +137,29 @@ class Upgrade {
|
|
136 |
/**
|
137 |
* Add missing elements
|
138 |
*/
|
139 |
-
private function upgradeElements()
|
|
|
140 |
// Current options
|
141 |
-
$sites =
|
142 |
|
143 |
-
if(
|
144 |
return;
|
145 |
}
|
146 |
|
147 |
// Check if key prefix is missing and add it
|
148 |
-
foreach (
|
149 |
-
if(
|
150 |
continue;
|
151 |
}
|
|
|
152 |
//!empty( $sites[$key]['prefix'] ) ? $sites[$key]['prefix'] = $value['prefix'] : $sites[$key]['prefix'] = $key . '_';
|
153 |
-
!empty(
|
154 |
$sites[$key]['prefix'] = $value['prefix'] :
|
155 |
-
$sites[$key]['prefix'] = $this->getStagingPrefix(
|
156 |
}
|
157 |
|
158 |
-
if(
|
159 |
-
|
160 |
}
|
161 |
}
|
162 |
|
@@ -165,24 +168,26 @@ class Upgrade {
|
|
165 |
* @param string $directory
|
166 |
* @return string
|
167 |
*/
|
168 |
-
private function getStagingPrefix(
|
|
|
169 |
// Try to get staging prefix from wp-config.php of staging site
|
|
|
170 |
|
171 |
-
$
|
172 |
-
if( ($content = @file_get_contents( $path )) === false ) {
|
173 |
$prefix = "";
|
174 |
} else {
|
175 |
// Get prefix from wp-config.php
|
176 |
-
preg_match(
|
177 |
|
178 |
-
if(
|
179 |
$prefix = $matches[1];
|
180 |
} else {
|
181 |
$prefix = "";
|
182 |
}
|
183 |
}
|
|
|
184 |
// return result: Check if staging prefix is the same as the live prefix
|
185 |
-
if(
|
186 |
return $prefix;
|
187 |
} else {
|
188 |
return "";
|
@@ -190,12 +195,12 @@ class Upgrade {
|
|
190 |
}
|
191 |
|
192 |
/**
|
193 |
-
* NEW INSTALLATION
|
194 |
* Upgrade method 2.0.3
|
195 |
*/
|
196 |
-
public function upgrade2_0_3()
|
197 |
-
|
198 |
-
|
|
|
199 |
$this->upgradeOptions();
|
200 |
$this->upgradeNotices();
|
201 |
}
|
@@ -205,48 +210,50 @@ class Upgrade {
|
|
205 |
* Upgrade method 2.1.2
|
206 |
* Sanitize the clone key value.
|
207 |
*/
|
208 |
-
private function upgrade2_1_2()
|
209 |
-
|
210 |
-
|
211 |
-
|
212 |
-
|
213 |
-
|
214 |
-
foreach ($
|
215 |
-
unset(
|
216 |
-
$
|
217 |
-
}
|
218 |
-
if( empty($clonesBeta) ) {
|
219 |
-
return;
|
220 |
}
|
221 |
|
222 |
-
|
|
|
|
|
223 |
}
|
224 |
}
|
225 |
|
226 |
/**
|
227 |
* Upgrade routine for new install
|
228 |
*/
|
229 |
-
private function upgradeOptions()
|
|
|
230 |
// Write some default vars
|
231 |
-
add_option(
|
232 |
$this->settings->optimizer = 1;
|
233 |
-
update_option(
|
234 |
}
|
235 |
|
236 |
/**
|
237 |
* Write new version number into db
|
238 |
* return bool
|
239 |
*/
|
240 |
-
private function setVersion()
|
|
|
241 |
// Check if version number in DB is lower than version number in current plugin
|
242 |
-
if(
|
243 |
// Update Version number
|
244 |
-
update_option(
|
245 |
// Update "upgraded from" version number
|
246 |
-
update_option(
|
247 |
|
248 |
return true;
|
249 |
}
|
|
|
250 |
return false;
|
251 |
}
|
252 |
|
@@ -254,19 +261,22 @@ class Upgrade {
|
|
254 |
* Upgrade Notices db options from wpstg 1.3 -> 2.0.1
|
255 |
* Fix some logical db options
|
256 |
*/
|
257 |
-
private function upgradeNotices()
|
258 |
-
|
259 |
-
$
|
260 |
-
$
|
261 |
-
|
262 |
-
|
263 |
-
|
|
|
264 |
}
|
265 |
-
|
266 |
-
|
|
|
267 |
}
|
268 |
-
|
269 |
-
|
|
|
270 |
}
|
271 |
}
|
272 |
|
2 |
|
3 |
namespace WPStaging\Backend\Upgrade;
|
4 |
|
|
|
|
|
5 |
use WPStaging\Core\Utils\IISWebConfig;
|
6 |
use WPStaging\Core\Utils\Htaccess;
|
7 |
+
use WPStaging\Core\WPStaging;
|
8 |
+
use WPStaging\Framework\Staging\Sites;
|
9 |
|
10 |
/**
|
11 |
* Upgrade Class
|
17 |
die;
|
18 |
}
|
19 |
|
20 |
+
class Upgrade
|
21 |
+
{
|
22 |
|
23 |
/**
|
24 |
* Previous Version number
|
26 |
*/
|
27 |
private $previousVersion;
|
28 |
|
|
|
|
|
|
|
|
|
|
|
|
|
29 |
/**
|
30 |
* Global settings
|
31 |
* @var object
|
32 |
*/
|
33 |
private $settings;
|
34 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
35 |
/**
|
36 |
* db object
|
37 |
* @var object
|
38 |
*/
|
39 |
private $db;
|
40 |
|
41 |
+
/**
|
42 |
+
* @var Sites
|
43 |
+
*/
|
44 |
+
private $stagingSitesHelper;
|
45 |
|
46 |
+
public function __construct()
|
47 |
+
{
|
48 |
// Previous version
|
49 |
+
$this->previousVersion = preg_replace('/[^0-9.].*/', '', get_option('wpstg_version'));
|
50 |
|
51 |
+
$this->settings = (object) get_option("wpstg_settings", []);
|
|
|
|
|
|
|
52 |
|
53 |
// db
|
54 |
+
$this->db = WPStaging::getInstance()->get("wpdb");
|
55 |
+
|
56 |
+
/** @var Sites */
|
57 |
+
$this->stagingSitesHelper = WPStaging::make(Sites::class);
|
58 |
}
|
59 |
|
60 |
+
public function doUpgrade()
|
61 |
+
{
|
62 |
$this->upgrade2_0_3();
|
63 |
$this->upgrade2_1_2();
|
64 |
$this->upgrade2_2_0();
|
65 |
$this->upgrade2_4_4();
|
66 |
$this->upgrade2_5_9();
|
67 |
+
$this->upgrade2_8_7();
|
68 |
|
69 |
$this->setVersion();
|
70 |
}
|
71 |
|
72 |
+
/**
|
73 |
+
* Move existing staging sites to new option defined in Sites::STAGING_SITES_OPTION
|
74 |
+
*/
|
75 |
+
private function upgrade2_8_7()
|
76 |
+
{
|
77 |
+
(new Sites())->upgradeStagingSitesOption();
|
78 |
+
}
|
79 |
+
|
80 |
/**
|
81 |
* Fix array keys of staging sites
|
82 |
*/
|
83 |
+
private function upgrade2_5_9()
|
84 |
+
{
|
85 |
// Previous version lower than 2.5.9
|
86 |
+
if (version_compare($this->previousVersion, '2.5.9', '<')) {
|
87 |
|
88 |
// Current options
|
89 |
+
$sites = $this->stagingSitesHelper->tryGettingStagingSites();
|
90 |
|
91 |
$new = [];
|
92 |
|
93 |
// Fix keys. Replace white spaces with dash character
|
94 |
+
foreach ($sites as $oldKey => $site) {
|
95 |
+
$key = preg_replace("#\W+#", '-', strtolower($oldKey));
|
96 |
$new[$key] = $sites[$oldKey];
|
97 |
}
|
98 |
+
|
99 |
+
if (!empty($new)) {
|
100 |
+
$this->stagingSitesHelper->updateStagingSites($new);
|
101 |
+
}
|
102 |
}
|
103 |
}
|
104 |
|
105 |
+
private function upgrade2_4_4()
|
106 |
+
{
|
107 |
// Previous version lower than 2.4.4
|
108 |
+
if (version_compare($this->previousVersion, '2.4.4', '<')) {
|
109 |
// Add htaccess to wp staging uploads folder
|
110 |
$htaccess = new Htaccess();
|
111 |
+
$htaccess->create(trailingslashit(WPStaging::getContentDir()) . '.htaccess');
|
112 |
+
$htaccess->create(trailingslashit(WPStaging::getContentDir()) . 'logs/.htaccess');
|
113 |
|
114 |
// Add litespeed htaccess to wp root folder
|
115 |
+
if (extension_loaded('litespeed')) {
|
116 |
+
$htaccess->createLitespeed(ABSPATH . '.htaccess');
|
117 |
}
|
118 |
|
119 |
// create web.config file for IIS in wp staging uploads folder
|
120 |
$webconfig = new IISWebConfig();
|
121 |
+
$webconfig->create(trailingslashit(WPStaging::getContentDir()) . 'web.config');
|
122 |
+
$webconfig->create(trailingslashit(WPStaging::getContentDir()) . 'logs/web.config');
|
123 |
}
|
124 |
}
|
125 |
|
126 |
/**
|
127 |
* Upgrade method 2.2.0
|
128 |
*/
|
129 |
+
public function upgrade2_2_0()
|
130 |
+
{
|
131 |
// Previous version lower than 2.2.0
|
132 |
+
if (version_compare($this->previousVersion, '2.2.0', '<')) {
|
133 |
$this->upgradeElements();
|
134 |
}
|
135 |
}
|
137 |
/**
|
138 |
* Add missing elements
|
139 |
*/
|
140 |
+
private function upgradeElements()
|
141 |
+
{
|
142 |
// Current options
|
143 |
+
$sites = $this->stagingSitesHelper->tryGettingStagingSites();
|
144 |
|
145 |
+
if ($sites === false || count($sites) === 0) {
|
146 |
return;
|
147 |
}
|
148 |
|
149 |
// Check if key prefix is missing and add it
|
150 |
+
foreach ($sites as $key => $value) {
|
151 |
+
if (empty($sites[$key]['directoryName'])) {
|
152 |
continue;
|
153 |
}
|
154 |
+
|
155 |
//!empty( $sites[$key]['prefix'] ) ? $sites[$key]['prefix'] = $value['prefix'] : $sites[$key]['prefix'] = $key . '_';
|
156 |
+
!empty($sites[$key]['prefix']) ?
|
157 |
$sites[$key]['prefix'] = $value['prefix'] :
|
158 |
+
$sites[$key]['prefix'] = $this->getStagingPrefix($sites[$key]['directoryName']);
|
159 |
}
|
160 |
|
161 |
+
if (!empty($sites)) {
|
162 |
+
$this->stagingSitesHelper->updateStagingSites($sites);
|
163 |
}
|
164 |
}
|
165 |
|
168 |
* @param string $directory
|
169 |
* @return string
|
170 |
*/
|
171 |
+
private function getStagingPrefix($directory)
|
172 |
+
{
|
173 |
// Try to get staging prefix from wp-config.php of staging site
|
174 |
+
$path = ABSPATH . $directory . "/wp-config.php";
|
175 |
|
176 |
+
if (($content = @file_get_contents($path)) === false) {
|
|
|
177 |
$prefix = "";
|
178 |
} else {
|
179 |
// Get prefix from wp-config.php
|
180 |
+
preg_match("/table_prefix\s*=\s*'(\w*)';/", $content, $matches);
|
181 |
|
182 |
+
if (!empty($matches[1])) {
|
183 |
$prefix = $matches[1];
|
184 |
} else {
|
185 |
$prefix = "";
|
186 |
}
|
187 |
}
|
188 |
+
|
189 |
// return result: Check if staging prefix is the same as the live prefix
|
190 |
+
if ($this->db->prefix != $prefix) {
|
191 |
return $prefix;
|
192 |
} else {
|
193 |
return "";
|
195 |
}
|
196 |
|
197 |
/**
|
|
|
198 |
* Upgrade method 2.0.3
|
199 |
*/
|
200 |
+
public function upgrade2_0_3()
|
201 |
+
{
|
202 |
+
// Previous version lower than 2.0.2
|
203 |
+
if (version_compare($this->previousVersion, '2.0.2', '<')) {
|
204 |
$this->upgradeOptions();
|
205 |
$this->upgradeNotices();
|
206 |
}
|
210 |
* Upgrade method 2.1.2
|
211 |
* Sanitize the clone key value.
|
212 |
*/
|
213 |
+
private function upgrade2_1_2()
|
214 |
+
{
|
215 |
+
if ($this->previousVersion === false || version_compare($this->previousVersion, '2.1.2', '<')) {
|
216 |
+
// Current options
|
217 |
+
$clones = $this->stagingSitesHelper->tryGettingStagingSites();
|
218 |
+
|
219 |
+
foreach ($clones as $key => $value) {
|
220 |
+
unset($clones[$key]);
|
221 |
+
$clones[preg_replace("#\W+#", '-', strtolower($key))] = $value;
|
|
|
|
|
|
|
222 |
}
|
223 |
|
224 |
+
if (!empty($clones)) {
|
225 |
+
$this->stagingSitesHelper->updateStagingSites($clones);
|
226 |
+
}
|
227 |
}
|
228 |
}
|
229 |
|
230 |
/**
|
231 |
* Upgrade routine for new install
|
232 |
*/
|
233 |
+
private function upgradeOptions()
|
234 |
+
{
|
235 |
// Write some default vars
|
236 |
+
add_option('wpstg_installDate', date('Y-m-d h:i:s'));
|
237 |
$this->settings->optimizer = 1;
|
238 |
+
update_option('wpstg_settings', $this->settings);
|
239 |
}
|
240 |
|
241 |
/**
|
242 |
* Write new version number into db
|
243 |
* return bool
|
244 |
*/
|
245 |
+
private function setVersion()
|
246 |
+
{
|
247 |
// Check if version number in DB is lower than version number in current plugin
|
248 |
+
if (version_compare($this->previousVersion, WPStaging::getVersion(), '<')) {
|
249 |
// Update Version number
|
250 |
+
update_option('wpstg_version', preg_replace('/[^0-9.].*/', '', WPStaging::getVersion()));
|
251 |
// Update "upgraded from" version number
|
252 |
+
update_option('wpstg_version_upgraded_from', preg_replace('/[^0-9.].*/', '', $this->previousVersion));
|
253 |
|
254 |
return true;
|
255 |
}
|
256 |
+
|
257 |
return false;
|
258 |
}
|
259 |
|
261 |
* Upgrade Notices db options from wpstg 1.3 -> 2.0.1
|
262 |
* Fix some logical db options
|
263 |
*/
|
264 |
+
private function upgradeNotices()
|
265 |
+
{
|
266 |
+
$poll = get_option("wpstg_start_poll", false);
|
267 |
+
$beta = get_option("wpstg_hide_beta", false);
|
268 |
+
$rating = get_option("wpstg_RatingDiv", false);
|
269 |
+
|
270 |
+
if ($poll && $poll === "no") {
|
271 |
+
update_option('wpstg_poll', 'no');
|
272 |
}
|
273 |
+
|
274 |
+
if ($beta && $beta === "yes") {
|
275 |
+
update_option('wpstg_beta', 'no');
|
276 |
}
|
277 |
+
|
278 |
+
if ($rating && $rating === 'yes') {
|
279 |
+
update_option('wpstg_rating', 'no');
|
280 |
}
|
281 |
}
|
282 |
|
Backend/views/_main/header.php
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
|
3 |
<div>
|
4 |
<span class="wpstg-logo">
|
5 |
-
<img src="<?php echo $this->assets->getAssetsUrl("img/logo
|
6 |
</span>
|
7 |
|
8 |
<span class="wpstg-version">
|
2 |
|
3 |
<div>
|
4 |
<span class="wpstg-logo">
|
5 |
+
<img src="<?php echo $this->assets->getAssetsUrl("img/logo.svg") ?>" width="212">
|
6 |
</span>
|
7 |
|
8 |
<span class="wpstg-version">
|
Backend/views/backup/restore-wait.php
CHANGED
@@ -7,7 +7,7 @@
|
|
7 |
?>
|
8 |
|
9 |
<div id="wpstg-restore-wait">
|
10 |
-
<div class="wpstg-logo"><img width="220" src="<?php echo WPSTG_PLUGIN_URL . "assets/img/logo
|
11 |
<div class="wpstg-title"><?php _e('Backup Restore Successful!', 'wp-staging') ?></div>
|
12 |
<div class="wpstg-text"><?php _e('You are being redirected to the login page...', 'wp-staging') ?></div>
|
13 |
</div>
|
7 |
?>
|
8 |
|
9 |
<div id="wpstg-restore-wait">
|
10 |
+
<div class="wpstg-logo"><img width="220" src="<?php echo WPSTG_PLUGIN_URL . "assets/img/logo.svg"; ?>"></div>
|
11 |
<div class="wpstg-title"><?php _e('Backup Restore Successful!', 'wp-staging') ?></div>
|
12 |
<div class="wpstg-text"><?php _e('You are being redirected to the login page...', 'wp-staging') ?></div>
|
13 |
</div>
|
Backend/views/clone/ajax/single-overview.php
CHANGED
@@ -20,7 +20,7 @@
|
|
20 |
<?php _e("Your Staging Sites:", "wp-staging") ?>
|
21 |
</h3>
|
22 |
<?php foreach ($availableClones as $cloneID => $data) : ?>
|
23 |
-
<div id="<?php echo $data['directoryName']; ?>" class="wpstg-clone">
|
24 |
<?php $urlLogin = $data["url"]; ?>
|
25 |
<div class="wpstg-clone-header">
|
26 |
<a href="<?php echo $urlLogin ?>" class="wpstg-clone-title" target="_blank">
|
20 |
<?php _e("Your Staging Sites:", "wp-staging") ?>
|
21 |
</h3>
|
22 |
<?php foreach ($availableClones as $cloneID => $data) : ?>
|
23 |
+
<div id="<?php echo $data['directoryName']; ?>" data-clone-id="<?php echo $cloneID; ?>" class="wpstg-clone">
|
24 |
<?php $urlLogin = $data["url"]; ?>
|
25 |
<div class="wpstg-clone-header">
|
26 |
<a href="<?php echo $urlLogin ?>" class="wpstg-clone-title" target="_blank">
|
Backend/views/notices/_partial/notice_dismiss_action.php
ADDED
@@ -0,0 +1,46 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* @var $cssClassSelectorNotice
|
4 |
+
* @var $cssClassSelectorDismiss
|
5 |
+
* @var $wpstgNotice
|
6 |
+
* @see \WPStaging\WPStaging\Backend\Notices\Notices::renderNoticeDismissAction
|
7 |
+
*/
|
8 |
+
?>
|
9 |
+
<a href="javascript:void(0);"
|
10 |
+
class="<?php echo substr($cssClassSelectorDismiss, 1) ?>"
|
11 |
+
title="<?php _e('Close this message', 'wp-staging') ?>"
|
12 |
+
style="font-weight:bold;">
|
13 |
+
<?php _e('Close this message', 'wp-staging') ?>
|
14 |
+
</a>
|
15 |
+
<script>
|
16 |
+
jQuery(document).ready(function ($) {
|
17 |
+
jQuery(document).on('click', '<?php echo $cssClassSelectorDismiss ?>', function (e) {
|
18 |
+
e.preventDefault();
|
19 |
+
jQuery.ajax({
|
20 |
+
url: ajaxurl,
|
21 |
+
type: 'POST',
|
22 |
+
data: {
|
23 |
+
action: 'wpstg_dismiss_notice',
|
24 |
+
wpstg_notice: '<?php echo $wpstgNotice ?>',
|
25 |
+
},
|
26 |
+
error: function error(xhr, textStatus, errorThrown) {
|
27 |
+
console.log(xhr.status + ' ' + xhr.statusText + '---' + textStatus);
|
28 |
+
console.log(textStatus);
|
29 |
+
alert('Unknown error. Please get in contact with us to solve it support@wp-staging.com');
|
30 |
+
},
|
31 |
+
success: function success(data) {
|
32 |
+
jQuery('<?php echo $cssClassSelectorNotice ?>').slideUp('fast');
|
33 |
+
return true;
|
34 |
+
},
|
35 |
+
statusCode: {
|
36 |
+
404: function _() {
|
37 |
+
alert('Something went wrong; can\'t find ajax request URL! Please get in contact with us to solve it support@wp-staging.com');
|
38 |
+
},
|
39 |
+
500: function _() {
|
40 |
+
alert('Something went wrong; internal server error while processing the request! Please get in contact with us to solve it support@wp-staging.com');
|
41 |
+
}
|
42 |
+
}
|
43 |
+
});
|
44 |
+
});
|
45 |
+
});
|
46 |
+
</script>
|
Backend/views/notices/disabled-items-notice.php
CHANGED
@@ -1,11 +1,16 @@
|
|
1 |
<?php
|
|
|
2 |
/**
|
3 |
* @var $this \WPStaging\Backend\Notices\Notices
|
|
|
4 |
* @see \WPStaging\Backend\Notices\Notices::messages
|
5 |
* @var bool $outgoingMailsDisabled
|
6 |
* @var bool $freemiusOptionsCleared
|
7 |
* @var array $excludedPlugins
|
8 |
*/
|
|
|
|
|
|
|
9 |
?>
|
10 |
<div class="notice notice-warning wpstg-disabled-items-notice">
|
11 |
<p><strong><?php _e('WP STAGING - Notes:', 'wp-staging'); ?></strong></p>
|
@@ -31,43 +36,13 @@
|
|
31 |
</ul>
|
32 |
</li>
|
33 |
<?php endif; ?>
|
34 |
-
</ol>
|
35 |
<p>
|
36 |
-
|
37 |
-
|
38 |
-
|
39 |
-
|
|
|
|
|
40 |
</p>
|
41 |
</div>
|
42 |
-
<script>
|
43 |
-
jQuery(document).ready(function ($) {
|
44 |
-
jQuery(document).on('click', '.wpstg_hide_disabled_items_notice', function (e) {
|
45 |
-
e.preventDefault();
|
46 |
-
jQuery.ajax({
|
47 |
-
url: ajaxurl,
|
48 |
-
type: 'POST',
|
49 |
-
data: {
|
50 |
-
action: 'wpstg_dismiss_notice',
|
51 |
-
wpstg_notice: 'disabled_items'
|
52 |
-
},
|
53 |
-
error: function error(xhr, textStatus, errorThrown) {
|
54 |
-
console.log(xhr.status + ' ' + xhr.statusText + '---' + textStatus);
|
55 |
-
console.log(textStatus);
|
56 |
-
alert('Unknown error. Please get in contact with us to solve it support@wp-staging.com');
|
57 |
-
},
|
58 |
-
success: function success(data) {
|
59 |
-
jQuery('.wpstg-disabled-items-notice').slideUp('fast');
|
60 |
-
return true;
|
61 |
-
},
|
62 |
-
statusCode: {
|
63 |
-
404: function _() {
|
64 |
-
alert('Something went wrong; can\'t find ajax request URL! Please get in contact with us to solve it support@wp-staging.com');
|
65 |
-
},
|
66 |
-
500: function _() {
|
67 |
-
alert('Something went wrong; internal server error while processing the request! Please get in contact with us to solve it support@wp-staging.com');
|
68 |
-
}
|
69 |
-
}
|
70 |
-
});
|
71 |
-
});
|
72 |
-
});
|
73 |
-
</script>
|
1 |
<?php
|
2 |
+
|
3 |
/**
|
4 |
* @var $this \WPStaging\Backend\Notices\Notices
|
5 |
+
* @var $viewsNoticesPath
|
6 |
* @see \WPStaging\Backend\Notices\Notices::messages
|
7 |
* @var bool $outgoingMailsDisabled
|
8 |
* @var bool $freemiusOptionsCleared
|
9 |
* @var array $excludedPlugins
|
10 |
*/
|
11 |
+
|
12 |
+
use WPStaging\Backend\Notices\Notices;
|
13 |
+
|
14 |
?>
|
15 |
<div class="notice notice-warning wpstg-disabled-items-notice">
|
16 |
<p><strong><?php _e('WP STAGING - Notes:', 'wp-staging'); ?></strong></p>
|
36 |
</ul>
|
37 |
</li>
|
38 |
<?php endif; ?>
|
39 |
+
</ol>
|
40 |
<p>
|
41 |
+
<?php Notices::renderNoticeDismissAction(
|
42 |
+
$viewsNoticesPath,
|
43 |
+
'disabled_items',
|
44 |
+
'.wpstg_dismiss_disabled_items_notice',
|
45 |
+
'.wpstg-disabled-items-notice'
|
46 |
+
) ?>
|
47 |
</p>
|
48 |
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Backend/views/notices/outdated-wp-staging-version.php
ADDED
@@ -0,0 +1,12 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* @var $this \WPStaging\Backend\Notices\OutdatedWpStagingNotice
|
4 |
+
* @see \WPStaging\Backend\Notices\OutdatedWpStagingNotice::showNotice
|
5 |
+
*/
|
6 |
+
?>
|
7 |
+
<div class="wpstg-version-outdated-notice notice notice-error">
|
8 |
+
<p>
|
9 |
+
<strong><?php _e('WP STAGING - Version Outdated.', 'wp-staging'); ?></strong> <br/>
|
10 |
+
<?php echo sprintf(__('WP STAGING v%s is outdated. Please <a href="%s">update</a> to latest version %s to make sure the plugin works with your WordPress version.', 'wp-staging'), $this->getCurrentWpstgVersion(), admin_url('plugins.php'), $this->getLatestWpstgVersion()); ?>
|
11 |
+
</p>
|
12 |
+
</div>
|
Backend/views/notices/wordfence-userini-renamed.php
ADDED
@@ -0,0 +1,29 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/**
|
4 |
+
* @var $viewsNoticesPath
|
5 |
+
* @see \WPStaging\Framework\Support\ThirdParty\WordFence::showNotice
|
6 |
+
*/
|
7 |
+
|
8 |
+
use WPStaging\Backend\Notices\Notices;
|
9 |
+
use WPStaging\Framework\Support\ThirdParty\WordFence;
|
10 |
+
|
11 |
+
?>
|
12 |
+
<div class="notice notice-warning wpstg-wordfence-userini-renamed-notice">
|
13 |
+
<p>
|
14 |
+
<strong><?php _e('WP STAGING - Wordfence firewall deactivated', 'wp-staging'); ?></strong> <br/>
|
15 |
+
<?php _e('We`ve disabled the WordFence Web Application Firewall on this site by renaming the WordFence file user.ini to make sure this staging site will work perfectly fine.', 'wp-staging'); ?> <br/>
|
16 |
+
<?php _e('When you push this site to live, your WordFence firewall settings on the live site will not be affected by this step.', 'wp-staging'); ?> <br/>
|
17 |
+
</p>
|
18 |
+
<ul>
|
19 |
+
<li>- <?php echo sprintf(__('<a href="%s" target="_blank">Read this</a> why we had to disable the firewall and how you can activate it if you like to.', 'wp-staging'), 'https://wp-staging.com/docs/wordfence-fatal-error-after-migration/'); ?></li>
|
20 |
+
</ul>
|
21 |
+
<p>
|
22 |
+
<?php Notices::renderNoticeDismissAction(
|
23 |
+
$viewsNoticesPath,
|
24 |
+
WordFence::NOTICE_NAME,
|
25 |
+
'.wpstg_dismiss_wordfence_userini_renamed_notice',
|
26 |
+
'.wpstg-wordfence-userini-renamed-notice'
|
27 |
+
) ?>
|
28 |
+
</p>
|
29 |
+
</div>
|
Core/Utils/Logger.php
CHANGED
@@ -31,7 +31,12 @@ class Logger implements LoggerInterface, ShutdownableInterface
|
|
31 |
|
32 |
const TYPE_INFO = "INFO";
|
33 |
|
34 |
-
const TYPE_DEBUG
|
|
|
|
|
|
|
|
|
|
|
35 |
|
36 |
/**
|
37 |
* Log directory (full path)
|
@@ -113,7 +118,7 @@ class Logger implements LoggerInterface, ShutdownableInterface
|
|
113 |
{
|
114 |
$this->messages[] = [
|
115 |
"type" => $type,
|
116 |
-
"date" => date(
|
117 |
"message" => $message
|
118 |
];
|
119 |
}
|
31 |
|
32 |
const TYPE_INFO = "INFO";
|
33 |
|
34 |
+
const TYPE_DEBUG = "DEBUG";
|
35 |
+
|
36 |
+
/**
|
37 |
+
* @var string
|
38 |
+
*/
|
39 |
+
const LOG_DATETIME_FORMAT = "Y/m/d H:i:s";
|
40 |
|
41 |
/**
|
42 |
* Log directory (full path)
|
118 |
{
|
119 |
$this->messages[] = [
|
120 |
"type" => $type,
|
121 |
+
"date" => date(self::LOG_DATETIME_FORMAT),
|
122 |
"message" => $message
|
123 |
];
|
124 |
}
|
Framework/Adapter/Database/WpDbAdapter.php
CHANGED
@@ -62,6 +62,7 @@ class WpDbAdapter extends AbstractDatabase
|
|
62 |
public function insert(DatabaseQueryDto $queryDto)
|
63 |
{
|
64 |
// TODO: Implement insert() method.
|
|
|
65 |
}
|
66 |
|
67 |
/**
|
@@ -70,6 +71,7 @@ class WpDbAdapter extends AbstractDatabase
|
|
70 |
public function update(DatabaseQueryDto $queryDto)
|
71 |
{
|
72 |
// TODO: Implement update() method.
|
|
|
73 |
}
|
74 |
|
75 |
/**
|
@@ -78,6 +80,7 @@ class WpDbAdapter extends AbstractDatabase
|
|
78 |
public function delete($tableName, array $condition = [])
|
79 |
{
|
80 |
// TODO: Implement delete() method.
|
|
|
81 |
}
|
82 |
|
83 |
/**
|
62 |
public function insert(DatabaseQueryDto $queryDto)
|
63 |
{
|
64 |
// TODO: Implement insert() method.
|
65 |
+
return false;
|
66 |
}
|
67 |
|
68 |
/**
|
71 |
public function update(DatabaseQueryDto $queryDto)
|
72 |
{
|
73 |
// TODO: Implement update() method.
|
74 |
+
return false;
|
75 |
}
|
76 |
|
77 |
/**
|
80 |
public function delete($tableName, array $condition = [])
|
81 |
{
|
82 |
// TODO: Implement delete() method.
|
83 |
+
return false;
|
84 |
}
|
85 |
|
86 |
/**
|
Framework/CloningProcess/Data/DBCloningService.php
CHANGED
@@ -128,7 +128,7 @@ abstract class DBCloningService extends CloningService
|
|
128 |
{
|
129 |
$db = $this->dto->getStagingDb();
|
130 |
|
131 |
-
$db->query(
|
132 |
$db->prepare(
|
133 |
"DELETE FROM `{$this->dto->getPrefix()}options` WHERE `option_name` = %s;",
|
134 |
$name
|
128 |
{
|
129 |
$db = $this->dto->getStagingDb();
|
130 |
|
131 |
+
return $db->query(
|
132 |
$db->prepare(
|
133 |
"DELETE FROM `{$this->dto->getPrefix()}options` WHERE `option_name` = %s;",
|
134 |
$name
|
Framework/CloningProcess/Data/UpdateStagingOptionsTable.php
CHANGED
@@ -6,6 +6,7 @@ use WPStaging\Framework\CloningProcess\ExcludedPlugins;
|
|
6 |
use WPStaging\Framework\Staging\CloneOptions;
|
7 |
use WPStaging\Framework\Staging\FirstRun;
|
8 |
use WPStaging\Core\Utils\Logger;
|
|
|
9 |
use WPStaging\Framework\Support\ThirdParty\FreemiusScript;
|
10 |
|
11 |
class UpdateStagingOptionsTable extends DBCloningService
|
@@ -54,7 +55,7 @@ class UpdateStagingOptionsTable extends DBCloningService
|
|
54 |
'wpstg_connection' => json_encode(['prodHostname' => get_site_url()]),
|
55 |
];
|
56 |
if ($this->dto->getMainJob() !== 'updating') {
|
57 |
-
$update[
|
58 |
}
|
59 |
|
60 |
$this->updateOptions($update);
|
6 |
use WPStaging\Framework\Staging\CloneOptions;
|
7 |
use WPStaging\Framework\Staging\FirstRun;
|
8 |
use WPStaging\Core\Utils\Logger;
|
9 |
+
use WPStaging\Framework\Staging\Sites;
|
10 |
use WPStaging\Framework\Support\ThirdParty\FreemiusScript;
|
11 |
|
12 |
class UpdateStagingOptionsTable extends DBCloningService
|
55 |
'wpstg_connection' => json_encode(['prodHostname' => get_site_url()]),
|
56 |
];
|
57 |
if ($this->dto->getMainJob() !== 'updating') {
|
58 |
+
$update[Sites::STAGING_SITES_OPTION] = serialize([]);
|
59 |
}
|
60 |
|
61 |
$this->updateOptions($update);
|
Framework/CloningProcess/Database/DatabaseCloningService.php
CHANGED
@@ -65,9 +65,16 @@ class DatabaseCloningService
|
|
65 |
$this->log(
|
66 |
"{$old} as {$new} from {$offset} to {$rows} records"
|
67 |
);
|
68 |
-
|
|
|
|
|
|
|
69 |
"INSERT INTO {$new} SELECT * FROM {$old} {$limitation}"
|
70 |
);
|
|
|
|
|
|
|
|
|
71 |
}
|
72 |
}
|
73 |
|
65 |
$this->log(
|
66 |
"{$old} as {$new} from {$offset} to {$rows} records"
|
67 |
);
|
68 |
+
|
69 |
+
$this->dto->getStagingDb()->query("SET SESSION sql_mode='NO_AUTO_VALUE_ON_ZERO'");
|
70 |
+
|
71 |
+
$result = $this->dto->getStagingDb()->query(
|
72 |
"INSERT INTO {$new} SELECT * FROM {$old} {$limitation}"
|
73 |
);
|
74 |
+
|
75 |
+
if (!$result) {
|
76 |
+
$this->log($this->dto->getStagingDb()->last_error, Logger::TYPE_WARNING);
|
77 |
+
}
|
78 |
}
|
79 |
}
|
80 |
|
Framework/Staging/FirstRun.php
CHANGED
@@ -5,6 +5,7 @@ namespace WPStaging\Framework\Staging;
|
|
5 |
use WPStaging\Frontend\LoginNotice;
|
6 |
use WPStaging\Backend\Notices\DisabledItemsNotice;
|
7 |
use WPStaging\Framework\SiteInfo;
|
|
|
8 |
|
9 |
/**
|
10 |
* Class FirstRun
|
@@ -53,6 +54,9 @@ class FirstRun
|
|
53 |
// Enable the notice which show what WP Staging Disabled on staging site admin.
|
54 |
(new DisabledItemsNotice())->enable();
|
55 |
|
|
|
|
|
|
|
56 |
// Allow users to attach custom actions by using this hook
|
57 |
do_action('wpstg.clone_first_run');
|
58 |
}
|
5 |
use WPStaging\Frontend\LoginNotice;
|
6 |
use WPStaging\Backend\Notices\DisabledItemsNotice;
|
7 |
use WPStaging\Framework\SiteInfo;
|
8 |
+
use WPStaging\Framework\Support\ThirdParty\WordFence;
|
9 |
|
10 |
/**
|
11 |
* Class FirstRun
|
54 |
// Enable the notice which show what WP Staging Disabled on staging site admin.
|
55 |
(new DisabledItemsNotice())->enable();
|
56 |
|
57 |
+
// If user.ini present rename it to user.ini.bak and enable notice
|
58 |
+
(new WordFence())->renameUserIni();
|
59 |
+
|
60 |
// Allow users to attach custom actions by using this hook
|
61 |
do_action('wpstg.clone_first_run');
|
62 |
}
|
Framework/Staging/Sites.php
ADDED
@@ -0,0 +1,126 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
namespace WPStaging\Framework\Staging;
|
4 |
+
|
5 |
+
/**
|
6 |
+
* Class Sites
|
7 |
+
*
|
8 |
+
* This is used to manage settings on the staging site
|
9 |
+
*
|
10 |
+
* @package WPStaging\Framework\Staging
|
11 |
+
*
|
12 |
+
* @todo Manage staging sites option CRUD here?
|
13 |
+
*/
|
14 |
+
class Sites
|
15 |
+
{
|
16 |
+
/**
|
17 |
+
* The option that stores the staging sites
|
18 |
+
*/
|
19 |
+
const STAGING_SITES_OPTION = 'wpstg_staging_sites';
|
20 |
+
|
21 |
+
/**
|
22 |
+
* The old option that was used to store the staging sites
|
23 |
+
* @deprecated 4.0.4
|
24 |
+
*/
|
25 |
+
const OLD_STAGING_SITES_OPTION = 'wpstg_existing_clones_beta';
|
26 |
+
|
27 |
+
/**
|
28 |
+
* The option that we use to store our existing clone;
|
29 |
+
*/
|
30 |
+
const CLONE_STRUCTURE_OPTION = 'wpstg_structure_updated';
|
31 |
+
|
32 |
+
/**
|
33 |
+
* Return list of staging sites in descending order of their creation time.
|
34 |
+
*
|
35 |
+
* @return array
|
36 |
+
*/
|
37 |
+
public function getSortedStagingSites()
|
38 |
+
{
|
39 |
+
$stagingSites = get_option(self::STAGING_SITES_OPTION, []);
|
40 |
+
|
41 |
+
// No need to sort if no sites or only one site
|
42 |
+
if (empty($stagingSites) || count($stagingSites) === 1) {
|
43 |
+
return $stagingSites;
|
44 |
+
}
|
45 |
+
|
46 |
+
// Sort staging sites in descending order
|
47 |
+
uasort($stagingSites, function ($site1, $site2) {
|
48 |
+
// If datetime is same, sort by directory name
|
49 |
+
// Will also work if both sites datetime are not set
|
50 |
+
if ($site1['datetime'] === $site2['datetime']) {
|
51 |
+
return strcmp($site2['directoryName'], $site1['directoryName']);
|
52 |
+
}
|
53 |
+
|
54 |
+
if (!isset($site1['datetime'])) {
|
55 |
+
return 1;
|
56 |
+
}
|
57 |
+
|
58 |
+
if (!isset($site2['datetime'])) {
|
59 |
+
return -1;
|
60 |
+
}
|
61 |
+
|
62 |
+
return $site2['datetime'] < $site1['datetime'] ? -1 : 1;
|
63 |
+
});
|
64 |
+
|
65 |
+
return $stagingSites;
|
66 |
+
}
|
67 |
+
|
68 |
+
/**
|
69 |
+
* Upgrade old existing clone beta option to new staging site option
|
70 |
+
*
|
71 |
+
* @see WPStaging\Backend\Upgrade\Upgrade::upgrade2_8_7() (Free version)
|
72 |
+
* @see WPStaging\Backend\Pro\Upgrade\Upgrade::upgrade4_0_4() (Pro version)
|
73 |
+
*/
|
74 |
+
public function upgradeStagingSitesOption()
|
75 |
+
{
|
76 |
+
// Early bail if structure is already updated
|
77 |
+
$isStagingSiteStructureUpdated = get_option(self::CLONE_STRUCTURE_OPTION, false);
|
78 |
+
if ($isStagingSiteStructureUpdated !== false) {
|
79 |
+
return;
|
80 |
+
}
|
81 |
+
|
82 |
+
// Get the staging sites from new option
|
83 |
+
$newSites = get_option(self::STAGING_SITES_OPTION, []);
|
84 |
+
|
85 |
+
// Get the staging sites from old option
|
86 |
+
$oldSites = get_option(self::OLD_STAGING_SITES_OPTION, []);
|
87 |
+
|
88 |
+
// Early bail if old sites option is empty or new sites option is already populated
|
89 |
+
if (empty($oldSites) || !empty($newSites)) {
|
90 |
+
update_option(self::CLONE_STRUCTURE_OPTION, true);
|
91 |
+
return;
|
92 |
+
}
|
93 |
+
|
94 |
+
// Update staging sites from old option to new option
|
95 |
+
update_option(self::STAGING_SITES_OPTION, $oldSites);
|
96 |
+
|
97 |
+
update_option(self::CLONE_STRUCTURE_OPTION, true);
|
98 |
+
}
|
99 |
+
|
100 |
+
/**
|
101 |
+
* Will try gettings staging sites from new option
|
102 |
+
* If that is empty, will get staging sites from old option
|
103 |
+
*
|
104 |
+
* @return array
|
105 |
+
*/
|
106 |
+
public function tryGettingStagingSites()
|
107 |
+
{
|
108 |
+
$stagingSites = get_option(self::STAGING_SITES_OPTION, []);
|
109 |
+
if (!empty($stagingSites)) {
|
110 |
+
return $stagingSites;
|
111 |
+
}
|
112 |
+
|
113 |
+
return get_option(self::OLD_STAGING_SITES_OPTION, []);
|
114 |
+
}
|
115 |
+
|
116 |
+
/**
|
117 |
+
* Update staging sites option
|
118 |
+
*
|
119 |
+
* @param array $stagingSites
|
120 |
+
* @return boolean
|
121 |
+
*/
|
122 |
+
public function updateStagingSites($stagingSites)
|
123 |
+
{
|
124 |
+
return update_option(self::STAGING_SITES_OPTION, $stagingSites);
|
125 |
+
}
|
126 |
+
}
|
Framework/Support/ThirdParty/WordFence.php
ADDED
@@ -0,0 +1,67 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
namespace WPStaging\Framework\Support\ThirdParty;
|
4 |
+
|
5 |
+
use WPStaging\Backend\Notices\BooleanNotice;
|
6 |
+
use WPStaging\Backend\Notices\Notices;
|
7 |
+
|
8 |
+
/**
|
9 |
+
* Class WordFence
|
10 |
+
*
|
11 |
+
* Rename .user.ini to .user.ini.bak and show notice regarding this on staging site
|
12 |
+
*
|
13 |
+
* @package WPStaging\Framework\Support\ThirdParty
|
14 |
+
*/
|
15 |
+
class WordFence extends BooleanNotice
|
16 |
+
{
|
17 |
+
/**
|
18 |
+
* The option_name that is stored in the database to check if the freemius notice to be shown
|
19 |
+
* on the staging site
|
20 |
+
*/
|
21 |
+
const NOTICE_OPTION = 'wpstg_wordfence_notice';
|
22 |
+
|
23 |
+
/**
|
24 |
+
* Notice parameter on which wordfence user.ini renamed notice will be dismissed
|
25 |
+
*/
|
26 |
+
const NOTICE_NAME = 'wordfence_userini_renamed';
|
27 |
+
|
28 |
+
/**
|
29 |
+
* Check if .user.ini file exists. If it exists rename it to .user.ini.bak and enable the notice
|
30 |
+
*/
|
31 |
+
public function renameUserIni()
|
32 |
+
{
|
33 |
+
$absolutePathToUserIni = ABSPATH . '/.user.ini';
|
34 |
+
// Early bail if not exist
|
35 |
+
if (!file_exists($absolutePathToUserIni)) {
|
36 |
+
return;
|
37 |
+
}
|
38 |
+
|
39 |
+
// Rename by appending .bak to its name
|
40 |
+
rename($absolutePathToUserIni, $absolutePathToUserIni . '.bak');
|
41 |
+
|
42 |
+
// Enable the notice
|
43 |
+
$this->enable();
|
44 |
+
}
|
45 |
+
|
46 |
+
/**
|
47 |
+
* Show the notice if the notice flag is enabled
|
48 |
+
*
|
49 |
+
* @param string $viewsNoticesPath
|
50 |
+
*/
|
51 |
+
public function showNotice($viewsNoticesPath)
|
52 |
+
{
|
53 |
+
if (Notices::SHOW_ALL_NOTICES || $this->isEnabled()) {
|
54 |
+
require "{$viewsNoticesPath}wordfence-userini-renamed.php";
|
55 |
+
}
|
56 |
+
}
|
57 |
+
|
58 |
+
/**
|
59 |
+
* The name of option on which the visibility of this notice is stored in db
|
60 |
+
*
|
61 |
+
* @return string
|
62 |
+
*/
|
63 |
+
public function getOptionName()
|
64 |
+
{
|
65 |
+
return self::NOTICE_OPTION;
|
66 |
+
}
|
67 |
+
}
|
Framework/Traits/DatabaseSearchReplaceTrait.php
CHANGED
@@ -4,6 +4,7 @@ namespace WPStaging\Framework\Traits;
|
|
4 |
|
5 |
use WPStaging\Core\Utils\Helper;
|
6 |
use WPStaging\Core\WPStaging;
|
|
|
7 |
|
8 |
/**
|
9 |
* Trait DatabaseSearchReplaceTrait
|
@@ -28,6 +29,7 @@ trait DatabaseSearchReplaceTrait
|
|
28 |
'upload_path',
|
29 |
'wpstg_existing_clones_beta',
|
30 |
'wpstg_existing_clones',
|
|
|
31 |
'wpstg_settings',
|
32 |
'wpstg_license_status',
|
33 |
'wpstg_tmp_data',
|
4 |
|
5 |
use WPStaging\Core\Utils\Helper;
|
6 |
use WPStaging\Core\WPStaging;
|
7 |
+
use WPStaging\Framework\Staging\Sites;
|
8 |
|
9 |
/**
|
10 |
* Trait DatabaseSearchReplaceTrait
|
29 |
'upload_path',
|
30 |
'wpstg_existing_clones_beta',
|
31 |
'wpstg_existing_clones',
|
32 |
+
Sites::STAGING_SITES_OPTION,
|
33 |
'wpstg_settings',
|
34 |
'wpstg_license_status',
|
35 |
'wpstg_tmp_data',
|
Framework/Traits/MySQLRowsGeneratorTrait.php
CHANGED
@@ -89,7 +89,7 @@ trait MySQLRowsGeneratorTrait
|
|
89 |
if ($previousRequestId === $requestId) {
|
90 |
list($requestId, $table, $offset, $batchSize) = array_replace([$requestId, $table, $offset, $batchSize], $lastQueryInfo);
|
91 |
|
92 |
-
$batchSize = $batchSize /
|
93 |
|
94 |
if ($batchSize < 1) {
|
95 |
throw new \RuntimeException(sprintf(
|
89 |
if ($previousRequestId === $requestId) {
|
90 |
list($requestId, $table, $offset, $batchSize) = array_replace([$requestId, $table, $offset, $batchSize], $lastQueryInfo);
|
91 |
|
92 |
+
$batchSize = $batchSize / 3;
|
93 |
|
94 |
if ($batchSize < 1) {
|
95 |
throw new \RuntimeException(sprintf(
|
Framework/Utils/Cache/BufferedCache.php
CHANGED
@@ -390,7 +390,7 @@ class BufferedCache extends AbstractCache
|
|
390 |
|
391 |
// Failed to write
|
392 |
if ($bytesWrittenInThisRequest === false || ($bytesWrittenInThisRequest <= 0 && strlen($chunk) > 0)) {
|
393 |
-
throw DiskNotWritableException::
|
394 |
}
|
395 |
|
396 |
// Finished writing, nothing more to write!
|
390 |
|
391 |
// Failed to write
|
392 |
if ($bytesWrittenInThisRequest === false || ($bytesWrittenInThisRequest <= 0 && strlen($chunk) > 0)) {
|
393 |
+
throw DiskNotWritableException::fileNotWritable($this->filePath);
|
394 |
}
|
395 |
|
396 |
// Finished writing, nothing more to write!
|
Framework/Utils/WpDefaultDirectories.php
CHANGED
@@ -165,6 +165,23 @@ class WpDefaultDirectories
|
|
165 |
return $this->slashit($relPath, $mode);
|
166 |
}
|
167 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
168 |
/**
|
169 |
* Get the relative path of themes directory
|
170 |
* @param int $mode Optional. Slash Mode. Default SlashMode::NO_SLASH.
|
165 |
return $this->slashit($relPath, $mode);
|
166 |
}
|
167 |
|
168 |
+
/**
|
169 |
+
* Get the relative path of mu plugins directory
|
170 |
+
* @param int $mode Optional. Slash Mode. Default SlashMode::NO_SLASH.
|
171 |
+
* Use SlashMode::NO_SLASH, if you don't want trailing and leading slash.
|
172 |
+
* Use SlashMode::TRAILING_SLASH, if you want trailing forward slash.
|
173 |
+
* Use SlashMode::LEADING_SLASH, if you want leading forward slash.
|
174 |
+
* Use SlashMode::BOTH_SLASHES, if you want both trailing and leading forward slash.
|
175 |
+
* @return string
|
176 |
+
*/
|
177 |
+
public function getRelativeMuPluginPath($mode = SlashMode::NO_SLASH)
|
178 |
+
{
|
179 |
+
$wpPluginDir = $this->strUtils->sanitizeDirectorySeparator(WPMU_PLUGIN_DIR);
|
180 |
+
$relPath = str_replace($this->wpRoot, '', $wpPluginDir);
|
181 |
+
|
182 |
+
return $this->slashit($relPath, $mode);
|
183 |
+
}
|
184 |
+
|
185 |
/**
|
186 |
* Get the relative path of themes directory
|
187 |
* @param int $mode Optional. Slash Mode. Default SlashMode::NO_SLASH.
|
Frontend/views/loginForm.php
CHANGED
@@ -1,6 +1,6 @@
|
|
1 |
<main class="wp-staging-login" >
|
2 |
<div class="wpstg-text-center">
|
3 |
-
<img width="220" src="<?php echo esc_url(WPSTG_PLUGIN_URL . 'assets/img/logo
|
4 |
</div>
|
5 |
<form class="wp-staging-form" name="<?php echo $args['form_id']; ?>" id="<?php echo $args['form_id']; ?>" action="" method="post">
|
6 |
<?php if ($showNotice) { ?>
|
1 |
<main class="wp-staging-login" >
|
2 |
<div class="wpstg-text-center">
|
3 |
+
<img width="220" src="<?php echo esc_url(WPSTG_PLUGIN_URL . 'assets/img/logo.svg'); ?>" alt="WP Staging Login" />
|
4 |
</div>
|
5 |
<form class="wp-staging-form" name="<?php echo $args['form_id']; ?>" id="<?php echo $args['form_id']; ?>" action="" method="post">
|
6 |
<?php if ($showNotice) { ?>
|
assets/css/dist/wpstg-admin.css
CHANGED
@@ -47,6 +47,14 @@
|
|
47 |
|
48 |
/* CSS for Tabs */
|
49 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
50 |
#wpstg-tab-container ul {
|
51 |
list-style: none;
|
52 |
margin: 0;
|
@@ -178,7 +186,7 @@
|
|
178 |
|
179 |
.wpstg-version {
|
180 |
display: block;
|
181 |
-
padding-top:
|
182 |
color: #9b9b9b;
|
183 |
}
|
184 |
|
@@ -1544,6 +1552,7 @@ Tooltip top arrow
|
|
1544 |
}
|
1545 |
|
1546 |
.wpstg--modal--backup--import--upload--container img {
|
|
|
1547 |
width: 4em;
|
1548 |
align-self: center;
|
1549 |
border: none;
|
47 |
|
48 |
/* CSS for Tabs */
|
49 |
|
50 |
+
body.wp-staging-pro_page_wpstg_backup,
|
51 |
+
body.toplevel_page_wpstg_clone,
|
52 |
+
body.wp-staging-pro_page_wpstg-settings,
|
53 |
+
body.wp-staging-pro_page_wpstg-tools,
|
54 |
+
body.wp-staging-pro_page_wpstg-license {
|
55 |
+
background-color: #f3f5f7;
|
56 |
+
}
|
57 |
+
|
58 |
#wpstg-tab-container ul {
|
59 |
list-style: none;
|
60 |
margin: 0;
|
186 |
|
187 |
.wpstg-version {
|
188 |
display: block;
|
189 |
+
padding-top: 40px;
|
190 |
color: #9b9b9b;
|
191 |
}
|
192 |
|
1552 |
}
|
1553 |
|
1554 |
.wpstg--modal--backup--import--upload--container img {
|
1555 |
+
margin-top: 10px;
|
1556 |
width: 4em;
|
1557 |
align-self: center;
|
1558 |
border: none;
|
assets/css/dist/wpstg-admin.css.map
CHANGED
@@ -1 +1 @@
|
|
1 |
-
{"version":3,"sources":["wpstg-admin.css"],"names":[],"mappings":"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","file":"wpstg-admin.css","sourcesContent":["/**\n * WPSTG Admin CSS\n *\n * @package WPSTG\n * @subpackage Admin CSS\n * @copyright Copyright (c) 2021, René Hermenau\n * @license http://opensource.org/licenses/gpl-2.0.php GNU Public License\n*/\n\n/* Colors */\n\n.wpstg--violet {\n color: #9d37ae;\n}\n\n.wpstg-border--violet {\n border: 1px solid #9d37ae;\n}\n\n.wpstg--red {\n color: #E01E5A;\n}\n\n.wpstg-cta--red {\n color: #fe008f;\n}\n\n.wpstg--blue {\n color: #24a1f0;\n}\n\n.wpstg--darkblue {\n color: #0e86d9;\n}\n\n.wpstg--green {\n color: #83c11f;\n}\n\n.wpstg--grey {\n color: #3e3e3e;\n}\n\n.wpstg--darkgrey {\n color: #1b1b1b;\n}\n\n/* CSS for Tabs */\n\n#wpstg-tab-container ul {\n list-style: none;\n margin: 0;\n padding: 0;\n background: #f1f1f1;\n float: left;\n}\n\n#wpstg-tab-container ul li:first-child.selected-tab {\n border-top: none;\n}\n\n#wpstg-tab-container ul li a.selected-tab {\n font-weight: bold;\n text-decoration: none;\n}\n\n#wpstg-tab-container .row {\n padding-top: 10px;\n padding-bottom: 12px;\n}\n\n.wpstg-tabs-container .nav-tab-wrapper {\n padding: 0;\n}\n\n#wpstg-tab-container .row label strong,\n#wpstg-tab-container .row strong {\n font-weight: bold;\n}\n\n.wpstg-tabs a {\n padding: 5px;\n}\n\n#wpstg-tab-container > ul > li.wpstg-tabs.active {\n background-color: white;\n}\n\n#wpstg_settingsgeneral_header .row:nth-child(3),\n#wpstg_settingsgeneral_header .row:nth-child(4) {\n display: none;\n}\n\n#wpstg-tab-container .wpstg-settings-panel {\n padding: 0 20px 20px 20px;\n overflow: auto;\n}\n\n#wpstg-tab-container .wpstg-form-table th {\n vertical-align: top;\n text-align: left;\n padding: 20px 10px 20px 0;\n line-height: 1.3;\n font-weight: bold;\n font-size: 14px;\n color: #484848;\n width: 30%;\n}\n\n#wpstg-tab-container .wpstg-form-table tr {\n border-bottom: 1px solid #E7E7E7;\n}\n\n#wpstg-tab-container span.description {\n display: block;\n font-weight: 400;\n font-style: normal;\n font-size: 13px;\n margin-top: 7px;\n color: #484848;\n}\n\n#wpstg-tab-container .col-title {\n color: #484848;\n}\n\n@media only screen and (max-width: 680px) {\n #wpstg-tab-container ul {\n float: none;\n }\n\n #wpstg-tab-container .wpstg-form-table tr > th {\n width: 100%;\n }\n\n #wpstg-tab-container span.description {\n font-size: 14px;\n }\n\n #wpstg-tab-container .wpstg-form-table tr > th,\n #wpstg-tab-container .wpstg-form-table tr > td {\n padding: 10px;\n }\n}\n\n#wpstg-tab-container ul li {\n margin-bottom: 0;\n}\n\n#wpstg-tab-container ul li a {\n display: block;\n padding: 10px 4px 10px 14px;\n border-width: 1px 0;\n border-style: solid;\n border-top-color: white;\n border-bottom-color: #e7e7e7;\n text-decoration: none;\n color: #0097DF;\n font-weight: bold;\n}\n\n#wpstg-tab-container ul li a:hover {\n background-color: #e5e5e5;\n color: #777777;\n}\n\n.wpstg-logo {\n display: block;\n font-size: 16px;\n padding-top: 20px;\n width: 220px;\n float: left;\n}\n\n.wpstg-logo img {\n max-width: 212px;\n}\n\n.wpstg-version {\n display: block;\n padding-top: 34px;\n color: #9b9b9b;\n}\n\n.wpstg_admin .nav-tab {\n color: #3C3C3C;\n}\n\n#wpstg-tab-container table tbody tr:nth-child(1) > th > div {\n font-size: 20px;\n}\n\n/* Cloning workflow */\n\n#wpstg-clonepage-wrapper {\n margin-bottom: 20px;\n width: 98%;\n}\n\n@media screen and (min-width: 1090px) {\n #wpstg-clonepage-wrapper {\n float: left;\n margin-bottom: 20px;\n }\n}\n\n#wpstg-steps {\n margin-top: 0px;\n margin-left: 20px;\n}\n\n#wpstg-steps li {\n color: #444;\n line-height: 20px;\n padding-right: 10px;\n float: left;\n}\n\n.wpstg-step-num {\n border: 1px solid #3e3e3e;\n border-radius: 3px;\n display: inline-block;\n width: 20px;\n height: 20px;\n text-align: center;\n margin-right: 5px;\n}\n\n.wpstg-current-step {\n font-weight: bold;\n}\n\n.wpstg-current-step .wpstg-step-num {\n background: #3e3e3e;\n color: #eee;\n}\n\n.wpstg-box {\n margin: 10px 0;\n padding: 10px;\n position: relative;\n overflow: hidden;\n transition: border-color .2s ease-in-out;\n}\n\n.wpstg-clone {\n margin-bottom: 10px;\n padding: 16px;\n position: relative;\n transition: border-color .2s ease-in-out;\n background-color: #ffffff;\n color: #3e3e3e;\n border-radius: 3px;\n box-shadow: 0 0 1px rgba(0, 0, 0, .125), 0 1px 3px rgba(0, 0, 0, .1);\n}\n\n.wpstg-clone.active {\n border-color: #1d94cf;\n}\n\n.wpstg-clone-header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n}\n\n.wpstg-clone-title {\n display: inline-block;\n font-size: 15px;\n max-width: 300px;\n text-decoration: none;\n font-weight: bold;\n color: #3e3e3e;\n}\n\n.wpstg-clone-title:hover {\n color: #111111;\n}\n\n.wpstg-clone-actions {\n display: flex;\n margin-top: 5px;\n}\n\n.wpstg-dropdown {\n position: relative;\n}\n\n.wpstg-clone-actions .wpstg-dropdown-toggler {\n text-decoration: none;\n background: #25a1f0;\n padding: 6px 10px;\n border-radius: 2px;\n font-size: 14px;\n box-shadow: 0 0 1px rgba(0, 0, 0, .125), 0 1px 3px rgba(0, 0, 0, .2);\n color: #ffffff;\n}\n\n.wpstg-clone-actions .wpstg-dropdown-toggler:hover {\n background: #002648;\n color: white;\n}\n\n.wpstg-dropdown {\n position: relative;\n}\n\n.wpstg-dropdown > .wpstg-dropdown-menu {\n background: #fff;\n display: none;\n flex-direction: column;\n position: absolute;\n right: 0;\n top: calc(100% + 4px);\n padding: 8px;\n border-radius: 2px;\n width: 100px;\n box-shadow: 0 0 1px rgba(0, 0, 0, .125), 0 1px 3px rgba(0, 0, 0, .2);\n z-index: 1000;\n}\n\n.wpstg-dropdown > .wpstg-dropdown-menu.wpstg-menu-dropup {\n top: auto;\n bottom: 100%;\n transform: translate3d(0px, -3px, 0px);\n}\n\n.wpstg-dropdown > .wpstg-dropdown-menu.shown {\n display: flex;\n}\n\n.wpstg-clone-action,\n.wpstg-dropdown-action {\n color: #3e3e3e;\n padding: 6px 8px;\n border-radius: 3px;\n text-decoration: none;\n position: relative;\n transition: color .2s ease-in-out;\n border-bottom: 1px solid #f3f3f3;\n}\n\n.wpstg-clone-action:hover,\n.wpstg-dropdown-action:hover {\n background: rgba(0, 0, 0, 0.05);\n}\n\n.wpstg-dropdown-action {\n color: #3e3e3e;\n background: transparent;\n border: 0 solid black;\n outline: none;\n box-shadow: none;\n}\n\n.wpstg-remove-clone:hover {\n color: #E01E5A;\n}\n\n.wpstg-clone-action:last-child {\n border: none;\n}\n\n.wpstg-clone:hover .wpstg-clone-action {\n display: inline-block;\n}\n\n#wpstg-show-error-details:focus,\n#wpstg-workflow .wpstg-clone-action {\n outline: none;\n box-shadow: none;\n}\n\n.wpstg-link-btn {\n background: #45a1c9;\n color: #fff;\n display: inline-block;\n padding: 5px 10px;\n text-decoration: none;\n vertical-align: baseline;\n transition: all .2s ease-in-out;\n}\n\n.wpstg-link-btn:hover,\n.wpstg-link-btn:focus {\n color: #fff;\n outline: none;\n box-shadow: none;\n}\n\n#wpstg-workflow .wpstg-link-btn:active {\n vertical-align: baseline;\n}\n\n.wpstg-link-btn[disabled] {\n background: #777 !important;\n border-color: #555 !important;\n pointer-events: none;\n}\n\n#wpstg-cancel-cloning,\n#wpstg-cancel-cloning-update {\n margin-top: 5px;\n}\n\n#wpstg-cancel-cloning.success,\n#wpstg-cancel-cloning.success {\n background: #64dd58;\n border-color: #54bd4a;\n}\n\n#wpstg-error-wrapper,\n#wpstg-error-details {\n display: none;\n padding-top: 10px;\n font-size: 13px;\n clear: both;\n}\n\n#wpstg-show-error-details {\n display: inline-block;\n margin-left: 5px;\n color: #555;\n text-decoration: none;\n transition: color .2s ease-in-out;\n}\n\n#wpstg-show-error-details:hover {\n color: #1d94cf;\n}\n\n#wpstg-error-details {\n border-left: 5px solid #E01E5A;\n padding: 10px;\n width: 500px;\n}\n\n#wpstg-try-again {\n display: none;\n}\n\n#wpstg-home-link {\n float: right;\n}\n\n.wpstg-loader {\n content: url('../../img/loading.gif');\n margin-top: 10px;\n display: none;\n}\n\n.wpstg-loader.wpstg-finished {\n display: block;\n content: \"Finished\";\n background-color: #00c89a;\n color: white;\n padding: 2px 10px;\n margin-top: 0;\n border-radius: 3px;\n}\n\n#wpstg-workflow {\n max-width: 800px;\n position: relative;\n clear: both;\n padding-top: 20px;\n float: left;\n min-width: 500px;\n min-height: 380px;\n padding-right: 20px;\n padding-bottom: 20px;\n}\n\n#wpstg-sidebar {\n float: left;\n max-width: 400px;\n display: block;\n margin-left: 10px;\n}\n\n#wpstg-workflow.loading::after,\n#wpstg-removing-clone.loading::after {\n background: rgba(255, 255, 255, .7);\n content: 'Loading... may take a while for huge websites';\n display: block;\n width: 100%;\n height: 100%;\n font-size: 20px;\n padding-top: 100px;\n text-align: center;\n position: absolute;\n top: 0;\n left: 0;\n z-index: 99;\n}\n\n#wpstg-removing-clone.loading::after {\n content: 'REMOVING' !important;\n}\n\n#wpstg-existing-clones,\n#wpstg-removing-clone {\n position: relative;\n}\n\n#wpstg-existing-clones h3 {\n color: #3e3e3e;\n}\n\n#wpstg-removing-clone .wpstg-tab-section {\n display: block;\n}\n\n.wpstg-progress-bar {\n max-width: 900px;\n height: 27px;\n padding: 0;\n background-color: #d6d8d7;\n}\n\n.wpstg-progress {\n float: left;\n background: #3fa5ee;\n width: 0;\n height: 100%;\n transition: width .6s ease;\n color: white;\n line-height: 25px;\n text-align: center;\n overflow: hidden;\n}\n\n.wpstg-progress-files {\n background: #16b4f0;\n width: 0;\n height: 100%;\n transition: width .6s ease;\n color: white;\n line-height: 25px;\n text-align: center;\n}\n\n#wpstg-new-clone-id.wpstg-error-input,\n#wpstg-clone-path.wpstg-error-input {\n border: 1px solid #E01E5A;\n box-shadow: 0 0 2px rgba(255, 66, 53, .8);\n}\n\n#wpstg-new-clone-id {\n width: 450px;\n max-width: 100%;\n margin-left: 15px;\n}\n\n#wpstg-new-clone {\n background: #25a1f0;\n border-color: #2188c9;\n}\n\n#wpstg-new-clone:hover {\n background: #259be6;\n border-color: #2188c9;\n}\n\n#wpstg-clone-path {\n margin-left: 10px;\n width: 350px;\n}\n\n.wpstg-error-msg {\n color: #E01E5A;\n}\n\n#wpstg-clone-id-error {\n display: block;\n background-color: #f0f8ff;\n padding: 10px;\n margin: 20px;\n}\n\n#wpstg-start-cloning + .wpstg-error-msg {\n display: block;\n margin-top: 5px;\n}\n\n.wpstg-size-info {\n color: #999;\n font-weight: normal;\n position: relative;\n left: 2px;\n}\n\n.wpstg-db-table .wpstg-size-info {\n top: 2px;\n}\n\n.wpstg-db-table:hover {\n background-color: #f0f8ff;\n}\n\n#wpstg-workflow #wpstg-start-cloning {\n margin-left: 5px;\n vertical-align: baseline;\n}\n\n\n/* Tabs */\n\n.wpstg-tabs-wrapper {\n max-width: 640px;\n margin: 10px 0;\n}\n\n#wpstg-path-wrapper {\n border-bottom: 2px dashed #ccc;\n padding-bottom: 10px;\n margin-bottom: 10px;\n}\n\n.wpstg-tab-section {\n border-bottom: 1px solid #ddd;\n border-right: none;\n border-left: none;\n display: none;\n width: calc(100% - 72px);\n padding: 0px 36px;\n}\n\n.wpstg-tab-section::after {\n display: block;\n content: '';\n clear: both;\n}\n\n.wpstg-tab-header {\n border-bottom: 1px solid #ddd;\n border-right: none;\n border-left: none;\n color: #444;\n font-size: 16px;\n font-weight: bold;\n display: block;\n padding: 10px;;\n text-decoration: none;\n}\n\n.wpstg-tab-triangle {\n display: inline-block;\n margin-right: 12px;\n animation: transform 0.5s;\n width: 0;\n height: 0;\n margin-top: -3px;\n vertical-align: middle;\n border-top: 5px solid transparent;\n border-bottom: 5px solid transparent;\n border-left: 10px solid;\n transition: transform 0.2s;\n cursor: pointer;\n}\n\n.wpstg-tab-triangle.wpstg-no-icon {\n margin-right: 2px;\n width: auto;\n height: auto;\n vertical-align: auto;\n border-top: 0px solid;\n border-bottom: 0px solid;\n border-left: 0px solid;\n}\n\n.wpstg-tab-triangle.wpstg-rotate-90 {\n transform: rotate(90deg);\n}\n\n.wpstg-tab-header:focus {\n color: #444;\n outline: none;\n box-shadow: none;\n}\n\n#wpstg-large-files {\n display: none;\n border: 1px dashed #ccc;\n padding: 10px 10px 10px;\n margin-top: 20px;\n position: relative;\n font-size: 12px;\n}\n\n#wpstg-large-files h3 {\n background: #fff;\n margin: 0;\n padding: 0 5px;\n position: absolute;\n top: -10px;\n left: 5px;\n}\n\n.wpstg-subdir {\n display: none;\n margin-left: 20px;\n}\n\n.wpstg-subdir.wpstg-push {\n display: block;\n margin-left: 20px;\n}\n\n.wpstg-dir a.disabled {\n color: #888;\n cursor: default;\n text-decoration: none;\n}\n\n.wpstg-check-subdirs {\n display: inline-block;\n margin-left: 10px;\n}\n\n.wpstg-notice-alert {\n display: block;\n background-color: #E01E5A;\n padding: 20px;\n max-width: 600px;\n margin-top: 10px;\n color: white;\n}\n\n.wpstg-notice--white {\n display: block;\n background-color: #ffffff;\n padding: 20px;\n max-width: 600px;\n margin-top: 10px;\n}\n\n.wpstg-notice-alert a {\n color: white;\n}\n\n.wpstg-notice-alert h3 {\n color: white;\n}\n\n.wpstg-header {\n font-weight: 400;\n line-height: 1.6em;\n font-size: 19px;\n border-bottom: 1px solid #DFDFDF;\n clear: both;\n padding-top: 10px;\n}\n\n#wpstg-clone-label {\n font-size: 14px;\n font-weight: bold;\n}\n\n.wpstg-log-details {\n height: 300px;\n overflow: scroll;\n max-width: 650px;\n font-family: monospace;\n font-size: 12px;\n line-height: 15px;\n border: 1px solid #FFF;\n background-color: black;\n color: #c0c0c0;\n padding: 3px;\n white-space: nowrap;\n margin-top: 15px;\n}\n\n#wpstg-finished-result {\n display: none;\n}\n\n#wpstg-remove-cloning {\n background: #ff3428;\n border-color: #e72f24;\n margin-top: 5px;\n}\n\n#wpstg-success-notice {\n padding: 10px;\n background-color: white;\n max-width: 900px;\n border: 1px solid #ccc;\n margin-top: 20px;\n}\n\n.wpstg_beta_notice {\n margin-bottom: 20px;\n}\n\n.wpstg-sysinfo {\n width: 700px;\n height: 700px;\n}\n\n.wpstg-form-table .col-title label {\n font-weight: 600;\n}\n\n.wpstg-form-table td:first-child {\n width: 30%;\n}\n\n.wpstg-share-button-container {\n margin: 5px 0;\n}\n\n.wpstg-share-button-container p {\n margin: 0 0 10px 0;\n}\n\n.wpstg-share-button {\n display: inline-block;\n}\n\n.wpstg-share-button a {\n text-decoration: none;\n}\n\n.wpstg-share-button .wpstg-share {\n font-family: sans-serif;\n font-weight: bold;\n text-decoration: none;\n text-align: center;\n}\n\n.wpstg-share-button .wpstg-share {\n -webkit-border-radius: 2px;\n -moz-border-radius: 2px;\n border-radius: 2px;\n color: #FFF;\n display: inline;\n font-size: 12px;\n padding: 4px 8px;\n}\n\n.wpstg-share-button-twitter .wpstg-share {\n background-color: #00ABF0;\n}\n\n.wpstg-share-button-facebook .wpstg-share {\n background-color: #3b5998;\n}\n\n.wpstg-share-button-googleplus .wpstg-share {\n background-color: #F53424;\n}\n\n.wpstg-share-button-twitter .share:active,\n.wpstg-share-button-facebook .share:active,\n.wpstg-share-button-googleplus .share:active {\n background-color: #353535;\n}\n\n#wpstg-check-space {\n margin-left: 8px;\n}\n\n#wpstg-welcome li {\n font-size: 18px;\n line-height: 29px;\n position: relative;\n padding-left: 23px;\n list-style: none !important;\n}\n\n#wpstg-welcome {\n margin-top: 20px;\n margin-right: 20px;\n background-color: white;\n}\n\n.wpstg-heading-pro {\n font-weight: bold;\n}\n\n.wpstg-h2 {\n margin-top: 0;\n margin-bottom: 1.2rem;\n font-size: 30px;\n line-height: 2.5rem;\n}\n\n#wpstg-welcome li:before {\n width: 1em;\n height: 100%;\n background: url(data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%221792%22%20height%3D%221792%22%20viewBox%3D%220%200%201792%201792%22%20xmlns%3D%22http%3A%2F%2Fwww%2Ew3%2Eorg%2F2000%2Fsvg%22%3E%3Cpath%20fill%3D%22%2377B227%22%20d%3D%22M1671%20566q0%2040%2D28%2068l%2D724%20724%2D136%20136q%2D28%2028%2D68%2028t%2D68%2D28l%2D136%2D136%2D362%2D362q%2D28%2D28%2D28%2D68t28%2D68l136%2D136q28%2D28%2068%2D28t68%2028l294%20295%20656%2D657q28%2D28%2068%2D28t68%2028l136%20136q28%2028%2028%2068z%22%2F%3E%3C%2Fsvg%3E) left .4em no-repeat;\n background-size: contain;\n content: \"\";\n position: absolute;\n top: -2px;\n left: 0;\n color: #77b227;\n}\n\n.wpstg-h1 {\n margin-bottom: 1.35rem;\n font-size: 2.5em;\n line-height: 3.68rem;\n letter-spacing: normal;\n}\n\n.wpstg--swal2-content h1 {\n color: #444;\n}\n\n#wpstg-welcome h2 {\n margin: 0 0 15px;\n}\n\n#wpstg-welcome .wpstg-footer {\n clear: both;\n margin-top: 20px;\n font-style: italic;\n}\n\n#wpstg-footer {\n clear: both;\n margin-top: 20px;\n margin-right: 10px;\n padding-top: 50px;\n}\n\n#wpstg-footer a {\n text-decoration: none;\n}\n\n#wpstg-footer li {\n margin-bottom: 2px;\n list-style: circle;\n}\n\n#wpstg-footer ul {\n margin-left: 15px;\n margin-top: 0px;\n}\n\n.wpstg-footer--title {\n margin-left: 15px;\n}\n\n.wpstg-staging-info {\n margin-top: 8px;\n color: #3e3e3e;\n font-size: 12px;\n}\n\n.wpstg-staging-info a {\n color: #3e3e3e;\n}\n\n.wpstg-staging-info li {\n margin-bottom: 2px;\n}\n\n.wpstg-bold {\n font-weight: 600;\n}\n\n#wpstg-processing-status {\n margin-top: 5px;\n font-size: 13px;\n font-weight: 400;\n float: left;\n}\n\n#wpstg-processing-timer {\n margin-top: 5px;\n font-size: 13px;\n font-weight: 400;\n float: right;\n}\n\n#wpstg-report-issue-button {\n margin-left: 50px;\n border: 1px solid #E01E5A;\n color: #E01E5A;\n background-color: white;\n}\n\n#wpstg-report-issue-button:hover {\n background-color: #dc2b62;\n color: #fff;\n}\n\n.wpstg-blue-primary {\n display: inline-block;\n text-decoration: none;\n font-size: 13px;\n /*line-height: 26px;*/\n height: 28px;\n margin: 0;\n padding: 0 10px 1px;\n cursor: pointer;\n border-width: 1px;\n border-style: solid;\n -webkit-appearance: none;\n border-radius: 3px;\n white-space: nowrap;\n box-sizing: border-box;\n background: #25a1f0;\n border-color: #2188c9;\n color: #fff;\n text-shadow: 0 -1px 1px #006799, 1px 0 1px #006799, 0 1px 1px #006799, -1px 0 1px #006799;\n}\n\n.wpstg-blue-primary:hover {\n background-color: #259be6;\n}\n\n.wpstg-report-issue-form {\n position: absolute;\n z-index: 999;\n width: 300px;\n background-color: #fff;\n padding: 15px 15px 10px;\n border: 1px solid #e8e8e8;\n border-radius: 3px;\n box-shadow: 0 1px 0 0 #fff inset;\n display: none;\n right: 0;\n top: 35px;\n}\n\n@media (max-width: 600px) {\n .wpstg-report-issue-form {\n position: relative;\n }\n}\n\n.wpstg-report-show {\n display: block;\n}\n\n.wpstg-field input[type=text],\n.wpstg-field textarea {\n width: 100%;\n font-weight: 400;\n line-height: 1.4;\n margin-bottom: 4px;\n}\n\n.wpstg-report-email,\n.wpstg-report-hosting-provider {\n width: 100%;\n font-weight: 400;\n font-size: .8rem;\n height: 2.3rem;\n line-height: 2.3rem;\n border-radius: 3px;\n margin-bottom: 4px;\n padding: 0 10px;\n}\n\n.wpstg-report-description {\n border-radius: 3px;\n font-size: .8rem;\n padding: 6px 10px;\n resize: none;\n}\n\n.wpstg-report-privacy-policy {\n font-size: 12px;\n margin-bottom: 15px;\n}\n\n#wpstg-report-cancel {\n float: right;\n margin-right: 5px;\n font-weight: bold;\n}\n\n#wpstg-success-button {\n font-weight: bold;\n}\n\n.wpstg-message {\n box-sizing: border-box;\n -moz-box-sizing: border-box;\n background-color: #f5e0de;\n border-radius: 3px;\n color: rgba(0, 0, 0, .6);\n height: auto;\n margin: 10px 0;\n min-height: 18px;\n padding: 6px 10px;\n position: relative;\n}\n\n.wpstg-message.wpstg-error-message {\n background-color: #f5e0de;\n color: #b65147;\n font-size: 12px;\n}\n\n.wpstg-message.wpstg-success-message {\n background-color: #d7f8e0;\n color: #515151;\n}\n\n.wpstg-message p {\n margin: 3px 0;\n font-size: 13px;\n}\n\n.wpstg-warning {\n display: block;\n padding: 10px;\n background-color: #ffb804;\n color: #ffffff;\n margin: 10px 10px 10px 0;\n}\n\n.wpstg-warning a {\n color: #ffffff;\n font-weight: bold;\n text-decoration: underline;\n}\n\n.wpstg-error {\n display: block;\n padding: 10px !important;\n background-color: #E01E5A !important;\n color: #ffffff;\n margin: 10px 10px 10px 0 !important;\n border-color: transparent !important;\n border-left-color: transparent !important;\n box-shadow: none !important;\n}\n\n.wpstg-error a {\n color: #ffffff;\n font-weight: bold;\n text-decoration: underline;\n}\n\n#wpstg-resume-cloning {\n display: none;\n}\n\n#wpstg-external-db th {\n text-align: left;\n width: 120px;\n}\n\n#wpstg-db-connect {\n font-weight: normal;\n}\n\n#wpstg-db-status {\n display: block;\n margin-top: 5px;\n padding: 5px;\n margin-bottom: 20px;\n border: 1px solid transparent;\n border-radius: 4px;\n text-decoration: none;\n text-align: center;\n}\n\n.wpstg-text-field > #wpstg-db-status {\n margin-top: 8px;\n margin-left: 150px;\n min-width: 300px;\n}\n\n.wpstg-success {\n color: #3c763d;\n background-color: #dff0d8;\n border-color: #d6e9c6;\n}\n\n.wpstg-failed {\n color: #a94442;\n background-color: #f2dede;\n border-color: #ebccd1;\n}\n\n#wpstg_select_tables_cloning {\n height: 600px;\n font-size: 13px;\n}\n\n#wpstg-update-notify {\n background-color: #E01E5A;\n font-size: 14px;\n color: #ffffff;\n line-height: normal;\n padding: 10px;\n}\n\n#wpstg-update-notify a {\n color: #ffffff;\n font-weight: bold;\n}\n\n.wpstg-pointer {\n cursor: pointer;\n}\n\n.wpstg--tab--header {\n background-color: white;\n /* margin-bottom: 10px; */\n /* padding: 16px; */\n position: relative;\n transition: border-color .2s ease-in-out;\n background-color: #ffffff;\n color: #3e3e3e;\n border-radius: 2px;\n box-shadow: 0 0 1px rgba(0, 0, 0, .125), 0 1px 3px rgba(0, 0, 0, .02);\n}\n\n.wpstg--tab--header ul {\n display: flex;\n}\n\n.wpstg--tab--header ul li {\n margin-right: 1em;\n margin-bottom: 0px;\n}\n\n.wpstg--tab--header ul li:last-child {\n margin-right: 0;\n}\n\n.wpstg--tab--header a {\n min-width: 150px;\n text-align: center;\n cursor: pointer;\n display: inline-block;\n padding: 1em 1.25em;\n padding-bottom: 9px;\n color: #c4c4c4;\n font-size: 18px;\n /*\n border: solid 1px;\n */\n}\n\n.wpstg--tab--header a.wpstg--tab--active {\n border-bottom: .4em solid #25A1F0;\n color: #25A1F0;\n}\n\n.wpstg--tab--header a:hover {\n background-color: #fefefe;\n border-bottom: 0.4em solid #25A1F0;\n color: #25A1F0;\n}\n\n.wpstg--tab--content {\n display: none;\n}\n\n.wpstg--tab--active {\n display: block;\n}\n\n.wpstg--text--strong,\n.wpstg--text--strong * {\n font-weight: bold !important;\n}\n\n.wpstg--text--danger {\n color: #a94442;\n}\n\n.wpstg--tooltip {\n position: relative;\n display: inline-block;\n border-bottom: 1px dotted black;\n margin-left: 10px;\n}\n\n.wpstg--tooltip .wpstg--tooltiptext {\n visibility: hidden;\n width: 300px;\n background-color: #ffffff;\n color: #505050;\n text-align: left;\n padding: 12px;\n border-radius: 3px;\n position: absolute;\n z-index: 1;\n -webkit-box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16), 0 3px 6px rgba(0, 0, 0, 0.23);\n -moz-box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16), 0 3px 6px rgba(0, 0, 0, 0.23);\n box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16), 0 3px 6px rgba(0, 0, 0, 0.23);\n}\n\n.wpstg--tooltiptext-backups {\n width: 120px;\n top: 100%;\n left: -150%;\n margin-left: -56px;\n margin-top: 4px;\n}\n\n.wpstg--tooltip.wpstg--exclude-rules--tooltip {\n border-bottom: 0px solid transparent;\n}\n\n.wpstg--tooltip.wpstg--exclude-rules--tooltip > .wpstg--tooltiptext {\n margin-top: 0px;\n margin-left: -150px;\n}\n\n/**\nTooltip top arrow\n */\n\n.wpstg--tooltip .wpstg--tooltiptext-backups::after {\n content: \" \";\n position: absolute;\n bottom: 100%;\n /* At the top of the tooltip */\n left: 50%;\n margin-left: 25px;\n border-width: 5px;\n border-style: solid;\n border-color: transparent transparent white transparent;\n}\n\n.wpstg--tooltip .wpstg--tooltiptext.has-top-arrow {\n margin-top: 6px;\n}\n\n.wpstg--tooltip .wpstg--tooltiptext.has-top-arrow::after {\n content: \" \";\n position: absolute;\n bottom: 100%;\n left: 50%;\n margin-left: -18px;\n border-width: 5px;\n border-style: solid;\n border-color: transparent transparent white transparent;\n}\n\n.wpstg--snaphot-restore-table tr {\n line-height: 12px;\n}\n\n.wpstg-float-left {\n float: left;\n}\n\n.wpstg-beta-notice {\n background-color: #b0e8b0;\n border-radius: 3px;\n padding: 7px;\n margin-bottom: 20px;\n}\n\n#wpstg-backup-name {\n font-size: 1.875em;\n font-weight: 600;\n}\n\n#wpstg_select_tables_cloning option:checked {\n /* Cannot use background color here because Chrome and Firefox ignore it even if set to !important */\n -webkit-appearance: menulist-button;\n background-image: linear-gradient(0deg, #1e90ff 0%, #1e90ff 100%);\n}\n\n.wpstg--btn--cancel {\n background: #ff3428;\n border-color: #e72f24;\n color: #fff;\n height: auto;\n line-height: normal;\n font-size: 16px;\n padding: .5em;\n margin-bottom: 1.5em;\n}\n\n.wpstg--btn--cancel:hover {\n background: #ff3428;\n border-color: #e72f24;\n}\n\n.wpstg--process--content > .wpstg--swal2-html-container {\n padding: 4em 2em !important;\n}\n\n.wpstg--modal--process--logs,\n.wpstg--modal--error--logs {\n background: #ffffff;\n border: 1px solid #a8a8a8;\n border-radius: 3px;\n height: 300px;\n margin-top: 1em;\n display: none;\n padding-top: 10px;\n padding-left: 10px;\n overflow: auto;\n text-align: justify;\n}\n\n.wpstg--modal--error--logs {\n height: auto;\n max-height: 300px;\n}\n\n.wpstg--modal--process--logs p {\n font-size: 12px;\n white-space: nowrap;\n}\n\n.wpstg--modal--process--logs p.wpstg--modal--process--msg--info {\n color: #222222;\n}\n\n.wpstg--modal--process--logs p.wpstg--modal--process--msg--debug {\n color: #757575;\n}\n\n.wpstg--modal--process--title {\n color: #565656;\n margin: .25em 0;\n}\n\n.wpstg--modal--process--subtitle {\n margin: .5em 0;\n color: #565656;\n}\n\n.wpstg--modal--error--logs > p {\n text-align: left;\n font-size: 14px;\n color: #222222;\n}\n\n.wpstg--modal--process--logs p,\n.wpstg--modal--error--logs p {\n margin: 0px;\n margin-bottom: 2px;\n}\n\n.wpstg--modal--process--msg--error {\n color: #E01E5A;\n}\n\n.wpstg--modal--process--msg--critical {\n color: #E01E5A;\n}\n\n.wpstg--modal--process--msg--warning {\n color: darkorange;\n}\n\n.wpstg--modal--process--msg-found {\n font-size: 16px;\n color: #E01E5A;\n font-weight: bold;\n}\n\n.wpstg--modal--delete {\n text-align: left;\n margin-top: 8px;\n color: #565656;\n}\n\n.wpstg-swal-popup .wpstg--swal2-cancel.wpstg--btn--cancel {\n margin-bottom: 0;\n text-shadow: none !important;\n}\n\n.wpstg-swal-popup .wpstg-loader {\n display: inline-block !important;\n}\n\n.wpstg--modal--process--generic-problem {\n display: none;\n border-left: 5px solid #E01E5A;\n margin: .5em 0;\n}\n\n.wpstg--modal--process--logs--tail {\n font-size: 16px;\n color: #565656;\n background: none;\n border: none;\n cursor: pointer;\n}\n\n.wpstg--modal--backup--import--upload--title {\n color: #565656;\n}\n\n.wpstg--modal--backup--import--configure,\n.wpstg--modal--backup--import--upload--status,\n.wpstg--modal--backup--import--upload--container input[type=\"file\"] {\n display: none;\n}\n\n#wpstg--backups--import--file-list {\n font-size: 14px;\n font-weight: bold;\n}\n\n#wpstg--backups--import--file-list-empty {\n color: #E01E5A;\n}\n\n.wpstg--modal--backup--import--filesystem label {\n font-size: 14px;\n}\n\n.wpstg--modal--backup--import--filesystem button {\n margin-bottom: 20px;\n}\n\n.wpstg--modal--backup--import--upload {\n position: relative;\n min-height: 30px;\n}\n\n.wpstg--modal--backup--import--upload {\n color: #505050;\n}\n\n.wpstg--modal--backup--import--upload--container {\n position: relative;\n border-radius: 10px;\n margin: .5em;\n padding: 1em .5em;\n border: 3.5px dashed #dedede;\n transition: background-color 0.3s ease, color 0.3s ease;\n background-color: #f4fbff;\n min-height: 130px;\n}\n\n.wpstg--modal--backup--import--upload--container.wpstg--has-dragover span.wpstg--drop {\n display: inline-flex;\n}\n\n.wpstg--modal--backup--import--upload--container input[type='file'] {\n display: none;\n}\n\n.wpstg--modal--backup--import--upload--container img {\n width: 4em;\n align-self: center;\n border: none;\n}\n\n.wpstg--modal--backup--import--upload--container span {\n margin-top: 1em;\n}\n\n.wpstg--backup--import--options > button {\n margin-top: 1em;\n padding: 1em;\n align-self: center;\n width: 185px;\n height: auto;\n line-height: normal;\n}\n\n.wpstg--backup--import--options {\n position: relative;\n display: flex;\n justify-content: center;\n}\n\n.wpstg--backup--import--options ul {\n display: none;\n}\n\n.wpstg--backup--import--options.wpstg--show-options ul {\n padding: 0;\n margin: 54px 0 0 0;\n display: block;\n position: absolute;\n width: 185px;\n background: #25a1f0;\n box-sizing: border-box;\n border-radius: 0 0 3px 3px;\n border-width: 1px;\n border-color: #2188c9;\n text-shadow: 0 -1px 1px #006799, 1px 0 1px #006799, 0 1px 1px #006799, -1px 0 1px #006799;\n}\n\n.wpstg--backup--import--options.wpstg--show-options ul li {\n border-bottom: .1em solid #25a1f0;\n margin: 0;\n}\n\n.wpstg--backup--import--options.wpstg--show-options ul li:hover {\n background-color: #25a1f0;\n}\n\n.wpstg--backup--import--options.wpstg--show-options ul li:last-child {\n border-bottom: none;\n}\n\n.wpstg--backup--import--options ul li button {\n cursor: pointer;\n background: none;\n border: none;\n margin: 0;\n width: 100%;\n color: white;\n height: 40px;\n line-height: 40px;\n}\n\n.wpstg--backup--import--options ul li button:hover {\n background-color: #259be6;\n}\n\n.wpstg--modal--backup--import--search-replace--info {\n margin: 1em 0;\n display: flex;\n flex-direction: row;\n}\n\n.wpstg--modal--backup--import--info p {\n text-align: left;\n margin: 0;\n}\n\n.wpstg--modal--backup--import--search-replace--wrapper button {\n align-self: center;\n}\n\n.wpstg--import--advanced-options--button {\n border: 0;\n border-radius: 3px;\n font-size: 18px;\n text-shadow: 0 -1px 1px #006799, 1px 0 1px #006799, 0 1px 1px #006799, -1px 0 1px #006799;\n cursor: pointer;\n}\n\n.wpstg--modal--backup--import--search-replace--new {\n color: white;\n background-color: #25a1f0;\n}\n\n.wpstg--modal--backup--import--search-replace--remove {\n color: white;\n background-color: #25a1f0;\n width: 22px;\n height: 22px;\n margin-left: 5px;\n}\n\n.wpstg--modal--backup--import--search-replace--input-group:first-child button {\n display: none;\n}\n\n.wpstg--modal--backup--import--search-replace--input--container {\n flex: 1;\n display: flex;\n flex-direction: column;\n}\n\n.wpstg--modal--backup--import--search-replace--input-group {\n width: 100%;\n border-bottom: 6px solid #f1f1f1;\n margin-bottom: 10px;\n}\n\n.wpstg--modal--backup--import--search-replace--input-group input {\n min-width: 250px;\n width: calc(50% - 4px - 11px - 5px); /* -4px is half of the padding; -11px is half of the button; -5 is the margin left of the button */\n display: inline-block;\n line-height: 10px;\n border: 1px solid #dedede;\n border-radius: 3px;\n color: #666;\n padding: 8px;\n margin-bottom: 12px;\n}\n\n.wpstg--modal--import--upload--process {\n display: none;\n position: relative;\n height: 30px;\n margin-top: 20px;\n margin-bottom: 20px;\n width: 100%;\n top: 0;\n left: 0;\n text-indent: 1em;\n white-space: nowrap;\n overflow: hidden;\n color: #333333;\n justify-content: center;\n align-items: center;\n}\n\n.wpstg--modal--import--upload--progress {\n position: absolute;\n background: #98d452;\n color: white;\n height: 100%;\n border-radius: 4px;\n left: 0;\n top: 0;\n}\n\n.wpstg--modal--import--upload--progress--title {\n z-index: 9;\n}\n\n.wpstg-fieldset:disabled {\n opacity: 0.8;\n border-top: 1px solid white;\n margin-top: 20px;\n}\n\n.wpstg-fieldset {\n padding-left: 20px;\n}\n\n.wpstg-fs-14 {\n font-size: 14px;\n}\n\n.wpstg-dark-alert {\n font-weight: bold;\n background-color: #0e86d9;\n padding: 15px;\n margin-top: 0px;\n color: white;\n}\n\n.wpstg-dark-alert .wpstg-button--cta-red {\n margin-left:10px;\n}\n\n.wpstg-form-group {\n display: block;\n width: 100%;\n margin-bottom: 8px;\n align-items: center;\n}\n\n.wpstg-form-group > label {\n display: block;\n font-weight: 700;\n}\n\n.wpstg-text-field > input {\n width: 300px;\n display: block;\n line-height: 1.5;\n}\n\n.wpstg-code-segment {\n display: block;\n}\n\n.wpstg-text-field > .wpstg-code-segment {\n margin-top: 4px;\n min-width: 300px;\n}\n\n.wpstg-form-group > .wpstg-checkbox {\n min-width: 100%;\n width: 100%;\n position: relative;\n}\n\n.wpstg-form-group > .wpstg-checkbox > input[type='checkbox'] {\n left: 150px;\n}\n\n.wpstg-rounded {\n border-radius: 3px;\n}\n\n.wpstg-white-border {\n border: 1px solid white !important;\n}\n\n.wpstg-ml-4 {\n margin-left: 4px;\n}\n\n#wpstg-confirm-backup-restore-data {\n margin: 40px;\n text-align: left;\n}\n\n#wpstg-advanced-settings hr {\n margin: 20px 0;\n}\n\n.wpstg-form-row {\n display: block;\n}\n\n.wpstg-form-row label,\n.wpstg-form-row input {\n display: table-cell;\n padding-left: 5px;\n padding-right: 5px;\n margin-top: 3px;\n margin-bottom: 3px;\n}\n\n.wpstg-form-row input {\n width: 400px;\n}\n\n.wpstg-form-row label {\n font-weight: bold;\n width: 1px;\n white-space: nowrap;\n}\n\n#wpstg-db-connect-output #wpstg-db-status {\n width: 390px;\n}\n\n.wpstg-fs-14 {\n font-size: 14px;\n}\n\n.wpstg-code-segment {\n display: block;\n}\n\n.wpstg-form-group > .wpstg-checkbox {\n min-width: 100%;\n width: 100%;\n}\n\n.wpstg-form-group > .wpstg-checkbox > input[type='checkbox'] {\n margin-left: 10px;\n}\n\n@media only screen and (max-width: 768px) {\n .wpstg-form-group > label {\n min-width: auto;\n width: auto;\n }\n\n .wpstg-text-field > input {\n width: 100%;\n }\n\n .wpstg-text-field > .wpstg-code-segment {\n margin-left: 0;\n min-width: 100%;\n }\n\n .wpstg-tab-section {\n width: calc(100vw - 60px);\n max-width: 450px;\n }\n}\n\n.wpstg-rounded {\n border-radius: 3px;\n}\n\n.wpstg-white-border {\n border: 1px solid white !important;\n}\n\n.wpstg-m-0 {\n margin: 0;\n}\n\n.wpstg-mt-10px {\n margin-top: 10px !important;\n}\n\n.wpstg-my-10px {\n margin-top: 10px !important;\n margin-bottom: 10px !important;\n}\n\n.wpstg-w-100 {\n width: 100%;\n}\n\n.wpstg-box-shadow {\n box-shadow: 0 1px 1px 0 rgba(0, 0, 0, .1);\n}\n\n.wpstg-float-left {\n float: left;\n}\n\n.wpstg-bold-text {\n font-weight: bold;\n}\n\n.wpstg-warning.notice {\n border-left: 4px solid #ffba00;\n}\n\n.wpstg-confirmation-label {\n background-color: #5b9dd9;\n color: #fff;\n padding: 2px;\n border-radius: 3px;\n}\n\n.wpstg-my-6px {\n margin-bottom: 6px;\n margin-top: 6px;\n}\n\n.wpstg-mb-10px {\n margin-bottom: 10px;\n}\n\n.wpstg-clear-both {\n clear: both;\n}\n\n.wpstg-font-italic {\n font-style: italic;\n}\n\n.wpstg-mt-20px {\n margin-top: 20px;\n}\n\n.wpstg-welcome-container {\n border: 2px solid white;\n padding: 20px;\n margin-bottom: 20px;\n}\n\n.wpstg-ml-30px {\n margin-left: 30px;\n}\n\n.wpstg-text-center {\n text-align: center;\n}\n\n.wpstg-feedback-link {\n text-decoration: none;\n}\n\n.wpstg-feedback-span {\n display: block;\n margin-bottom: 3px;\n}\n\n#wpstg-confirm-backup-restore-data {\n margin: 40px;\n text-align: left;\n}\n\n#wpstg-confirm-backup-restore-wrapper {\n margin: 30px;\n margin-top: 0;\n}\n\n#wpstg-confirm-backup-restore-wrapper h3 {\n color: #E01E5A;\n}\n\n#wpstg-progress-db,\n#wpstg-progress-backup {\n background-color: #3fa5ee;\n}\n\n#wpstg-progress-sr,\n#wpstg-progress-files.wpstg-pro {\n background-color: #3c9ee4;\n}\n\n#wpstg-progress-dirs,\n#wpstg-progress-data {\n background-color: #3a96d7;\n}\n\n#wpstg-progress-files:not(.wpstg-pro),\n#wpstg-progress-finishing {\n background-color: #378cc9;\n}\n\n.wpstg-issue-resubmit-confirmation.wpstg--swal2-container,\n.wpstg-swal2-container.wpstg--swal2-container {\n z-index: 10500;\n}\n\n.wpstg-swal2-container.wpstg-swal2-loading .wpstg--swal2-actions,\n.wpstg-swal2-container.wpstg-swal2-loading .wpstg--swal2-header {\n display: none;\n}\n\nbody.toplevel_page_wpstg_backup .wpstg--swal2-container .wpstg--swal2-content,\nbody.toplevel_page_wpstg_clone .wpstg--swal2-container .wpstg--swal2-content {\n z-index: 2;\n}\n\n.toplevel_page_wpstg_clone #swal2-content h2 {\n color: #565656;\n}\n\n.toplevel_page_wpstg_clone #swal2-content {\n line-height: 1.5em;\n}\n\ndiv#exportUploadsWithoutDatabaseWarning {\n font-style: italic;\n font-size: 0.9rem;\n margin: 10px;\n padding: 10px;\n border: 1px solid #e3e3e3;\n border-radius: 5px;\n text-align: center;\n background-color: #fafafa;\n}\n\n.wpstg-advanced-options-dropdown-wrapper {\n display: none; /* ENABLE WHEN WE HAVE ADVANCED OPTIONS FOR EXPORTING */\n margin-top: 20px;\n}\n\n.wpstg--modal--backup--import--search-replace--wrapper {\n text-align: left;\n margin-top: 20px;\n}\n\n.wpstg--modal--backup--import--search-replace--new--wrapper {\n text-align: center;\n}\n\n.wpstg-import-backup-contains li {\n display: inline-block;\n}\n\n.wpstg-import-backup-contains li .wpstg-backups-contains {\n border-radius: 3px;\n color: #979797;\n background-color: #e3e3e3;\n border: 1px solid #c2c2c2;\n width: 17px;\n height: 17px;\n font-size: 17px;\n}\n\n.wpstg-import-backup-contains.wpstg-listing-single-backup li .wpstg-backups-contains {\n padding: 2px;\n background-color: white;\n border: 1px solid #c2c2c2;\n}\n\n.wpstg-import-backup-contains.wpstg-listing-single-backup li .wpstg-backups-contains > .wpstg--dashicons {\n filter: invert(50%);\n}\n\n.wpstg-import-backup-contains .wpstg--tooltiptext {\n width: 50px;\n font-size: x-small;\n padding: 5px;\n left: -25px;\n text-align: center;\n}\n\n.wpstg-import-backup-contains-title {\n display: inline-block;\n}\n\nul.wpstg-import-backup-contains {\n display: inline-block;\n}\n\n.wpstg-import-backup-name {\n display: inline-block;\n font-weight: bold;\n}\n\n.wpstg-backup-more-info-toggle {\n font-size: x-small;\n display: inline-block;\n font-style: italic;\n cursor: pointer;\n}\n\n.wpstg-backup-more-info-toggle::selection {\n background: none;\n}\n\nul.wpstg-import-backup-more-info {\n font-size: 14px;\n text-align: left;\n margin-bottom: 30px;\n margin-top: 10px;\n background-color: #f6f6f6;\n border: 1px solid #878787;\n border-radius: 3px;\n padding: 7px;\n cursor: pointer;\n}\n\nul.wpstg-import-backup-more-info:hover {\n background-color: #def2ff;\n border: 1px solid #25a1f0;\n}\n\nul.wpstg-import-backup-more-info li {\n height: 20px;\n}\n\n.wpstg-backup-list {\n max-width: 800px;\n}\n\n.wpstg-backup-list h3 {\n color:#3e3e3e;\n}\n\n.wpstg-backup-list ul ul {\n margin-block-start: 1em;\n margin-block-end: 1em;\n}\n\n.wpstg-push-confirmation-message {\n text-align: justify;\n font-size: 15px;\n}\n\n.wpstg-settings-row {\n padding-top: 10px;\n padding-bottom: 10px;\n}\n\n.wpstg-settings-title {\n font-weight: 600;\n}\n\n.wpstg-settings-form-group {\n display: flex;\n align-items: center;\n}\n\n.wpstg-settings-form-group > .wpstg-settings-message {\n width: 30%;\n padding: 0;\n margin: 7px 0 0;\n}\n\n/**\n * WP STAGING EXCLUSION RULES TABLE LAYOUT\n */\n\n.wpstg-excluded-filters-container {\n padding: 0;\n margin-top: 10px;\n margin-bottom: 10px;\n max-width: 100%;\n width: 100%;\n}\n\n.wpstg-excluded-filters-container > table {\n width: 100%;\n border-collapse: collapse;\n border-color: transparent;\n}\n\n.wpstg-excluded-filters-container td {\n padding-top: 4px;\n padding-bottom: 4px;\n height: 20px;\n}\n\n.wpstg-excluded-filters-container h4 {\n margin: 0;\n}\n\n.wpstg-exclude-filters-foot {\n display: flex;\n justify-content: flex-start;\n padding: 0;\n}\n\n/**\n * WP STAGING EXCLUSION RULE DROPDOWN STYLE\n */\n\n\n.wpstg-exclude-filter-dropdown > button:hover {\n background: #135e96;;\n border: 1px solid #135e96;;\n}\n\n.wpstg-exclude-filter-dropdown > .wpstg-dropdown-menu {\n width: 128px;\n}\n\n.wpstg-remove-exclude-rule {\n color: #fff !important;\n background-color: #e01e5a;\n border: 1px solid #e01e5a;\n width: 20px;\n height: 20px;\n border-radius: 10px;\n font-size: 24px;\n padding: 0;\n display: inline-flex;\n justify-content: center;\n outline: none;\n box-shadow: none;\n font-weight: 400;\n line-height: 0.7;\n margin-top: 5px;\n cursor: pointer;\n}\n\n.wpstg-remove-exclude-rule:hover {\n background-color: #E01E5A;\n border-color: #E01E5A;\n}\n\n.wpstg-code-block {\n margin-top: 4px;\n font-size: 1.2em;\n background: #f8f8f8;\n border-radius: 2px;\n}\n\n.wpstg-rule-info {\n background: #f8f8f8 !important;\n}\n\ncode.wpstg-code {\n display: inline-block;\n font-size: 11px;\n border: 1px solid #aaa;\n background: #fff;\n padding: 2px 4px;\n margin-bottom: 1px;\n color: #E01E5A;\n}\n\n.wpstg-exclusion-rule-info {\n color: #fff !important;\n background-color: #ffc107;\n border: 1px solid #ffc107;\n width: 14px;\n height: 14px;\n border-radius: 7px;\n font-size: 14px;\n padding: 0;\n display: inline-flex;\n justify-content: center;\n align-items: center;\n outline: none;\n box-shadow: none;\n font-weight: 400;\n vertical-align: middle;\n}\n\n.wpstg-exclusion-rule-info:hover {\n background-color: #ffba0c;\n border: 1px solid #ffba0c;\n}\n\n/**\n * WP STAGING INPUTS EXCLUSION RULES\n */\n\n.wpstg-exclude-rule-input {\n font-size: 12px !important;\n padding: 2px 6px;\n box-shadow: none;\n outline: none !important;\n display: inline-block;\n font-weight: 400;\n line-height: 1.5;\n color: #222;\n border-radius: 0 !important;\n background-color: #fff;\n border: 1px solid #bbb;\n min-height: 24px !important;\n margin-top: 4px;\n margin-left: 4px;\n vertical-align: baseline !important;\n transition: all 0.3s cubic-bezier(.25, .8, .25, 1);\n width: 135px;\n}\n\n.wpstg-excluded-filters-container tbody > tr:last-child .wpstg-exclude-rule-input {\n margin-bottom: 4px;\n}\n\n.wpstg-exclude-rule-input:hover {\n border: 1px solid #999;\n}\n\n.wpstg-exclude-rule-input:focus {\n border: 1px solid #25A0F1 !important;\n box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24) !important;\n}\n\n.wpstg-file-size-exclude-select,\n.wpstg-path-exclude-select {\n width: 135px;\n}\n\n.wpstg-file-size-exclude-select-small {\n width: 52px;\n}\n\n.wpstg-file-size-exclude-input {\n width: 75px;\n}\n\n.wpstg-staging-option-title {\n margin: 15px 0 0;\n}\n\n.wpstg-swal-push-container.wpstg--swal2-container {\n z-index: 9995;\n}\n\n#wpstg-scanning-files {\n padding-bottom: 5px;\n}\n\n#wpstg-scanning-files.wpstg-tab-section, #wpstg-scanning-db.wpstg-tab-section {\n padding-top: 10px;\n}\n\n.wpstg-reset-excludes-container {\n margin: 10px 0;\n}\n\n.wpstg-swal2-ajax-loader {\n width: 100%;\n height: 150px;\n overflow: hidden;\n display: flex;\n justify-content: center;\n align-items: center;\n}\n\n@keyframes wpstg-loading-icon-anim {\n 0% {\n transform: rotate(0);\n }\n 100% {\n transform: rotate(360deg);\n }\n}\n\n.wpstg-swal2-ajax-loader > img {\n width: 64px;\n height: 64px;\n animation: wpstg-loading-icon-anim 1s infinite linear;\n -webkit-animation: wpstg-loading-icon-anim 1s infinite linear;\n}\n\n.wpstg-swal2-container .wpstg-tab-section {\n width: auto !important;\n}\n\n#wpstg-no-staging-site-results {\n margin-top: 10px;\n max-width: 375px;\n}\n\nli#wpstg-backup-no-results {\n max-width: 500px;\n}\n\nli#wpstg-backup-no-results div, #wpstg-no-staging-site-results div {\n display: inline-block;\n text-align: center;\n}\n\nli#wpstg-backup-no-results .wpstg--dashicons, #wpstg-no-staging-site-results .wpstg--dashicons {\n filter: invert(50%);\n position: absolute;\n margin-top: 1px;\n}\n\nli#wpstg-backup-no-results .no-backups-found-text, #wpstg-no-staging-site-results .no-staging-site-found-text {\n color: #5d5d5d;\n margin-left: 20px;\n}\n\n@media only screen and (max-width: 680px) {\n li#wpstg-backup-no-results div, #wpstg-no-staging-site-results div {\n width: 100%;\n }\n}\n\n#wpstg--modal--backup--download-inner p.wpstg-download-modal-text {\n font-size: 16px;\n color: #565656;\n}\n\n#wpstg--modal--backup--download-inner h2 {\n color: #565656;\n}\n\n.wpstg-backup-restore-contains-database,\n.wpstg-backup-restore-contains-files {\n display: none;\n}\n\n.wpstg-green-button {\n background: #8bc34a;\n border: 1px solid #78a93f;\n color: white;\n text-shadow: 0 -1px 1px #78a93f, 1px 0 1px #78a93f, 0 1px 1px #40c921, -1px 0 1px #78a93f;\n}\n\n.wpstg-green-button:hover {\n background: #78a93f;\n}\n\n.wpstg-is-dir-loading {\n position: absolute;\n margin-top: -2px;\n margin-left: 8px;\n display: none;\n}\n\n.wpstg-ml-8px {\n margin-left: 8px;\n}\n\n.wpstg-mb-8px {\n margin-bottom: 8px;\n}\n\n\n.wpstg-btn-danger {\n background-color: #E01E5A;\n border: 1px solid #E01E5A;\n color: white;\n text-shadow: none;\n}\n\n.wpstg-btn-danger:hover {\n background: #c0194d;\n box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3);\n}\n\n.wpstg-swal2-container.wpstg-swal2-loading > .wpstg--swal2-modal {\n height: 200px;\n}\n\n.wpstg-reset-confirmation.wpstg-swal2-container:not(.wpstg-swal2-loading) > .wpstg--swal2-modal {\n max-width: 480px;\n}\n\n.wpstg-reset-confirmation.wpstg-swal2-container .wpstg--swal2-header {\n display: none;\n}\n\n.wpstg-reset-confirmation.wpstg-swal2-container .wpstg--swal2-content {\n height: auto;\n}\n\n.wpstg-reset-confirmation.wpstg-swal2-container > .wpstg--swal2-modal > .wpstg--swal2-content .wpstg-tabs-wrapper {\n overflow-y: auto;\n height: auto !important;\n}\n\n.wpstg-reset-confirmation.wpstg-swal2-container > .wpstg--swal2-modal > .wpstg--swal2-content {\n font-size: 13px;\n}\n\n.wpstg-reset-confirmation.wpstg-swal2-container > .wpstg--swal2-modal > .wpstg--swal2-content .wpstg-dir {\n margin-bottom: 4px;\n}\n\n.wpstg-reset-confirmation.wpstg-swal2-container > .wpstg--swal2-modal > .wpstg--swal2-content .wpstg-subdir {\n margin-top: 4px;\n}\n\n.wpstg-reset-confirmation.wpstg-swal2-container.has-collapsible-open .wpstg--swal2-modal {\n height: calc(100vh - 70px);\n}\n\n.wpstg-reset-confirmation.wpstg-swal2-container.has-collapsible-open > .wpstg--swal2-modal > .wpstg--swal2-content .wpstg-tabs-wrapper {\n height: calc(100vh - 350px) !important;\n}\n\n.wpstg--swal2-actions.wpstg--modal--actions > button {\n margin-left: 4px;\n margin-right: 4px;\n text-transform: uppercase;\n text-shadow: initial;\n font-weight: 500;\n min-width: 80px;\n}\n\n.wpstg-swal-popup {\n max-width: 1200px !important;\n}\n\n.wpstg-swal-popup.wpstg-push-finished .wpstg--swal2-title {\n color: #a8a8a8;\n}\n\n.wpstg-swal-popup.wpstg-push-finished .wpstg--swal2-content {\n margin-top: 8px;\n color: #a8a8a8;\n}\n\n.wpstg-swal-popup .wpstg--swal2-progress-steps .wpstg--swal2-progress-step.wpstg--swal2-active-progress-step,\n.wpstg-swal-popup .wpstg--swal2-progress-steps .wpstg--swal2-progress-step,\n.wpstg-swal-popup .wpstg--swal2-progress-steps .wpstg--swal2-progress-step-line {\n background: #25a1f0;\n}\n\n.wpstg-swal-popup .wpstg--swal2-progress-steps .wpstg--swal2-progress-step-line {\n width: 2.75em;\n}\n\n.wpstg--dashicons {\n width: 16px;\n height: 16px;\n}\n\n.wpstg--dashicons.wpstg-dashicons-grey {\n filter: invert(20%);\n}\n\n.wpstg--dashicons.wpstg-dashicons-19 {\n width: 19px;\n height: 19px;\n}\n\n.wpstg--dashicons.wpstg-dashicons-21 {\n width: 21px;\n height: 21px;\n}\n\n#wpstg--tab--backup #wpstg-step-1 {\n display: flex;\n align-items: center;\n}\n\n.wpstg-advanced-options .wpstg--tooltip,\n#wpstg--tab--backup #wpstg-step-1 .wpstg--tooltip {\n border-bottom: 0 solid transparent;\n display: inline-flex;\n align-items: center;\n}\n\n#wpstg--tab--backup #wpstg-step-1 .wpstg--tooltip {\n border-bottom: 0 solid transparent;\n display: flex;\n align-items: center;\n}\n\n.wpstg--tooltip .wpstg--tooltiptext-backups::after {\n left: calc(20% + 2px);\n}\n\n.wpstg-listing-single-backup .wpstg--dashicons {\n width: 17px;\n height: 17px;\n}\n\n.wpstg-100-width {\n width: 100px;\n}\n\n.wpstg-caret {\n display: inline-block;\n width: 0;\n height: 0;\n margin-left: 2px;\n vertical-align: middle;\n border-top: 4px solid;\n border-right: 4px solid transparent;\n border-left: 4px solid transparent;\n transition: transform 0.2s;\n cursor: pointer;\n}\n\n.wpstg-caret.wpstg-caret-up {\n transform: rotate(-180deg);\n}\n\n.wpstg-advanced-options-site label {\n font-size: 16px;\n display: block;\n margin: .5em 0;\n}\n\n#wpstg-confirm-backup-restore-data {\n font-size: 18px;\n margin: 0;\n margin-top: 30px;\n}\n\n/* Sweetalert WP STAGING Theme */\n\nbody.toplevel_page_wpstg_backup .wpstg--swal2-container.wpstg--swal2-backdrop-show,\nbody.toplevel_page_wpstg_clone .wpstg--swal2-container.wpstg--swal2-backdrop-show {\n background: rgba(0, 0, 0, .6);\n z-index: 9995;\n}\n\n.wpstg-swal-popup.wpstg--swal2-popup {\n border-radius: 8px;\n z-index: 9999;\n padding: 24px;\n color: #565656;\n font-family: Verdana, Geneva, Tahoma, sans-serif;\n}\n\n.wpstg-swal-popup .wpstg--swal2-title {\n font-size: 22px;\n color: #565656;\n}\n\n.wpstg-swal-popup.wpstg--swal2-popup:not(.centered-modal) .wpstg--swal2-title {\n align-self: flex-start; /* For an actual Swal title */\n text-align: left; /* Manually adding this class to a non flex display */\n margin-bottom: 0;\n}\n\n.wpstg-swal-popup .wpstg--swal2-close {\n top: 8px;\n right: 8px;\n z-index: 5;\n}\n\n.wpstg-swal-popup .wpstg--swal2-close:focus {\n outline: none;\n}\n\n.wpstg-swal-popup.wpstg--swal2-popup:not(.centered-modal) .wpstg--swal2-actions {\n justify-content: flex-end;\n}\n\n.wpstg-swal-popup .wpstg--swal2-actions > button {\n border-radius: 4px;\n font-weight: 900;\n border: 0;\n font-size: 15px;\n padding: 10px 12px;\n text-transform: capitalize;\n line-height: normal;\n height: 40px;\n min-width: 100px;\n text-shadow: none;\n}\n\n.wpstg-swal-popup.wpstg--swal2-popup:not(.centered-modal) .wpstg--swal2-actions > button {\n margin-left: 8px;\n}\n\n.wpstg-swal-popup .wpstg--swal2-actions > button.wpstg--swal2-cancel {\n border: 1px solid rgba(29, 28, 29, 0.3);\n background: #fff;\n color: rgb(29, 28, 29);\n font-weight: 500;\n width: 100px;\n text-shadow: none;\n}\n\n.wpstg-swal-popup .wpstg--swal2-actions > button:hover {\n box-shadow: 0 1px 3px 0 rgba(0 0 0 .1);\n}\n\n.wpstg-swal-popup .wpstg--swal2-actions > button.wpstg--swal2-cancel:hover {\n background: rgba(28, 29, 28, .04);\n}\n\n#wpstg-backup-name-input {\n height: 44px;\n font-size: 18px;\n}\n\n.wpstg-restore-finished-container .wpstg--swal2-title {\n color: #565656 !important;\n}\n\n/*#wpstg-restore-success {\n color: #565656;\n}*/\n\n.wpstg-restore-finished-container .wpstg--swal2-content {\n margin-top: 20px;\n color: #a8a8a8;\n}\n\n/* WP Staging Implementation of Windows Style Linear Loader */\n\n.wpstg-linear-loader > span[class*=\"wpstg-linear-loader-item\"] {\n height: 6px;\n width: 6px;\n background: #333;\n display: inline-block;\n margin: 12px 2px;\n border-radius: 100%;\n animation: wpstg_linear_loader 3s infinite;\n animation-timing-function: cubic-bezier(0.030, 0.615, 0.995, 0.415);\n animation-fill-mode: both;\n}\n\n.wpstg-linear-loader > span.wpstg-linear-loader-item:nth-child(1) {\n animation-delay: 1s;\n}\n\n.wpstg-linear-loader > span.wpstg-linear-loader-item:nth-child(2) {\n animation-delay: 0.8s;\n}\n\n.wpstg-linear-loader > span.wpstg-linear-loader-item:nth-child(3) {\n animation-delay: 0.6s;\n}\n\n.wpstg-linear-loader > span.wpstg-linear-loader-item:nth-child(4) {\n animation-delay: 0.4s;\n}\n\n.wpstg-linear-loader > span.wpstg-linear-loader-item:nth-child(5) {\n animation-delay: 0.2s;\n}\n\n.wpstg-linear-loader > span.wpstg-linear-loader-item:nth-child(6) {\n animation-delay: 0s;\n}\n\n@keyframes wpstg_linear_loader {\n 0% {\n transform: translateX(-30px);\n opacity: 0;\n }\n 25% {\n opacity: 1;\n }\n 50% {\n transform: translateX(30px);\n opacity: 0;\n }\n 100% {\n opacity: 0;\n }\n}\n\n/* END - Windows Style Linear Loader */\n\n.wpstg--modal--backup--import--upload--content {\n padding: .75em;\n margin: 1em auto;\n}\n\n.wpstg--modal--backup--import--upload--content .wpstg-linear-loader {\n display: none;\n}\n\n#wpstg-multisite-disabled .wpstg-clone {\n width: 355px;\n}\n\n#wpstg-free-version-backups .wpstg-clone {\n text-align: center;\n}\n\n#wpstg-free-version-backups .wpstg-clone p {\n font-size: 16px;\n}\n\n.wpstg-staging-info li .backup-notes {\n word-break: break-word;\n}\n\n.wpstg--modal--import--upload--progress--title small {\n font-weight: normal;\n}\n\n#wpstg-report-issue-wrapper {\n position: relative;\n}\n\n#wpstg-report-issue-wrapper .arrow-up {\n width: 0;\n height: 0;\n border-left: 8px solid transparent;\n border-right: 8px solid transparent;\n border-bottom: 8px solid white;\n position: absolute;\n top: -8px;\n right: 40px;\n}\n\n.notice {\n margin: 10px 20px 0 2px;\n}\n\n.wpstg--notice {\n box-shadow: 0 1px 1px rgba(0, 0, 0, .04);\n margin: 20px 20px 20px 0px;\n padding: 1px 12px;\n}\n\n.wpstg--error a:hover {\n color: #eeeeee;\n}\n\n.wpstg--error, .wpstg--error a {\n background: #E01E5A;\n color: white;\n}\n\n/**\n * Buttons\n */\n\n.wpstg-button {\n display: inline-block;\n border-radius: 2px;\n cursor: pointer;\n padding: 2px 10px 2px 10px;\n text-transform: uppercase;\n font-weight: 500;\n outline: 0;\n transition: background-color .1s ease-in;\n text-decoration: none;\n}\n\n.wpstg-button.wpstg-save {\n background-color: #1687A7;\n color: white;\n}\n\n.wpstg-button.wpstg-save:hover {\n background-color: #276678;\n}\n\n\n.wpstg-button.wpstg-button-light {\n background-color: #f8f8f8;\n border: 1px solid #eee;\n color: #333;\n animation: background-color 0.3s;\n}\n\n.wpstg-button.wpstg-button-light:hover {\n background-color: #e0e0e0;\n border: 1px solid #e0e0e0;\n}\n\n.wpstg-buttons .spinner {\n float: none;\n margin: 0 0 0 5px;\n}\n\n.wpstg-button.danger {\n display: inline-block;\n text-decoration: none;\n text-align: center;\n text-transform: inherit;\n background-color: #E01E5A;\n color: white;\n border-radius: 2px;\n border-color: transparent;\n}\n\n.wpstg-button.danger:hover {\n background-color: #c0194d;\n}\n\n.wpstg-button--big {\n display: inline-block;\n padding: 10px;\n min-width: 170px;\n font-size: 16px;\n text-decoration: none;\n text-align: center;\n margin-top: 20px;\n color: white;\n border-radius: 3px;\n}\n\n.wpstg-button--primary {\n display: inline-block;\n text-decoration: none;\n font-size: 13px;\n line-height: 2.15384615;\n min-height: 30px;\n margin: 0;\n padding: 0 10px;\n cursor: pointer;\n border: 1px solid rgba(29, 28, 29, 0.3);\n -webkit-appearance: none;\n border-radius: 2px;\n white-space: nowrap;\n box-sizing: border-box;\n color: #171717;\n}\n\n.wpstg-button--primary:hover {\n background: rgba(28, 29, 28, .04);\n color: black;\n}\n\n.wpstg-button--secondary {\n display: inline-block;\n background-color: transparent;\n color: #95a5a6;\n border-radius: 2px;\n border: 1px solid rgba(29, 28, 29, 0.3);\n cursor: pointer;\n padding: 4px 10px 2px 10px;\n font-weight: 500;\n outline: 0;\n transition: background-color .1s ease-in;\n text-decoration: none;\n}\n\n.wpstg-button--red {\n background-color: #E01E5A;\n border-color: #E01E5A;\n color: white;\n}\n\n.wpstg-button--red:hover {\n background-color: #d02358;\n border-color: #e0255f;\n color: white;\n}\n\n.wpstg-button--cta-red {\n background-color: #fe008f;\n border-color: #E01E5A;\n color: white;\n}\n\n.wpstg-button--cta-red:hover {\n background-color: #f31391;\n border-color: #e0255f;\n color: white;\n}\n\n.wpstg-button--blue {\n background-color: #25A0F1;\n border-color: #25A0F1;\n color: white;\n}\n\n.wpstg-button--blue:hover {\n background-color: #259be6;\n border-color: #259be6;\n color: white;\n}\n\n#wpstg-button-backup-upgrade {\n font-size: 16px;\n}\n\n.wpstg-staging-status {\n color: #E01E5A;\n}\n\n#wpstg-push-changes,\n#wpstg-start-updating,\n#wpstg-save-clone-data {\n margin-left: 5px;\n}\n\ninput.wpstg-textbox {\n border: 1px solid #aaa;\n border-radius: .25rem;\n padding: 0.25rem 0.5rem;\n font-size: 14px;\n}\n\ninput.wpstg-textbox:focus {\n outline: 0;\n border-color: #259be6;\n -webkit-box-shadow: 0 0 0 0.1rem rgba(221, 221, 221, .35);\n box-shadow: 0 0 0 0.1rem rgba(221, 221, 221, .35);\n}\n\ninput.wpstg-textbox::placeholder {\n color: #888;\n}\n\n.wpstg--advance-settings--checkbox {\n display: flex;\n align-items: center;\n}\n\n.wpstg--advance-settings--checkbox > label {\n font-size: 14px;\n font-weight: bolder;\n width: 165px;\n display: inline-block;\n}\n\n.wpstg--advance-settings--checkbox > .wpstg--tooltip {\n margin-top: 5px;\n margin-left: 5px;\n position: relative;\n display: inline-block;\n border-bottom: 0px solid transparent;\n}\n\n.wpstg--advance-settings--checkbox > .wpstg--tooltip > .wpstg--tooltiptext {\n top: 18px;\n left: -150px;\n}\n\n\ndiv#wpstg-restore-wait {\n display: none;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n text-align: center;\n height: 100vh;\n width: 100vw;\n position: fixed;\n top: 0;\n left: 0;\n background: white;\n z-index: 99999;\n}\n\ndiv#wpstg-restore-wait .wpstg-title {\n font-weight: bold;\n}\n\ndiv#wpstg-restore-wait div {\n font-size: 16px;\n margin-top: 12px;\n}\n\n.resumable-browse {\n cursor: pointer;\n}\n\n.resumable-browse a {\n text-decoration: underline;\n}\n\n.wpstg-upload-text {\n font-weight: 600;\n}\n\n.wpstg--modal--backup--import--upload--container.dragover {\n transition: background-color 0.7s;\n background-color: #94dc96;\n color: #FFF;\n}\n\n.wpstg--modal--backup--import--upload--container.dragover * {\n pointer-events: none; /* Avoids flickering when dragging to drop a file */\n}\n\n.wpstg--modal--backup--import--upload--container.dragover .wpstg-upload-text {\n display: none;\n}\n\n.wpstg--modal--backup--import--upload--container.dragover .wpstg-dragover-text {\n display: block;\n}\n\n.wpstg--modal--backup--import--upload--container .wpstg-dragover-text {\n display: none;\n}\n\n#wpstg-invalid-license-message, #wpstg-invalid-license-message a {\n font-weight: 500;\n color: #E01E5A;\n margin-left: 6px;\n}\n\n#wpstg-sidebar--banner {\n max-width: 200px;\n}\n\n@media screen and (max-width: 1234px) {\n .wpstg-h2 {\n font-size: 24px;\n }\n\n #wpstg-welcome li {\n font-size: 14px;\n }\n}\n\n.wpstg-exclamation {\n color: #ffffff;\n border-radius: 100%;\n background-color: #E01E5A;\n width: 20px;\n height: 20px;\n text-align: center;\n font-weight: bold;\n display: inline-block;\n margin: 6px;\n}\n\n.wpstg--tab--contents {\n padding-top: 1px;\n}\n\n.wpstg-swal-show.wpstg--swal2-show {\n -webkit-animation: wpstg-swal-show 0.2s !important;\n animation: wpstg-swal-show 0.2s !important;\n}\n\n@-webkit-keyframes wpstg-swal-show {\n 0% {\n transform: scale(0.3);\n }\n 100% {\n transform: scale(1);\n }\n}\n\n@keyframes wpstg-swal-show {\n 0% {\n transform: scale(0.3);\n }\n 100% {\n transform: scale(1);\n }\n}\n"]}
|
1 |
+
{"version":3,"sources":["wpstg-admin.css"],"names":[],"mappings":"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","file":"wpstg-admin.css","sourcesContent":["/**\n * WPSTG Admin CSS\n *\n * @package WPSTG\n * @subpackage Admin CSS\n * @copyright Copyright (c) 2021, René Hermenau\n * @license http://opensource.org/licenses/gpl-2.0.php GNU Public License\n*/\n\n/* Colors */\n\n.wpstg--violet {\n color: #9d37ae;\n}\n\n.wpstg-border--violet {\n border: 1px solid #9d37ae;\n}\n\n.wpstg--red {\n color: #E01E5A;\n}\n\n.wpstg-cta--red {\n color: #fe008f;\n}\n\n.wpstg--blue {\n color: #24a1f0;\n}\n\n.wpstg--darkblue {\n color: #0e86d9;\n}\n\n.wpstg--green {\n color: #83c11f;\n}\n\n.wpstg--grey {\n color: #3e3e3e;\n}\n\n.wpstg--darkgrey {\n color: #1b1b1b;\n}\n\n/* CSS for Tabs */\n\nbody.wp-staging-pro_page_wpstg_backup,\nbody.toplevel_page_wpstg_clone,\nbody.wp-staging-pro_page_wpstg-settings,\nbody.wp-staging-pro_page_wpstg-tools,\nbody.wp-staging-pro_page_wpstg-license {\n background-color: #f3f5f7;\n}\n\n#wpstg-tab-container ul {\n list-style: none;\n margin: 0;\n padding: 0;\n background: #f1f1f1;\n float: left;\n}\n\n#wpstg-tab-container ul li:first-child.selected-tab {\n border-top: none;\n}\n\n#wpstg-tab-container ul li a.selected-tab {\n font-weight: bold;\n text-decoration: none;\n}\n\n#wpstg-tab-container .row {\n padding-top: 10px;\n padding-bottom: 12px;\n}\n\n.wpstg-tabs-container .nav-tab-wrapper {\n padding: 0;\n}\n\n#wpstg-tab-container .row label strong,\n#wpstg-tab-container .row strong {\n font-weight: bold;\n}\n\n.wpstg-tabs a {\n padding: 5px;\n}\n\n#wpstg-tab-container > ul > li.wpstg-tabs.active {\n background-color: white;\n}\n\n#wpstg_settingsgeneral_header .row:nth-child(3),\n#wpstg_settingsgeneral_header .row:nth-child(4) {\n display: none;\n}\n\n#wpstg-tab-container .wpstg-settings-panel {\n padding: 0 20px 20px 20px;\n overflow: auto;\n}\n\n#wpstg-tab-container .wpstg-form-table th {\n vertical-align: top;\n text-align: left;\n padding: 20px 10px 20px 0;\n line-height: 1.3;\n font-weight: bold;\n font-size: 14px;\n color: #484848;\n width: 30%;\n}\n\n#wpstg-tab-container .wpstg-form-table tr {\n border-bottom: 1px solid #E7E7E7;\n}\n\n#wpstg-tab-container span.description {\n display: block;\n font-weight: 400;\n font-style: normal;\n font-size: 13px;\n margin-top: 7px;\n color: #484848;\n}\n\n#wpstg-tab-container .col-title {\n color: #484848;\n}\n\n@media only screen and (max-width: 680px) {\n #wpstg-tab-container ul {\n float: none;\n }\n\n #wpstg-tab-container .wpstg-form-table tr > th {\n width: 100%;\n }\n\n #wpstg-tab-container span.description {\n font-size: 14px;\n }\n\n #wpstg-tab-container .wpstg-form-table tr > th,\n #wpstg-tab-container .wpstg-form-table tr > td {\n padding: 10px;\n }\n}\n\n#wpstg-tab-container ul li {\n margin-bottom: 0;\n}\n\n#wpstg-tab-container ul li a {\n display: block;\n padding: 10px 4px 10px 14px;\n border-width: 1px 0;\n border-style: solid;\n border-top-color: white;\n border-bottom-color: #e7e7e7;\n text-decoration: none;\n color: #0097DF;\n font-weight: bold;\n}\n\n#wpstg-tab-container ul li a:hover {\n background-color: #e5e5e5;\n color: #777777;\n}\n\n.wpstg-logo {\n display: block;\n font-size: 16px;\n padding-top: 20px;\n width: 220px;\n float: left;\n}\n\n.wpstg-logo img {\n max-width: 212px;\n}\n\n.wpstg-version {\n display: block;\n padding-top: 40px;\n color: #9b9b9b;\n}\n\n.wpstg_admin .nav-tab {\n color: #3C3C3C;\n}\n\n#wpstg-tab-container table tbody tr:nth-child(1) > th > div {\n font-size: 20px;\n}\n\n/* Cloning workflow */\n\n#wpstg-clonepage-wrapper {\n margin-bottom: 20px;\n width: 98%;\n}\n\n@media screen and (min-width: 1090px) {\n #wpstg-clonepage-wrapper {\n float: left;\n margin-bottom: 20px;\n }\n}\n\n#wpstg-steps {\n margin-top: 0px;\n margin-left: 20px;\n}\n\n#wpstg-steps li {\n color: #444;\n line-height: 20px;\n padding-right: 10px;\n float: left;\n}\n\n.wpstg-step-num {\n border: 1px solid #3e3e3e;\n border-radius: 3px;\n display: inline-block;\n width: 20px;\n height: 20px;\n text-align: center;\n margin-right: 5px;\n}\n\n.wpstg-current-step {\n font-weight: bold;\n}\n\n.wpstg-current-step .wpstg-step-num {\n background: #3e3e3e;\n color: #eee;\n}\n\n.wpstg-box {\n margin: 10px 0;\n padding: 10px;\n position: relative;\n overflow: hidden;\n transition: border-color .2s ease-in-out;\n}\n\n.wpstg-clone {\n margin-bottom: 10px;\n padding: 16px;\n position: relative;\n transition: border-color .2s ease-in-out;\n background-color: #ffffff;\n color: #3e3e3e;\n border-radius: 3px;\n box-shadow: 0 0 1px rgba(0, 0, 0, .125), 0 1px 3px rgba(0, 0, 0, .1);\n}\n\n.wpstg-clone.active {\n border-color: #1d94cf;\n}\n\n.wpstg-clone-header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n}\n\n.wpstg-clone-title {\n display: inline-block;\n font-size: 15px;\n max-width: 300px;\n text-decoration: none;\n font-weight: bold;\n color: #3e3e3e;\n}\n\n.wpstg-clone-title:hover {\n color: #111111;\n}\n\n.wpstg-clone-actions {\n display: flex;\n margin-top: 5px;\n}\n\n.wpstg-dropdown {\n position: relative;\n}\n\n.wpstg-clone-actions .wpstg-dropdown-toggler {\n text-decoration: none;\n background: #25a1f0;\n padding: 6px 10px;\n border-radius: 2px;\n font-size: 14px;\n box-shadow: 0 0 1px rgba(0, 0, 0, .125), 0 1px 3px rgba(0, 0, 0, .2);\n color: #ffffff;\n}\n\n.wpstg-clone-actions .wpstg-dropdown-toggler:hover {\n background: #002648;\n color: white;\n}\n\n.wpstg-dropdown {\n position: relative;\n}\n\n.wpstg-dropdown > .wpstg-dropdown-menu {\n background: #fff;\n display: none;\n flex-direction: column;\n position: absolute;\n right: 0;\n top: calc(100% + 4px);\n padding: 8px;\n border-radius: 2px;\n width: 100px;\n box-shadow: 0 0 1px rgba(0, 0, 0, .125), 0 1px 3px rgba(0, 0, 0, .2);\n z-index: 1000;\n}\n\n.wpstg-dropdown > .wpstg-dropdown-menu.wpstg-menu-dropup {\n top: auto;\n bottom: 100%;\n transform: translate3d(0px, -3px, 0px);\n}\n\n.wpstg-dropdown > .wpstg-dropdown-menu.shown {\n display: flex;\n}\n\n.wpstg-clone-action,\n.wpstg-dropdown-action {\n color: #3e3e3e;\n padding: 6px 8px;\n border-radius: 3px;\n text-decoration: none;\n position: relative;\n transition: color .2s ease-in-out;\n border-bottom: 1px solid #f3f3f3;\n}\n\n.wpstg-clone-action:hover,\n.wpstg-dropdown-action:hover {\n background: rgba(0, 0, 0, 0.05);\n}\n\n.wpstg-dropdown-action {\n color: #3e3e3e;\n background: transparent;\n border: 0 solid black;\n outline: none;\n box-shadow: none;\n}\n\n.wpstg-remove-clone:hover {\n color: #E01E5A;\n}\n\n.wpstg-clone-action:last-child {\n border: none;\n}\n\n.wpstg-clone:hover .wpstg-clone-action {\n display: inline-block;\n}\n\n#wpstg-show-error-details:focus,\n#wpstg-workflow .wpstg-clone-action {\n outline: none;\n box-shadow: none;\n}\n\n.wpstg-link-btn {\n background: #45a1c9;\n color: #fff;\n display: inline-block;\n padding: 5px 10px;\n text-decoration: none;\n vertical-align: baseline;\n transition: all .2s ease-in-out;\n}\n\n.wpstg-link-btn:hover,\n.wpstg-link-btn:focus {\n color: #fff;\n outline: none;\n box-shadow: none;\n}\n\n#wpstg-workflow .wpstg-link-btn:active {\n vertical-align: baseline;\n}\n\n.wpstg-link-btn[disabled] {\n background: #777 !important;\n border-color: #555 !important;\n pointer-events: none;\n}\n\n#wpstg-cancel-cloning,\n#wpstg-cancel-cloning-update {\n margin-top: 5px;\n}\n\n#wpstg-cancel-cloning.success,\n#wpstg-cancel-cloning.success {\n background: #64dd58;\n border-color: #54bd4a;\n}\n\n#wpstg-error-wrapper,\n#wpstg-error-details {\n display: none;\n padding-top: 10px;\n font-size: 13px;\n clear: both;\n}\n\n#wpstg-show-error-details {\n display: inline-block;\n margin-left: 5px;\n color: #555;\n text-decoration: none;\n transition: color .2s ease-in-out;\n}\n\n#wpstg-show-error-details:hover {\n color: #1d94cf;\n}\n\n#wpstg-error-details {\n border-left: 5px solid #E01E5A;\n padding: 10px;\n width: 500px;\n}\n\n#wpstg-try-again {\n display: none;\n}\n\n#wpstg-home-link {\n float: right;\n}\n\n.wpstg-loader {\n content: url('../../img/loading.gif');\n margin-top: 10px;\n display: none;\n}\n\n.wpstg-loader.wpstg-finished {\n display: block;\n content: \"Finished\";\n background-color: #00c89a;\n color: white;\n padding: 2px 10px;\n margin-top: 0;\n border-radius: 3px;\n}\n\n#wpstg-workflow {\n max-width: 800px;\n position: relative;\n clear: both;\n padding-top: 20px;\n float: left;\n min-width: 500px;\n min-height: 380px;\n padding-right: 20px;\n padding-bottom: 20px;\n}\n\n#wpstg-sidebar {\n float: left;\n max-width: 400px;\n display: block;\n margin-left: 10px;\n}\n\n#wpstg-workflow.loading::after,\n#wpstg-removing-clone.loading::after {\n background: rgba(255, 255, 255, .7);\n content: 'Loading... may take a while for huge websites';\n display: block;\n width: 100%;\n height: 100%;\n font-size: 20px;\n padding-top: 100px;\n text-align: center;\n position: absolute;\n top: 0;\n left: 0;\n z-index: 99;\n}\n\n#wpstg-removing-clone.loading::after {\n content: 'REMOVING' !important;\n}\n\n#wpstg-existing-clones,\n#wpstg-removing-clone {\n position: relative;\n}\n\n#wpstg-existing-clones h3 {\n color: #3e3e3e;\n}\n\n#wpstg-removing-clone .wpstg-tab-section {\n display: block;\n}\n\n.wpstg-progress-bar {\n max-width: 900px;\n height: 27px;\n padding: 0;\n background-color: #d6d8d7;\n}\n\n.wpstg-progress {\n float: left;\n background: #3fa5ee;\n width: 0;\n height: 100%;\n transition: width .6s ease;\n color: white;\n line-height: 25px;\n text-align: center;\n overflow: hidden;\n}\n\n.wpstg-progress-files {\n background: #16b4f0;\n width: 0;\n height: 100%;\n transition: width .6s ease;\n color: white;\n line-height: 25px;\n text-align: center;\n}\n\n#wpstg-new-clone-id.wpstg-error-input,\n#wpstg-clone-path.wpstg-error-input {\n border: 1px solid #E01E5A;\n box-shadow: 0 0 2px rgba(255, 66, 53, .8);\n}\n\n#wpstg-new-clone-id {\n width: 450px;\n max-width: 100%;\n margin-left: 15px;\n}\n\n#wpstg-new-clone {\n background: #25a1f0;\n border-color: #2188c9;\n}\n\n#wpstg-new-clone:hover {\n background: #259be6;\n border-color: #2188c9;\n}\n\n#wpstg-clone-path {\n margin-left: 10px;\n width: 350px;\n}\n\n.wpstg-error-msg {\n color: #E01E5A;\n}\n\n#wpstg-clone-id-error {\n display: block;\n background-color: #f0f8ff;\n padding: 10px;\n margin: 20px;\n}\n\n#wpstg-start-cloning + .wpstg-error-msg {\n display: block;\n margin-top: 5px;\n}\n\n.wpstg-size-info {\n color: #999;\n font-weight: normal;\n position: relative;\n left: 2px;\n}\n\n.wpstg-db-table .wpstg-size-info {\n top: 2px;\n}\n\n.wpstg-db-table:hover {\n background-color: #f0f8ff;\n}\n\n#wpstg-workflow #wpstg-start-cloning {\n margin-left: 5px;\n vertical-align: baseline;\n}\n\n\n/* Tabs */\n\n.wpstg-tabs-wrapper {\n max-width: 640px;\n margin: 10px 0;\n}\n\n#wpstg-path-wrapper {\n border-bottom: 2px dashed #ccc;\n padding-bottom: 10px;\n margin-bottom: 10px;\n}\n\n.wpstg-tab-section {\n border-bottom: 1px solid #ddd;\n border-right: none;\n border-left: none;\n display: none;\n width: calc(100% - 72px);\n padding: 0px 36px;\n}\n\n.wpstg-tab-section::after {\n display: block;\n content: '';\n clear: both;\n}\n\n.wpstg-tab-header {\n border-bottom: 1px solid #ddd;\n border-right: none;\n border-left: none;\n color: #444;\n font-size: 16px;\n font-weight: bold;\n display: block;\n padding: 10px;;\n text-decoration: none;\n}\n\n.wpstg-tab-triangle {\n display: inline-block;\n margin-right: 12px;\n animation: transform 0.5s;\n width: 0;\n height: 0;\n margin-top: -3px;\n vertical-align: middle;\n border-top: 5px solid transparent;\n border-bottom: 5px solid transparent;\n border-left: 10px solid;\n transition: transform 0.2s;\n cursor: pointer;\n}\n\n.wpstg-tab-triangle.wpstg-no-icon {\n margin-right: 2px;\n width: auto;\n height: auto;\n vertical-align: auto;\n border-top: 0px solid;\n border-bottom: 0px solid;\n border-left: 0px solid;\n}\n\n.wpstg-tab-triangle.wpstg-rotate-90 {\n transform: rotate(90deg);\n}\n\n.wpstg-tab-header:focus {\n color: #444;\n outline: none;\n box-shadow: none;\n}\n\n#wpstg-large-files {\n display: none;\n border: 1px dashed #ccc;\n padding: 10px 10px 10px;\n margin-top: 20px;\n position: relative;\n font-size: 12px;\n}\n\n#wpstg-large-files h3 {\n background: #fff;\n margin: 0;\n padding: 0 5px;\n position: absolute;\n top: -10px;\n left: 5px;\n}\n\n.wpstg-subdir {\n display: none;\n margin-left: 20px;\n}\n\n.wpstg-subdir.wpstg-push {\n display: block;\n margin-left: 20px;\n}\n\n.wpstg-dir a.disabled {\n color: #888;\n cursor: default;\n text-decoration: none;\n}\n\n.wpstg-check-subdirs {\n display: inline-block;\n margin-left: 10px;\n}\n\n.wpstg-notice-alert {\n display: block;\n background-color: #E01E5A;\n padding: 20px;\n max-width: 600px;\n margin-top: 10px;\n color: white;\n}\n\n.wpstg-notice--white {\n display: block;\n background-color: #ffffff;\n padding: 20px;\n max-width: 600px;\n margin-top: 10px;\n}\n\n.wpstg-notice-alert a {\n color: white;\n}\n\n.wpstg-notice-alert h3 {\n color: white;\n}\n\n.wpstg-header {\n font-weight: 400;\n line-height: 1.6em;\n font-size: 19px;\n border-bottom: 1px solid #DFDFDF;\n clear: both;\n padding-top: 10px;\n}\n\n#wpstg-clone-label {\n font-size: 14px;\n font-weight: bold;\n}\n\n.wpstg-log-details {\n height: 300px;\n overflow: scroll;\n max-width: 650px;\n font-family: monospace;\n font-size: 12px;\n line-height: 15px;\n border: 1px solid #FFF;\n background-color: black;\n color: #c0c0c0;\n padding: 3px;\n white-space: nowrap;\n margin-top: 15px;\n}\n\n#wpstg-finished-result {\n display: none;\n}\n\n#wpstg-remove-cloning {\n background: #ff3428;\n border-color: #e72f24;\n margin-top: 5px;\n}\n\n#wpstg-success-notice {\n padding: 10px;\n background-color: white;\n max-width: 900px;\n border: 1px solid #ccc;\n margin-top: 20px;\n}\n\n.wpstg_beta_notice {\n margin-bottom: 20px;\n}\n\n.wpstg-sysinfo {\n width: 700px;\n height: 700px;\n}\n\n.wpstg-form-table .col-title label {\n font-weight: 600;\n}\n\n.wpstg-form-table td:first-child {\n width: 30%;\n}\n\n.wpstg-share-button-container {\n margin: 5px 0;\n}\n\n.wpstg-share-button-container p {\n margin: 0 0 10px 0;\n}\n\n.wpstg-share-button {\n display: inline-block;\n}\n\n.wpstg-share-button a {\n text-decoration: none;\n}\n\n.wpstg-share-button .wpstg-share {\n font-family: sans-serif;\n font-weight: bold;\n text-decoration: none;\n text-align: center;\n}\n\n.wpstg-share-button .wpstg-share {\n -webkit-border-radius: 2px;\n -moz-border-radius: 2px;\n border-radius: 2px;\n color: #FFF;\n display: inline;\n font-size: 12px;\n padding: 4px 8px;\n}\n\n.wpstg-share-button-twitter .wpstg-share {\n background-color: #00ABF0;\n}\n\n.wpstg-share-button-facebook .wpstg-share {\n background-color: #3b5998;\n}\n\n.wpstg-share-button-googleplus .wpstg-share {\n background-color: #F53424;\n}\n\n.wpstg-share-button-twitter .share:active,\n.wpstg-share-button-facebook .share:active,\n.wpstg-share-button-googleplus .share:active {\n background-color: #353535;\n}\n\n#wpstg-check-space {\n margin-left: 8px;\n}\n\n#wpstg-welcome li {\n font-size: 18px;\n line-height: 29px;\n position: relative;\n padding-left: 23px;\n list-style: none !important;\n}\n\n#wpstg-welcome {\n margin-top: 20px;\n margin-right: 20px;\n background-color: white;\n}\n\n.wpstg-heading-pro {\n font-weight: bold;\n}\n\n.wpstg-h2 {\n margin-top: 0;\n margin-bottom: 1.2rem;\n font-size: 30px;\n line-height: 2.5rem;\n}\n\n#wpstg-welcome li:before {\n width: 1em;\n height: 100%;\n background: url(data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%221792%22%20height%3D%221792%22%20viewBox%3D%220%200%201792%201792%22%20xmlns%3D%22http%3A%2F%2Fwww%2Ew3%2Eorg%2F2000%2Fsvg%22%3E%3Cpath%20fill%3D%22%2377B227%22%20d%3D%22M1671%20566q0%2040%2D28%2068l%2D724%20724%2D136%20136q%2D28%2028%2D68%2028t%2D68%2D28l%2D136%2D136%2D362%2D362q%2D28%2D28%2D28%2D68t28%2D68l136%2D136q28%2D28%2068%2D28t68%2028l294%20295%20656%2D657q28%2D28%2068%2D28t68%2028l136%20136q28%2028%2028%2068z%22%2F%3E%3C%2Fsvg%3E) left .4em no-repeat;\n background-size: contain;\n content: \"\";\n position: absolute;\n top: -2px;\n left: 0;\n color: #77b227;\n}\n\n.wpstg-h1 {\n margin-bottom: 1.35rem;\n font-size: 2.5em;\n line-height: 3.68rem;\n letter-spacing: normal;\n}\n\n.wpstg--swal2-content h1 {\n color: #444;\n}\n\n#wpstg-welcome h2 {\n margin: 0 0 15px;\n}\n\n#wpstg-welcome .wpstg-footer {\n clear: both;\n margin-top: 20px;\n font-style: italic;\n}\n\n#wpstg-footer {\n clear: both;\n margin-top: 20px;\n margin-right: 10px;\n padding-top: 50px;\n}\n\n#wpstg-footer a {\n text-decoration: none;\n}\n\n#wpstg-footer li {\n margin-bottom: 2px;\n list-style: circle;\n}\n\n#wpstg-footer ul {\n margin-left: 15px;\n margin-top: 0px;\n}\n\n.wpstg-footer--title {\n margin-left: 15px;\n}\n\n.wpstg-staging-info {\n margin-top: 8px;\n color: #3e3e3e;\n font-size: 12px;\n}\n\n.wpstg-staging-info a {\n color: #3e3e3e;\n}\n\n.wpstg-staging-info li {\n margin-bottom: 2px;\n}\n\n.wpstg-bold {\n font-weight: 600;\n}\n\n#wpstg-processing-status {\n margin-top: 5px;\n font-size: 13px;\n font-weight: 400;\n float: left;\n}\n\n#wpstg-processing-timer {\n margin-top: 5px;\n font-size: 13px;\n font-weight: 400;\n float: right;\n}\n\n#wpstg-report-issue-button {\n margin-left: 50px;\n border: 1px solid #E01E5A;\n color: #E01E5A;\n background-color: white;\n}\n\n#wpstg-report-issue-button:hover {\n background-color: #dc2b62;\n color: #fff;\n}\n\n.wpstg-blue-primary {\n display: inline-block;\n text-decoration: none;\n font-size: 13px;\n /*line-height: 26px;*/\n height: 28px;\n margin: 0;\n padding: 0 10px 1px;\n cursor: pointer;\n border-width: 1px;\n border-style: solid;\n -webkit-appearance: none;\n border-radius: 3px;\n white-space: nowrap;\n box-sizing: border-box;\n background: #25a1f0;\n border-color: #2188c9;\n color: #fff;\n text-shadow: 0 -1px 1px #006799, 1px 0 1px #006799, 0 1px 1px #006799, -1px 0 1px #006799;\n}\n\n.wpstg-blue-primary:hover {\n background-color: #259be6;\n}\n\n.wpstg-report-issue-form {\n position: absolute;\n z-index: 999;\n width: 300px;\n background-color: #fff;\n padding: 15px 15px 10px;\n border: 1px solid #e8e8e8;\n border-radius: 3px;\n box-shadow: 0 1px 0 0 #fff inset;\n display: none;\n right: 0;\n top: 35px;\n}\n\n@media (max-width: 600px) {\n .wpstg-report-issue-form {\n position: relative;\n }\n}\n\n.wpstg-report-show {\n display: block;\n}\n\n.wpstg-field input[type=text],\n.wpstg-field textarea {\n width: 100%;\n font-weight: 400;\n line-height: 1.4;\n margin-bottom: 4px;\n}\n\n.wpstg-report-email,\n.wpstg-report-hosting-provider {\n width: 100%;\n font-weight: 400;\n font-size: .8rem;\n height: 2.3rem;\n line-height: 2.3rem;\n border-radius: 3px;\n margin-bottom: 4px;\n padding: 0 10px;\n}\n\n.wpstg-report-description {\n border-radius: 3px;\n font-size: .8rem;\n padding: 6px 10px;\n resize: none;\n}\n\n.wpstg-report-privacy-policy {\n font-size: 12px;\n margin-bottom: 15px;\n}\n\n#wpstg-report-cancel {\n float: right;\n margin-right: 5px;\n font-weight: bold;\n}\n\n#wpstg-success-button {\n font-weight: bold;\n}\n\n.wpstg-message {\n box-sizing: border-box;\n -moz-box-sizing: border-box;\n background-color: #f5e0de;\n border-radius: 3px;\n color: rgba(0, 0, 0, .6);\n height: auto;\n margin: 10px 0;\n min-height: 18px;\n padding: 6px 10px;\n position: relative;\n}\n\n.wpstg-message.wpstg-error-message {\n background-color: #f5e0de;\n color: #b65147;\n font-size: 12px;\n}\n\n.wpstg-message.wpstg-success-message {\n background-color: #d7f8e0;\n color: #515151;\n}\n\n.wpstg-message p {\n margin: 3px 0;\n font-size: 13px;\n}\n\n.wpstg-warning {\n display: block;\n padding: 10px;\n background-color: #ffb804;\n color: #ffffff;\n margin: 10px 10px 10px 0;\n}\n\n.wpstg-warning a {\n color: #ffffff;\n font-weight: bold;\n text-decoration: underline;\n}\n\n.wpstg-error {\n display: block;\n padding: 10px !important;\n background-color: #E01E5A !important;\n color: #ffffff;\n margin: 10px 10px 10px 0 !important;\n border-color: transparent !important;\n border-left-color: transparent !important;\n box-shadow: none !important;\n}\n\n.wpstg-error a {\n color: #ffffff;\n font-weight: bold;\n text-decoration: underline;\n}\n\n#wpstg-resume-cloning {\n display: none;\n}\n\n#wpstg-external-db th {\n text-align: left;\n width: 120px;\n}\n\n#wpstg-db-connect {\n font-weight: normal;\n}\n\n#wpstg-db-status {\n display: block;\n margin-top: 5px;\n padding: 5px;\n margin-bottom: 20px;\n border: 1px solid transparent;\n border-radius: 4px;\n text-decoration: none;\n text-align: center;\n}\n\n.wpstg-text-field > #wpstg-db-status {\n margin-top: 8px;\n margin-left: 150px;\n min-width: 300px;\n}\n\n.wpstg-success {\n color: #3c763d;\n background-color: #dff0d8;\n border-color: #d6e9c6;\n}\n\n.wpstg-failed {\n color: #a94442;\n background-color: #f2dede;\n border-color: #ebccd1;\n}\n\n#wpstg_select_tables_cloning {\n height: 600px;\n font-size: 13px;\n}\n\n#wpstg-update-notify {\n background-color: #E01E5A;\n font-size: 14px;\n color: #ffffff;\n line-height: normal;\n padding: 10px;\n}\n\n#wpstg-update-notify a {\n color: #ffffff;\n font-weight: bold;\n}\n\n.wpstg-pointer {\n cursor: pointer;\n}\n\n.wpstg--tab--header {\n background-color: white;\n /* margin-bottom: 10px; */\n /* padding: 16px; */\n position: relative;\n transition: border-color .2s ease-in-out;\n background-color: #ffffff;\n color: #3e3e3e;\n border-radius: 2px;\n box-shadow: 0 0 1px rgba(0, 0, 0, .125), 0 1px 3px rgba(0, 0, 0, .02);\n}\n\n.wpstg--tab--header ul {\n display: flex;\n}\n\n.wpstg--tab--header ul li {\n margin-right: 1em;\n margin-bottom: 0px;\n}\n\n.wpstg--tab--header ul li:last-child {\n margin-right: 0;\n}\n\n.wpstg--tab--header a {\n min-width: 150px;\n text-align: center;\n cursor: pointer;\n display: inline-block;\n padding: 1em 1.25em;\n padding-bottom: 9px;\n color: #c4c4c4;\n font-size: 18px;\n /*\n border: solid 1px;\n */\n}\n\n.wpstg--tab--header a.wpstg--tab--active {\n border-bottom: .4em solid #25A1F0;\n color: #25A1F0;\n}\n\n.wpstg--tab--header a:hover {\n background-color: #fefefe;\n border-bottom: 0.4em solid #25A1F0;\n color: #25A1F0;\n}\n\n.wpstg--tab--content {\n display: none;\n}\n\n.wpstg--tab--active {\n display: block;\n}\n\n.wpstg--text--strong,\n.wpstg--text--strong * {\n font-weight: bold !important;\n}\n\n.wpstg--text--danger {\n color: #a94442;\n}\n\n.wpstg--tooltip {\n position: relative;\n display: inline-block;\n border-bottom: 1px dotted black;\n margin-left: 10px;\n}\n\n.wpstg--tooltip .wpstg--tooltiptext {\n visibility: hidden;\n width: 300px;\n background-color: #ffffff;\n color: #505050;\n text-align: left;\n padding: 12px;\n border-radius: 3px;\n position: absolute;\n z-index: 1;\n -webkit-box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16), 0 3px 6px rgba(0, 0, 0, 0.23);\n -moz-box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16), 0 3px 6px rgba(0, 0, 0, 0.23);\n box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16), 0 3px 6px rgba(0, 0, 0, 0.23);\n}\n\n.wpstg--tooltiptext-backups {\n width: 120px;\n top: 100%;\n left: -150%;\n margin-left: -56px;\n margin-top: 4px;\n}\n\n.wpstg--tooltip.wpstg--exclude-rules--tooltip {\n border-bottom: 0px solid transparent;\n}\n\n.wpstg--tooltip.wpstg--exclude-rules--tooltip > .wpstg--tooltiptext {\n margin-top: 0px;\n margin-left: -150px;\n}\n\n/**\nTooltip top arrow\n */\n\n.wpstg--tooltip .wpstg--tooltiptext-backups::after {\n content: \" \";\n position: absolute;\n bottom: 100%;\n /* At the top of the tooltip */\n left: 50%;\n margin-left: 25px;\n border-width: 5px;\n border-style: solid;\n border-color: transparent transparent white transparent;\n}\n\n.wpstg--tooltip .wpstg--tooltiptext.has-top-arrow {\n margin-top: 6px;\n}\n\n.wpstg--tooltip .wpstg--tooltiptext.has-top-arrow::after {\n content: \" \";\n position: absolute;\n bottom: 100%;\n left: 50%;\n margin-left: -18px;\n border-width: 5px;\n border-style: solid;\n border-color: transparent transparent white transparent;\n}\n\n.wpstg--snaphot-restore-table tr {\n line-height: 12px;\n}\n\n.wpstg-float-left {\n float: left;\n}\n\n.wpstg-beta-notice {\n background-color: #b0e8b0;\n border-radius: 3px;\n padding: 7px;\n margin-bottom: 20px;\n}\n\n#wpstg-backup-name {\n font-size: 1.875em;\n font-weight: 600;\n}\n\n#wpstg_select_tables_cloning option:checked {\n /* Cannot use background color here because Chrome and Firefox ignore it even if set to !important */\n -webkit-appearance: menulist-button;\n background-image: linear-gradient(0deg, #1e90ff 0%, #1e90ff 100%);\n}\n\n.wpstg--btn--cancel {\n background: #ff3428;\n border-color: #e72f24;\n color: #fff;\n height: auto;\n line-height: normal;\n font-size: 16px;\n padding: .5em;\n margin-bottom: 1.5em;\n}\n\n.wpstg--btn--cancel:hover {\n background: #ff3428;\n border-color: #e72f24;\n}\n\n.wpstg--process--content > .wpstg--swal2-html-container {\n padding: 4em 2em !important;\n}\n\n.wpstg--modal--process--logs,\n.wpstg--modal--error--logs {\n background: #ffffff;\n border: 1px solid #a8a8a8;\n border-radius: 3px;\n height: 300px;\n margin-top: 1em;\n display: none;\n padding-top: 10px;\n padding-left: 10px;\n overflow: auto;\n text-align: justify;\n}\n\n.wpstg--modal--error--logs {\n height: auto;\n max-height: 300px;\n}\n\n.wpstg--modal--process--logs p {\n font-size: 12px;\n white-space: nowrap;\n}\n\n.wpstg--modal--process--logs p.wpstg--modal--process--msg--info {\n color: #222222;\n}\n\n.wpstg--modal--process--logs p.wpstg--modal--process--msg--debug {\n color: #757575;\n}\n\n.wpstg--modal--process--title {\n color: #565656;\n margin: .25em 0;\n}\n\n.wpstg--modal--process--subtitle {\n margin: .5em 0;\n color: #565656;\n}\n\n.wpstg--modal--error--logs > p {\n text-align: left;\n font-size: 14px;\n color: #222222;\n}\n\n.wpstg--modal--process--logs p,\n.wpstg--modal--error--logs p {\n margin: 0px;\n margin-bottom: 2px;\n}\n\n.wpstg--modal--process--msg--error {\n color: #E01E5A;\n}\n\n.wpstg--modal--process--msg--critical {\n color: #E01E5A;\n}\n\n.wpstg--modal--process--msg--warning {\n color: darkorange;\n}\n\n.wpstg--modal--process--msg-found {\n font-size: 16px;\n color: #E01E5A;\n font-weight: bold;\n}\n\n.wpstg--modal--delete {\n text-align: left;\n margin-top: 8px;\n color: #565656;\n}\n\n.wpstg-swal-popup .wpstg--swal2-cancel.wpstg--btn--cancel {\n margin-bottom: 0;\n text-shadow: none !important;\n}\n\n.wpstg-swal-popup .wpstg-loader {\n display: inline-block !important;\n}\n\n.wpstg--modal--process--generic-problem {\n display: none;\n border-left: 5px solid #E01E5A;\n margin: .5em 0;\n}\n\n.wpstg--modal--process--logs--tail {\n font-size: 16px;\n color: #565656;\n background: none;\n border: none;\n cursor: pointer;\n}\n\n.wpstg--modal--backup--import--upload--title {\n color: #565656;\n}\n\n.wpstg--modal--backup--import--configure,\n.wpstg--modal--backup--import--upload--status,\n.wpstg--modal--backup--import--upload--container input[type=\"file\"] {\n display: none;\n}\n\n#wpstg--backups--import--file-list {\n font-size: 14px;\n font-weight: bold;\n}\n\n#wpstg--backups--import--file-list-empty {\n color: #E01E5A;\n}\n\n.wpstg--modal--backup--import--filesystem label {\n font-size: 14px;\n}\n\n.wpstg--modal--backup--import--filesystem button {\n margin-bottom: 20px;\n}\n\n.wpstg--modal--backup--import--upload {\n position: relative;\n min-height: 30px;\n}\n\n.wpstg--modal--backup--import--upload {\n color: #505050;\n}\n\n.wpstg--modal--backup--import--upload--container {\n position: relative;\n border-radius: 10px;\n margin: .5em;\n padding: 1em .5em;\n border: 3.5px dashed #dedede;\n transition: background-color 0.3s ease, color 0.3s ease;\n background-color: #f4fbff;\n min-height: 130px;\n}\n\n.wpstg--modal--backup--import--upload--container.wpstg--has-dragover span.wpstg--drop {\n display: inline-flex;\n}\n\n.wpstg--modal--backup--import--upload--container input[type='file'] {\n display: none;\n}\n\n.wpstg--modal--backup--import--upload--container img {\n margin-top: 10px;\n width: 4em;\n align-self: center;\n border: none;\n}\n\n.wpstg--modal--backup--import--upload--container span {\n margin-top: 1em;\n}\n\n.wpstg--backup--import--options > button {\n margin-top: 1em;\n padding: 1em;\n align-self: center;\n width: 185px;\n height: auto;\n line-height: normal;\n}\n\n.wpstg--backup--import--options {\n position: relative;\n display: flex;\n justify-content: center;\n}\n\n.wpstg--backup--import--options ul {\n display: none;\n}\n\n.wpstg--backup--import--options.wpstg--show-options ul {\n padding: 0;\n margin: 54px 0 0 0;\n display: block;\n position: absolute;\n width: 185px;\n background: #25a1f0;\n box-sizing: border-box;\n border-radius: 0 0 3px 3px;\n border-width: 1px;\n border-color: #2188c9;\n text-shadow: 0 -1px 1px #006799, 1px 0 1px #006799, 0 1px 1px #006799, -1px 0 1px #006799;\n}\n\n.wpstg--backup--import--options.wpstg--show-options ul li {\n border-bottom: .1em solid #25a1f0;\n margin: 0;\n}\n\n.wpstg--backup--import--options.wpstg--show-options ul li:hover {\n background-color: #25a1f0;\n}\n\n.wpstg--backup--import--options.wpstg--show-options ul li:last-child {\n border-bottom: none;\n}\n\n.wpstg--backup--import--options ul li button {\n cursor: pointer;\n background: none;\n border: none;\n margin: 0;\n width: 100%;\n color: white;\n height: 40px;\n line-height: 40px;\n}\n\n.wpstg--backup--import--options ul li button:hover {\n background-color: #259be6;\n}\n\n.wpstg--modal--backup--import--search-replace--info {\n margin: 1em 0;\n display: flex;\n flex-direction: row;\n}\n\n.wpstg--modal--backup--import--info p {\n text-align: left;\n margin: 0;\n}\n\n.wpstg--modal--backup--import--search-replace--wrapper button {\n align-self: center;\n}\n\n.wpstg--import--advanced-options--button {\n border: 0;\n border-radius: 3px;\n font-size: 18px;\n text-shadow: 0 -1px 1px #006799, 1px 0 1px #006799, 0 1px 1px #006799, -1px 0 1px #006799;\n cursor: pointer;\n}\n\n.wpstg--modal--backup--import--search-replace--new {\n color: white;\n background-color: #25a1f0;\n}\n\n.wpstg--modal--backup--import--search-replace--remove {\n color: white;\n background-color: #25a1f0;\n width: 22px;\n height: 22px;\n margin-left: 5px;\n}\n\n.wpstg--modal--backup--import--search-replace--input-group:first-child button {\n display: none;\n}\n\n.wpstg--modal--backup--import--search-replace--input--container {\n flex: 1;\n display: flex;\n flex-direction: column;\n}\n\n.wpstg--modal--backup--import--search-replace--input-group {\n width: 100%;\n border-bottom: 6px solid #f1f1f1;\n margin-bottom: 10px;\n}\n\n.wpstg--modal--backup--import--search-replace--input-group input {\n min-width: 250px;\n width: calc(50% - 4px - 11px - 5px); /* -4px is half of the padding; -11px is half of the button; -5 is the margin left of the button */\n display: inline-block;\n line-height: 10px;\n border: 1px solid #dedede;\n border-radius: 3px;\n color: #666;\n padding: 8px;\n margin-bottom: 12px;\n}\n\n.wpstg--modal--import--upload--process {\n display: none;\n position: relative;\n height: 30px;\n margin-top: 20px;\n margin-bottom: 20px;\n width: 100%;\n top: 0;\n left: 0;\n text-indent: 1em;\n white-space: nowrap;\n overflow: hidden;\n color: #333333;\n justify-content: center;\n align-items: center;\n}\n\n.wpstg--modal--import--upload--progress {\n position: absolute;\n background: #98d452;\n color: white;\n height: 100%;\n border-radius: 4px;\n left: 0;\n top: 0;\n}\n\n.wpstg--modal--import--upload--progress--title {\n z-index: 9;\n}\n\n.wpstg-fieldset:disabled {\n opacity: 0.8;\n border-top: 1px solid white;\n margin-top: 20px;\n}\n\n.wpstg-fieldset {\n padding-left: 20px;\n}\n\n.wpstg-fs-14 {\n font-size: 14px;\n}\n\n.wpstg-dark-alert {\n font-weight: bold;\n background-color: #0e86d9;\n padding: 15px;\n margin-top: 0px;\n color: white;\n}\n\n.wpstg-dark-alert .wpstg-button--cta-red {\n margin-left:10px;\n}\n\n.wpstg-form-group {\n display: block;\n width: 100%;\n margin-bottom: 8px;\n align-items: center;\n}\n\n.wpstg-form-group > label {\n display: block;\n font-weight: 700;\n}\n\n.wpstg-text-field > input {\n width: 300px;\n display: block;\n line-height: 1.5;\n}\n\n.wpstg-code-segment {\n display: block;\n}\n\n.wpstg-text-field > .wpstg-code-segment {\n margin-top: 4px;\n min-width: 300px;\n}\n\n.wpstg-form-group > .wpstg-checkbox {\n min-width: 100%;\n width: 100%;\n position: relative;\n}\n\n.wpstg-form-group > .wpstg-checkbox > input[type='checkbox'] {\n left: 150px;\n}\n\n.wpstg-rounded {\n border-radius: 3px;\n}\n\n.wpstg-white-border {\n border: 1px solid white !important;\n}\n\n.wpstg-ml-4 {\n margin-left: 4px;\n}\n\n#wpstg-confirm-backup-restore-data {\n margin: 40px;\n text-align: left;\n}\n\n#wpstg-advanced-settings hr {\n margin: 20px 0;\n}\n\n.wpstg-form-row {\n display: block;\n}\n\n.wpstg-form-row label,\n.wpstg-form-row input {\n display: table-cell;\n padding-left: 5px;\n padding-right: 5px;\n margin-top: 3px;\n margin-bottom: 3px;\n}\n\n.wpstg-form-row input {\n width: 400px;\n}\n\n.wpstg-form-row label {\n font-weight: bold;\n width: 1px;\n white-space: nowrap;\n}\n\n#wpstg-db-connect-output #wpstg-db-status {\n width: 390px;\n}\n\n.wpstg-fs-14 {\n font-size: 14px;\n}\n\n.wpstg-code-segment {\n display: block;\n}\n\n.wpstg-form-group > .wpstg-checkbox {\n min-width: 100%;\n width: 100%;\n}\n\n.wpstg-form-group > .wpstg-checkbox > input[type='checkbox'] {\n margin-left: 10px;\n}\n\n@media only screen and (max-width: 768px) {\n .wpstg-form-group > label {\n min-width: auto;\n width: auto;\n }\n\n .wpstg-text-field > input {\n width: 100%;\n }\n\n .wpstg-text-field > .wpstg-code-segment {\n margin-left: 0;\n min-width: 100%;\n }\n\n .wpstg-tab-section {\n width: calc(100vw - 60px);\n max-width: 450px;\n }\n}\n\n.wpstg-rounded {\n border-radius: 3px;\n}\n\n.wpstg-white-border {\n border: 1px solid white !important;\n}\n\n.wpstg-m-0 {\n margin: 0;\n}\n\n.wpstg-mt-10px {\n margin-top: 10px !important;\n}\n\n.wpstg-my-10px {\n margin-top: 10px !important;\n margin-bottom: 10px !important;\n}\n\n.wpstg-w-100 {\n width: 100%;\n}\n\n.wpstg-box-shadow {\n box-shadow: 0 1px 1px 0 rgba(0, 0, 0, .1);\n}\n\n.wpstg-float-left {\n float: left;\n}\n\n.wpstg-bold-text {\n font-weight: bold;\n}\n\n.wpstg-warning.notice {\n border-left: 4px solid #ffba00;\n}\n\n.wpstg-confirmation-label {\n background-color: #5b9dd9;\n color: #fff;\n padding: 2px;\n border-radius: 3px;\n}\n\n.wpstg-my-6px {\n margin-bottom: 6px;\n margin-top: 6px;\n}\n\n.wpstg-mb-10px {\n margin-bottom: 10px;\n}\n\n.wpstg-clear-both {\n clear: both;\n}\n\n.wpstg-font-italic {\n font-style: italic;\n}\n\n.wpstg-mt-20px {\n margin-top: 20px;\n}\n\n.wpstg-welcome-container {\n border: 2px solid white;\n padding: 20px;\n margin-bottom: 20px;\n}\n\n.wpstg-ml-30px {\n margin-left: 30px;\n}\n\n.wpstg-text-center {\n text-align: center;\n}\n\n.wpstg-feedback-link {\n text-decoration: none;\n}\n\n.wpstg-feedback-span {\n display: block;\n margin-bottom: 3px;\n}\n\n#wpstg-confirm-backup-restore-data {\n margin: 40px;\n text-align: left;\n}\n\n#wpstg-confirm-backup-restore-wrapper {\n margin: 30px;\n margin-top: 0;\n}\n\n#wpstg-confirm-backup-restore-wrapper h3 {\n color: #E01E5A;\n}\n\n#wpstg-progress-db,\n#wpstg-progress-backup {\n background-color: #3fa5ee;\n}\n\n#wpstg-progress-sr,\n#wpstg-progress-files.wpstg-pro {\n background-color: #3c9ee4;\n}\n\n#wpstg-progress-dirs,\n#wpstg-progress-data {\n background-color: #3a96d7;\n}\n\n#wpstg-progress-files:not(.wpstg-pro),\n#wpstg-progress-finishing {\n background-color: #378cc9;\n}\n\n.wpstg-issue-resubmit-confirmation.wpstg--swal2-container,\n.wpstg-swal2-container.wpstg--swal2-container {\n z-index: 10500;\n}\n\n.wpstg-swal2-container.wpstg-swal2-loading .wpstg--swal2-actions,\n.wpstg-swal2-container.wpstg-swal2-loading .wpstg--swal2-header {\n display: none;\n}\n\nbody.toplevel_page_wpstg_backup .wpstg--swal2-container .wpstg--swal2-content,\nbody.toplevel_page_wpstg_clone .wpstg--swal2-container .wpstg--swal2-content {\n z-index: 2;\n}\n\n.toplevel_page_wpstg_clone #swal2-content h2 {\n color: #565656;\n}\n\n.toplevel_page_wpstg_clone #swal2-content {\n line-height: 1.5em;\n}\n\ndiv#exportUploadsWithoutDatabaseWarning {\n font-style: italic;\n font-size: 0.9rem;\n margin: 10px;\n padding: 10px;\n border: 1px solid #e3e3e3;\n border-radius: 5px;\n text-align: center;\n background-color: #fafafa;\n}\n\n.wpstg-advanced-options-dropdown-wrapper {\n display: none; /* ENABLE WHEN WE HAVE ADVANCED OPTIONS FOR EXPORTING */\n margin-top: 20px;\n}\n\n.wpstg--modal--backup--import--search-replace--wrapper {\n text-align: left;\n margin-top: 20px;\n}\n\n.wpstg--modal--backup--import--search-replace--new--wrapper {\n text-align: center;\n}\n\n.wpstg-import-backup-contains li {\n display: inline-block;\n}\n\n.wpstg-import-backup-contains li .wpstg-backups-contains {\n border-radius: 3px;\n color: #979797;\n background-color: #e3e3e3;\n border: 1px solid #c2c2c2;\n width: 17px;\n height: 17px;\n font-size: 17px;\n}\n\n.wpstg-import-backup-contains.wpstg-listing-single-backup li .wpstg-backups-contains {\n padding: 2px;\n background-color: white;\n border: 1px solid #c2c2c2;\n}\n\n.wpstg-import-backup-contains.wpstg-listing-single-backup li .wpstg-backups-contains > .wpstg--dashicons {\n filter: invert(50%);\n}\n\n.wpstg-import-backup-contains .wpstg--tooltiptext {\n width: 50px;\n font-size: x-small;\n padding: 5px;\n left: -25px;\n text-align: center;\n}\n\n.wpstg-import-backup-contains-title {\n display: inline-block;\n}\n\nul.wpstg-import-backup-contains {\n display: inline-block;\n}\n\n.wpstg-import-backup-name {\n display: inline-block;\n font-weight: bold;\n}\n\n.wpstg-backup-more-info-toggle {\n font-size: x-small;\n display: inline-block;\n font-style: italic;\n cursor: pointer;\n}\n\n.wpstg-backup-more-info-toggle::selection {\n background: none;\n}\n\nul.wpstg-import-backup-more-info {\n font-size: 14px;\n text-align: left;\n margin-bottom: 30px;\n margin-top: 10px;\n background-color: #f6f6f6;\n border: 1px solid #878787;\n border-radius: 3px;\n padding: 7px;\n cursor: pointer;\n}\n\nul.wpstg-import-backup-more-info:hover {\n background-color: #def2ff;\n border: 1px solid #25a1f0;\n}\n\nul.wpstg-import-backup-more-info li {\n height: 20px;\n}\n\n.wpstg-backup-list {\n max-width: 800px;\n}\n\n.wpstg-backup-list h3 {\n color:#3e3e3e;\n}\n\n.wpstg-backup-list ul ul {\n margin-block-start: 1em;\n margin-block-end: 1em;\n}\n\n.wpstg-push-confirmation-message {\n text-align: justify;\n font-size: 15px;\n}\n\n.wpstg-settings-row {\n padding-top: 10px;\n padding-bottom: 10px;\n}\n\n.wpstg-settings-title {\n font-weight: 600;\n}\n\n.wpstg-settings-form-group {\n display: flex;\n align-items: center;\n}\n\n.wpstg-settings-form-group > .wpstg-settings-message {\n width: 30%;\n padding: 0;\n margin: 7px 0 0;\n}\n\n/**\n * WP STAGING EXCLUSION RULES TABLE LAYOUT\n */\n\n.wpstg-excluded-filters-container {\n padding: 0;\n margin-top: 10px;\n margin-bottom: 10px;\n max-width: 100%;\n width: 100%;\n}\n\n.wpstg-excluded-filters-container > table {\n width: 100%;\n border-collapse: collapse;\n border-color: transparent;\n}\n\n.wpstg-excluded-filters-container td {\n padding-top: 4px;\n padding-bottom: 4px;\n height: 20px;\n}\n\n.wpstg-excluded-filters-container h4 {\n margin: 0;\n}\n\n.wpstg-exclude-filters-foot {\n display: flex;\n justify-content: flex-start;\n padding: 0;\n}\n\n/**\n * WP STAGING EXCLUSION RULE DROPDOWN STYLE\n */\n\n\n.wpstg-exclude-filter-dropdown > button:hover {\n background: #135e96;;\n border: 1px solid #135e96;;\n}\n\n.wpstg-exclude-filter-dropdown > .wpstg-dropdown-menu {\n width: 128px;\n}\n\n.wpstg-remove-exclude-rule {\n color: #fff !important;\n background-color: #e01e5a;\n border: 1px solid #e01e5a;\n width: 20px;\n height: 20px;\n border-radius: 10px;\n font-size: 24px;\n padding: 0;\n display: inline-flex;\n justify-content: center;\n outline: none;\n box-shadow: none;\n font-weight: 400;\n line-height: 0.7;\n margin-top: 5px;\n cursor: pointer;\n}\n\n.wpstg-remove-exclude-rule:hover {\n background-color: #E01E5A;\n border-color: #E01E5A;\n}\n\n.wpstg-code-block {\n margin-top: 4px;\n font-size: 1.2em;\n background: #f8f8f8;\n border-radius: 2px;\n}\n\n.wpstg-rule-info {\n background: #f8f8f8 !important;\n}\n\ncode.wpstg-code {\n display: inline-block;\n font-size: 11px;\n border: 1px solid #aaa;\n background: #fff;\n padding: 2px 4px;\n margin-bottom: 1px;\n color: #E01E5A;\n}\n\n.wpstg-exclusion-rule-info {\n color: #fff !important;\n background-color: #ffc107;\n border: 1px solid #ffc107;\n width: 14px;\n height: 14px;\n border-radius: 7px;\n font-size: 14px;\n padding: 0;\n display: inline-flex;\n justify-content: center;\n align-items: center;\n outline: none;\n box-shadow: none;\n font-weight: 400;\n vertical-align: middle;\n}\n\n.wpstg-exclusion-rule-info:hover {\n background-color: #ffba0c;\n border: 1px solid #ffba0c;\n}\n\n/**\n * WP STAGING INPUTS EXCLUSION RULES\n */\n\n.wpstg-exclude-rule-input {\n font-size: 12px !important;\n padding: 2px 6px;\n box-shadow: none;\n outline: none !important;\n display: inline-block;\n font-weight: 400;\n line-height: 1.5;\n color: #222;\n border-radius: 0 !important;\n background-color: #fff;\n border: 1px solid #bbb;\n min-height: 24px !important;\n margin-top: 4px;\n margin-left: 4px;\n vertical-align: baseline !important;\n transition: all 0.3s cubic-bezier(.25, .8, .25, 1);\n width: 135px;\n}\n\n.wpstg-excluded-filters-container tbody > tr:last-child .wpstg-exclude-rule-input {\n margin-bottom: 4px;\n}\n\n.wpstg-exclude-rule-input:hover {\n border: 1px solid #999;\n}\n\n.wpstg-exclude-rule-input:focus {\n border: 1px solid #25A0F1 !important;\n box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24) !important;\n}\n\n.wpstg-file-size-exclude-select,\n.wpstg-path-exclude-select {\n width: 135px;\n}\n\n.wpstg-file-size-exclude-select-small {\n width: 52px;\n}\n\n.wpstg-file-size-exclude-input {\n width: 75px;\n}\n\n.wpstg-staging-option-title {\n margin: 15px 0 0;\n}\n\n.wpstg-swal-push-container.wpstg--swal2-container {\n z-index: 9995;\n}\n\n#wpstg-scanning-files {\n padding-bottom: 5px;\n}\n\n#wpstg-scanning-files.wpstg-tab-section, #wpstg-scanning-db.wpstg-tab-section {\n padding-top: 10px;\n}\n\n.wpstg-reset-excludes-container {\n margin: 10px 0;\n}\n\n.wpstg-swal2-ajax-loader {\n width: 100%;\n height: 150px;\n overflow: hidden;\n display: flex;\n justify-content: center;\n align-items: center;\n}\n\n@keyframes wpstg-loading-icon-anim {\n 0% {\n transform: rotate(0);\n }\n 100% {\n transform: rotate(360deg);\n }\n}\n\n.wpstg-swal2-ajax-loader > img {\n width: 64px;\n height: 64px;\n animation: wpstg-loading-icon-anim 1s infinite linear;\n -webkit-animation: wpstg-loading-icon-anim 1s infinite linear;\n}\n\n.wpstg-swal2-container .wpstg-tab-section {\n width: auto !important;\n}\n\n#wpstg-no-staging-site-results {\n margin-top: 10px;\n max-width: 375px;\n}\n\nli#wpstg-backup-no-results {\n max-width: 500px;\n}\n\nli#wpstg-backup-no-results div, #wpstg-no-staging-site-results div {\n display: inline-block;\n text-align: center;\n}\n\nli#wpstg-backup-no-results .wpstg--dashicons, #wpstg-no-staging-site-results .wpstg--dashicons {\n filter: invert(50%);\n position: absolute;\n margin-top: 1px;\n}\n\nli#wpstg-backup-no-results .no-backups-found-text, #wpstg-no-staging-site-results .no-staging-site-found-text {\n color: #5d5d5d;\n margin-left: 20px;\n}\n\n@media only screen and (max-width: 680px) {\n li#wpstg-backup-no-results div, #wpstg-no-staging-site-results div {\n width: 100%;\n }\n}\n\n#wpstg--modal--backup--download-inner p.wpstg-download-modal-text {\n font-size: 16px;\n color: #565656;\n}\n\n#wpstg--modal--backup--download-inner h2 {\n color: #565656;\n}\n\n.wpstg-backup-restore-contains-database,\n.wpstg-backup-restore-contains-files {\n display: none;\n}\n\n.wpstg-green-button {\n background: #8bc34a;\n border: 1px solid #78a93f;\n color: white;\n text-shadow: 0 -1px 1px #78a93f, 1px 0 1px #78a93f, 0 1px 1px #40c921, -1px 0 1px #78a93f;\n}\n\n.wpstg-green-button:hover {\n background: #78a93f;\n}\n\n.wpstg-is-dir-loading {\n position: absolute;\n margin-top: -2px;\n margin-left: 8px;\n display: none;\n}\n\n.wpstg-ml-8px {\n margin-left: 8px;\n}\n\n.wpstg-mb-8px {\n margin-bottom: 8px;\n}\n\n\n.wpstg-btn-danger {\n background-color: #E01E5A;\n border: 1px solid #E01E5A;\n color: white;\n text-shadow: none;\n}\n\n.wpstg-btn-danger:hover {\n background: #c0194d;\n box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3);\n}\n\n.wpstg-swal2-container.wpstg-swal2-loading > .wpstg--swal2-modal {\n height: 200px;\n}\n\n.wpstg-reset-confirmation.wpstg-swal2-container:not(.wpstg-swal2-loading) > .wpstg--swal2-modal {\n max-width: 480px;\n}\n\n.wpstg-reset-confirmation.wpstg-swal2-container .wpstg--swal2-header {\n display: none;\n}\n\n.wpstg-reset-confirmation.wpstg-swal2-container .wpstg--swal2-content {\n height: auto;\n}\n\n.wpstg-reset-confirmation.wpstg-swal2-container > .wpstg--swal2-modal > .wpstg--swal2-content .wpstg-tabs-wrapper {\n overflow-y: auto;\n height: auto !important;\n}\n\n.wpstg-reset-confirmation.wpstg-swal2-container > .wpstg--swal2-modal > .wpstg--swal2-content {\n font-size: 13px;\n}\n\n.wpstg-reset-confirmation.wpstg-swal2-container > .wpstg--swal2-modal > .wpstg--swal2-content .wpstg-dir {\n margin-bottom: 4px;\n}\n\n.wpstg-reset-confirmation.wpstg-swal2-container > .wpstg--swal2-modal > .wpstg--swal2-content .wpstg-subdir {\n margin-top: 4px;\n}\n\n.wpstg-reset-confirmation.wpstg-swal2-container.has-collapsible-open .wpstg--swal2-modal {\n height: calc(100vh - 70px);\n}\n\n.wpstg-reset-confirmation.wpstg-swal2-container.has-collapsible-open > .wpstg--swal2-modal > .wpstg--swal2-content .wpstg-tabs-wrapper {\n height: calc(100vh - 350px) !important;\n}\n\n.wpstg--swal2-actions.wpstg--modal--actions > button {\n margin-left: 4px;\n margin-right: 4px;\n text-transform: uppercase;\n text-shadow: initial;\n font-weight: 500;\n min-width: 80px;\n}\n\n.wpstg-swal-popup {\n max-width: 1200px !important;\n}\n\n.wpstg-swal-popup.wpstg-push-finished .wpstg--swal2-title {\n color: #a8a8a8;\n}\n\n.wpstg-swal-popup.wpstg-push-finished .wpstg--swal2-content {\n margin-top: 8px;\n color: #a8a8a8;\n}\n\n.wpstg-swal-popup .wpstg--swal2-progress-steps .wpstg--swal2-progress-step.wpstg--swal2-active-progress-step,\n.wpstg-swal-popup .wpstg--swal2-progress-steps .wpstg--swal2-progress-step,\n.wpstg-swal-popup .wpstg--swal2-progress-steps .wpstg--swal2-progress-step-line {\n background: #25a1f0;\n}\n\n.wpstg-swal-popup .wpstg--swal2-progress-steps .wpstg--swal2-progress-step-line {\n width: 2.75em;\n}\n\n.wpstg--dashicons {\n width: 16px;\n height: 16px;\n}\n\n.wpstg--dashicons.wpstg-dashicons-grey {\n filter: invert(20%);\n}\n\n.wpstg--dashicons.wpstg-dashicons-19 {\n width: 19px;\n height: 19px;\n}\n\n.wpstg--dashicons.wpstg-dashicons-21 {\n width: 21px;\n height: 21px;\n}\n\n#wpstg--tab--backup #wpstg-step-1 {\n display: flex;\n align-items: center;\n}\n\n.wpstg-advanced-options .wpstg--tooltip,\n#wpstg--tab--backup #wpstg-step-1 .wpstg--tooltip {\n border-bottom: 0 solid transparent;\n display: inline-flex;\n align-items: center;\n}\n\n#wpstg--tab--backup #wpstg-step-1 .wpstg--tooltip {\n border-bottom: 0 solid transparent;\n display: flex;\n align-items: center;\n}\n\n.wpstg--tooltip .wpstg--tooltiptext-backups::after {\n left: calc(20% + 2px);\n}\n\n.wpstg-listing-single-backup .wpstg--dashicons {\n width: 17px;\n height: 17px;\n}\n\n.wpstg-100-width {\n width: 100px;\n}\n\n.wpstg-caret {\n display: inline-block;\n width: 0;\n height: 0;\n margin-left: 2px;\n vertical-align: middle;\n border-top: 4px solid;\n border-right: 4px solid transparent;\n border-left: 4px solid transparent;\n transition: transform 0.2s;\n cursor: pointer;\n}\n\n.wpstg-caret.wpstg-caret-up {\n transform: rotate(-180deg);\n}\n\n.wpstg-advanced-options-site label {\n font-size: 16px;\n display: block;\n margin: .5em 0;\n}\n\n#wpstg-confirm-backup-restore-data {\n font-size: 18px;\n margin: 0;\n margin-top: 30px;\n}\n\n/* Sweetalert WP STAGING Theme */\n\nbody.toplevel_page_wpstg_backup .wpstg--swal2-container.wpstg--swal2-backdrop-show,\nbody.toplevel_page_wpstg_clone .wpstg--swal2-container.wpstg--swal2-backdrop-show {\n background: rgba(0, 0, 0, .6);\n z-index: 9995;\n}\n\n.wpstg-swal-popup.wpstg--swal2-popup {\n border-radius: 8px;\n z-index: 9999;\n padding: 24px;\n color: #565656;\n font-family: Verdana, Geneva, Tahoma, sans-serif;\n}\n\n.wpstg-swal-popup .wpstg--swal2-title {\n font-size: 22px;\n color: #565656;\n}\n\n.wpstg-swal-popup.wpstg--swal2-popup:not(.centered-modal) .wpstg--swal2-title {\n align-self: flex-start; /* For an actual Swal title */\n text-align: left; /* Manually adding this class to a non flex display */\n margin-bottom: 0;\n}\n\n.wpstg-swal-popup .wpstg--swal2-close {\n top: 8px;\n right: 8px;\n z-index: 5;\n}\n\n.wpstg-swal-popup .wpstg--swal2-close:focus {\n outline: none;\n}\n\n.wpstg-swal-popup.wpstg--swal2-popup:not(.centered-modal) .wpstg--swal2-actions {\n justify-content: flex-end;\n}\n\n.wpstg-swal-popup .wpstg--swal2-actions > button {\n border-radius: 4px;\n font-weight: 900;\n border: 0;\n font-size: 15px;\n padding: 10px 12px;\n text-transform: capitalize;\n line-height: normal;\n height: 40px;\n min-width: 100px;\n text-shadow: none;\n}\n\n.wpstg-swal-popup.wpstg--swal2-popup:not(.centered-modal) .wpstg--swal2-actions > button {\n margin-left: 8px;\n}\n\n.wpstg-swal-popup .wpstg--swal2-actions > button.wpstg--swal2-cancel {\n border: 1px solid rgba(29, 28, 29, 0.3);\n background: #fff;\n color: rgb(29, 28, 29);\n font-weight: 500;\n width: 100px;\n text-shadow: none;\n}\n\n.wpstg-swal-popup .wpstg--swal2-actions > button:hover {\n box-shadow: 0 1px 3px 0 rgba(0 0 0 .1);\n}\n\n.wpstg-swal-popup .wpstg--swal2-actions > button.wpstg--swal2-cancel:hover {\n background: rgba(28, 29, 28, .04);\n}\n\n#wpstg-backup-name-input {\n height: 44px;\n font-size: 18px;\n}\n\n.wpstg-restore-finished-container .wpstg--swal2-title {\n color: #565656 !important;\n}\n\n/*#wpstg-restore-success {\n color: #565656;\n}*/\n\n.wpstg-restore-finished-container .wpstg--swal2-content {\n margin-top: 20px;\n color: #a8a8a8;\n}\n\n/* WP Staging Implementation of Windows Style Linear Loader */\n\n.wpstg-linear-loader > span[class*=\"wpstg-linear-loader-item\"] {\n height: 6px;\n width: 6px;\n background: #333;\n display: inline-block;\n margin: 12px 2px;\n border-radius: 100%;\n animation: wpstg_linear_loader 3s infinite;\n animation-timing-function: cubic-bezier(0.030, 0.615, 0.995, 0.415);\n animation-fill-mode: both;\n}\n\n.wpstg-linear-loader > span.wpstg-linear-loader-item:nth-child(1) {\n animation-delay: 1s;\n}\n\n.wpstg-linear-loader > span.wpstg-linear-loader-item:nth-child(2) {\n animation-delay: 0.8s;\n}\n\n.wpstg-linear-loader > span.wpstg-linear-loader-item:nth-child(3) {\n animation-delay: 0.6s;\n}\n\n.wpstg-linear-loader > span.wpstg-linear-loader-item:nth-child(4) {\n animation-delay: 0.4s;\n}\n\n.wpstg-linear-loader > span.wpstg-linear-loader-item:nth-child(5) {\n animation-delay: 0.2s;\n}\n\n.wpstg-linear-loader > span.wpstg-linear-loader-item:nth-child(6) {\n animation-delay: 0s;\n}\n\n@keyframes wpstg_linear_loader {\n 0% {\n transform: translateX(-30px);\n opacity: 0;\n }\n 25% {\n opacity: 1;\n }\n 50% {\n transform: translateX(30px);\n opacity: 0;\n }\n 100% {\n opacity: 0;\n }\n}\n\n/* END - Windows Style Linear Loader */\n\n.wpstg--modal--backup--import--upload--content {\n padding: .75em;\n margin: 1em auto;\n}\n\n.wpstg--modal--backup--import--upload--content .wpstg-linear-loader {\n display: none;\n}\n\n#wpstg-multisite-disabled .wpstg-clone {\n width: 355px;\n}\n\n#wpstg-free-version-backups .wpstg-clone {\n text-align: center;\n}\n\n#wpstg-free-version-backups .wpstg-clone p {\n font-size: 16px;\n}\n\n.wpstg-staging-info li .backup-notes {\n word-break: break-word;\n}\n\n.wpstg--modal--import--upload--progress--title small {\n font-weight: normal;\n}\n\n#wpstg-report-issue-wrapper {\n position: relative;\n}\n\n#wpstg-report-issue-wrapper .arrow-up {\n width: 0;\n height: 0;\n border-left: 8px solid transparent;\n border-right: 8px solid transparent;\n border-bottom: 8px solid white;\n position: absolute;\n top: -8px;\n right: 40px;\n}\n\n.notice {\n margin: 10px 20px 0 2px;\n}\n\n.wpstg--notice {\n box-shadow: 0 1px 1px rgba(0, 0, 0, .04);\n margin: 20px 20px 20px 0px;\n padding: 1px 12px;\n}\n\n.wpstg--error a:hover {\n color: #eeeeee;\n}\n\n.wpstg--error, .wpstg--error a {\n background: #E01E5A;\n color: white;\n}\n\n/**\n * Buttons\n */\n\n.wpstg-button {\n display: inline-block;\n border-radius: 2px;\n cursor: pointer;\n padding: 2px 10px 2px 10px;\n text-transform: uppercase;\n font-weight: 500;\n outline: 0;\n transition: background-color .1s ease-in;\n text-decoration: none;\n}\n\n.wpstg-button.wpstg-save {\n background-color: #1687A7;\n color: white;\n}\n\n.wpstg-button.wpstg-save:hover {\n background-color: #276678;\n}\n\n\n.wpstg-button.wpstg-button-light {\n background-color: #f8f8f8;\n border: 1px solid #eee;\n color: #333;\n animation: background-color 0.3s;\n}\n\n.wpstg-button.wpstg-button-light:hover {\n background-color: #e0e0e0;\n border: 1px solid #e0e0e0;\n}\n\n.wpstg-buttons .spinner {\n float: none;\n margin: 0 0 0 5px;\n}\n\n.wpstg-button.danger {\n display: inline-block;\n text-decoration: none;\n text-align: center;\n text-transform: inherit;\n background-color: #E01E5A;\n color: white;\n border-radius: 2px;\n border-color: transparent;\n}\n\n.wpstg-button.danger:hover {\n background-color: #c0194d;\n}\n\n.wpstg-button--big {\n display: inline-block;\n padding: 10px;\n min-width: 170px;\n font-size: 16px;\n text-decoration: none;\n text-align: center;\n margin-top: 20px;\n color: white;\n border-radius: 3px;\n}\n\n.wpstg-button--primary {\n display: inline-block;\n text-decoration: none;\n font-size: 13px;\n line-height: 2.15384615;\n min-height: 30px;\n margin: 0;\n padding: 0 10px;\n cursor: pointer;\n border: 1px solid rgba(29, 28, 29, 0.3);\n -webkit-appearance: none;\n border-radius: 2px;\n white-space: nowrap;\n box-sizing: border-box;\n color: #171717;\n}\n\n.wpstg-button--primary:hover {\n background: rgba(28, 29, 28, .04);\n color: black;\n}\n\n.wpstg-button--secondary {\n display: inline-block;\n background-color: transparent;\n color: #95a5a6;\n border-radius: 2px;\n border: 1px solid rgba(29, 28, 29, 0.3);\n cursor: pointer;\n padding: 4px 10px 2px 10px;\n font-weight: 500;\n outline: 0;\n transition: background-color .1s ease-in;\n text-decoration: none;\n}\n\n.wpstg-button--red {\n background-color: #E01E5A;\n border-color: #E01E5A;\n color: white;\n}\n\n.wpstg-button--red:hover {\n background-color: #d02358;\n border-color: #e0255f;\n color: white;\n}\n\n.wpstg-button--cta-red {\n background-color: #fe008f;\n border-color: #E01E5A;\n color: white;\n}\n\n.wpstg-button--cta-red:hover {\n background-color: #f31391;\n border-color: #e0255f;\n color: white;\n}\n\n.wpstg-button--blue {\n background-color: #25A0F1;\n border-color: #25A0F1;\n color: white;\n}\n\n.wpstg-button--blue:hover {\n background-color: #259be6;\n border-color: #259be6;\n color: white;\n}\n\n#wpstg-button-backup-upgrade {\n font-size: 16px;\n}\n\n.wpstg-staging-status {\n color: #E01E5A;\n}\n\n#wpstg-push-changes,\n#wpstg-start-updating,\n#wpstg-save-clone-data {\n margin-left: 5px;\n}\n\ninput.wpstg-textbox {\n border: 1px solid #aaa;\n border-radius: .25rem;\n padding: 0.25rem 0.5rem;\n font-size: 14px;\n}\n\ninput.wpstg-textbox:focus {\n outline: 0;\n border-color: #259be6;\n -webkit-box-shadow: 0 0 0 0.1rem rgba(221, 221, 221, .35);\n box-shadow: 0 0 0 0.1rem rgba(221, 221, 221, .35);\n}\n\ninput.wpstg-textbox::placeholder {\n color: #888;\n}\n\n.wpstg--advance-settings--checkbox {\n display: flex;\n align-items: center;\n}\n\n.wpstg--advance-settings--checkbox > label {\n font-size: 14px;\n font-weight: bolder;\n width: 165px;\n display: inline-block;\n}\n\n.wpstg--advance-settings--checkbox > .wpstg--tooltip {\n margin-top: 5px;\n margin-left: 5px;\n position: relative;\n display: inline-block;\n border-bottom: 0px solid transparent;\n}\n\n.wpstg--advance-settings--checkbox > .wpstg--tooltip > .wpstg--tooltiptext {\n top: 18px;\n left: -150px;\n}\n\n\ndiv#wpstg-restore-wait {\n display: none;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n text-align: center;\n height: 100vh;\n width: 100vw;\n position: fixed;\n top: 0;\n left: 0;\n background: white;\n z-index: 99999;\n}\n\ndiv#wpstg-restore-wait .wpstg-title {\n font-weight: bold;\n}\n\ndiv#wpstg-restore-wait div {\n font-size: 16px;\n margin-top: 12px;\n}\n\n.resumable-browse {\n cursor: pointer;\n}\n\n.resumable-browse a {\n text-decoration: underline;\n}\n\n.wpstg-upload-text {\n font-weight: 600;\n}\n\n.wpstg--modal--backup--import--upload--container.dragover {\n transition: background-color 0.7s;\n background-color: #94dc96;\n color: #FFF;\n}\n\n.wpstg--modal--backup--import--upload--container.dragover * {\n pointer-events: none; /* Avoids flickering when dragging to drop a file */\n}\n\n.wpstg--modal--backup--import--upload--container.dragover .wpstg-upload-text {\n display: none;\n}\n\n.wpstg--modal--backup--import--upload--container.dragover .wpstg-dragover-text {\n display: block;\n}\n\n.wpstg--modal--backup--import--upload--container .wpstg-dragover-text {\n display: none;\n}\n\n#wpstg-invalid-license-message, #wpstg-invalid-license-message a {\n font-weight: 500;\n color: #E01E5A;\n margin-left: 6px;\n}\n\n#wpstg-sidebar--banner {\n max-width: 200px;\n}\n\n@media screen and (max-width: 1234px) {\n .wpstg-h2 {\n font-size: 24px;\n }\n\n #wpstg-welcome li {\n font-size: 14px;\n }\n}\n\n.wpstg-exclamation {\n color: #ffffff;\n border-radius: 100%;\n background-color: #E01E5A;\n width: 20px;\n height: 20px;\n text-align: center;\n font-weight: bold;\n display: inline-block;\n margin: 6px;\n}\n\n.wpstg--tab--contents {\n padding-top: 1px;\n}\n\n.wpstg-swal-show.wpstg--swal2-show {\n -webkit-animation: wpstg-swal-show 0.2s !important;\n animation: wpstg-swal-show 0.2s !important;\n}\n\n@-webkit-keyframes wpstg-swal-show {\n 0% {\n transform: scale(0.3);\n }\n 100% {\n transform: scale(1);\n }\n}\n\n@keyframes wpstg-swal-show {\n 0% {\n transform: scale(0.3);\n }\n 100% {\n transform: scale(1);\n }\n}\n"]}
|
assets/css/dist/wpstg-admin.min.css
CHANGED
@@ -1,2 +1,2 @@
|
|
1 |
-
.wpstg--violet{color:#9d37ae}.wpstg-border--violet{border:1px solid #9d37ae}.wpstg--red{color:#e01e5a}.wpstg-cta--red{color:#fe008f}.wpstg--blue{color:#24a1f0}.wpstg--darkblue{color:#0e86d9}.wpstg--green{color:#83c11f}.wpstg--grey{color:#3e3e3e}.wpstg--darkgrey{color:#1b1b1b}#wpstg-tab-container ul{background:#f1f1f1;float:left;list-style:none;margin:0;padding:0}#wpstg-tab-container ul li:first-child.selected-tab{border-top:none}#wpstg-tab-container ul li a.selected-tab{font-weight:700;text-decoration:none}#wpstg-tab-container .row{padding-bottom:12px;padding-top:10px}.wpstg-tabs-container .nav-tab-wrapper{padding:0}#wpstg-tab-container .row label strong,#wpstg-tab-container .row strong{font-weight:700}.wpstg-tabs a{padding:5px}#wpstg-tab-container>ul>li.wpstg-tabs.active{background-color:#fff}#wpstg_settingsgeneral_header .row:nth-child(3),#wpstg_settingsgeneral_header .row:nth-child(4){display:none}#wpstg-tab-container .wpstg-settings-panel{overflow:auto;padding:0 20px 20px}#wpstg-tab-container .wpstg-form-table th{color:#484848;font-size:14px;font-weight:700;line-height:1.3;padding:20px 10px 20px 0;text-align:left;vertical-align:top;width:30%}#wpstg-tab-container .wpstg-form-table tr{border-bottom:1px solid #e7e7e7}#wpstg-tab-container span.description{color:#484848;display:block;font-size:13px;font-style:normal;font-weight:400;margin-top:7px}#wpstg-tab-container .col-title{color:#484848}@media only screen and (max-width:680px){#wpstg-tab-container ul{float:none}#wpstg-tab-container .wpstg-form-table tr>th{width:100%}#wpstg-tab-container span.description{font-size:14px}#wpstg-tab-container .wpstg-form-table tr>td,#wpstg-tab-container .wpstg-form-table tr>th{padding:10px}}#wpstg-tab-container ul li{margin-bottom:0}#wpstg-tab-container ul li a{border-bottom:1px solid #e7e7e7;border-left-style:solid;border-left-width:0;border-right-style:solid;border-right-width:0;border-top:1px solid #fff;color:#0097df;display:block;font-weight:700;padding:10px 4px 10px 14px;text-decoration:none}#wpstg-tab-container ul li a:hover{background-color:#e5e5e5;color:#777}.wpstg-logo{display:block;float:left;font-size:16px;padding-top:20px;width:220px}.wpstg-logo img{max-width:212px}.wpstg-version{color:#9b9b9b;display:block;padding-top:34px}.wpstg_admin .nav-tab{color:#3c3c3c}#wpstg-tab-container table tbody tr:first-child>th>div{font-size:20px}#wpstg-clonepage-wrapper{margin-bottom:20px;width:98%}@media screen and (min-width:1090px){#wpstg-clonepage-wrapper{float:left;margin-bottom:20px}}#wpstg-steps{margin-left:20px;margin-top:0}#wpstg-steps li{color:#444;float:left;line-height:20px;padding-right:10px}.wpstg-step-num{border:1px solid #3e3e3e;border-radius:3px;display:inline-block;height:20px;margin-right:5px;text-align:center;width:20px}.wpstg-current-step{font-weight:700}.wpstg-current-step .wpstg-step-num{background:#3e3e3e;color:#eee}.wpstg-box{margin:10px 0;overflow:hidden;padding:10px}.wpstg-box,.wpstg-clone{position:relative;transition:border-color .2s ease-in-out}.wpstg-clone{background-color:#fff;border-radius:3px;box-shadow:0 0 1px rgba(0,0,0,.125),0 1px 3px rgba(0,0,0,.1);color:#3e3e3e;margin-bottom:10px;padding:16px}.wpstg-clone.active{border-color:#1d94cf}.wpstg-clone-header{align-items:center;display:flex;justify-content:space-between}.wpstg-clone-title{color:#3e3e3e;display:inline-block;font-size:15px;font-weight:700;max-width:300px;text-decoration:none}.wpstg-clone-title:hover{color:#111}.wpstg-clone-actions{display:flex;margin-top:5px}.wpstg-clone-actions .wpstg-dropdown-toggler{background:#25a1f0;border-radius:2px;box-shadow:0 0 1px rgba(0,0,0,.125),0 1px 3px rgba(0,0,0,.2);color:#fff;font-size:14px;padding:6px 10px;text-decoration:none}.wpstg-clone-actions .wpstg-dropdown-toggler:hover{background:#002648;color:#fff}.wpstg-dropdown{position:relative}.wpstg-dropdown>.wpstg-dropdown-menu{background:#fff;border-radius:2px;box-shadow:0 0 1px rgba(0,0,0,.125),0 1px 3px rgba(0,0,0,.2);display:none;flex-direction:column;padding:8px;position:absolute;right:0;top:calc(100% + 4px);width:100px;z-index:1000}.wpstg-dropdown>.wpstg-dropdown-menu.wpstg-menu-dropup{bottom:100%;top:auto;transform:translate3d(0,-3px,0)}.wpstg-dropdown>.wpstg-dropdown-menu.shown{display:flex}.wpstg-clone-action,.wpstg-dropdown-action{border-bottom:1px solid #f3f3f3;border-radius:3px;color:#3e3e3e;padding:6px 8px;position:relative;text-decoration:none;transition:color .2s ease-in-out}.wpstg-clone-action:hover,.wpstg-dropdown-action:hover{background:rgba(0,0,0,.05)}.wpstg-dropdown-action{background:transparent;border:0 solid #000;box-shadow:none;color:#3e3e3e;outline:none}.wpstg-remove-clone:hover{color:#e01e5a}.wpstg-clone-action:last-child{border:none}.wpstg-clone:hover .wpstg-clone-action{display:inline-block}#wpstg-show-error-details:focus,#wpstg-workflow .wpstg-clone-action{box-shadow:none;outline:none}.wpstg-link-btn{background:#45a1c9;color:#fff;display:inline-block;padding:5px 10px;text-decoration:none;transition:all .2s ease-in-out;vertical-align:baseline}.wpstg-link-btn:focus,.wpstg-link-btn:hover{box-shadow:none;color:#fff;outline:none}#wpstg-workflow .wpstg-link-btn:active{vertical-align:baseline}.wpstg-link-btn[disabled]{background:#777!important;border-color:#555!important;pointer-events:none}#wpstg-cancel-cloning,#wpstg-cancel-cloning-update{margin-top:5px}#wpstg-cancel-cloning.success{background:#64dd58;border-color:#54bd4a}#wpstg-error-details,#wpstg-error-wrapper{clear:both;display:none;font-size:13px;padding-top:10px}#wpstg-show-error-details{color:#555;display:inline-block;margin-left:5px;text-decoration:none;transition:color .2s ease-in-out}#wpstg-show-error-details:hover{color:#1d94cf}#wpstg-error-details{border-left:5px solid #e01e5a;padding:10px;width:500px}#wpstg-try-again{display:none}#wpstg-home-link{float:right}.wpstg-loader{content:url(../../img/loading.gif);display:none;margin-top:10px}.wpstg-loader.wpstg-finished{background-color:#00c89a;border-radius:3px;color:#fff;content:"Finished";display:block;margin-top:0;padding:2px 10px}#wpstg-workflow{clear:both;float:left;max-width:800px;min-height:380px;min-width:500px;padding-bottom:20px;padding-right:20px;padding-top:20px;position:relative}#wpstg-sidebar{display:block;float:left;margin-left:10px;max-width:400px}#wpstg-removing-clone.loading:after,#wpstg-workflow.loading:after{background:hsla(0,0%,100%,.7);content:"Loading... may take a while for huge websites";display:block;font-size:20px;height:100%;left:0;padding-top:100px;position:absolute;text-align:center;top:0;width:100%;z-index:99}#wpstg-removing-clone.loading:after{content:"REMOVING"!important}#wpstg-existing-clones,#wpstg-removing-clone{position:relative}#wpstg-existing-clones h3{color:#3e3e3e}#wpstg-removing-clone .wpstg-tab-section{display:block}.wpstg-progress-bar{background-color:#d6d8d7;height:27px;max-width:900px;padding:0}.wpstg-progress{background:#3fa5ee;float:left;overflow:hidden}.wpstg-progress,.wpstg-progress-files{color:#fff;height:100%;line-height:25px;text-align:center;transition:width .6s ease;width:0}.wpstg-progress-files{background:#16b4f0}#wpstg-clone-path.wpstg-error-input,#wpstg-new-clone-id.wpstg-error-input{border:1px solid #e01e5a;box-shadow:0 0 2px rgba(255,66,53,.8)}#wpstg-new-clone-id{margin-left:15px;max-width:100%;width:450px}#wpstg-new-clone{background:#25a1f0;border-color:#2188c9}#wpstg-new-clone:hover{background:#259be6;border-color:#2188c9}#wpstg-clone-path{margin-left:10px;width:350px}.wpstg-error-msg{color:#e01e5a}#wpstg-clone-id-error{background-color:#f0f8ff;display:block;margin:20px;padding:10px}#wpstg-start-cloning+.wpstg-error-msg{display:block;margin-top:5px}.wpstg-size-info{color:#999;font-weight:400;left:2px;position:relative}.wpstg-db-table .wpstg-size-info{top:2px}.wpstg-db-table:hover{background-color:#f0f8ff}#wpstg-workflow #wpstg-start-cloning{margin-left:5px;vertical-align:baseline}.wpstg-tabs-wrapper{margin:10px 0;max-width:640px}#wpstg-path-wrapper{border-bottom:2px dashed #ccc;margin-bottom:10px;padding-bottom:10px}.wpstg-tab-section{border-bottom:1px solid #ddd;border-left:none;border-right:none;display:none;padding:0 36px;width:calc(100% - 72px)}.wpstg-tab-section:after{clear:both;content:"";display:block}.wpstg-tab-header{border-bottom:1px solid #ddd;border-left:none;border-right:none;color:#444;display:block;font-size:16px;font-weight:700;padding:10px;text-decoration:none}.wpstg-tab-triangle{animation:transform .5s;border-bottom:5px solid transparent;border-left:10px solid;border-top:5px solid transparent;cursor:pointer;display:inline-block;height:0;margin-right:12px;margin-top:-3px;transition:transform .2s;vertical-align:middle;width:0}.wpstg-tab-triangle.wpstg-no-icon{border-bottom:0 solid;border-left:0 solid;border-top:0 solid;height:auto;margin-right:2px;vertical-align:auto;width:auto}.wpstg-tab-triangle.wpstg-rotate-90{transform:rotate(90deg)}.wpstg-tab-header:focus{box-shadow:none;color:#444;outline:none}#wpstg-large-files{border:1px dashed #ccc;display:none;font-size:12px;margin-top:20px;padding:10px;position:relative}#wpstg-large-files h3{background:#fff;left:5px;margin:0;padding:0 5px;position:absolute;top:-10px}.wpstg-subdir{display:none;margin-left:20px}.wpstg-subdir.wpstg-push{display:block;margin-left:20px}.wpstg-dir a.disabled{color:#888;cursor:default;text-decoration:none}.wpstg-check-subdirs{display:inline-block;margin-left:10px}.wpstg-notice-alert{background-color:#e01e5a;color:#fff}.wpstg-notice--white,.wpstg-notice-alert{display:block;margin-top:10px;max-width:600px;padding:20px}.wpstg-notice--white{background-color:#fff}.wpstg-notice-alert a,.wpstg-notice-alert h3{color:#fff}.wpstg-header{border-bottom:1px solid #dfdfdf;clear:both;font-size:19px;font-weight:400;line-height:1.6em;padding-top:10px}#wpstg-clone-label{font-size:14px;font-weight:700}.wpstg-log-details{background-color:#000;border:1px solid #fff;color:silver;font-family:monospace;font-size:12px;height:300px;line-height:15px;margin-top:15px;max-width:650px;overflow:scroll;padding:3px;white-space:nowrap}#wpstg-finished-result{display:none}#wpstg-remove-cloning{background:#ff3428;border-color:#e72f24;margin-top:5px}#wpstg-success-notice{background-color:#fff;border:1px solid #ccc;margin-top:20px;max-width:900px;padding:10px}.wpstg_beta_notice{margin-bottom:20px}.wpstg-sysinfo{height:700px;width:700px}.wpstg-form-table .col-title label{font-weight:600}.wpstg-form-table td:first-child{width:30%}.wpstg-share-button-container{margin:5px 0}.wpstg-share-button-container p{margin:0 0 10px}.wpstg-share-button{display:inline-block}.wpstg-share-button a{text-decoration:none}.wpstg-share-button .wpstg-share{-webkit-border-radius:2px;-moz-border-radius:2px;border-radius:2px;color:#fff;display:inline;font-family:sans-serif;font-size:12px;font-weight:700;padding:4px 8px;text-align:center;text-decoration:none}.wpstg-share-button-twitter .wpstg-share{background-color:#00abf0}.wpstg-share-button-facebook .wpstg-share{background-color:#3b5998}.wpstg-share-button-googleplus .wpstg-share{background-color:#f53424}.wpstg-share-button-facebook .share:active,.wpstg-share-button-googleplus .share:active,.wpstg-share-button-twitter .share:active{background-color:#353535}#wpstg-check-space{margin-left:8px}#wpstg-welcome li{font-size:18px;line-height:29px;list-style:none!important;padding-left:23px;position:relative}#wpstg-welcome{background-color:#fff;margin-right:20px;margin-top:20px}.wpstg-heading-pro{font-weight:700}.wpstg-h2{font-size:30px;line-height:2.5rem;margin-bottom:1.2rem;margin-top:0}#wpstg-welcome li:before{background:url(data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%221792%22%20height%3D%221792%22%20viewBox%3D%220%200%201792%201792%22%20xmlns%3D%22http%3A%2F%2Fwww%2Ew3%2Eorg%2F2000%2Fsvg%22%3E%3Cpath%20fill%3D%22%2377B227%22%20d%3D%22M1671%20566q0%2040%2D28%2068l%2D724%20724%2D136%20136q%2D28%2028%2D68%2028t%2D68%2D28l%2D136%2D136%2D362%2D362q%2D28%2D28%2D28%2D68t28%2D68l136%2D136q28%2D28%2068%2D28t68%2028l294%20295%20656%2D657q28%2D28%2068%2D28t68%2028l136%20136q28%2028%2028%2068z%22%2F%3E%3C%2Fsvg%3E) left .4em no-repeat;background-size:contain;color:#77b227;content:"";height:100%;left:0;position:absolute;top:-2px;width:1em}.wpstg-h1{font-size:2.5em;letter-spacing:normal;line-height:3.68rem;margin-bottom:1.35rem}.wpstg--swal2-content h1{color:#444}#wpstg-welcome h2{margin:0 0 15px}#wpstg-welcome .wpstg-footer{clear:both;font-style:italic;margin-top:20px}#wpstg-footer{clear:both;margin-right:10px;margin-top:20px;padding-top:50px}#wpstg-footer a{text-decoration:none}#wpstg-footer li{list-style:circle;margin-bottom:2px}#wpstg-footer ul{margin-left:15px;margin-top:0}.wpstg-footer--title{margin-left:15px}.wpstg-staging-info{color:#3e3e3e;font-size:12px;margin-top:8px}.wpstg-staging-info a{color:#3e3e3e}.wpstg-staging-info li{margin-bottom:2px}.wpstg-bold{font-weight:600}#wpstg-processing-status{float:left;font-size:13px;font-weight:400;margin-top:5px}#wpstg-processing-timer{float:right;font-size:13px;font-weight:400;margin-top:5px}#wpstg-report-issue-button{background-color:#fff;border:1px solid #e01e5a;color:#e01e5a;margin-left:50px}#wpstg-report-issue-button:hover{background-color:#dc2b62;color:#fff}.wpstg-blue-primary{-webkit-appearance:none;background:#25a1f0;border:1px solid #2188c9;border-radius:3px;box-sizing:border-box;color:#fff;cursor:pointer;display:inline-block;font-size:13px;height:28px;margin:0;padding:0 10px 1px;text-decoration:none;text-shadow:0 -1px 1px #006799,1px 0 1px #006799,0 1px 1px #006799,-1px 0 1px #006799;white-space:nowrap}.wpstg-blue-primary:hover{background-color:#259be6}.wpstg-report-issue-form{background-color:#fff;border:1px solid #e8e8e8;border-radius:3px;box-shadow:inset 0 1px 0 0 #fff;display:none;padding:15px 15px 10px;position:absolute;right:0;top:35px;width:300px;z-index:999}@media (max-width:600px){.wpstg-report-issue-form{position:relative}}.wpstg-report-show{display:block}.wpstg-field input[type=text],.wpstg-field textarea{font-weight:400;line-height:1.4;margin-bottom:4px;width:100%}.wpstg-report-email,.wpstg-report-hosting-provider{border-radius:3px;font-size:.8rem;font-weight:400;height:2.3rem;line-height:2.3rem;margin-bottom:4px;padding:0 10px;width:100%}.wpstg-report-description{border-radius:3px;font-size:.8rem;padding:6px 10px;resize:none}.wpstg-report-privacy-policy{font-size:12px;margin-bottom:15px}#wpstg-report-cancel{float:right;font-weight:700;margin-right:5px}#wpstg-success-button{font-weight:700}.wpstg-message{background-color:#f5e0de;border-radius:3px;box-sizing:border-box;-moz-box-sizing:border-box;color:rgba(0,0,0,.6);height:auto;margin:10px 0;min-height:18px;padding:6px 10px;position:relative}.wpstg-message.wpstg-error-message{background-color:#f5e0de;color:#b65147;font-size:12px}.wpstg-message.wpstg-success-message{background-color:#d7f8e0;color:#515151}.wpstg-message p{font-size:13px;margin:3px 0}.wpstg-warning{background-color:#ffb804;color:#fff;display:block;margin:10px 10px 10px 0;padding:10px}.wpstg-warning a{color:#fff;font-weight:700;text-decoration:underline}.wpstg-error{background-color:#e01e5a!important;border-color:transparent!important;box-shadow:none!important;color:#fff;display:block;margin:10px 10px 10px 0!important;padding:10px!important}.wpstg-error a{color:#fff;font-weight:700;text-decoration:underline}#wpstg-resume-cloning{display:none}#wpstg-external-db th{text-align:left;width:120px}#wpstg-db-connect{font-weight:400}#wpstg-db-status{border:1px solid transparent;border-radius:4px;display:block;margin-bottom:20px;margin-top:5px;padding:5px;text-align:center;text-decoration:none}.wpstg-text-field>#wpstg-db-status{margin-left:150px;margin-top:8px;min-width:300px}.wpstg-success{background-color:#dff0d8;border-color:#d6e9c6;color:#3c763d}.wpstg-failed{background-color:#f2dede;border-color:#ebccd1;color:#a94442}#wpstg_select_tables_cloning{font-size:13px;height:600px}#wpstg-update-notify{background-color:#e01e5a;color:#fff;font-size:14px;line-height:normal;padding:10px}#wpstg-update-notify a{color:#fff;font-weight:700}.wpstg-pointer{cursor:pointer}.wpstg--tab--header{background-color:#fff;border-radius:2px;box-shadow:0 0 1px rgba(0,0,0,.125),0 1px 3px rgba(0,0,0,.02);color:#3e3e3e;position:relative;transition:border-color .2s ease-in-out}.wpstg--tab--header ul{display:flex}.wpstg--tab--header ul li{margin-bottom:0;margin-right:1em}.wpstg--tab--header ul li:last-child{margin-right:0}.wpstg--tab--header a{color:#c4c4c4;cursor:pointer;display:inline-block;font-size:18px;min-width:150px;padding:1em 1.25em 9px;text-align:center}.wpstg--tab--header a.wpstg--tab--active,.wpstg--tab--header a:hover{border-bottom:.4em solid #25a1f0;color:#25a1f0}.wpstg--tab--header a:hover{background-color:#fefefe}.wpstg--tab--content{display:none}.wpstg--tab--active{display:block}.wpstg--text--strong,.wpstg--text--strong *{font-weight:700!important}.wpstg--text--danger{color:#a94442}.wpstg--tooltip{border-bottom:1px dotted #000;display:inline-block;margin-left:10px;position:relative}.wpstg--tooltip .wpstg--tooltiptext{background-color:#fff;border-radius:3px;-webkit-box-shadow:0 3px 6px rgba(0,0,0,.16),0 3px 6px rgba(0,0,0,.23);-moz-box-shadow:0 3px 6px rgba(0,0,0,.16),0 3px 6px rgba(0,0,0,.23);box-shadow:0 3px 6px rgba(0,0,0,.16),0 3px 6px rgba(0,0,0,.23);color:#505050;padding:12px;position:absolute;text-align:left;visibility:hidden;width:300px;z-index:1}.wpstg--tooltiptext-backups{left:-150%;margin-left:-56px;margin-top:4px;top:100%;width:120px}.wpstg--tooltip.wpstg--exclude-rules--tooltip{border-bottom:0 solid transparent}.wpstg--tooltip.wpstg--exclude-rules--tooltip>.wpstg--tooltiptext{margin-left:-150px;margin-top:0}.wpstg--tooltip .wpstg--tooltiptext-backups:after{border:5px solid transparent;border-bottom-color:#fff;bottom:100%;content:" ";left:50%;margin-left:25px;position:absolute}.wpstg--tooltip .wpstg--tooltiptext.has-top-arrow{margin-top:6px}.wpstg--tooltip .wpstg--tooltiptext.has-top-arrow:after{border:5px solid transparent;border-bottom-color:#fff;bottom:100%;content:" ";left:50%;margin-left:-18px;position:absolute}.wpstg--snaphot-restore-table tr{line-height:12px}.wpstg-beta-notice{background-color:#b0e8b0;border-radius:3px;margin-bottom:20px;padding:7px}#wpstg-backup-name{font-size:1.875em;font-weight:600}#wpstg_select_tables_cloning option:checked{-webkit-appearance:menulist-button;background-image:linear-gradient(0deg,#1e90ff,#1e90ff)}.wpstg--btn--cancel{color:#fff;font-size:16px;height:auto;line-height:normal;margin-bottom:1.5em;padding:.5em}.wpstg--btn--cancel,.wpstg--btn--cancel:hover{background:#ff3428;border-color:#e72f24}.wpstg--process--content>.wpstg--swal2-html-container{padding:4em 2em!important}.wpstg--modal--error--logs,.wpstg--modal--process--logs{background:#fff;border:1px solid #a8a8a8;border-radius:3px;display:none;height:300px;margin-top:1em;overflow:auto;padding-left:10px;padding-top:10px;text-align:justify}.wpstg--modal--error--logs{height:auto;max-height:300px}.wpstg--modal--process--logs p{font-size:12px;white-space:nowrap}.wpstg--modal--process--logs p.wpstg--modal--process--msg--info{color:#222}.wpstg--modal--process--logs p.wpstg--modal--process--msg--debug{color:#757575}.wpstg--modal--process--title{color:#565656;margin:.25em 0}.wpstg--modal--process--subtitle{color:#565656;margin:.5em 0}.wpstg--modal--error--logs>p{color:#222;font-size:14px;text-align:left}.wpstg--modal--error--logs p,.wpstg--modal--process--logs p{margin:0 0 2px}.wpstg--modal--process--msg--critical,.wpstg--modal--process--msg--error{color:#e01e5a}.wpstg--modal--process--msg--warning{color:#ff8c00}.wpstg--modal--process--msg-found{color:#e01e5a;font-size:16px;font-weight:700}.wpstg--modal--delete{color:#565656;margin-top:8px;text-align:left}.wpstg-swal-popup .wpstg--swal2-cancel.wpstg--btn--cancel{margin-bottom:0;text-shadow:none!important}.wpstg-swal-popup .wpstg-loader{display:inline-block!important}.wpstg--modal--process--generic-problem{border-left:5px solid #e01e5a;display:none;margin:.5em 0}.wpstg--modal--process--logs--tail{background:none;border:none;color:#565656;cursor:pointer;font-size:16px}.wpstg--modal--backup--import--upload--title{color:#565656}.wpstg--modal--backup--import--configure,.wpstg--modal--backup--import--upload--container input[type=file],.wpstg--modal--backup--import--upload--status{display:none}#wpstg--backups--import--file-list{font-size:14px;font-weight:700}#wpstg--backups--import--file-list-empty{color:#e01e5a}.wpstg--modal--backup--import--filesystem label{font-size:14px}.wpstg--modal--backup--import--filesystem button{margin-bottom:20px}.wpstg--modal--backup--import--upload{color:#505050;min-height:30px;position:relative}.wpstg--modal--backup--import--upload--container{background-color:#f4fbff;border:3.5px dashed #dedede;border-radius:10px;margin:.5em;min-height:130px;padding:1em .5em;position:relative;transition:background-color .3s ease,color .3s ease}.wpstg--modal--backup--import--upload--container.wpstg--has-dragover span.wpstg--drop{display:inline-flex}.wpstg--modal--backup--import--upload--container input[type=file]{display:none}.wpstg--modal--backup--import--upload--container img{align-self:center;border:none;width:4em}.wpstg--modal--backup--import--upload--container span{margin-top:1em}.wpstg--backup--import--options>button{align-self:center;height:auto;line-height:normal;margin-top:1em;padding:1em;width:185px}.wpstg--backup--import--options{display:flex;justify-content:center;position:relative}.wpstg--backup--import--options ul{display:none}.wpstg--backup--import--options.wpstg--show-options ul{background:#25a1f0;border-color:#2188c9;border-radius:0 0 3px 3px;border-width:1px;box-sizing:border-box;display:block;margin:54px 0 0;padding:0;position:absolute;text-shadow:0 -1px 1px #006799,1px 0 1px #006799,0 1px 1px #006799,-1px 0 1px #006799;width:185px}.wpstg--backup--import--options.wpstg--show-options ul li{border-bottom:.1em solid #25a1f0;margin:0}.wpstg--backup--import--options.wpstg--show-options ul li:hover{background-color:#25a1f0}.wpstg--backup--import--options.wpstg--show-options ul li:last-child{border-bottom:none}.wpstg--backup--import--options ul li button{background:none;border:none;color:#fff;cursor:pointer;height:40px;line-height:40px;margin:0;width:100%}.wpstg--backup--import--options ul li button:hover{background-color:#259be6}.wpstg--modal--backup--import--search-replace--info{display:flex;flex-direction:row;margin:1em 0}.wpstg--modal--backup--import--info p{margin:0;text-align:left}.wpstg--modal--backup--import--search-replace--wrapper button{align-self:center}.wpstg--import--advanced-options--button{border:0;border-radius:3px;cursor:pointer;font-size:18px;text-shadow:0 -1px 1px #006799,1px 0 1px #006799,0 1px 1px #006799,-1px 0 1px #006799}.wpstg--modal--backup--import--search-replace--new{background-color:#25a1f0;color:#fff}.wpstg--modal--backup--import--search-replace--remove{background-color:#25a1f0;color:#fff;height:22px;margin-left:5px;width:22px}.wpstg--modal--backup--import--search-replace--input-group:first-child button{display:none}.wpstg--modal--backup--import--search-replace--input--container{display:flex;flex:1;flex-direction:column}.wpstg--modal--backup--import--search-replace--input-group{border-bottom:6px solid #f1f1f1;margin-bottom:10px;width:100%}.wpstg--modal--backup--import--search-replace--input-group input{border:1px solid #dedede;border-radius:3px;color:#666;display:inline-block;line-height:10px;margin-bottom:12px;min-width:250px;padding:8px;width:calc(50% - 20px)}.wpstg--modal--import--upload--process{align-items:center;color:#333;display:none;height:30px;justify-content:center;left:0;margin-bottom:20px;margin-top:20px;overflow:hidden;position:relative;text-indent:1em;top:0;white-space:nowrap;width:100%}.wpstg--modal--import--upload--progress{background:#98d452;border-radius:4px;color:#fff;height:100%;left:0;position:absolute;top:0}.wpstg--modal--import--upload--progress--title{z-index:9}.wpstg-fieldset:disabled{border-top:1px solid #fff;margin-top:20px;opacity:.8}.wpstg-fieldset{padding-left:20px}.wpstg-dark-alert{background-color:#0e86d9;color:#fff;font-weight:700;margin-top:0;padding:15px}.wpstg-dark-alert .wpstg-button--cta-red{margin-left:10px}.wpstg-form-group{align-items:center;display:block;margin-bottom:8px;width:100%}.wpstg-form-group>label{display:block;font-weight:700}.wpstg-text-field>input{display:block;line-height:1.5;width:300px}.wpstg-text-field>.wpstg-code-segment{margin-top:4px;min-width:300px}.wpstg-form-group>.wpstg-checkbox{position:relative}.wpstg-form-group>.wpstg-checkbox>input[type=checkbox]{left:150px}.wpstg-ml-4{margin-left:4px}#wpstg-advanced-settings hr{margin:20px 0}.wpstg-form-row{display:block}.wpstg-form-row input,.wpstg-form-row label{display:table-cell;margin-bottom:3px;margin-top:3px;padding-left:5px;padding-right:5px}.wpstg-form-row input{width:400px}.wpstg-form-row label{font-weight:700;white-space:nowrap;width:1px}#wpstg-db-connect-output #wpstg-db-status{width:390px}.wpstg-fs-14{font-size:14px}.wpstg-code-segment{display:block}.wpstg-form-group>.wpstg-checkbox{min-width:100%;width:100%}.wpstg-form-group>.wpstg-checkbox>input[type=checkbox]{margin-left:10px}@media only screen and (max-width:768px){.wpstg-form-group>label{min-width:auto;width:auto}.wpstg-text-field>input{width:100%}.wpstg-text-field>.wpstg-code-segment{margin-left:0;min-width:100%}.wpstg-tab-section{max-width:450px;width:calc(100vw - 60px)}}.wpstg-rounded{border-radius:3px}.wpstg-white-border{border:1px solid #fff!important}.wpstg-m-0{margin:0}.wpstg-mt-10px,.wpstg-my-10px{margin-top:10px!important}.wpstg-my-10px{margin-bottom:10px!important}.wpstg-w-100{width:100%}.wpstg-box-shadow{box-shadow:0 1px 1px 0 rgba(0,0,0,.1)}.wpstg-float-left{float:left}.wpstg-bold-text{font-weight:700}.wpstg-warning.notice{border-left:4px solid #ffba00}.wpstg-confirmation-label{background-color:#5b9dd9;border-radius:3px;color:#fff;padding:2px}.wpstg-my-6px{margin-bottom:6px;margin-top:6px}.wpstg-mb-10px{margin-bottom:10px}.wpstg-clear-both{clear:both}.wpstg-font-italic{font-style:italic}.wpstg-mt-20px{margin-top:20px}.wpstg-welcome-container{border:2px solid #fff;margin-bottom:20px;padding:20px}.wpstg-ml-30px{margin-left:30px}.wpstg-text-center{text-align:center}.wpstg-feedback-link{text-decoration:none}.wpstg-feedback-span{display:block;margin-bottom:3px}#wpstg-confirm-backup-restore-data{margin:40px;text-align:left}#wpstg-confirm-backup-restore-wrapper{margin:0 30px 30px}#wpstg-confirm-backup-restore-wrapper h3{color:#e01e5a}#wpstg-progress-backup,#wpstg-progress-db{background-color:#3fa5ee}#wpstg-progress-files.wpstg-pro,#wpstg-progress-sr{background-color:#3c9ee4}#wpstg-progress-data,#wpstg-progress-dirs{background-color:#3a96d7}#wpstg-progress-files:not(.wpstg-pro),#wpstg-progress-finishing{background-color:#378cc9}.wpstg-issue-resubmit-confirmation.wpstg--swal2-container,.wpstg-swal2-container.wpstg--swal2-container{z-index:10500}.wpstg-swal2-container.wpstg-swal2-loading .wpstg--swal2-actions,.wpstg-swal2-container.wpstg-swal2-loading .wpstg--swal2-header{display:none}body.toplevel_page_wpstg_backup .wpstg--swal2-container .wpstg--swal2-content,body.toplevel_page_wpstg_clone .wpstg--swal2-container .wpstg--swal2-content{z-index:2}.toplevel_page_wpstg_clone #swal2-content h2{color:#565656}.toplevel_page_wpstg_clone #swal2-content{line-height:1.5em}div#exportUploadsWithoutDatabaseWarning{background-color:#fafafa;border:1px solid #e3e3e3;border-radius:5px;font-size:.9rem;font-style:italic;margin:10px;padding:10px;text-align:center}.wpstg-advanced-options-dropdown-wrapper{display:none;margin-top:20px}.wpstg--modal--backup--import--search-replace--wrapper{margin-top:20px;text-align:left}.wpstg--modal--backup--import--search-replace--new--wrapper{text-align:center}.wpstg-import-backup-contains li{display:inline-block}.wpstg-import-backup-contains li .wpstg-backups-contains{background-color:#e3e3e3;border:1px solid #c2c2c2;border-radius:3px;color:#979797;font-size:17px;height:17px;width:17px}.wpstg-import-backup-contains.wpstg-listing-single-backup li .wpstg-backups-contains{background-color:#fff;border:1px solid #c2c2c2;padding:2px}.wpstg-import-backup-contains.wpstg-listing-single-backup li .wpstg-backups-contains>.wpstg--dashicons{filter:invert(50%)}.wpstg-import-backup-contains .wpstg--tooltiptext{font-size:x-small;left:-25px;padding:5px;text-align:center;width:50px}.wpstg-import-backup-contains-title,ul.wpstg-import-backup-contains{display:inline-block}.wpstg-import-backup-name{display:inline-block;font-weight:700}.wpstg-backup-more-info-toggle{cursor:pointer;display:inline-block;font-size:x-small;font-style:italic}.wpstg-backup-more-info-toggle::selection{background:none}ul.wpstg-import-backup-more-info{background-color:#f6f6f6;border:1px solid #878787;border-radius:3px;cursor:pointer;font-size:14px;margin-bottom:30px;margin-top:10px;padding:7px;text-align:left}ul.wpstg-import-backup-more-info:hover{background-color:#def2ff;border:1px solid #25a1f0}ul.wpstg-import-backup-more-info li{height:20px}.wpstg-backup-list{max-width:800px}.wpstg-backup-list h3{color:#3e3e3e}.wpstg-backup-list ul ul{margin-block-end:1em;margin-block-start:1em}.wpstg-push-confirmation-message{font-size:15px;text-align:justify}.wpstg-settings-row{padding-bottom:10px;padding-top:10px}.wpstg-settings-title{font-weight:600}.wpstg-settings-form-group{align-items:center;display:flex}.wpstg-settings-form-group>.wpstg-settings-message{margin:7px 0 0;padding:0;width:30%}.wpstg-excluded-filters-container{margin-bottom:10px;margin-top:10px;max-width:100%;padding:0;width:100%}.wpstg-excluded-filters-container>table{border-collapse:collapse;border-color:transparent;width:100%}.wpstg-excluded-filters-container td{height:20px;padding-bottom:4px;padding-top:4px}.wpstg-excluded-filters-container h4{margin:0}.wpstg-exclude-filters-foot{display:flex;justify-content:flex-start;padding:0}.wpstg-exclude-filter-dropdown>button:hover{background:#135e96;border:1px solid #135e96}.wpstg-exclude-filter-dropdown>.wpstg-dropdown-menu{width:128px}.wpstg-remove-exclude-rule{background-color:#e01e5a;border:1px solid #e01e5a;border-radius:10px;box-shadow:none;color:#fff!important;cursor:pointer;display:inline-flex;font-size:24px;font-weight:400;height:20px;justify-content:center;line-height:.7;margin-top:5px;outline:none;padding:0;width:20px}.wpstg-remove-exclude-rule:hover{background-color:#e01e5a;border-color:#e01e5a}.wpstg-code-block{background:#f8f8f8;border-radius:2px;font-size:1.2em;margin-top:4px}.wpstg-rule-info{background:#f8f8f8!important}code.wpstg-code{background:#fff;border:1px solid #aaa;color:#e01e5a;display:inline-block;font-size:11px;margin-bottom:1px;padding:2px 4px}.wpstg-exclusion-rule-info{align-items:center;background-color:#ffc107;border:1px solid #ffc107;border-radius:7px;box-shadow:none;color:#fff!important;display:inline-flex;font-size:14px;font-weight:400;height:14px;justify-content:center;outline:none;padding:0;vertical-align:middle;width:14px}.wpstg-exclusion-rule-info:hover{background-color:#ffba0c;border:1px solid #ffba0c}.wpstg-exclude-rule-input{background-color:#fff;border:1px solid #bbb;border-radius:0!important;box-shadow:none;color:#222;display:inline-block;font-size:12px!important;font-weight:400;line-height:1.5;margin-left:4px;margin-top:4px;min-height:24px!important;outline:none!important;padding:2px 6px;transition:all .3s cubic-bezier(.25,.8,.25,1);vertical-align:baseline!important;width:135px}.wpstg-excluded-filters-container tbody>tr:last-child .wpstg-exclude-rule-input{margin-bottom:4px}.wpstg-exclude-rule-input:hover{border:1px solid #999}.wpstg-exclude-rule-input:focus{border:1px solid #25a0f1!important;box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 2px rgba(0,0,0,.24)!important}.wpstg-file-size-exclude-select,.wpstg-path-exclude-select{width:135px}.wpstg-file-size-exclude-select-small{width:52px}.wpstg-file-size-exclude-input{width:75px}.wpstg-staging-option-title{margin:15px 0 0}.wpstg-swal-push-container.wpstg--swal2-container{z-index:9995}#wpstg-scanning-files{padding-bottom:5px}#wpstg-scanning-db.wpstg-tab-section,#wpstg-scanning-files.wpstg-tab-section{padding-top:10px}.wpstg-reset-excludes-container{margin:10px 0}.wpstg-swal2-ajax-loader{align-items:center;display:flex;height:150px;justify-content:center;overflow:hidden;width:100%}@keyframes wpstg-loading-icon-anim{0%{transform:rotate(0)}to{transform:rotate(1turn)}}.wpstg-swal2-ajax-loader>img{animation:wpstg-loading-icon-anim 1s linear infinite;-webkit-animation:wpstg-loading-icon-anim 1s linear infinite;height:64px;width:64px}.wpstg-swal2-container .wpstg-tab-section{width:auto!important}#wpstg-no-staging-site-results{margin-top:10px;max-width:375px}li#wpstg-backup-no-results{max-width:500px}#wpstg-no-staging-site-results div,li#wpstg-backup-no-results div{display:inline-block;text-align:center}#wpstg-no-staging-site-results .wpstg--dashicons,li#wpstg-backup-no-results .wpstg--dashicons{filter:invert(50%);margin-top:1px;position:absolute}#wpstg-no-staging-site-results .no-staging-site-found-text,li#wpstg-backup-no-results .no-backups-found-text{color:#5d5d5d;margin-left:20px}@media only screen and (max-width:680px){#wpstg-no-staging-site-results div,li#wpstg-backup-no-results div{width:100%}}#wpstg--modal--backup--download-inner p.wpstg-download-modal-text{color:#565656;font-size:16px}#wpstg--modal--backup--download-inner h2{color:#565656}.wpstg-backup-restore-contains-database,.wpstg-backup-restore-contains-files{display:none}.wpstg-green-button{background:#8bc34a;border:1px solid #78a93f;color:#fff;text-shadow:0 -1px 1px #78a93f,1px 0 1px #78a93f,0 1px 1px #40c921,-1px 0 1px #78a93f}.wpstg-green-button:hover{background:#78a93f}.wpstg-is-dir-loading{display:none;margin-left:8px;margin-top:-2px;position:absolute}.wpstg-ml-8px{margin-left:8px}.wpstg-mb-8px{margin-bottom:8px}.wpstg-btn-danger{background-color:#e01e5a;border:1px solid #e01e5a;color:#fff;text-shadow:none}.wpstg-btn-danger:hover{background:#c0194d;box-shadow:0 1px 4px rgba(0,0,0,.3)}.wpstg-swal2-container.wpstg-swal2-loading>.wpstg--swal2-modal{height:200px}.wpstg-reset-confirmation.wpstg-swal2-container:not(.wpstg-swal2-loading)>.wpstg--swal2-modal{max-width:480px}.wpstg-reset-confirmation.wpstg-swal2-container .wpstg--swal2-header{display:none}.wpstg-reset-confirmation.wpstg-swal2-container .wpstg--swal2-content{height:auto}.wpstg-reset-confirmation.wpstg-swal2-container>.wpstg--swal2-modal>.wpstg--swal2-content .wpstg-tabs-wrapper{height:auto!important;overflow-y:auto}.wpstg-reset-confirmation.wpstg-swal2-container>.wpstg--swal2-modal>.wpstg--swal2-content{font-size:13px}.wpstg-reset-confirmation.wpstg-swal2-container>.wpstg--swal2-modal>.wpstg--swal2-content .wpstg-dir{margin-bottom:4px}.wpstg-reset-confirmation.wpstg-swal2-container>.wpstg--swal2-modal>.wpstg--swal2-content .wpstg-subdir{margin-top:4px}.wpstg-reset-confirmation.wpstg-swal2-container.has-collapsible-open .wpstg--swal2-modal{height:calc(100vh - 70px)}.wpstg-reset-confirmation.wpstg-swal2-container.has-collapsible-open>.wpstg--swal2-modal>.wpstg--swal2-content .wpstg-tabs-wrapper{height:calc(100vh - 350px)!important}.wpstg--swal2-actions.wpstg--modal--actions>button{font-weight:500;margin-left:4px;margin-right:4px;min-width:80px;text-shadow:none;text-transform:uppercase}.wpstg-swal-popup{max-width:1200px!important}.wpstg-swal-popup.wpstg-push-finished .wpstg--swal2-title{color:#a8a8a8}.wpstg-swal-popup.wpstg-push-finished .wpstg--swal2-content{color:#a8a8a8;margin-top:8px}.wpstg-swal-popup .wpstg--swal2-progress-steps .wpstg--swal2-progress-step,.wpstg-swal-popup .wpstg--swal2-progress-steps .wpstg--swal2-progress-step-line,.wpstg-swal-popup .wpstg--swal2-progress-steps .wpstg--swal2-progress-step.wpstg--swal2-active-progress-step{background:#25a1f0}.wpstg-swal-popup .wpstg--swal2-progress-steps .wpstg--swal2-progress-step-line{width:2.75em}.wpstg--dashicons{height:16px;width:16px}.wpstg--dashicons.wpstg-dashicons-grey{filter:invert(20%)}.wpstg--dashicons.wpstg-dashicons-19{height:19px;width:19px}.wpstg--dashicons.wpstg-dashicons-21{height:21px;width:21px}#wpstg--tab--backup #wpstg-step-1{align-items:center;display:flex}#wpstg--tab--backup #wpstg-step-1 .wpstg--tooltip,.wpstg-advanced-options .wpstg--tooltip{align-items:center;border-bottom:0 solid transparent;display:inline-flex}#wpstg--tab--backup #wpstg-step-1 .wpstg--tooltip{align-items:center;border-bottom:0 solid transparent;display:flex}.wpstg--tooltip .wpstg--tooltiptext-backups:after{left:calc(20% + 2px)}.wpstg-listing-single-backup .wpstg--dashicons{height:17px;width:17px}.wpstg-100-width{width:100px}.wpstg-caret{border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid;cursor:pointer;display:inline-block;height:0;margin-left:2px;transition:transform .2s;vertical-align:middle;width:0}.wpstg-caret.wpstg-caret-up{transform:rotate(-180deg)}.wpstg-advanced-options-site label{display:block;font-size:16px;margin:.5em 0}#wpstg-confirm-backup-restore-data{font-size:18px;margin:30px 0 0}body.toplevel_page_wpstg_backup .wpstg--swal2-container.wpstg--swal2-backdrop-show,body.toplevel_page_wpstg_clone .wpstg--swal2-container.wpstg--swal2-backdrop-show{background:rgba(0,0,0,.6);z-index:9995}.wpstg-swal-popup.wpstg--swal2-popup{border-radius:8px;color:#565656;font-family:Verdana,Geneva,Tahoma,sans-serif;padding:24px;z-index:9999}.wpstg-swal-popup .wpstg--swal2-title{color:#565656;font-size:22px}.wpstg-swal-popup.wpstg--swal2-popup:not(.centered-modal) .wpstg--swal2-title{align-self:flex-start;margin-bottom:0;text-align:left}.wpstg-swal-popup .wpstg--swal2-close{right:8px;top:8px;z-index:5}.wpstg-swal-popup .wpstg--swal2-close:focus{outline:none}.wpstg-swal-popup.wpstg--swal2-popup:not(.centered-modal) .wpstg--swal2-actions{justify-content:flex-end}.wpstg-swal-popup .wpstg--swal2-actions>button{border:0;border-radius:4px;font-size:15px;font-weight:900;height:40px;line-height:normal;min-width:100px;padding:10px 12px;text-shadow:none;text-transform:capitalize}.wpstg-swal-popup.wpstg--swal2-popup:not(.centered-modal) .wpstg--swal2-actions>button{margin-left:8px}.wpstg-swal-popup .wpstg--swal2-actions>button.wpstg--swal2-cancel{background:#fff;border:1px solid rgba(29,28,29,.3);color:#1d1c1d;font-weight:500;text-shadow:none;width:100px}.wpstg-swal-popup .wpstg--swal2-actions>button:hover{box-shadow:0 1px 3px 0 rgba(0 0 0 .1)}.wpstg-swal-popup .wpstg--swal2-actions>button.wpstg--swal2-cancel:hover{background:rgba(28,29,28,.04)}#wpstg-backup-name-input{font-size:18px;height:44px}.wpstg-restore-finished-container .wpstg--swal2-title{color:#565656!important}.wpstg-restore-finished-container .wpstg--swal2-content{color:#a8a8a8;margin-top:20px}.wpstg-linear-loader>span[class*=wpstg-linear-loader-item]{animation:wpstg_linear_loader 3s infinite;animation-fill-mode:both;animation-timing-function:cubic-bezier(.03,.615,.995,.415);background:#333;border-radius:100%;display:inline-block;height:6px;margin:12px 2px;width:6px}.wpstg-linear-loader>span.wpstg-linear-loader-item:first-child{animation-delay:1s}.wpstg-linear-loader>span.wpstg-linear-loader-item:nth-child(2){animation-delay:.8s}.wpstg-linear-loader>span.wpstg-linear-loader-item:nth-child(3){animation-delay:.6s}.wpstg-linear-loader>span.wpstg-linear-loader-item:nth-child(4){animation-delay:.4s}.wpstg-linear-loader>span.wpstg-linear-loader-item:nth-child(5){animation-delay:.2s}.wpstg-linear-loader>span.wpstg-linear-loader-item:nth-child(6){animation-delay:0s}@keyframes wpstg_linear_loader{0%{opacity:0;transform:translateX(-30px)}25%{opacity:1}50%{opacity:0;transform:translateX(30px)}to{opacity:0}}.wpstg--modal--backup--import--upload--content{margin:1em auto;padding:.75em}.wpstg--modal--backup--import--upload--content .wpstg-linear-loader{display:none}#wpstg-multisite-disabled .wpstg-clone{width:355px}#wpstg-free-version-backups .wpstg-clone{text-align:center}#wpstg-free-version-backups .wpstg-clone p{font-size:16px}.wpstg-staging-info li .backup-notes{word-break:break-word}.wpstg--modal--import--upload--progress--title small{font-weight:400}#wpstg-report-issue-wrapper{position:relative}#wpstg-report-issue-wrapper .arrow-up{border-bottom:8px solid #fff;border-left:8px solid transparent;border-right:8px solid transparent;height:0;position:absolute;right:40px;top:-8px;width:0}.notice{margin:10px 20px 0 2px}.wpstg--notice{box-shadow:0 1px 1px rgba(0,0,0,.04);margin:20px 20px 20px 0;padding:1px 12px}.wpstg--error a:hover{color:#eee}.wpstg--error,.wpstg--error a{background:#e01e5a;color:#fff}.wpstg-button{border-radius:2px;cursor:pointer;display:inline-block;font-weight:500;outline:0;padding:2px 10px;text-decoration:none;text-transform:uppercase;transition:background-color .1s ease-in}.wpstg-button.wpstg-save{background-color:#1687a7;color:#fff}.wpstg-button.wpstg-save:hover{background-color:#276678}.wpstg-button.wpstg-button-light{animation:background-color .3s;background-color:#f8f8f8;border:1px solid #eee;color:#333}.wpstg-button.wpstg-button-light:hover{background-color:#e0e0e0;border:1px solid #e0e0e0}.wpstg-buttons .spinner{float:none;margin:0 0 0 5px}.wpstg-button.danger{background-color:#e01e5a;border-color:transparent;border-radius:2px;color:#fff;display:inline-block;text-align:center;text-decoration:none;text-transform:inherit}.wpstg-button.danger:hover{background-color:#c0194d}.wpstg-button--big{border-radius:3px;color:#fff;display:inline-block;font-size:16px;margin-top:20px;min-width:170px;padding:10px;text-align:center;text-decoration:none}.wpstg-button--primary{-webkit-appearance:none;border:1px solid rgba(29,28,29,.3);border-radius:2px;box-sizing:border-box;color:#171717;cursor:pointer;display:inline-block;font-size:13px;line-height:2.15384615;margin:0;min-height:30px;padding:0 10px;text-decoration:none;white-space:nowrap}.wpstg-button--primary:hover{background:rgba(28,29,28,.04);color:#000}.wpstg-button--secondary{background-color:transparent;border:1px solid rgba(29,28,29,.3);border-radius:2px;color:#95a5a6;cursor:pointer;display:inline-block;font-weight:500;outline:0;padding:4px 10px 2px;text-decoration:none;transition:background-color .1s ease-in}.wpstg-button--red{background-color:#e01e5a;border-color:#e01e5a;color:#fff}.wpstg-button--red:hover{background-color:#d02358;border-color:#e0255f;color:#fff}.wpstg-button--cta-red{background-color:#fe008f;border-color:#e01e5a;color:#fff}.wpstg-button--cta-red:hover{background-color:#f31391;border-color:#e0255f;color:#fff}.wpstg-button--blue{background-color:#25a0f1;border-color:#25a0f1;color:#fff}.wpstg-button--blue:hover{background-color:#259be6;border-color:#259be6;color:#fff}#wpstg-button-backup-upgrade{font-size:16px}.wpstg-staging-status{color:#e01e5a}#wpstg-push-changes,#wpstg-save-clone-data,#wpstg-start-updating{margin-left:5px}input.wpstg-textbox{border:1px solid #aaa;border-radius:.25rem;font-size:14px;padding:.25rem .5rem}input.wpstg-textbox:focus{border-color:#259be6;-webkit-box-shadow:0 0 0 .1rem hsla(0,0%,86.7%,.35);box-shadow:0 0 0 .1rem hsla(0,0%,86.7%,.35);outline:0}input.wpstg-textbox::placeholder{color:#888}.wpstg--advance-settings--checkbox{align-items:center;display:flex}.wpstg--advance-settings--checkbox>label{display:inline-block;font-size:14px;font-weight:bolder;width:165px}.wpstg--advance-settings--checkbox>.wpstg--tooltip{border-bottom:0 solid transparent;display:inline-block;margin-left:5px;margin-top:5px;position:relative}.wpstg--advance-settings--checkbox>.wpstg--tooltip>.wpstg--tooltiptext{left:-150px;top:18px}div#wpstg-restore-wait{align-items:center;background:#fff;display:none;flex-direction:column;height:100vh;justify-content:center;left:0;position:fixed;text-align:center;top:0;width:100vw;z-index:99999}div#wpstg-restore-wait .wpstg-title{font-weight:700}div#wpstg-restore-wait div{font-size:16px;margin-top:12px}.resumable-browse{cursor:pointer}.resumable-browse a{text-decoration:underline}.wpstg-upload-text{font-weight:600}.wpstg--modal--backup--import--upload--container.dragover{background-color:#94dc96;color:#fff;transition:background-color .7s}.wpstg--modal--backup--import--upload--container.dragover *{pointer-events:none}.wpstg--modal--backup--import--upload--container.dragover .wpstg-upload-text{display:none}.wpstg--modal--backup--import--upload--container.dragover .wpstg-dragover-text{display:block}.wpstg--modal--backup--import--upload--container .wpstg-dragover-text{display:none}#wpstg-invalid-license-message,#wpstg-invalid-license-message a{color:#e01e5a;font-weight:500;margin-left:6px}#wpstg-sidebar--banner{max-width:200px}@media screen and (max-width:1234px){.wpstg-h2{font-size:24px}#wpstg-welcome li{font-size:14px}}.wpstg-exclamation{background-color:#e01e5a;border-radius:100%;color:#fff;display:inline-block;font-weight:700;height:20px;margin:6px;text-align:center;width:20px}.wpstg--tab--contents{padding-top:1px}.wpstg-swal-show.wpstg--swal2-show{-webkit-animation:wpstg-swal-show .2s!important;animation:wpstg-swal-show .2s!important}@-webkit-keyframes wpstg-swal-show{0%{transform:scale(.3)}to{transform:scale(1)}}@keyframes wpstg-swal-show{0%{transform:scale(.3)}to{transform:scale(1)}}
|
2 |
/*# sourceMappingURL=wpstg-admin.min.css.map */
|
1 |
+
.wpstg--violet{color:#9d37ae}.wpstg-border--violet{border:1px solid #9d37ae}.wpstg--red{color:#e01e5a}.wpstg-cta--red{color:#fe008f}.wpstg--blue{color:#24a1f0}.wpstg--darkblue{color:#0e86d9}.wpstg--green{color:#83c11f}.wpstg--grey{color:#3e3e3e}.wpstg--darkgrey{color:#1b1b1b}body.toplevel_page_wpstg_clone,body.wp-staging-pro_page_wpstg-license,body.wp-staging-pro_page_wpstg-settings,body.wp-staging-pro_page_wpstg-tools,body.wp-staging-pro_page_wpstg_backup{background-color:#f3f5f7}#wpstg-tab-container ul{background:#f1f1f1;float:left;list-style:none;margin:0;padding:0}#wpstg-tab-container ul li:first-child.selected-tab{border-top:none}#wpstg-tab-container ul li a.selected-tab{font-weight:700;text-decoration:none}#wpstg-tab-container .row{padding-bottom:12px;padding-top:10px}.wpstg-tabs-container .nav-tab-wrapper{padding:0}#wpstg-tab-container .row label strong,#wpstg-tab-container .row strong{font-weight:700}.wpstg-tabs a{padding:5px}#wpstg-tab-container>ul>li.wpstg-tabs.active{background-color:#fff}#wpstg_settingsgeneral_header .row:nth-child(3),#wpstg_settingsgeneral_header .row:nth-child(4){display:none}#wpstg-tab-container .wpstg-settings-panel{overflow:auto;padding:0 20px 20px}#wpstg-tab-container .wpstg-form-table th{color:#484848;font-size:14px;font-weight:700;line-height:1.3;padding:20px 10px 20px 0;text-align:left;vertical-align:top;width:30%}#wpstg-tab-container .wpstg-form-table tr{border-bottom:1px solid #e7e7e7}#wpstg-tab-container span.description{color:#484848;display:block;font-size:13px;font-style:normal;font-weight:400;margin-top:7px}#wpstg-tab-container .col-title{color:#484848}@media only screen and (max-width:680px){#wpstg-tab-container ul{float:none}#wpstg-tab-container .wpstg-form-table tr>th{width:100%}#wpstg-tab-container span.description{font-size:14px}#wpstg-tab-container .wpstg-form-table tr>td,#wpstg-tab-container .wpstg-form-table tr>th{padding:10px}}#wpstg-tab-container ul li{margin-bottom:0}#wpstg-tab-container ul li a{border-bottom:1px solid #e7e7e7;border-left-style:solid;border-left-width:0;border-right-style:solid;border-right-width:0;border-top:1px solid #fff;color:#0097df;display:block;font-weight:700;padding:10px 4px 10px 14px;text-decoration:none}#wpstg-tab-container ul li a:hover{background-color:#e5e5e5;color:#777}.wpstg-logo{display:block;float:left;font-size:16px;padding-top:20px;width:220px}.wpstg-logo img{max-width:212px}.wpstg-version{color:#9b9b9b;display:block;padding-top:40px}.wpstg_admin .nav-tab{color:#3c3c3c}#wpstg-tab-container table tbody tr:first-child>th>div{font-size:20px}#wpstg-clonepage-wrapper{margin-bottom:20px;width:98%}@media screen and (min-width:1090px){#wpstg-clonepage-wrapper{float:left;margin-bottom:20px}}#wpstg-steps{margin-left:20px;margin-top:0}#wpstg-steps li{color:#444;float:left;line-height:20px;padding-right:10px}.wpstg-step-num{border:1px solid #3e3e3e;border-radius:3px;display:inline-block;height:20px;margin-right:5px;text-align:center;width:20px}.wpstg-current-step{font-weight:700}.wpstg-current-step .wpstg-step-num{background:#3e3e3e;color:#eee}.wpstg-box{margin:10px 0;overflow:hidden;padding:10px}.wpstg-box,.wpstg-clone{position:relative;transition:border-color .2s ease-in-out}.wpstg-clone{background-color:#fff;border-radius:3px;box-shadow:0 0 1px rgba(0,0,0,.125),0 1px 3px rgba(0,0,0,.1);color:#3e3e3e;margin-bottom:10px;padding:16px}.wpstg-clone.active{border-color:#1d94cf}.wpstg-clone-header{align-items:center;display:flex;justify-content:space-between}.wpstg-clone-title{color:#3e3e3e;display:inline-block;font-size:15px;font-weight:700;max-width:300px;text-decoration:none}.wpstg-clone-title:hover{color:#111}.wpstg-clone-actions{display:flex;margin-top:5px}.wpstg-clone-actions .wpstg-dropdown-toggler{background:#25a1f0;border-radius:2px;box-shadow:0 0 1px rgba(0,0,0,.125),0 1px 3px rgba(0,0,0,.2);color:#fff;font-size:14px;padding:6px 10px;text-decoration:none}.wpstg-clone-actions .wpstg-dropdown-toggler:hover{background:#002648;color:#fff}.wpstg-dropdown{position:relative}.wpstg-dropdown>.wpstg-dropdown-menu{background:#fff;border-radius:2px;box-shadow:0 0 1px rgba(0,0,0,.125),0 1px 3px rgba(0,0,0,.2);display:none;flex-direction:column;padding:8px;position:absolute;right:0;top:calc(100% + 4px);width:100px;z-index:1000}.wpstg-dropdown>.wpstg-dropdown-menu.wpstg-menu-dropup{bottom:100%;top:auto;transform:translate3d(0,-3px,0)}.wpstg-dropdown>.wpstg-dropdown-menu.shown{display:flex}.wpstg-clone-action,.wpstg-dropdown-action{border-bottom:1px solid #f3f3f3;border-radius:3px;color:#3e3e3e;padding:6px 8px;position:relative;text-decoration:none;transition:color .2s ease-in-out}.wpstg-clone-action:hover,.wpstg-dropdown-action:hover{background:rgba(0,0,0,.05)}.wpstg-dropdown-action{background:transparent;border:0 solid #000;box-shadow:none;color:#3e3e3e;outline:none}.wpstg-remove-clone:hover{color:#e01e5a}.wpstg-clone-action:last-child{border:none}.wpstg-clone:hover .wpstg-clone-action{display:inline-block}#wpstg-show-error-details:focus,#wpstg-workflow .wpstg-clone-action{box-shadow:none;outline:none}.wpstg-link-btn{background:#45a1c9;color:#fff;display:inline-block;padding:5px 10px;text-decoration:none;transition:all .2s ease-in-out;vertical-align:baseline}.wpstg-link-btn:focus,.wpstg-link-btn:hover{box-shadow:none;color:#fff;outline:none}#wpstg-workflow .wpstg-link-btn:active{vertical-align:baseline}.wpstg-link-btn[disabled]{background:#777!important;border-color:#555!important;pointer-events:none}#wpstg-cancel-cloning,#wpstg-cancel-cloning-update{margin-top:5px}#wpstg-cancel-cloning.success{background:#64dd58;border-color:#54bd4a}#wpstg-error-details,#wpstg-error-wrapper{clear:both;display:none;font-size:13px;padding-top:10px}#wpstg-show-error-details{color:#555;display:inline-block;margin-left:5px;text-decoration:none;transition:color .2s ease-in-out}#wpstg-show-error-details:hover{color:#1d94cf}#wpstg-error-details{border-left:5px solid #e01e5a;padding:10px;width:500px}#wpstg-try-again{display:none}#wpstg-home-link{float:right}.wpstg-loader{content:url(../../img/loading.gif);display:none;margin-top:10px}.wpstg-loader.wpstg-finished{background-color:#00c89a;border-radius:3px;color:#fff;content:"Finished";display:block;margin-top:0;padding:2px 10px}#wpstg-workflow{clear:both;float:left;max-width:800px;min-height:380px;min-width:500px;padding-bottom:20px;padding-right:20px;padding-top:20px;position:relative}#wpstg-sidebar{display:block;float:left;margin-left:10px;max-width:400px}#wpstg-removing-clone.loading:after,#wpstg-workflow.loading:after{background:hsla(0,0%,100%,.7);content:"Loading... may take a while for huge websites";display:block;font-size:20px;height:100%;left:0;padding-top:100px;position:absolute;text-align:center;top:0;width:100%;z-index:99}#wpstg-removing-clone.loading:after{content:"REMOVING"!important}#wpstg-existing-clones,#wpstg-removing-clone{position:relative}#wpstg-existing-clones h3{color:#3e3e3e}#wpstg-removing-clone .wpstg-tab-section{display:block}.wpstg-progress-bar{background-color:#d6d8d7;height:27px;max-width:900px;padding:0}.wpstg-progress{background:#3fa5ee;float:left;overflow:hidden}.wpstg-progress,.wpstg-progress-files{color:#fff;height:100%;line-height:25px;text-align:center;transition:width .6s ease;width:0}.wpstg-progress-files{background:#16b4f0}#wpstg-clone-path.wpstg-error-input,#wpstg-new-clone-id.wpstg-error-input{border:1px solid #e01e5a;box-shadow:0 0 2px rgba(255,66,53,.8)}#wpstg-new-clone-id{margin-left:15px;max-width:100%;width:450px}#wpstg-new-clone{background:#25a1f0;border-color:#2188c9}#wpstg-new-clone:hover{background:#259be6;border-color:#2188c9}#wpstg-clone-path{margin-left:10px;width:350px}.wpstg-error-msg{color:#e01e5a}#wpstg-clone-id-error{background-color:#f0f8ff;display:block;margin:20px;padding:10px}#wpstg-start-cloning+.wpstg-error-msg{display:block;margin-top:5px}.wpstg-size-info{color:#999;font-weight:400;left:2px;position:relative}.wpstg-db-table .wpstg-size-info{top:2px}.wpstg-db-table:hover{background-color:#f0f8ff}#wpstg-workflow #wpstg-start-cloning{margin-left:5px;vertical-align:baseline}.wpstg-tabs-wrapper{margin:10px 0;max-width:640px}#wpstg-path-wrapper{border-bottom:2px dashed #ccc;margin-bottom:10px;padding-bottom:10px}.wpstg-tab-section{border-bottom:1px solid #ddd;border-left:none;border-right:none;display:none;padding:0 36px;width:calc(100% - 72px)}.wpstg-tab-section:after{clear:both;content:"";display:block}.wpstg-tab-header{border-bottom:1px solid #ddd;border-left:none;border-right:none;color:#444;display:block;font-size:16px;font-weight:700;padding:10px;text-decoration:none}.wpstg-tab-triangle{animation:transform .5s;border-bottom:5px solid transparent;border-left:10px solid;border-top:5px solid transparent;cursor:pointer;display:inline-block;height:0;margin-right:12px;margin-top:-3px;transition:transform .2s;vertical-align:middle;width:0}.wpstg-tab-triangle.wpstg-no-icon{border-bottom:0 solid;border-left:0 solid;border-top:0 solid;height:auto;margin-right:2px;vertical-align:auto;width:auto}.wpstg-tab-triangle.wpstg-rotate-90{transform:rotate(90deg)}.wpstg-tab-header:focus{box-shadow:none;color:#444;outline:none}#wpstg-large-files{border:1px dashed #ccc;display:none;font-size:12px;margin-top:20px;padding:10px;position:relative}#wpstg-large-files h3{background:#fff;left:5px;margin:0;padding:0 5px;position:absolute;top:-10px}.wpstg-subdir{display:none;margin-left:20px}.wpstg-subdir.wpstg-push{display:block;margin-left:20px}.wpstg-dir a.disabled{color:#888;cursor:default;text-decoration:none}.wpstg-check-subdirs{display:inline-block;margin-left:10px}.wpstg-notice-alert{background-color:#e01e5a;color:#fff}.wpstg-notice--white,.wpstg-notice-alert{display:block;margin-top:10px;max-width:600px;padding:20px}.wpstg-notice--white{background-color:#fff}.wpstg-notice-alert a,.wpstg-notice-alert h3{color:#fff}.wpstg-header{border-bottom:1px solid #dfdfdf;clear:both;font-size:19px;font-weight:400;line-height:1.6em;padding-top:10px}#wpstg-clone-label{font-size:14px;font-weight:700}.wpstg-log-details{background-color:#000;border:1px solid #fff;color:silver;font-family:monospace;font-size:12px;height:300px;line-height:15px;margin-top:15px;max-width:650px;overflow:scroll;padding:3px;white-space:nowrap}#wpstg-finished-result{display:none}#wpstg-remove-cloning{background:#ff3428;border-color:#e72f24;margin-top:5px}#wpstg-success-notice{background-color:#fff;border:1px solid #ccc;margin-top:20px;max-width:900px;padding:10px}.wpstg_beta_notice{margin-bottom:20px}.wpstg-sysinfo{height:700px;width:700px}.wpstg-form-table .col-title label{font-weight:600}.wpstg-form-table td:first-child{width:30%}.wpstg-share-button-container{margin:5px 0}.wpstg-share-button-container p{margin:0 0 10px}.wpstg-share-button{display:inline-block}.wpstg-share-button a{text-decoration:none}.wpstg-share-button .wpstg-share{-webkit-border-radius:2px;-moz-border-radius:2px;border-radius:2px;color:#fff;display:inline;font-family:sans-serif;font-size:12px;font-weight:700;padding:4px 8px;text-align:center;text-decoration:none}.wpstg-share-button-twitter .wpstg-share{background-color:#00abf0}.wpstg-share-button-facebook .wpstg-share{background-color:#3b5998}.wpstg-share-button-googleplus .wpstg-share{background-color:#f53424}.wpstg-share-button-facebook .share:active,.wpstg-share-button-googleplus .share:active,.wpstg-share-button-twitter .share:active{background-color:#353535}#wpstg-check-space{margin-left:8px}#wpstg-welcome li{font-size:18px;line-height:29px;list-style:none!important;padding-left:23px;position:relative}#wpstg-welcome{background-color:#fff;margin-right:20px;margin-top:20px}.wpstg-heading-pro{font-weight:700}.wpstg-h2{font-size:30px;line-height:2.5rem;margin-bottom:1.2rem;margin-top:0}#wpstg-welcome li:before{background:url(data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%221792%22%20height%3D%221792%22%20viewBox%3D%220%200%201792%201792%22%20xmlns%3D%22http%3A%2F%2Fwww%2Ew3%2Eorg%2F2000%2Fsvg%22%3E%3Cpath%20fill%3D%22%2377B227%22%20d%3D%22M1671%20566q0%2040%2D28%2068l%2D724%20724%2D136%20136q%2D28%2028%2D68%2028t%2D68%2D28l%2D136%2D136%2D362%2D362q%2D28%2D28%2D28%2D68t28%2D68l136%2D136q28%2D28%2068%2D28t68%2028l294%20295%20656%2D657q28%2D28%2068%2D28t68%2028l136%20136q28%2028%2028%2068z%22%2F%3E%3C%2Fsvg%3E) left .4em no-repeat;background-size:contain;color:#77b227;content:"";height:100%;left:0;position:absolute;top:-2px;width:1em}.wpstg-h1{font-size:2.5em;letter-spacing:normal;line-height:3.68rem;margin-bottom:1.35rem}.wpstg--swal2-content h1{color:#444}#wpstg-welcome h2{margin:0 0 15px}#wpstg-welcome .wpstg-footer{clear:both;font-style:italic;margin-top:20px}#wpstg-footer{clear:both;margin-right:10px;margin-top:20px;padding-top:50px}#wpstg-footer a{text-decoration:none}#wpstg-footer li{list-style:circle;margin-bottom:2px}#wpstg-footer ul{margin-left:15px;margin-top:0}.wpstg-footer--title{margin-left:15px}.wpstg-staging-info{color:#3e3e3e;font-size:12px;margin-top:8px}.wpstg-staging-info a{color:#3e3e3e}.wpstg-staging-info li{margin-bottom:2px}.wpstg-bold{font-weight:600}#wpstg-processing-status{float:left;font-size:13px;font-weight:400;margin-top:5px}#wpstg-processing-timer{float:right;font-size:13px;font-weight:400;margin-top:5px}#wpstg-report-issue-button{background-color:#fff;border:1px solid #e01e5a;color:#e01e5a;margin-left:50px}#wpstg-report-issue-button:hover{background-color:#dc2b62;color:#fff}.wpstg-blue-primary{-webkit-appearance:none;background:#25a1f0;border:1px solid #2188c9;border-radius:3px;box-sizing:border-box;color:#fff;cursor:pointer;display:inline-block;font-size:13px;height:28px;margin:0;padding:0 10px 1px;text-decoration:none;text-shadow:0 -1px 1px #006799,1px 0 1px #006799,0 1px 1px #006799,-1px 0 1px #006799;white-space:nowrap}.wpstg-blue-primary:hover{background-color:#259be6}.wpstg-report-issue-form{background-color:#fff;border:1px solid #e8e8e8;border-radius:3px;box-shadow:inset 0 1px 0 0 #fff;display:none;padding:15px 15px 10px;position:absolute;right:0;top:35px;width:300px;z-index:999}@media (max-width:600px){.wpstg-report-issue-form{position:relative}}.wpstg-report-show{display:block}.wpstg-field input[type=text],.wpstg-field textarea{font-weight:400;line-height:1.4;margin-bottom:4px;width:100%}.wpstg-report-email,.wpstg-report-hosting-provider{border-radius:3px;font-size:.8rem;font-weight:400;height:2.3rem;line-height:2.3rem;margin-bottom:4px;padding:0 10px;width:100%}.wpstg-report-description{border-radius:3px;font-size:.8rem;padding:6px 10px;resize:none}.wpstg-report-privacy-policy{font-size:12px;margin-bottom:15px}#wpstg-report-cancel{float:right;font-weight:700;margin-right:5px}#wpstg-success-button{font-weight:700}.wpstg-message{background-color:#f5e0de;border-radius:3px;box-sizing:border-box;-moz-box-sizing:border-box;color:rgba(0,0,0,.6);height:auto;margin:10px 0;min-height:18px;padding:6px 10px;position:relative}.wpstg-message.wpstg-error-message{background-color:#f5e0de;color:#b65147;font-size:12px}.wpstg-message.wpstg-success-message{background-color:#d7f8e0;color:#515151}.wpstg-message p{font-size:13px;margin:3px 0}.wpstg-warning{background-color:#ffb804;color:#fff;display:block;margin:10px 10px 10px 0;padding:10px}.wpstg-warning a{color:#fff;font-weight:700;text-decoration:underline}.wpstg-error{background-color:#e01e5a!important;border-color:transparent!important;box-shadow:none!important;color:#fff;display:block;margin:10px 10px 10px 0!important;padding:10px!important}.wpstg-error a{color:#fff;font-weight:700;text-decoration:underline}#wpstg-resume-cloning{display:none}#wpstg-external-db th{text-align:left;width:120px}#wpstg-db-connect{font-weight:400}#wpstg-db-status{border:1px solid transparent;border-radius:4px;display:block;margin-bottom:20px;margin-top:5px;padding:5px;text-align:center;text-decoration:none}.wpstg-text-field>#wpstg-db-status{margin-left:150px;margin-top:8px;min-width:300px}.wpstg-success{background-color:#dff0d8;border-color:#d6e9c6;color:#3c763d}.wpstg-failed{background-color:#f2dede;border-color:#ebccd1;color:#a94442}#wpstg_select_tables_cloning{font-size:13px;height:600px}#wpstg-update-notify{background-color:#e01e5a;color:#fff;font-size:14px;line-height:normal;padding:10px}#wpstg-update-notify a{color:#fff;font-weight:700}.wpstg-pointer{cursor:pointer}.wpstg--tab--header{background-color:#fff;border-radius:2px;box-shadow:0 0 1px rgba(0,0,0,.125),0 1px 3px rgba(0,0,0,.02);color:#3e3e3e;position:relative;transition:border-color .2s ease-in-out}.wpstg--tab--header ul{display:flex}.wpstg--tab--header ul li{margin-bottom:0;margin-right:1em}.wpstg--tab--header ul li:last-child{margin-right:0}.wpstg--tab--header a{color:#c4c4c4;cursor:pointer;display:inline-block;font-size:18px;min-width:150px;padding:1em 1.25em 9px;text-align:center}.wpstg--tab--header a.wpstg--tab--active,.wpstg--tab--header a:hover{border-bottom:.4em solid #25a1f0;color:#25a1f0}.wpstg--tab--header a:hover{background-color:#fefefe}.wpstg--tab--content{display:none}.wpstg--tab--active{display:block}.wpstg--text--strong,.wpstg--text--strong *{font-weight:700!important}.wpstg--text--danger{color:#a94442}.wpstg--tooltip{border-bottom:1px dotted #000;display:inline-block;margin-left:10px;position:relative}.wpstg--tooltip .wpstg--tooltiptext{background-color:#fff;border-radius:3px;-webkit-box-shadow:0 3px 6px rgba(0,0,0,.16),0 3px 6px rgba(0,0,0,.23);-moz-box-shadow:0 3px 6px rgba(0,0,0,.16),0 3px 6px rgba(0,0,0,.23);box-shadow:0 3px 6px rgba(0,0,0,.16),0 3px 6px rgba(0,0,0,.23);color:#505050;padding:12px;position:absolute;text-align:left;visibility:hidden;width:300px;z-index:1}.wpstg--tooltiptext-backups{left:-150%;margin-left:-56px;margin-top:4px;top:100%;width:120px}.wpstg--tooltip.wpstg--exclude-rules--tooltip{border-bottom:0 solid transparent}.wpstg--tooltip.wpstg--exclude-rules--tooltip>.wpstg--tooltiptext{margin-left:-150px;margin-top:0}.wpstg--tooltip .wpstg--tooltiptext-backups:after{border:5px solid transparent;border-bottom-color:#fff;bottom:100%;content:" ";left:50%;margin-left:25px;position:absolute}.wpstg--tooltip .wpstg--tooltiptext.has-top-arrow{margin-top:6px}.wpstg--tooltip .wpstg--tooltiptext.has-top-arrow:after{border:5px solid transparent;border-bottom-color:#fff;bottom:100%;content:" ";left:50%;margin-left:-18px;position:absolute}.wpstg--snaphot-restore-table tr{line-height:12px}.wpstg-beta-notice{background-color:#b0e8b0;border-radius:3px;margin-bottom:20px;padding:7px}#wpstg-backup-name{font-size:1.875em;font-weight:600}#wpstg_select_tables_cloning option:checked{-webkit-appearance:menulist-button;background-image:linear-gradient(0deg,#1e90ff,#1e90ff)}.wpstg--btn--cancel{color:#fff;font-size:16px;height:auto;line-height:normal;margin-bottom:1.5em;padding:.5em}.wpstg--btn--cancel,.wpstg--btn--cancel:hover{background:#ff3428;border-color:#e72f24}.wpstg--process--content>.wpstg--swal2-html-container{padding:4em 2em!important}.wpstg--modal--error--logs,.wpstg--modal--process--logs{background:#fff;border:1px solid #a8a8a8;border-radius:3px;display:none;height:300px;margin-top:1em;overflow:auto;padding-left:10px;padding-top:10px;text-align:justify}.wpstg--modal--error--logs{height:auto;max-height:300px}.wpstg--modal--process--logs p{font-size:12px;white-space:nowrap}.wpstg--modal--process--logs p.wpstg--modal--process--msg--info{color:#222}.wpstg--modal--process--logs p.wpstg--modal--process--msg--debug{color:#757575}.wpstg--modal--process--title{color:#565656;margin:.25em 0}.wpstg--modal--process--subtitle{color:#565656;margin:.5em 0}.wpstg--modal--error--logs>p{color:#222;font-size:14px;text-align:left}.wpstg--modal--error--logs p,.wpstg--modal--process--logs p{margin:0 0 2px}.wpstg--modal--process--msg--critical,.wpstg--modal--process--msg--error{color:#e01e5a}.wpstg--modal--process--msg--warning{color:#ff8c00}.wpstg--modal--process--msg-found{color:#e01e5a;font-size:16px;font-weight:700}.wpstg--modal--delete{color:#565656;margin-top:8px;text-align:left}.wpstg-swal-popup .wpstg--swal2-cancel.wpstg--btn--cancel{margin-bottom:0;text-shadow:none!important}.wpstg-swal-popup .wpstg-loader{display:inline-block!important}.wpstg--modal--process--generic-problem{border-left:5px solid #e01e5a;display:none;margin:.5em 0}.wpstg--modal--process--logs--tail{background:none;border:none;color:#565656;cursor:pointer;font-size:16px}.wpstg--modal--backup--import--upload--title{color:#565656}.wpstg--modal--backup--import--configure,.wpstg--modal--backup--import--upload--container input[type=file],.wpstg--modal--backup--import--upload--status{display:none}#wpstg--backups--import--file-list{font-size:14px;font-weight:700}#wpstg--backups--import--file-list-empty{color:#e01e5a}.wpstg--modal--backup--import--filesystem label{font-size:14px}.wpstg--modal--backup--import--filesystem button{margin-bottom:20px}.wpstg--modal--backup--import--upload{color:#505050;min-height:30px;position:relative}.wpstg--modal--backup--import--upload--container{background-color:#f4fbff;border:3.5px dashed #dedede;border-radius:10px;margin:.5em;min-height:130px;padding:1em .5em;position:relative;transition:background-color .3s ease,color .3s ease}.wpstg--modal--backup--import--upload--container.wpstg--has-dragover span.wpstg--drop{display:inline-flex}.wpstg--modal--backup--import--upload--container input[type=file]{display:none}.wpstg--modal--backup--import--upload--container img{align-self:center;border:none;margin-top:10px;width:4em}.wpstg--modal--backup--import--upload--container span{margin-top:1em}.wpstg--backup--import--options>button{align-self:center;height:auto;line-height:normal;margin-top:1em;padding:1em;width:185px}.wpstg--backup--import--options{display:flex;justify-content:center;position:relative}.wpstg--backup--import--options ul{display:none}.wpstg--backup--import--options.wpstg--show-options ul{background:#25a1f0;border-color:#2188c9;border-radius:0 0 3px 3px;border-width:1px;box-sizing:border-box;display:block;margin:54px 0 0;padding:0;position:absolute;text-shadow:0 -1px 1px #006799,1px 0 1px #006799,0 1px 1px #006799,-1px 0 1px #006799;width:185px}.wpstg--backup--import--options.wpstg--show-options ul li{border-bottom:.1em solid #25a1f0;margin:0}.wpstg--backup--import--options.wpstg--show-options ul li:hover{background-color:#25a1f0}.wpstg--backup--import--options.wpstg--show-options ul li:last-child{border-bottom:none}.wpstg--backup--import--options ul li button{background:none;border:none;color:#fff;cursor:pointer;height:40px;line-height:40px;margin:0;width:100%}.wpstg--backup--import--options ul li button:hover{background-color:#259be6}.wpstg--modal--backup--import--search-replace--info{display:flex;flex-direction:row;margin:1em 0}.wpstg--modal--backup--import--info p{margin:0;text-align:left}.wpstg--modal--backup--import--search-replace--wrapper button{align-self:center}.wpstg--import--advanced-options--button{border:0;border-radius:3px;cursor:pointer;font-size:18px;text-shadow:0 -1px 1px #006799,1px 0 1px #006799,0 1px 1px #006799,-1px 0 1px #006799}.wpstg--modal--backup--import--search-replace--new{background-color:#25a1f0;color:#fff}.wpstg--modal--backup--import--search-replace--remove{background-color:#25a1f0;color:#fff;height:22px;margin-left:5px;width:22px}.wpstg--modal--backup--import--search-replace--input-group:first-child button{display:none}.wpstg--modal--backup--import--search-replace--input--container{display:flex;flex:1;flex-direction:column}.wpstg--modal--backup--import--search-replace--input-group{border-bottom:6px solid #f1f1f1;margin-bottom:10px;width:100%}.wpstg--modal--backup--import--search-replace--input-group input{border:1px solid #dedede;border-radius:3px;color:#666;display:inline-block;line-height:10px;margin-bottom:12px;min-width:250px;padding:8px;width:calc(50% - 20px)}.wpstg--modal--import--upload--process{align-items:center;color:#333;display:none;height:30px;justify-content:center;left:0;margin-bottom:20px;margin-top:20px;overflow:hidden;position:relative;text-indent:1em;top:0;white-space:nowrap;width:100%}.wpstg--modal--import--upload--progress{background:#98d452;border-radius:4px;color:#fff;height:100%;left:0;position:absolute;top:0}.wpstg--modal--import--upload--progress--title{z-index:9}.wpstg-fieldset:disabled{border-top:1px solid #fff;margin-top:20px;opacity:.8}.wpstg-fieldset{padding-left:20px}.wpstg-dark-alert{background-color:#0e86d9;color:#fff;font-weight:700;margin-top:0;padding:15px}.wpstg-dark-alert .wpstg-button--cta-red{margin-left:10px}.wpstg-form-group{align-items:center;display:block;margin-bottom:8px;width:100%}.wpstg-form-group>label{display:block;font-weight:700}.wpstg-text-field>input{display:block;line-height:1.5;width:300px}.wpstg-text-field>.wpstg-code-segment{margin-top:4px;min-width:300px}.wpstg-form-group>.wpstg-checkbox{position:relative}.wpstg-form-group>.wpstg-checkbox>input[type=checkbox]{left:150px}.wpstg-ml-4{margin-left:4px}#wpstg-advanced-settings hr{margin:20px 0}.wpstg-form-row{display:block}.wpstg-form-row input,.wpstg-form-row label{display:table-cell;margin-bottom:3px;margin-top:3px;padding-left:5px;padding-right:5px}.wpstg-form-row input{width:400px}.wpstg-form-row label{font-weight:700;white-space:nowrap;width:1px}#wpstg-db-connect-output #wpstg-db-status{width:390px}.wpstg-fs-14{font-size:14px}.wpstg-code-segment{display:block}.wpstg-form-group>.wpstg-checkbox{min-width:100%;width:100%}.wpstg-form-group>.wpstg-checkbox>input[type=checkbox]{margin-left:10px}@media only screen and (max-width:768px){.wpstg-form-group>label{min-width:auto;width:auto}.wpstg-text-field>input{width:100%}.wpstg-text-field>.wpstg-code-segment{margin-left:0;min-width:100%}.wpstg-tab-section{max-width:450px;width:calc(100vw - 60px)}}.wpstg-rounded{border-radius:3px}.wpstg-white-border{border:1px solid #fff!important}.wpstg-m-0{margin:0}.wpstg-mt-10px,.wpstg-my-10px{margin-top:10px!important}.wpstg-my-10px{margin-bottom:10px!important}.wpstg-w-100{width:100%}.wpstg-box-shadow{box-shadow:0 1px 1px 0 rgba(0,0,0,.1)}.wpstg-float-left{float:left}.wpstg-bold-text{font-weight:700}.wpstg-warning.notice{border-left:4px solid #ffba00}.wpstg-confirmation-label{background-color:#5b9dd9;border-radius:3px;color:#fff;padding:2px}.wpstg-my-6px{margin-bottom:6px;margin-top:6px}.wpstg-mb-10px{margin-bottom:10px}.wpstg-clear-both{clear:both}.wpstg-font-italic{font-style:italic}.wpstg-mt-20px{margin-top:20px}.wpstg-welcome-container{border:2px solid #fff;margin-bottom:20px;padding:20px}.wpstg-ml-30px{margin-left:30px}.wpstg-text-center{text-align:center}.wpstg-feedback-link{text-decoration:none}.wpstg-feedback-span{display:block;margin-bottom:3px}#wpstg-confirm-backup-restore-data{margin:40px;text-align:left}#wpstg-confirm-backup-restore-wrapper{margin:0 30px 30px}#wpstg-confirm-backup-restore-wrapper h3{color:#e01e5a}#wpstg-progress-backup,#wpstg-progress-db{background-color:#3fa5ee}#wpstg-progress-files.wpstg-pro,#wpstg-progress-sr{background-color:#3c9ee4}#wpstg-progress-data,#wpstg-progress-dirs{background-color:#3a96d7}#wpstg-progress-files:not(.wpstg-pro),#wpstg-progress-finishing{background-color:#378cc9}.wpstg-issue-resubmit-confirmation.wpstg--swal2-container,.wpstg-swal2-container.wpstg--swal2-container{z-index:10500}.wpstg-swal2-container.wpstg-swal2-loading .wpstg--swal2-actions,.wpstg-swal2-container.wpstg-swal2-loading .wpstg--swal2-header{display:none}body.toplevel_page_wpstg_backup .wpstg--swal2-container .wpstg--swal2-content,body.toplevel_page_wpstg_clone .wpstg--swal2-container .wpstg--swal2-content{z-index:2}.toplevel_page_wpstg_clone #swal2-content h2{color:#565656}.toplevel_page_wpstg_clone #swal2-content{line-height:1.5em}div#exportUploadsWithoutDatabaseWarning{background-color:#fafafa;border:1px solid #e3e3e3;border-radius:5px;font-size:.9rem;font-style:italic;margin:10px;padding:10px;text-align:center}.wpstg-advanced-options-dropdown-wrapper{display:none;margin-top:20px}.wpstg--modal--backup--import--search-replace--wrapper{margin-top:20px;text-align:left}.wpstg--modal--backup--import--search-replace--new--wrapper{text-align:center}.wpstg-import-backup-contains li{display:inline-block}.wpstg-import-backup-contains li .wpstg-backups-contains{background-color:#e3e3e3;border:1px solid #c2c2c2;border-radius:3px;color:#979797;font-size:17px;height:17px;width:17px}.wpstg-import-backup-contains.wpstg-listing-single-backup li .wpstg-backups-contains{background-color:#fff;border:1px solid #c2c2c2;padding:2px}.wpstg-import-backup-contains.wpstg-listing-single-backup li .wpstg-backups-contains>.wpstg--dashicons{filter:invert(50%)}.wpstg-import-backup-contains .wpstg--tooltiptext{font-size:x-small;left:-25px;padding:5px;text-align:center;width:50px}.wpstg-import-backup-contains-title,ul.wpstg-import-backup-contains{display:inline-block}.wpstg-import-backup-name{display:inline-block;font-weight:700}.wpstg-backup-more-info-toggle{cursor:pointer;display:inline-block;font-size:x-small;font-style:italic}.wpstg-backup-more-info-toggle::selection{background:none}ul.wpstg-import-backup-more-info{background-color:#f6f6f6;border:1px solid #878787;border-radius:3px;cursor:pointer;font-size:14px;margin-bottom:30px;margin-top:10px;padding:7px;text-align:left}ul.wpstg-import-backup-more-info:hover{background-color:#def2ff;border:1px solid #25a1f0}ul.wpstg-import-backup-more-info li{height:20px}.wpstg-backup-list{max-width:800px}.wpstg-backup-list h3{color:#3e3e3e}.wpstg-backup-list ul ul{margin-block-end:1em;margin-block-start:1em}.wpstg-push-confirmation-message{font-size:15px;text-align:justify}.wpstg-settings-row{padding-bottom:10px;padding-top:10px}.wpstg-settings-title{font-weight:600}.wpstg-settings-form-group{align-items:center;display:flex}.wpstg-settings-form-group>.wpstg-settings-message{margin:7px 0 0;padding:0;width:30%}.wpstg-excluded-filters-container{margin-bottom:10px;margin-top:10px;max-width:100%;padding:0;width:100%}.wpstg-excluded-filters-container>table{border-collapse:collapse;border-color:transparent;width:100%}.wpstg-excluded-filters-container td{height:20px;padding-bottom:4px;padding-top:4px}.wpstg-excluded-filters-container h4{margin:0}.wpstg-exclude-filters-foot{display:flex;justify-content:flex-start;padding:0}.wpstg-exclude-filter-dropdown>button:hover{background:#135e96;border:1px solid #135e96}.wpstg-exclude-filter-dropdown>.wpstg-dropdown-menu{width:128px}.wpstg-remove-exclude-rule{background-color:#e01e5a;border:1px solid #e01e5a;border-radius:10px;box-shadow:none;color:#fff!important;cursor:pointer;display:inline-flex;font-size:24px;font-weight:400;height:20px;justify-content:center;line-height:.7;margin-top:5px;outline:none;padding:0;width:20px}.wpstg-remove-exclude-rule:hover{background-color:#e01e5a;border-color:#e01e5a}.wpstg-code-block{background:#f8f8f8;border-radius:2px;font-size:1.2em;margin-top:4px}.wpstg-rule-info{background:#f8f8f8!important}code.wpstg-code{background:#fff;border:1px solid #aaa;color:#e01e5a;display:inline-block;font-size:11px;margin-bottom:1px;padding:2px 4px}.wpstg-exclusion-rule-info{align-items:center;background-color:#ffc107;border:1px solid #ffc107;border-radius:7px;box-shadow:none;color:#fff!important;display:inline-flex;font-size:14px;font-weight:400;height:14px;justify-content:center;outline:none;padding:0;vertical-align:middle;width:14px}.wpstg-exclusion-rule-info:hover{background-color:#ffba0c;border:1px solid #ffba0c}.wpstg-exclude-rule-input{background-color:#fff;border:1px solid #bbb;border-radius:0!important;box-shadow:none;color:#222;display:inline-block;font-size:12px!important;font-weight:400;line-height:1.5;margin-left:4px;margin-top:4px;min-height:24px!important;outline:none!important;padding:2px 6px;transition:all .3s cubic-bezier(.25,.8,.25,1);vertical-align:baseline!important;width:135px}.wpstg-excluded-filters-container tbody>tr:last-child .wpstg-exclude-rule-input{margin-bottom:4px}.wpstg-exclude-rule-input:hover{border:1px solid #999}.wpstg-exclude-rule-input:focus{border:1px solid #25a0f1!important;box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 2px rgba(0,0,0,.24)!important}.wpstg-file-size-exclude-select,.wpstg-path-exclude-select{width:135px}.wpstg-file-size-exclude-select-small{width:52px}.wpstg-file-size-exclude-input{width:75px}.wpstg-staging-option-title{margin:15px 0 0}.wpstg-swal-push-container.wpstg--swal2-container{z-index:9995}#wpstg-scanning-files{padding-bottom:5px}#wpstg-scanning-db.wpstg-tab-section,#wpstg-scanning-files.wpstg-tab-section{padding-top:10px}.wpstg-reset-excludes-container{margin:10px 0}.wpstg-swal2-ajax-loader{align-items:center;display:flex;height:150px;justify-content:center;overflow:hidden;width:100%}@keyframes wpstg-loading-icon-anim{0%{transform:rotate(0)}to{transform:rotate(1turn)}}.wpstg-swal2-ajax-loader>img{animation:wpstg-loading-icon-anim 1s linear infinite;-webkit-animation:wpstg-loading-icon-anim 1s linear infinite;height:64px;width:64px}.wpstg-swal2-container .wpstg-tab-section{width:auto!important}#wpstg-no-staging-site-results{margin-top:10px;max-width:375px}li#wpstg-backup-no-results{max-width:500px}#wpstg-no-staging-site-results div,li#wpstg-backup-no-results div{display:inline-block;text-align:center}#wpstg-no-staging-site-results .wpstg--dashicons,li#wpstg-backup-no-results .wpstg--dashicons{filter:invert(50%);margin-top:1px;position:absolute}#wpstg-no-staging-site-results .no-staging-site-found-text,li#wpstg-backup-no-results .no-backups-found-text{color:#5d5d5d;margin-left:20px}@media only screen and (max-width:680px){#wpstg-no-staging-site-results div,li#wpstg-backup-no-results div{width:100%}}#wpstg--modal--backup--download-inner p.wpstg-download-modal-text{color:#565656;font-size:16px}#wpstg--modal--backup--download-inner h2{color:#565656}.wpstg-backup-restore-contains-database,.wpstg-backup-restore-contains-files{display:none}.wpstg-green-button{background:#8bc34a;border:1px solid #78a93f;color:#fff;text-shadow:0 -1px 1px #78a93f,1px 0 1px #78a93f,0 1px 1px #40c921,-1px 0 1px #78a93f}.wpstg-green-button:hover{background:#78a93f}.wpstg-is-dir-loading{display:none;margin-left:8px;margin-top:-2px;position:absolute}.wpstg-ml-8px{margin-left:8px}.wpstg-mb-8px{margin-bottom:8px}.wpstg-btn-danger{background-color:#e01e5a;border:1px solid #e01e5a;color:#fff;text-shadow:none}.wpstg-btn-danger:hover{background:#c0194d;box-shadow:0 1px 4px rgba(0,0,0,.3)}.wpstg-swal2-container.wpstg-swal2-loading>.wpstg--swal2-modal{height:200px}.wpstg-reset-confirmation.wpstg-swal2-container:not(.wpstg-swal2-loading)>.wpstg--swal2-modal{max-width:480px}.wpstg-reset-confirmation.wpstg-swal2-container .wpstg--swal2-header{display:none}.wpstg-reset-confirmation.wpstg-swal2-container .wpstg--swal2-content{height:auto}.wpstg-reset-confirmation.wpstg-swal2-container>.wpstg--swal2-modal>.wpstg--swal2-content .wpstg-tabs-wrapper{height:auto!important;overflow-y:auto}.wpstg-reset-confirmation.wpstg-swal2-container>.wpstg--swal2-modal>.wpstg--swal2-content{font-size:13px}.wpstg-reset-confirmation.wpstg-swal2-container>.wpstg--swal2-modal>.wpstg--swal2-content .wpstg-dir{margin-bottom:4px}.wpstg-reset-confirmation.wpstg-swal2-container>.wpstg--swal2-modal>.wpstg--swal2-content .wpstg-subdir{margin-top:4px}.wpstg-reset-confirmation.wpstg-swal2-container.has-collapsible-open .wpstg--swal2-modal{height:calc(100vh - 70px)}.wpstg-reset-confirmation.wpstg-swal2-container.has-collapsible-open>.wpstg--swal2-modal>.wpstg--swal2-content .wpstg-tabs-wrapper{height:calc(100vh - 350px)!important}.wpstg--swal2-actions.wpstg--modal--actions>button{font-weight:500;margin-left:4px;margin-right:4px;min-width:80px;text-shadow:none;text-transform:uppercase}.wpstg-swal-popup{max-width:1200px!important}.wpstg-swal-popup.wpstg-push-finished .wpstg--swal2-title{color:#a8a8a8}.wpstg-swal-popup.wpstg-push-finished .wpstg--swal2-content{color:#a8a8a8;margin-top:8px}.wpstg-swal-popup .wpstg--swal2-progress-steps .wpstg--swal2-progress-step,.wpstg-swal-popup .wpstg--swal2-progress-steps .wpstg--swal2-progress-step-line,.wpstg-swal-popup .wpstg--swal2-progress-steps .wpstg--swal2-progress-step.wpstg--swal2-active-progress-step{background:#25a1f0}.wpstg-swal-popup .wpstg--swal2-progress-steps .wpstg--swal2-progress-step-line{width:2.75em}.wpstg--dashicons{height:16px;width:16px}.wpstg--dashicons.wpstg-dashicons-grey{filter:invert(20%)}.wpstg--dashicons.wpstg-dashicons-19{height:19px;width:19px}.wpstg--dashicons.wpstg-dashicons-21{height:21px;width:21px}#wpstg--tab--backup #wpstg-step-1{align-items:center;display:flex}#wpstg--tab--backup #wpstg-step-1 .wpstg--tooltip,.wpstg-advanced-options .wpstg--tooltip{align-items:center;border-bottom:0 solid transparent;display:inline-flex}#wpstg--tab--backup #wpstg-step-1 .wpstg--tooltip{align-items:center;border-bottom:0 solid transparent;display:flex}.wpstg--tooltip .wpstg--tooltiptext-backups:after{left:calc(20% + 2px)}.wpstg-listing-single-backup .wpstg--dashicons{height:17px;width:17px}.wpstg-100-width{width:100px}.wpstg-caret{border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid;cursor:pointer;display:inline-block;height:0;margin-left:2px;transition:transform .2s;vertical-align:middle;width:0}.wpstg-caret.wpstg-caret-up{transform:rotate(-180deg)}.wpstg-advanced-options-site label{display:block;font-size:16px;margin:.5em 0}#wpstg-confirm-backup-restore-data{font-size:18px;margin:30px 0 0}body.toplevel_page_wpstg_backup .wpstg--swal2-container.wpstg--swal2-backdrop-show,body.toplevel_page_wpstg_clone .wpstg--swal2-container.wpstg--swal2-backdrop-show{background:rgba(0,0,0,.6);z-index:9995}.wpstg-swal-popup.wpstg--swal2-popup{border-radius:8px;color:#565656;font-family:Verdana,Geneva,Tahoma,sans-serif;padding:24px;z-index:9999}.wpstg-swal-popup .wpstg--swal2-title{color:#565656;font-size:22px}.wpstg-swal-popup.wpstg--swal2-popup:not(.centered-modal) .wpstg--swal2-title{align-self:flex-start;margin-bottom:0;text-align:left}.wpstg-swal-popup .wpstg--swal2-close{right:8px;top:8px;z-index:5}.wpstg-swal-popup .wpstg--swal2-close:focus{outline:none}.wpstg-swal-popup.wpstg--swal2-popup:not(.centered-modal) .wpstg--swal2-actions{justify-content:flex-end}.wpstg-swal-popup .wpstg--swal2-actions>button{border:0;border-radius:4px;font-size:15px;font-weight:900;height:40px;line-height:normal;min-width:100px;padding:10px 12px;text-shadow:none;text-transform:capitalize}.wpstg-swal-popup.wpstg--swal2-popup:not(.centered-modal) .wpstg--swal2-actions>button{margin-left:8px}.wpstg-swal-popup .wpstg--swal2-actions>button.wpstg--swal2-cancel{background:#fff;border:1px solid rgba(29,28,29,.3);color:#1d1c1d;font-weight:500;text-shadow:none;width:100px}.wpstg-swal-popup .wpstg--swal2-actions>button:hover{box-shadow:0 1px 3px 0 rgba(0 0 0 .1)}.wpstg-swal-popup .wpstg--swal2-actions>button.wpstg--swal2-cancel:hover{background:rgba(28,29,28,.04)}#wpstg-backup-name-input{font-size:18px;height:44px}.wpstg-restore-finished-container .wpstg--swal2-title{color:#565656!important}.wpstg-restore-finished-container .wpstg--swal2-content{color:#a8a8a8;margin-top:20px}.wpstg-linear-loader>span[class*=wpstg-linear-loader-item]{animation:wpstg_linear_loader 3s infinite;animation-fill-mode:both;animation-timing-function:cubic-bezier(.03,.615,.995,.415);background:#333;border-radius:100%;display:inline-block;height:6px;margin:12px 2px;width:6px}.wpstg-linear-loader>span.wpstg-linear-loader-item:first-child{animation-delay:1s}.wpstg-linear-loader>span.wpstg-linear-loader-item:nth-child(2){animation-delay:.8s}.wpstg-linear-loader>span.wpstg-linear-loader-item:nth-child(3){animation-delay:.6s}.wpstg-linear-loader>span.wpstg-linear-loader-item:nth-child(4){animation-delay:.4s}.wpstg-linear-loader>span.wpstg-linear-loader-item:nth-child(5){animation-delay:.2s}.wpstg-linear-loader>span.wpstg-linear-loader-item:nth-child(6){animation-delay:0s}@keyframes wpstg_linear_loader{0%{opacity:0;transform:translateX(-30px)}25%{opacity:1}50%{opacity:0;transform:translateX(30px)}to{opacity:0}}.wpstg--modal--backup--import--upload--content{margin:1em auto;padding:.75em}.wpstg--modal--backup--import--upload--content .wpstg-linear-loader{display:none}#wpstg-multisite-disabled .wpstg-clone{width:355px}#wpstg-free-version-backups .wpstg-clone{text-align:center}#wpstg-free-version-backups .wpstg-clone p{font-size:16px}.wpstg-staging-info li .backup-notes{word-break:break-word}.wpstg--modal--import--upload--progress--title small{font-weight:400}#wpstg-report-issue-wrapper{position:relative}#wpstg-report-issue-wrapper .arrow-up{border-bottom:8px solid #fff;border-left:8px solid transparent;border-right:8px solid transparent;height:0;position:absolute;right:40px;top:-8px;width:0}.notice{margin:10px 20px 0 2px}.wpstg--notice{box-shadow:0 1px 1px rgba(0,0,0,.04);margin:20px 20px 20px 0;padding:1px 12px}.wpstg--error a:hover{color:#eee}.wpstg--error,.wpstg--error a{background:#e01e5a;color:#fff}.wpstg-button{border-radius:2px;cursor:pointer;display:inline-block;font-weight:500;outline:0;padding:2px 10px;text-decoration:none;text-transform:uppercase;transition:background-color .1s ease-in}.wpstg-button.wpstg-save{background-color:#1687a7;color:#fff}.wpstg-button.wpstg-save:hover{background-color:#276678}.wpstg-button.wpstg-button-light{animation:background-color .3s;background-color:#f8f8f8;border:1px solid #eee;color:#333}.wpstg-button.wpstg-button-light:hover{background-color:#e0e0e0;border:1px solid #e0e0e0}.wpstg-buttons .spinner{float:none;margin:0 0 0 5px}.wpstg-button.danger{background-color:#e01e5a;border-color:transparent;border-radius:2px;color:#fff;display:inline-block;text-align:center;text-decoration:none;text-transform:inherit}.wpstg-button.danger:hover{background-color:#c0194d}.wpstg-button--big{border-radius:3px;color:#fff;display:inline-block;font-size:16px;margin-top:20px;min-width:170px;padding:10px;text-align:center;text-decoration:none}.wpstg-button--primary{-webkit-appearance:none;border:1px solid rgba(29,28,29,.3);border-radius:2px;box-sizing:border-box;color:#171717;cursor:pointer;display:inline-block;font-size:13px;line-height:2.15384615;margin:0;min-height:30px;padding:0 10px;text-decoration:none;white-space:nowrap}.wpstg-button--primary:hover{background:rgba(28,29,28,.04);color:#000}.wpstg-button--secondary{background-color:transparent;border:1px solid rgba(29,28,29,.3);border-radius:2px;color:#95a5a6;cursor:pointer;display:inline-block;font-weight:500;outline:0;padding:4px 10px 2px;text-decoration:none;transition:background-color .1s ease-in}.wpstg-button--red{background-color:#e01e5a;border-color:#e01e5a;color:#fff}.wpstg-button--red:hover{background-color:#d02358;border-color:#e0255f;color:#fff}.wpstg-button--cta-red{background-color:#fe008f;border-color:#e01e5a;color:#fff}.wpstg-button--cta-red:hover{background-color:#f31391;border-color:#e0255f;color:#fff}.wpstg-button--blue{background-color:#25a0f1;border-color:#25a0f1;color:#fff}.wpstg-button--blue:hover{background-color:#259be6;border-color:#259be6;color:#fff}#wpstg-button-backup-upgrade{font-size:16px}.wpstg-staging-status{color:#e01e5a}#wpstg-push-changes,#wpstg-save-clone-data,#wpstg-start-updating{margin-left:5px}input.wpstg-textbox{border:1px solid #aaa;border-radius:.25rem;font-size:14px;padding:.25rem .5rem}input.wpstg-textbox:focus{border-color:#259be6;-webkit-box-shadow:0 0 0 .1rem hsla(0,0%,86.7%,.35);box-shadow:0 0 0 .1rem hsla(0,0%,86.7%,.35);outline:0}input.wpstg-textbox::placeholder{color:#888}.wpstg--advance-settings--checkbox{align-items:center;display:flex}.wpstg--advance-settings--checkbox>label{display:inline-block;font-size:14px;font-weight:bolder;width:165px}.wpstg--advance-settings--checkbox>.wpstg--tooltip{border-bottom:0 solid transparent;display:inline-block;margin-left:5px;margin-top:5px;position:relative}.wpstg--advance-settings--checkbox>.wpstg--tooltip>.wpstg--tooltiptext{left:-150px;top:18px}div#wpstg-restore-wait{align-items:center;background:#fff;display:none;flex-direction:column;height:100vh;justify-content:center;left:0;position:fixed;text-align:center;top:0;width:100vw;z-index:99999}div#wpstg-restore-wait .wpstg-title{font-weight:700}div#wpstg-restore-wait div{font-size:16px;margin-top:12px}.resumable-browse{cursor:pointer}.resumable-browse a{text-decoration:underline}.wpstg-upload-text{font-weight:600}.wpstg--modal--backup--import--upload--container.dragover{background-color:#94dc96;color:#fff;transition:background-color .7s}.wpstg--modal--backup--import--upload--container.dragover *{pointer-events:none}.wpstg--modal--backup--import--upload--container.dragover .wpstg-upload-text{display:none}.wpstg--modal--backup--import--upload--container.dragover .wpstg-dragover-text{display:block}.wpstg--modal--backup--import--upload--container .wpstg-dragover-text{display:none}#wpstg-invalid-license-message,#wpstg-invalid-license-message a{color:#e01e5a;font-weight:500;margin-left:6px}#wpstg-sidebar--banner{max-width:200px}@media screen and (max-width:1234px){.wpstg-h2{font-size:24px}#wpstg-welcome li{font-size:14px}}.wpstg-exclamation{background-color:#e01e5a;border-radius:100%;color:#fff;display:inline-block;font-weight:700;height:20px;margin:6px;text-align:center;width:20px}.wpstg--tab--contents{padding-top:1px}.wpstg-swal-show.wpstg--swal2-show{-webkit-animation:wpstg-swal-show .2s!important;animation:wpstg-swal-show .2s!important}@-webkit-keyframes wpstg-swal-show{0%{transform:scale(.3)}to{transform:scale(1)}}@keyframes wpstg-swal-show{0%{transform:scale(.3)}to{transform:scale(1)}}
|
2 |
/*# sourceMappingURL=wpstg-admin.min.css.map */
|
assets/css/dist/wpstg-admin.min.css.map
CHANGED
@@ -1 +1 @@
|
|
1 |
-
{"version":3,"sources":["wpstg-admin.css"],"names":[],"mappings":"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","file":"wpstg-admin.min.css","sourcesContent":["/**\n * WPSTG Admin CSS\n *\n * @package WPSTG\n * @subpackage Admin CSS\n * @copyright Copyright (c) 2021, René Hermenau\n * @license http://opensource.org/licenses/gpl-2.0.php GNU Public License\n*/\n\n/* Colors */\n\n.wpstg--violet {\n color: #9d37ae;\n}\n\n.wpstg-border--violet {\n border: 1px solid #9d37ae;\n}\n\n.wpstg--red {\n color: #E01E5A;\n}\n\n.wpstg-cta--red {\n color: #fe008f;\n}\n\n.wpstg--blue {\n color: #24a1f0;\n}\n\n.wpstg--darkblue {\n color: #0e86d9;\n}\n\n.wpstg--green {\n color: #83c11f;\n}\n\n.wpstg--grey {\n color: #3e3e3e;\n}\n\n.wpstg--darkgrey {\n color: #1b1b1b;\n}\n\n/* CSS for Tabs */\n\n#wpstg-tab-container ul {\n list-style: none;\n margin: 0;\n padding: 0;\n background: #f1f1f1;\n float: left;\n}\n\n#wpstg-tab-container ul li:first-child.selected-tab {\n border-top: none;\n}\n\n#wpstg-tab-container ul li a.selected-tab {\n font-weight: bold;\n text-decoration: none;\n}\n\n#wpstg-tab-container .row {\n padding-top: 10px;\n padding-bottom: 12px;\n}\n\n.wpstg-tabs-container .nav-tab-wrapper {\n padding: 0;\n}\n\n#wpstg-tab-container .row label strong,\n#wpstg-tab-container .row strong {\n font-weight: bold;\n}\n\n.wpstg-tabs a {\n padding: 5px;\n}\n\n#wpstg-tab-container > ul > li.wpstg-tabs.active {\n background-color: white;\n}\n\n#wpstg_settingsgeneral_header .row:nth-child(3),\n#wpstg_settingsgeneral_header .row:nth-child(4) {\n display: none;\n}\n\n#wpstg-tab-container .wpstg-settings-panel {\n padding: 0 20px 20px 20px;\n overflow: auto;\n}\n\n#wpstg-tab-container .wpstg-form-table th {\n vertical-align: top;\n text-align: left;\n padding: 20px 10px 20px 0;\n line-height: 1.3;\n font-weight: bold;\n font-size: 14px;\n color: #484848;\n width: 30%;\n}\n\n#wpstg-tab-container .wpstg-form-table tr {\n border-bottom: 1px solid #E7E7E7;\n}\n\n#wpstg-tab-container span.description {\n display: block;\n font-weight: 400;\n font-style: normal;\n font-size: 13px;\n margin-top: 7px;\n color: #484848;\n}\n\n#wpstg-tab-container .col-title {\n color: #484848;\n}\n\n@media only screen and (max-width: 680px) {\n #wpstg-tab-container ul {\n float: none;\n }\n\n #wpstg-tab-container .wpstg-form-table tr > th {\n width: 100%;\n }\n\n #wpstg-tab-container span.description {\n font-size: 14px;\n }\n\n #wpstg-tab-container .wpstg-form-table tr > th,\n #wpstg-tab-container .wpstg-form-table tr > td {\n padding: 10px;\n }\n}\n\n#wpstg-tab-container ul li {\n margin-bottom: 0;\n}\n\n#wpstg-tab-container ul li a {\n display: block;\n padding: 10px 4px 10px 14px;\n border-width: 1px 0;\n border-style: solid;\n border-top-color: white;\n border-bottom-color: #e7e7e7;\n text-decoration: none;\n color: #0097DF;\n font-weight: bold;\n}\n\n#wpstg-tab-container ul li a:hover {\n background-color: #e5e5e5;\n color: #777777;\n}\n\n.wpstg-logo {\n display: block;\n font-size: 16px;\n padding-top: 20px;\n width: 220px;\n float: left;\n}\n\n.wpstg-logo img {\n max-width: 212px;\n}\n\n.wpstg-version {\n display: block;\n padding-top: 34px;\n color: #9b9b9b;\n}\n\n.wpstg_admin .nav-tab {\n color: #3C3C3C;\n}\n\n#wpstg-tab-container table tbody tr:nth-child(1) > th > div {\n font-size: 20px;\n}\n\n/* Cloning workflow */\n\n#wpstg-clonepage-wrapper {\n margin-bottom: 20px;\n width: 98%;\n}\n\n@media screen and (min-width: 1090px) {\n #wpstg-clonepage-wrapper {\n float: left;\n margin-bottom: 20px;\n }\n}\n\n#wpstg-steps {\n margin-top: 0px;\n margin-left: 20px;\n}\n\n#wpstg-steps li {\n color: #444;\n line-height: 20px;\n padding-right: 10px;\n float: left;\n}\n\n.wpstg-step-num {\n border: 1px solid #3e3e3e;\n border-radius: 3px;\n display: inline-block;\n width: 20px;\n height: 20px;\n text-align: center;\n margin-right: 5px;\n}\n\n.wpstg-current-step {\n font-weight: bold;\n}\n\n.wpstg-current-step .wpstg-step-num {\n background: #3e3e3e;\n color: #eee;\n}\n\n.wpstg-box {\n margin: 10px 0;\n padding: 10px;\n position: relative;\n overflow: hidden;\n transition: border-color .2s ease-in-out;\n}\n\n.wpstg-clone {\n margin-bottom: 10px;\n padding: 16px;\n position: relative;\n transition: border-color .2s ease-in-out;\n background-color: #ffffff;\n color: #3e3e3e;\n border-radius: 3px;\n box-shadow: 0 0 1px rgba(0, 0, 0, .125), 0 1px 3px rgba(0, 0, 0, .1);\n}\n\n.wpstg-clone.active {\n border-color: #1d94cf;\n}\n\n.wpstg-clone-header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n}\n\n.wpstg-clone-title {\n display: inline-block;\n font-size: 15px;\n max-width: 300px;\n text-decoration: none;\n font-weight: bold;\n color: #3e3e3e;\n}\n\n.wpstg-clone-title:hover {\n color: #111111;\n}\n\n.wpstg-clone-actions {\n display: flex;\n margin-top: 5px;\n}\n\n.wpstg-dropdown {\n position: relative;\n}\n\n.wpstg-clone-actions .wpstg-dropdown-toggler {\n text-decoration: none;\n background: #25a1f0;\n padding: 6px 10px;\n border-radius: 2px;\n font-size: 14px;\n box-shadow: 0 0 1px rgba(0, 0, 0, .125), 0 1px 3px rgba(0, 0, 0, .2);\n color: #ffffff;\n}\n\n.wpstg-clone-actions .wpstg-dropdown-toggler:hover {\n background: #002648;\n color: white;\n}\n\n.wpstg-dropdown {\n position: relative;\n}\n\n.wpstg-dropdown > .wpstg-dropdown-menu {\n background: #fff;\n display: none;\n flex-direction: column;\n position: absolute;\n right: 0;\n top: calc(100% + 4px);\n padding: 8px;\n border-radius: 2px;\n width: 100px;\n box-shadow: 0 0 1px rgba(0, 0, 0, .125), 0 1px 3px rgba(0, 0, 0, .2);\n z-index: 1000;\n}\n\n.wpstg-dropdown > .wpstg-dropdown-menu.wpstg-menu-dropup {\n top: auto;\n bottom: 100%;\n transform: translate3d(0px, -3px, 0px);\n}\n\n.wpstg-dropdown > .wpstg-dropdown-menu.shown {\n display: flex;\n}\n\n.wpstg-clone-action,\n.wpstg-dropdown-action {\n color: #3e3e3e;\n padding: 6px 8px;\n border-radius: 3px;\n text-decoration: none;\n position: relative;\n transition: color .2s ease-in-out;\n border-bottom: 1px solid #f3f3f3;\n}\n\n.wpstg-clone-action:hover,\n.wpstg-dropdown-action:hover {\n background: rgba(0, 0, 0, 0.05);\n}\n\n.wpstg-dropdown-action {\n color: #3e3e3e;\n background: transparent;\n border: 0 solid black;\n outline: none;\n box-shadow: none;\n}\n\n.wpstg-remove-clone:hover {\n color: #E01E5A;\n}\n\n.wpstg-clone-action:last-child {\n border: none;\n}\n\n.wpstg-clone:hover .wpstg-clone-action {\n display: inline-block;\n}\n\n#wpstg-show-error-details:focus,\n#wpstg-workflow .wpstg-clone-action {\n outline: none;\n box-shadow: none;\n}\n\n.wpstg-link-btn {\n background: #45a1c9;\n color: #fff;\n display: inline-block;\n padding: 5px 10px;\n text-decoration: none;\n vertical-align: baseline;\n transition: all .2s ease-in-out;\n}\n\n.wpstg-link-btn:hover,\n.wpstg-link-btn:focus {\n color: #fff;\n outline: none;\n box-shadow: none;\n}\n\n#wpstg-workflow .wpstg-link-btn:active {\n vertical-align: baseline;\n}\n\n.wpstg-link-btn[disabled] {\n background: #777 !important;\n border-color: #555 !important;\n pointer-events: none;\n}\n\n#wpstg-cancel-cloning,\n#wpstg-cancel-cloning-update {\n margin-top: 5px;\n}\n\n#wpstg-cancel-cloning.success,\n#wpstg-cancel-cloning.success {\n background: #64dd58;\n border-color: #54bd4a;\n}\n\n#wpstg-error-wrapper,\n#wpstg-error-details {\n display: none;\n padding-top: 10px;\n font-size: 13px;\n clear: both;\n}\n\n#wpstg-show-error-details {\n display: inline-block;\n margin-left: 5px;\n color: #555;\n text-decoration: none;\n transition: color .2s ease-in-out;\n}\n\n#wpstg-show-error-details:hover {\n color: #1d94cf;\n}\n\n#wpstg-error-details {\n border-left: 5px solid #E01E5A;\n padding: 10px;\n width: 500px;\n}\n\n#wpstg-try-again {\n display: none;\n}\n\n#wpstg-home-link {\n float: right;\n}\n\n.wpstg-loader {\n content: url('../../img/loading.gif');\n margin-top: 10px;\n display: none;\n}\n\n.wpstg-loader.wpstg-finished {\n display: block;\n content: \"Finished\";\n background-color: #00c89a;\n color: white;\n padding: 2px 10px;\n margin-top: 0;\n border-radius: 3px;\n}\n\n#wpstg-workflow {\n max-width: 800px;\n position: relative;\n clear: both;\n padding-top: 20px;\n float: left;\n min-width: 500px;\n min-height: 380px;\n padding-right: 20px;\n padding-bottom: 20px;\n}\n\n#wpstg-sidebar {\n float: left;\n max-width: 400px;\n display: block;\n margin-left: 10px;\n}\n\n#wpstg-workflow.loading::after,\n#wpstg-removing-clone.loading::after {\n background: rgba(255, 255, 255, .7);\n content: 'Loading... may take a while for huge websites';\n display: block;\n width: 100%;\n height: 100%;\n font-size: 20px;\n padding-top: 100px;\n text-align: center;\n position: absolute;\n top: 0;\n left: 0;\n z-index: 99;\n}\n\n#wpstg-removing-clone.loading::after {\n content: 'REMOVING' !important;\n}\n\n#wpstg-existing-clones,\n#wpstg-removing-clone {\n position: relative;\n}\n\n#wpstg-existing-clones h3 {\n color: #3e3e3e;\n}\n\n#wpstg-removing-clone .wpstg-tab-section {\n display: block;\n}\n\n.wpstg-progress-bar {\n max-width: 900px;\n height: 27px;\n padding: 0;\n background-color: #d6d8d7;\n}\n\n.wpstg-progress {\n float: left;\n background: #3fa5ee;\n width: 0;\n height: 100%;\n transition: width .6s ease;\n color: white;\n line-height: 25px;\n text-align: center;\n overflow: hidden;\n}\n\n.wpstg-progress-files {\n background: #16b4f0;\n width: 0;\n height: 100%;\n transition: width .6s ease;\n color: white;\n line-height: 25px;\n text-align: center;\n}\n\n#wpstg-new-clone-id.wpstg-error-input,\n#wpstg-clone-path.wpstg-error-input {\n border: 1px solid #E01E5A;\n box-shadow: 0 0 2px rgba(255, 66, 53, .8);\n}\n\n#wpstg-new-clone-id {\n width: 450px;\n max-width: 100%;\n margin-left: 15px;\n}\n\n#wpstg-new-clone {\n background: #25a1f0;\n border-color: #2188c9;\n}\n\n#wpstg-new-clone:hover {\n background: #259be6;\n border-color: #2188c9;\n}\n\n#wpstg-clone-path {\n margin-left: 10px;\n width: 350px;\n}\n\n.wpstg-error-msg {\n color: #E01E5A;\n}\n\n#wpstg-clone-id-error {\n display: block;\n background-color: #f0f8ff;\n padding: 10px;\n margin: 20px;\n}\n\n#wpstg-start-cloning + .wpstg-error-msg {\n display: block;\n margin-top: 5px;\n}\n\n.wpstg-size-info {\n color: #999;\n font-weight: normal;\n position: relative;\n left: 2px;\n}\n\n.wpstg-db-table .wpstg-size-info {\n top: 2px;\n}\n\n.wpstg-db-table:hover {\n background-color: #f0f8ff;\n}\n\n#wpstg-workflow #wpstg-start-cloning {\n margin-left: 5px;\n vertical-align: baseline;\n}\n\n\n/* Tabs */\n\n.wpstg-tabs-wrapper {\n max-width: 640px;\n margin: 10px 0;\n}\n\n#wpstg-path-wrapper {\n border-bottom: 2px dashed #ccc;\n padding-bottom: 10px;\n margin-bottom: 10px;\n}\n\n.wpstg-tab-section {\n border-bottom: 1px solid #ddd;\n border-right: none;\n border-left: none;\n display: none;\n width: calc(100% - 72px);\n padding: 0px 36px;\n}\n\n.wpstg-tab-section::after {\n display: block;\n content: '';\n clear: both;\n}\n\n.wpstg-tab-header {\n border-bottom: 1px solid #ddd;\n border-right: none;\n border-left: none;\n color: #444;\n font-size: 16px;\n font-weight: bold;\n display: block;\n padding: 10px;;\n text-decoration: none;\n}\n\n.wpstg-tab-triangle {\n display: inline-block;\n margin-right: 12px;\n animation: transform 0.5s;\n width: 0;\n height: 0;\n margin-top: -3px;\n vertical-align: middle;\n border-top: 5px solid transparent;\n border-bottom: 5px solid transparent;\n border-left: 10px solid;\n transition: transform 0.2s;\n cursor: pointer;\n}\n\n.wpstg-tab-triangle.wpstg-no-icon {\n margin-right: 2px;\n width: auto;\n height: auto;\n vertical-align: auto;\n border-top: 0px solid;\n border-bottom: 0px solid;\n border-left: 0px solid;\n}\n\n.wpstg-tab-triangle.wpstg-rotate-90 {\n transform: rotate(90deg);\n}\n\n.wpstg-tab-header:focus {\n color: #444;\n outline: none;\n box-shadow: none;\n}\n\n#wpstg-large-files {\n display: none;\n border: 1px dashed #ccc;\n padding: 10px 10px 10px;\n margin-top: 20px;\n position: relative;\n font-size: 12px;\n}\n\n#wpstg-large-files h3 {\n background: #fff;\n margin: 0;\n padding: 0 5px;\n position: absolute;\n top: -10px;\n left: 5px;\n}\n\n.wpstg-subdir {\n display: none;\n margin-left: 20px;\n}\n\n.wpstg-subdir.wpstg-push {\n display: block;\n margin-left: 20px;\n}\n\n.wpstg-dir a.disabled {\n color: #888;\n cursor: default;\n text-decoration: none;\n}\n\n.wpstg-check-subdirs {\n display: inline-block;\n margin-left: 10px;\n}\n\n.wpstg-notice-alert {\n display: block;\n background-color: #E01E5A;\n padding: 20px;\n max-width: 600px;\n margin-top: 10px;\n color: white;\n}\n\n.wpstg-notice--white {\n display: block;\n background-color: #ffffff;\n padding: 20px;\n max-width: 600px;\n margin-top: 10px;\n}\n\n.wpstg-notice-alert a {\n color: white;\n}\n\n.wpstg-notice-alert h3 {\n color: white;\n}\n\n.wpstg-header {\n font-weight: 400;\n line-height: 1.6em;\n font-size: 19px;\n border-bottom: 1px solid #DFDFDF;\n clear: both;\n padding-top: 10px;\n}\n\n#wpstg-clone-label {\n font-size: 14px;\n font-weight: bold;\n}\n\n.wpstg-log-details {\n height: 300px;\n overflow: scroll;\n max-width: 650px;\n font-family: monospace;\n font-size: 12px;\n line-height: 15px;\n border: 1px solid #FFF;\n background-color: black;\n color: #c0c0c0;\n padding: 3px;\n white-space: nowrap;\n margin-top: 15px;\n}\n\n#wpstg-finished-result {\n display: none;\n}\n\n#wpstg-remove-cloning {\n background: #ff3428;\n border-color: #e72f24;\n margin-top: 5px;\n}\n\n#wpstg-success-notice {\n padding: 10px;\n background-color: white;\n max-width: 900px;\n border: 1px solid #ccc;\n margin-top: 20px;\n}\n\n.wpstg_beta_notice {\n margin-bottom: 20px;\n}\n\n.wpstg-sysinfo {\n width: 700px;\n height: 700px;\n}\n\n.wpstg-form-table .col-title label {\n font-weight: 600;\n}\n\n.wpstg-form-table td:first-child {\n width: 30%;\n}\n\n.wpstg-share-button-container {\n margin: 5px 0;\n}\n\n.wpstg-share-button-container p {\n margin: 0 0 10px 0;\n}\n\n.wpstg-share-button {\n display: inline-block;\n}\n\n.wpstg-share-button a {\n text-decoration: none;\n}\n\n.wpstg-share-button .wpstg-share {\n font-family: sans-serif;\n font-weight: bold;\n text-decoration: none;\n text-align: center;\n}\n\n.wpstg-share-button .wpstg-share {\n -webkit-border-radius: 2px;\n -moz-border-radius: 2px;\n border-radius: 2px;\n color: #FFF;\n display: inline;\n font-size: 12px;\n padding: 4px 8px;\n}\n\n.wpstg-share-button-twitter .wpstg-share {\n background-color: #00ABF0;\n}\n\n.wpstg-share-button-facebook .wpstg-share {\n background-color: #3b5998;\n}\n\n.wpstg-share-button-googleplus .wpstg-share {\n background-color: #F53424;\n}\n\n.wpstg-share-button-twitter .share:active,\n.wpstg-share-button-facebook .share:active,\n.wpstg-share-button-googleplus .share:active {\n background-color: #353535;\n}\n\n#wpstg-check-space {\n margin-left: 8px;\n}\n\n#wpstg-welcome li {\n font-size: 18px;\n line-height: 29px;\n position: relative;\n padding-left: 23px;\n list-style: none !important;\n}\n\n#wpstg-welcome {\n margin-top: 20px;\n margin-right: 20px;\n background-color: white;\n}\n\n.wpstg-heading-pro {\n font-weight: bold;\n}\n\n.wpstg-h2 {\n margin-top: 0;\n margin-bottom: 1.2rem;\n font-size: 30px;\n line-height: 2.5rem;\n}\n\n#wpstg-welcome li:before {\n width: 1em;\n height: 100%;\n background: url(data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%221792%22%20height%3D%221792%22%20viewBox%3D%220%200%201792%201792%22%20xmlns%3D%22http%3A%2F%2Fwww%2Ew3%2Eorg%2F2000%2Fsvg%22%3E%3Cpath%20fill%3D%22%2377B227%22%20d%3D%22M1671%20566q0%2040%2D28%2068l%2D724%20724%2D136%20136q%2D28%2028%2D68%2028t%2D68%2D28l%2D136%2D136%2D362%2D362q%2D28%2D28%2D28%2D68t28%2D68l136%2D136q28%2D28%2068%2D28t68%2028l294%20295%20656%2D657q28%2D28%2068%2D28t68%2028l136%20136q28%2028%2028%2068z%22%2F%3E%3C%2Fsvg%3E) left .4em no-repeat;\n background-size: contain;\n content: \"\";\n position: absolute;\n top: -2px;\n left: 0;\n color: #77b227;\n}\n\n.wpstg-h1 {\n margin-bottom: 1.35rem;\n font-size: 2.5em;\n line-height: 3.68rem;\n letter-spacing: normal;\n}\n\n.wpstg--swal2-content h1 {\n color: #444;\n}\n\n#wpstg-welcome h2 {\n margin: 0 0 15px;\n}\n\n#wpstg-welcome .wpstg-footer {\n clear: both;\n margin-top: 20px;\n font-style: italic;\n}\n\n#wpstg-footer {\n clear: both;\n margin-top: 20px;\n margin-right: 10px;\n padding-top: 50px;\n}\n\n#wpstg-footer a {\n text-decoration: none;\n}\n\n#wpstg-footer li {\n margin-bottom: 2px;\n list-style: circle;\n}\n\n#wpstg-footer ul {\n margin-left: 15px;\n margin-top: 0px;\n}\n\n.wpstg-footer--title {\n margin-left: 15px;\n}\n\n.wpstg-staging-info {\n margin-top: 8px;\n color: #3e3e3e;\n font-size: 12px;\n}\n\n.wpstg-staging-info a {\n color: #3e3e3e;\n}\n\n.wpstg-staging-info li {\n margin-bottom: 2px;\n}\n\n.wpstg-bold {\n font-weight: 600;\n}\n\n#wpstg-processing-status {\n margin-top: 5px;\n font-size: 13px;\n font-weight: 400;\n float: left;\n}\n\n#wpstg-processing-timer {\n margin-top: 5px;\n font-size: 13px;\n font-weight: 400;\n float: right;\n}\n\n#wpstg-report-issue-button {\n margin-left: 50px;\n border: 1px solid #E01E5A;\n color: #E01E5A;\n background-color: white;\n}\n\n#wpstg-report-issue-button:hover {\n background-color: #dc2b62;\n color: #fff;\n}\n\n.wpstg-blue-primary {\n display: inline-block;\n text-decoration: none;\n font-size: 13px;\n /*line-height: 26px;*/\n height: 28px;\n margin: 0;\n padding: 0 10px 1px;\n cursor: pointer;\n border-width: 1px;\n border-style: solid;\n -webkit-appearance: none;\n border-radius: 3px;\n white-space: nowrap;\n box-sizing: border-box;\n background: #25a1f0;\n border-color: #2188c9;\n color: #fff;\n text-shadow: 0 -1px 1px #006799, 1px 0 1px #006799, 0 1px 1px #006799, -1px 0 1px #006799;\n}\n\n.wpstg-blue-primary:hover {\n background-color: #259be6;\n}\n\n.wpstg-report-issue-form {\n position: absolute;\n z-index: 999;\n width: 300px;\n background-color: #fff;\n padding: 15px 15px 10px;\n border: 1px solid #e8e8e8;\n border-radius: 3px;\n box-shadow: 0 1px 0 0 #fff inset;\n display: none;\n right: 0;\n top: 35px;\n}\n\n@media (max-width: 600px) {\n .wpstg-report-issue-form {\n position: relative;\n }\n}\n\n.wpstg-report-show {\n display: block;\n}\n\n.wpstg-field input[type=text],\n.wpstg-field textarea {\n width: 100%;\n font-weight: 400;\n line-height: 1.4;\n margin-bottom: 4px;\n}\n\n.wpstg-report-email,\n.wpstg-report-hosting-provider {\n width: 100%;\n font-weight: 400;\n font-size: .8rem;\n height: 2.3rem;\n line-height: 2.3rem;\n border-radius: 3px;\n margin-bottom: 4px;\n padding: 0 10px;\n}\n\n.wpstg-report-description {\n border-radius: 3px;\n font-size: .8rem;\n padding: 6px 10px;\n resize: none;\n}\n\n.wpstg-report-privacy-policy {\n font-size: 12px;\n margin-bottom: 15px;\n}\n\n#wpstg-report-cancel {\n float: right;\n margin-right: 5px;\n font-weight: bold;\n}\n\n#wpstg-success-button {\n font-weight: bold;\n}\n\n.wpstg-message {\n box-sizing: border-box;\n -moz-box-sizing: border-box;\n background-color: #f5e0de;\n border-radius: 3px;\n color: rgba(0, 0, 0, .6);\n height: auto;\n margin: 10px 0;\n min-height: 18px;\n padding: 6px 10px;\n position: relative;\n}\n\n.wpstg-message.wpstg-error-message {\n background-color: #f5e0de;\n color: #b65147;\n font-size: 12px;\n}\n\n.wpstg-message.wpstg-success-message {\n background-color: #d7f8e0;\n color: #515151;\n}\n\n.wpstg-message p {\n margin: 3px 0;\n font-size: 13px;\n}\n\n.wpstg-warning {\n display: block;\n padding: 10px;\n background-color: #ffb804;\n color: #ffffff;\n margin: 10px 10px 10px 0;\n}\n\n.wpstg-warning a {\n color: #ffffff;\n font-weight: bold;\n text-decoration: underline;\n}\n\n.wpstg-error {\n display: block;\n padding: 10px !important;\n background-color: #E01E5A !important;\n color: #ffffff;\n margin: 10px 10px 10px 0 !important;\n border-color: transparent !important;\n border-left-color: transparent !important;\n box-shadow: none !important;\n}\n\n.wpstg-error a {\n color: #ffffff;\n font-weight: bold;\n text-decoration: underline;\n}\n\n#wpstg-resume-cloning {\n display: none;\n}\n\n#wpstg-external-db th {\n text-align: left;\n width: 120px;\n}\n\n#wpstg-db-connect {\n font-weight: normal;\n}\n\n#wpstg-db-status {\n display: block;\n margin-top: 5px;\n padding: 5px;\n margin-bottom: 20px;\n border: 1px solid transparent;\n border-radius: 4px;\n text-decoration: none;\n text-align: center;\n}\n\n.wpstg-text-field > #wpstg-db-status {\n margin-top: 8px;\n margin-left: 150px;\n min-width: 300px;\n}\n\n.wpstg-success {\n color: #3c763d;\n background-color: #dff0d8;\n border-color: #d6e9c6;\n}\n\n.wpstg-failed {\n color: #a94442;\n background-color: #f2dede;\n border-color: #ebccd1;\n}\n\n#wpstg_select_tables_cloning {\n height: 600px;\n font-size: 13px;\n}\n\n#wpstg-update-notify {\n background-color: #E01E5A;\n font-size: 14px;\n color: #ffffff;\n line-height: normal;\n padding: 10px;\n}\n\n#wpstg-update-notify a {\n color: #ffffff;\n font-weight: bold;\n}\n\n.wpstg-pointer {\n cursor: pointer;\n}\n\n.wpstg--tab--header {\n background-color: white;\n /* margin-bottom: 10px; */\n /* padding: 16px; */\n position: relative;\n transition: border-color .2s ease-in-out;\n background-color: #ffffff;\n color: #3e3e3e;\n border-radius: 2px;\n box-shadow: 0 0 1px rgba(0, 0, 0, .125), 0 1px 3px rgba(0, 0, 0, .02);\n}\n\n.wpstg--tab--header ul {\n display: flex;\n}\n\n.wpstg--tab--header ul li {\n margin-right: 1em;\n margin-bottom: 0px;\n}\n\n.wpstg--tab--header ul li:last-child {\n margin-right: 0;\n}\n\n.wpstg--tab--header a {\n min-width: 150px;\n text-align: center;\n cursor: pointer;\n display: inline-block;\n padding: 1em 1.25em;\n padding-bottom: 9px;\n color: #c4c4c4;\n font-size: 18px;\n /*\n border: solid 1px;\n */\n}\n\n.wpstg--tab--header a.wpstg--tab--active {\n border-bottom: .4em solid #25A1F0;\n color: #25A1F0;\n}\n\n.wpstg--tab--header a:hover {\n background-color: #fefefe;\n border-bottom: 0.4em solid #25A1F0;\n color: #25A1F0;\n}\n\n.wpstg--tab--content {\n display: none;\n}\n\n.wpstg--tab--active {\n display: block;\n}\n\n.wpstg--text--strong,\n.wpstg--text--strong * {\n font-weight: bold !important;\n}\n\n.wpstg--text--danger {\n color: #a94442;\n}\n\n.wpstg--tooltip {\n position: relative;\n display: inline-block;\n border-bottom: 1px dotted black;\n margin-left: 10px;\n}\n\n.wpstg--tooltip .wpstg--tooltiptext {\n visibility: hidden;\n width: 300px;\n background-color: #ffffff;\n color: #505050;\n text-align: left;\n padding: 12px;\n border-radius: 3px;\n position: absolute;\n z-index: 1;\n -webkit-box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16), 0 3px 6px rgba(0, 0, 0, 0.23);\n -moz-box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16), 0 3px 6px rgba(0, 0, 0, 0.23);\n box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16), 0 3px 6px rgba(0, 0, 0, 0.23);\n}\n\n.wpstg--tooltiptext-backups {\n width: 120px;\n top: 100%;\n left: -150%;\n margin-left: -56px;\n margin-top: 4px;\n}\n\n.wpstg--tooltip.wpstg--exclude-rules--tooltip {\n border-bottom: 0px solid transparent;\n}\n\n.wpstg--tooltip.wpstg--exclude-rules--tooltip > .wpstg--tooltiptext {\n margin-top: 0px;\n margin-left: -150px;\n}\n\n/**\nTooltip top arrow\n */\n\n.wpstg--tooltip .wpstg--tooltiptext-backups::after {\n content: \" \";\n position: absolute;\n bottom: 100%;\n /* At the top of the tooltip */\n left: 50%;\n margin-left: 25px;\n border-width: 5px;\n border-style: solid;\n border-color: transparent transparent white transparent;\n}\n\n.wpstg--tooltip .wpstg--tooltiptext.has-top-arrow {\n margin-top: 6px;\n}\n\n.wpstg--tooltip .wpstg--tooltiptext.has-top-arrow::after {\n content: \" \";\n position: absolute;\n bottom: 100%;\n left: 50%;\n margin-left: -18px;\n border-width: 5px;\n border-style: solid;\n border-color: transparent transparent white transparent;\n}\n\n.wpstg--snaphot-restore-table tr {\n line-height: 12px;\n}\n\n.wpstg-float-left {\n float: left;\n}\n\n.wpstg-beta-notice {\n background-color: #b0e8b0;\n border-radius: 3px;\n padding: 7px;\n margin-bottom: 20px;\n}\n\n#wpstg-backup-name {\n font-size: 1.875em;\n font-weight: 600;\n}\n\n#wpstg_select_tables_cloning option:checked {\n /* Cannot use background color here because Chrome and Firefox ignore it even if set to !important */\n -webkit-appearance: menulist-button;\n background-image: linear-gradient(0deg, #1e90ff 0%, #1e90ff 100%);\n}\n\n.wpstg--btn--cancel {\n background: #ff3428;\n border-color: #e72f24;\n color: #fff;\n height: auto;\n line-height: normal;\n font-size: 16px;\n padding: .5em;\n margin-bottom: 1.5em;\n}\n\n.wpstg--btn--cancel:hover {\n background: #ff3428;\n border-color: #e72f24;\n}\n\n.wpstg--process--content > .wpstg--swal2-html-container {\n padding: 4em 2em !important;\n}\n\n.wpstg--modal--process--logs,\n.wpstg--modal--error--logs {\n background: #ffffff;\n border: 1px solid #a8a8a8;\n border-radius: 3px;\n height: 300px;\n margin-top: 1em;\n display: none;\n padding-top: 10px;\n padding-left: 10px;\n overflow: auto;\n text-align: justify;\n}\n\n.wpstg--modal--error--logs {\n height: auto;\n max-height: 300px;\n}\n\n.wpstg--modal--process--logs p {\n font-size: 12px;\n white-space: nowrap;\n}\n\n.wpstg--modal--process--logs p.wpstg--modal--process--msg--info {\n color: #222222;\n}\n\n.wpstg--modal--process--logs p.wpstg--modal--process--msg--debug {\n color: #757575;\n}\n\n.wpstg--modal--process--title {\n color: #565656;\n margin: .25em 0;\n}\n\n.wpstg--modal--process--subtitle {\n margin: .5em 0;\n color: #565656;\n}\n\n.wpstg--modal--error--logs > p {\n text-align: left;\n font-size: 14px;\n color: #222222;\n}\n\n.wpstg--modal--process--logs p,\n.wpstg--modal--error--logs p {\n margin: 0px;\n margin-bottom: 2px;\n}\n\n.wpstg--modal--process--msg--error {\n color: #E01E5A;\n}\n\n.wpstg--modal--process--msg--critical {\n color: #E01E5A;\n}\n\n.wpstg--modal--process--msg--warning {\n color: darkorange;\n}\n\n.wpstg--modal--process--msg-found {\n font-size: 16px;\n color: #E01E5A;\n font-weight: bold;\n}\n\n.wpstg--modal--delete {\n text-align: left;\n margin-top: 8px;\n color: #565656;\n}\n\n.wpstg-swal-popup .wpstg--swal2-cancel.wpstg--btn--cancel {\n margin-bottom: 0;\n text-shadow: none !important;\n}\n\n.wpstg-swal-popup .wpstg-loader {\n display: inline-block !important;\n}\n\n.wpstg--modal--process--generic-problem {\n display: none;\n border-left: 5px solid #E01E5A;\n margin: .5em 0;\n}\n\n.wpstg--modal--process--logs--tail {\n font-size: 16px;\n color: #565656;\n background: none;\n border: none;\n cursor: pointer;\n}\n\n.wpstg--modal--backup--import--upload--title {\n color: #565656;\n}\n\n.wpstg--modal--backup--import--configure,\n.wpstg--modal--backup--import--upload--status,\n.wpstg--modal--backup--import--upload--container input[type=\"file\"] {\n display: none;\n}\n\n#wpstg--backups--import--file-list {\n font-size: 14px;\n font-weight: bold;\n}\n\n#wpstg--backups--import--file-list-empty {\n color: #E01E5A;\n}\n\n.wpstg--modal--backup--import--filesystem label {\n font-size: 14px;\n}\n\n.wpstg--modal--backup--import--filesystem button {\n margin-bottom: 20px;\n}\n\n.wpstg--modal--backup--import--upload {\n position: relative;\n min-height: 30px;\n}\n\n.wpstg--modal--backup--import--upload {\n color: #505050;\n}\n\n.wpstg--modal--backup--import--upload--container {\n position: relative;\n border-radius: 10px;\n margin: .5em;\n padding: 1em .5em;\n border: 3.5px dashed #dedede;\n transition: background-color 0.3s ease, color 0.3s ease;\n background-color: #f4fbff;\n min-height: 130px;\n}\n\n.wpstg--modal--backup--import--upload--container.wpstg--has-dragover span.wpstg--drop {\n display: inline-flex;\n}\n\n.wpstg--modal--backup--import--upload--container input[type='file'] {\n display: none;\n}\n\n.wpstg--modal--backup--import--upload--container img {\n width: 4em;\n align-self: center;\n border: none;\n}\n\n.wpstg--modal--backup--import--upload--container span {\n margin-top: 1em;\n}\n\n.wpstg--backup--import--options > button {\n margin-top: 1em;\n padding: 1em;\n align-self: center;\n width: 185px;\n height: auto;\n line-height: normal;\n}\n\n.wpstg--backup--import--options {\n position: relative;\n display: flex;\n justify-content: center;\n}\n\n.wpstg--backup--import--options ul {\n display: none;\n}\n\n.wpstg--backup--import--options.wpstg--show-options ul {\n padding: 0;\n margin: 54px 0 0 0;\n display: block;\n position: absolute;\n width: 185px;\n background: #25a1f0;\n box-sizing: border-box;\n border-radius: 0 0 3px 3px;\n border-width: 1px;\n border-color: #2188c9;\n text-shadow: 0 -1px 1px #006799, 1px 0 1px #006799, 0 1px 1px #006799, -1px 0 1px #006799;\n}\n\n.wpstg--backup--import--options.wpstg--show-options ul li {\n border-bottom: .1em solid #25a1f0;\n margin: 0;\n}\n\n.wpstg--backup--import--options.wpstg--show-options ul li:hover {\n background-color: #25a1f0;\n}\n\n.wpstg--backup--import--options.wpstg--show-options ul li:last-child {\n border-bottom: none;\n}\n\n.wpstg--backup--import--options ul li button {\n cursor: pointer;\n background: none;\n border: none;\n margin: 0;\n width: 100%;\n color: white;\n height: 40px;\n line-height: 40px;\n}\n\n.wpstg--backup--import--options ul li button:hover {\n background-color: #259be6;\n}\n\n.wpstg--modal--backup--import--search-replace--info {\n margin: 1em 0;\n display: flex;\n flex-direction: row;\n}\n\n.wpstg--modal--backup--import--info p {\n text-align: left;\n margin: 0;\n}\n\n.wpstg--modal--backup--import--search-replace--wrapper button {\n align-self: center;\n}\n\n.wpstg--import--advanced-options--button {\n border: 0;\n border-radius: 3px;\n font-size: 18px;\n text-shadow: 0 -1px 1px #006799, 1px 0 1px #006799, 0 1px 1px #006799, -1px 0 1px #006799;\n cursor: pointer;\n}\n\n.wpstg--modal--backup--import--search-replace--new {\n color: white;\n background-color: #25a1f0;\n}\n\n.wpstg--modal--backup--import--search-replace--remove {\n color: white;\n background-color: #25a1f0;\n width: 22px;\n height: 22px;\n margin-left: 5px;\n}\n\n.wpstg--modal--backup--import--search-replace--input-group:first-child button {\n display: none;\n}\n\n.wpstg--modal--backup--import--search-replace--input--container {\n flex: 1;\n display: flex;\n flex-direction: column;\n}\n\n.wpstg--modal--backup--import--search-replace--input-group {\n width: 100%;\n border-bottom: 6px solid #f1f1f1;\n margin-bottom: 10px;\n}\n\n.wpstg--modal--backup--import--search-replace--input-group input {\n min-width: 250px;\n width: calc(50% - 4px - 11px - 5px); /* -4px is half of the padding; -11px is half of the button; -5 is the margin left of the button */\n display: inline-block;\n line-height: 10px;\n border: 1px solid #dedede;\n border-radius: 3px;\n color: #666;\n padding: 8px;\n margin-bottom: 12px;\n}\n\n.wpstg--modal--import--upload--process {\n display: none;\n position: relative;\n height: 30px;\n margin-top: 20px;\n margin-bottom: 20px;\n width: 100%;\n top: 0;\n left: 0;\n text-indent: 1em;\n white-space: nowrap;\n overflow: hidden;\n color: #333333;\n justify-content: center;\n align-items: center;\n}\n\n.wpstg--modal--import--upload--progress {\n position: absolute;\n background: #98d452;\n color: white;\n height: 100%;\n border-radius: 4px;\n left: 0;\n top: 0;\n}\n\n.wpstg--modal--import--upload--progress--title {\n z-index: 9;\n}\n\n.wpstg-fieldset:disabled {\n opacity: 0.8;\n border-top: 1px solid white;\n margin-top: 20px;\n}\n\n.wpstg-fieldset {\n padding-left: 20px;\n}\n\n.wpstg-fs-14 {\n font-size: 14px;\n}\n\n.wpstg-dark-alert {\n font-weight: bold;\n background-color: #0e86d9;\n padding: 15px;\n margin-top: 0px;\n color: white;\n}\n\n.wpstg-dark-alert .wpstg-button--cta-red {\n margin-left:10px;\n}\n\n.wpstg-form-group {\n display: block;\n width: 100%;\n margin-bottom: 8px;\n align-items: center;\n}\n\n.wpstg-form-group > label {\n display: block;\n font-weight: 700;\n}\n\n.wpstg-text-field > input {\n width: 300px;\n display: block;\n line-height: 1.5;\n}\n\n.wpstg-code-segment {\n display: block;\n}\n\n.wpstg-text-field > .wpstg-code-segment {\n margin-top: 4px;\n min-width: 300px;\n}\n\n.wpstg-form-group > .wpstg-checkbox {\n min-width: 100%;\n width: 100%;\n position: relative;\n}\n\n.wpstg-form-group > .wpstg-checkbox > input[type='checkbox'] {\n left: 150px;\n}\n\n.wpstg-rounded {\n border-radius: 3px;\n}\n\n.wpstg-white-border {\n border: 1px solid white !important;\n}\n\n.wpstg-ml-4 {\n margin-left: 4px;\n}\n\n#wpstg-confirm-backup-restore-data {\n margin: 40px;\n text-align: left;\n}\n\n#wpstg-advanced-settings hr {\n margin: 20px 0;\n}\n\n.wpstg-form-row {\n display: block;\n}\n\n.wpstg-form-row label,\n.wpstg-form-row input {\n display: table-cell;\n padding-left: 5px;\n padding-right: 5px;\n margin-top: 3px;\n margin-bottom: 3px;\n}\n\n.wpstg-form-row input {\n width: 400px;\n}\n\n.wpstg-form-row label {\n font-weight: bold;\n width: 1px;\n white-space: nowrap;\n}\n\n#wpstg-db-connect-output #wpstg-db-status {\n width: 390px;\n}\n\n.wpstg-fs-14 {\n font-size: 14px;\n}\n\n.wpstg-code-segment {\n display: block;\n}\n\n.wpstg-form-group > .wpstg-checkbox {\n min-width: 100%;\n width: 100%;\n}\n\n.wpstg-form-group > .wpstg-checkbox > input[type='checkbox'] {\n margin-left: 10px;\n}\n\n@media only screen and (max-width: 768px) {\n .wpstg-form-group > label {\n min-width: auto;\n width: auto;\n }\n\n .wpstg-text-field > input {\n width: 100%;\n }\n\n .wpstg-text-field > .wpstg-code-segment {\n margin-left: 0;\n min-width: 100%;\n }\n\n .wpstg-tab-section {\n width: calc(100vw - 60px);\n max-width: 450px;\n }\n}\n\n.wpstg-rounded {\n border-radius: 3px;\n}\n\n.wpstg-white-border {\n border: 1px solid white !important;\n}\n\n.wpstg-m-0 {\n margin: 0;\n}\n\n.wpstg-mt-10px {\n margin-top: 10px !important;\n}\n\n.wpstg-my-10px {\n margin-top: 10px !important;\n margin-bottom: 10px !important;\n}\n\n.wpstg-w-100 {\n width: 100%;\n}\n\n.wpstg-box-shadow {\n box-shadow: 0 1px 1px 0 rgba(0, 0, 0, .1);\n}\n\n.wpstg-float-left {\n float: left;\n}\n\n.wpstg-bold-text {\n font-weight: bold;\n}\n\n.wpstg-warning.notice {\n border-left: 4px solid #ffba00;\n}\n\n.wpstg-confirmation-label {\n background-color: #5b9dd9;\n color: #fff;\n padding: 2px;\n border-radius: 3px;\n}\n\n.wpstg-my-6px {\n margin-bottom: 6px;\n margin-top: 6px;\n}\n\n.wpstg-mb-10px {\n margin-bottom: 10px;\n}\n\n.wpstg-clear-both {\n clear: both;\n}\n\n.wpstg-font-italic {\n font-style: italic;\n}\n\n.wpstg-mt-20px {\n margin-top: 20px;\n}\n\n.wpstg-welcome-container {\n border: 2px solid white;\n padding: 20px;\n margin-bottom: 20px;\n}\n\n.wpstg-ml-30px {\n margin-left: 30px;\n}\n\n.wpstg-text-center {\n text-align: center;\n}\n\n.wpstg-feedback-link {\n text-decoration: none;\n}\n\n.wpstg-feedback-span {\n display: block;\n margin-bottom: 3px;\n}\n\n#wpstg-confirm-backup-restore-data {\n margin: 40px;\n text-align: left;\n}\n\n#wpstg-confirm-backup-restore-wrapper {\n margin: 30px;\n margin-top: 0;\n}\n\n#wpstg-confirm-backup-restore-wrapper h3 {\n color: #E01E5A;\n}\n\n#wpstg-progress-db,\n#wpstg-progress-backup {\n background-color: #3fa5ee;\n}\n\n#wpstg-progress-sr,\n#wpstg-progress-files.wpstg-pro {\n background-color: #3c9ee4;\n}\n\n#wpstg-progress-dirs,\n#wpstg-progress-data {\n background-color: #3a96d7;\n}\n\n#wpstg-progress-files:not(.wpstg-pro),\n#wpstg-progress-finishing {\n background-color: #378cc9;\n}\n\n.wpstg-issue-resubmit-confirmation.wpstg--swal2-container,\n.wpstg-swal2-container.wpstg--swal2-container {\n z-index: 10500;\n}\n\n.wpstg-swal2-container.wpstg-swal2-loading .wpstg--swal2-actions,\n.wpstg-swal2-container.wpstg-swal2-loading .wpstg--swal2-header {\n display: none;\n}\n\nbody.toplevel_page_wpstg_backup .wpstg--swal2-container .wpstg--swal2-content,\nbody.toplevel_page_wpstg_clone .wpstg--swal2-container .wpstg--swal2-content {\n z-index: 2;\n}\n\n.toplevel_page_wpstg_clone #swal2-content h2 {\n color: #565656;\n}\n\n.toplevel_page_wpstg_clone #swal2-content {\n line-height: 1.5em;\n}\n\ndiv#exportUploadsWithoutDatabaseWarning {\n font-style: italic;\n font-size: 0.9rem;\n margin: 10px;\n padding: 10px;\n border: 1px solid #e3e3e3;\n border-radius: 5px;\n text-align: center;\n background-color: #fafafa;\n}\n\n.wpstg-advanced-options-dropdown-wrapper {\n display: none; /* ENABLE WHEN WE HAVE ADVANCED OPTIONS FOR EXPORTING */\n margin-top: 20px;\n}\n\n.wpstg--modal--backup--import--search-replace--wrapper {\n text-align: left;\n margin-top: 20px;\n}\n\n.wpstg--modal--backup--import--search-replace--new--wrapper {\n text-align: center;\n}\n\n.wpstg-import-backup-contains li {\n display: inline-block;\n}\n\n.wpstg-import-backup-contains li .wpstg-backups-contains {\n border-radius: 3px;\n color: #979797;\n background-color: #e3e3e3;\n border: 1px solid #c2c2c2;\n width: 17px;\n height: 17px;\n font-size: 17px;\n}\n\n.wpstg-import-backup-contains.wpstg-listing-single-backup li .wpstg-backups-contains {\n padding: 2px;\n background-color: white;\n border: 1px solid #c2c2c2;\n}\n\n.wpstg-import-backup-contains.wpstg-listing-single-backup li .wpstg-backups-contains > .wpstg--dashicons {\n filter: invert(50%);\n}\n\n.wpstg-import-backup-contains .wpstg--tooltiptext {\n width: 50px;\n font-size: x-small;\n padding: 5px;\n left: -25px;\n text-align: center;\n}\n\n.wpstg-import-backup-contains-title {\n display: inline-block;\n}\n\nul.wpstg-import-backup-contains {\n display: inline-block;\n}\n\n.wpstg-import-backup-name {\n display: inline-block;\n font-weight: bold;\n}\n\n.wpstg-backup-more-info-toggle {\n font-size: x-small;\n display: inline-block;\n font-style: italic;\n cursor: pointer;\n}\n\n.wpstg-backup-more-info-toggle::selection {\n background: none;\n}\n\nul.wpstg-import-backup-more-info {\n font-size: 14px;\n text-align: left;\n margin-bottom: 30px;\n margin-top: 10px;\n background-color: #f6f6f6;\n border: 1px solid #878787;\n border-radius: 3px;\n padding: 7px;\n cursor: pointer;\n}\n\nul.wpstg-import-backup-more-info:hover {\n background-color: #def2ff;\n border: 1px solid #25a1f0;\n}\n\nul.wpstg-import-backup-more-info li {\n height: 20px;\n}\n\n.wpstg-backup-list {\n max-width: 800px;\n}\n\n.wpstg-backup-list h3 {\n color:#3e3e3e;\n}\n\n.wpstg-backup-list ul ul {\n margin-block-start: 1em;\n margin-block-end: 1em;\n}\n\n.wpstg-push-confirmation-message {\n text-align: justify;\n font-size: 15px;\n}\n\n.wpstg-settings-row {\n padding-top: 10px;\n padding-bottom: 10px;\n}\n\n.wpstg-settings-title {\n font-weight: 600;\n}\n\n.wpstg-settings-form-group {\n display: flex;\n align-items: center;\n}\n\n.wpstg-settings-form-group > .wpstg-settings-message {\n width: 30%;\n padding: 0;\n margin: 7px 0 0;\n}\n\n/**\n * WP STAGING EXCLUSION RULES TABLE LAYOUT\n */\n\n.wpstg-excluded-filters-container {\n padding: 0;\n margin-top: 10px;\n margin-bottom: 10px;\n max-width: 100%;\n width: 100%;\n}\n\n.wpstg-excluded-filters-container > table {\n width: 100%;\n border-collapse: collapse;\n border-color: transparent;\n}\n\n.wpstg-excluded-filters-container td {\n padding-top: 4px;\n padding-bottom: 4px;\n height: 20px;\n}\n\n.wpstg-excluded-filters-container h4 {\n margin: 0;\n}\n\n.wpstg-exclude-filters-foot {\n display: flex;\n justify-content: flex-start;\n padding: 0;\n}\n\n/**\n * WP STAGING EXCLUSION RULE DROPDOWN STYLE\n */\n\n\n.wpstg-exclude-filter-dropdown > button:hover {\n background: #135e96;;\n border: 1px solid #135e96;;\n}\n\n.wpstg-exclude-filter-dropdown > .wpstg-dropdown-menu {\n width: 128px;\n}\n\n.wpstg-remove-exclude-rule {\n color: #fff !important;\n background-color: #e01e5a;\n border: 1px solid #e01e5a;\n width: 20px;\n height: 20px;\n border-radius: 10px;\n font-size: 24px;\n padding: 0;\n display: inline-flex;\n justify-content: center;\n outline: none;\n box-shadow: none;\n font-weight: 400;\n line-height: 0.7;\n margin-top: 5px;\n cursor: pointer;\n}\n\n.wpstg-remove-exclude-rule:hover {\n background-color: #E01E5A;\n border-color: #E01E5A;\n}\n\n.wpstg-code-block {\n margin-top: 4px;\n font-size: 1.2em;\n background: #f8f8f8;\n border-radius: 2px;\n}\n\n.wpstg-rule-info {\n background: #f8f8f8 !important;\n}\n\ncode.wpstg-code {\n display: inline-block;\n font-size: 11px;\n border: 1px solid #aaa;\n background: #fff;\n padding: 2px 4px;\n margin-bottom: 1px;\n color: #E01E5A;\n}\n\n.wpstg-exclusion-rule-info {\n color: #fff !important;\n background-color: #ffc107;\n border: 1px solid #ffc107;\n width: 14px;\n height: 14px;\n border-radius: 7px;\n font-size: 14px;\n padding: 0;\n display: inline-flex;\n justify-content: center;\n align-items: center;\n outline: none;\n box-shadow: none;\n font-weight: 400;\n vertical-align: middle;\n}\n\n.wpstg-exclusion-rule-info:hover {\n background-color: #ffba0c;\n border: 1px solid #ffba0c;\n}\n\n/**\n * WP STAGING INPUTS EXCLUSION RULES\n */\n\n.wpstg-exclude-rule-input {\n font-size: 12px !important;\n padding: 2px 6px;\n box-shadow: none;\n outline: none !important;\n display: inline-block;\n font-weight: 400;\n line-height: 1.5;\n color: #222;\n border-radius: 0 !important;\n background-color: #fff;\n border: 1px solid #bbb;\n min-height: 24px !important;\n margin-top: 4px;\n margin-left: 4px;\n vertical-align: baseline !important;\n transition: all 0.3s cubic-bezier(.25, .8, .25, 1);\n width: 135px;\n}\n\n.wpstg-excluded-filters-container tbody > tr:last-child .wpstg-exclude-rule-input {\n margin-bottom: 4px;\n}\n\n.wpstg-exclude-rule-input:hover {\n border: 1px solid #999;\n}\n\n.wpstg-exclude-rule-input:focus {\n border: 1px solid #25A0F1 !important;\n box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24) !important;\n}\n\n.wpstg-file-size-exclude-select,\n.wpstg-path-exclude-select {\n width: 135px;\n}\n\n.wpstg-file-size-exclude-select-small {\n width: 52px;\n}\n\n.wpstg-file-size-exclude-input {\n width: 75px;\n}\n\n.wpstg-staging-option-title {\n margin: 15px 0 0;\n}\n\n.wpstg-swal-push-container.wpstg--swal2-container {\n z-index: 9995;\n}\n\n#wpstg-scanning-files {\n padding-bottom: 5px;\n}\n\n#wpstg-scanning-files.wpstg-tab-section, #wpstg-scanning-db.wpstg-tab-section {\n padding-top: 10px;\n}\n\n.wpstg-reset-excludes-container {\n margin: 10px 0;\n}\n\n.wpstg-swal2-ajax-loader {\n width: 100%;\n height: 150px;\n overflow: hidden;\n display: flex;\n justify-content: center;\n align-items: center;\n}\n\n@keyframes wpstg-loading-icon-anim {\n 0% {\n transform: rotate(0);\n }\n 100% {\n transform: rotate(360deg);\n }\n}\n\n.wpstg-swal2-ajax-loader > img {\n width: 64px;\n height: 64px;\n animation: wpstg-loading-icon-anim 1s infinite linear;\n -webkit-animation: wpstg-loading-icon-anim 1s infinite linear;\n}\n\n.wpstg-swal2-container .wpstg-tab-section {\n width: auto !important;\n}\n\n#wpstg-no-staging-site-results {\n margin-top: 10px;\n max-width: 375px;\n}\n\nli#wpstg-backup-no-results {\n max-width: 500px;\n}\n\nli#wpstg-backup-no-results div, #wpstg-no-staging-site-results div {\n display: inline-block;\n text-align: center;\n}\n\nli#wpstg-backup-no-results .wpstg--dashicons, #wpstg-no-staging-site-results .wpstg--dashicons {\n filter: invert(50%);\n position: absolute;\n margin-top: 1px;\n}\n\nli#wpstg-backup-no-results .no-backups-found-text, #wpstg-no-staging-site-results .no-staging-site-found-text {\n color: #5d5d5d;\n margin-left: 20px;\n}\n\n@media only screen and (max-width: 680px) {\n li#wpstg-backup-no-results div, #wpstg-no-staging-site-results div {\n width: 100%;\n }\n}\n\n#wpstg--modal--backup--download-inner p.wpstg-download-modal-text {\n font-size: 16px;\n color: #565656;\n}\n\n#wpstg--modal--backup--download-inner h2 {\n color: #565656;\n}\n\n.wpstg-backup-restore-contains-database,\n.wpstg-backup-restore-contains-files {\n display: none;\n}\n\n.wpstg-green-button {\n background: #8bc34a;\n border: 1px solid #78a93f;\n color: white;\n text-shadow: 0 -1px 1px #78a93f, 1px 0 1px #78a93f, 0 1px 1px #40c921, -1px 0 1px #78a93f;\n}\n\n.wpstg-green-button:hover {\n background: #78a93f;\n}\n\n.wpstg-is-dir-loading {\n position: absolute;\n margin-top: -2px;\n margin-left: 8px;\n display: none;\n}\n\n.wpstg-ml-8px {\n margin-left: 8px;\n}\n\n.wpstg-mb-8px {\n margin-bottom: 8px;\n}\n\n\n.wpstg-btn-danger {\n background-color: #E01E5A;\n border: 1px solid #E01E5A;\n color: white;\n text-shadow: none;\n}\n\n.wpstg-btn-danger:hover {\n background: #c0194d;\n box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3);\n}\n\n.wpstg-swal2-container.wpstg-swal2-loading > .wpstg--swal2-modal {\n height: 200px;\n}\n\n.wpstg-reset-confirmation.wpstg-swal2-container:not(.wpstg-swal2-loading) > .wpstg--swal2-modal {\n max-width: 480px;\n}\n\n.wpstg-reset-confirmation.wpstg-swal2-container .wpstg--swal2-header {\n display: none;\n}\n\n.wpstg-reset-confirmation.wpstg-swal2-container .wpstg--swal2-content {\n height: auto;\n}\n\n.wpstg-reset-confirmation.wpstg-swal2-container > .wpstg--swal2-modal > .wpstg--swal2-content .wpstg-tabs-wrapper {\n overflow-y: auto;\n height: auto !important;\n}\n\n.wpstg-reset-confirmation.wpstg-swal2-container > .wpstg--swal2-modal > .wpstg--swal2-content {\n font-size: 13px;\n}\n\n.wpstg-reset-confirmation.wpstg-swal2-container > .wpstg--swal2-modal > .wpstg--swal2-content .wpstg-dir {\n margin-bottom: 4px;\n}\n\n.wpstg-reset-confirmation.wpstg-swal2-container > .wpstg--swal2-modal > .wpstg--swal2-content .wpstg-subdir {\n margin-top: 4px;\n}\n\n.wpstg-reset-confirmation.wpstg-swal2-container.has-collapsible-open .wpstg--swal2-modal {\n height: calc(100vh - 70px);\n}\n\n.wpstg-reset-confirmation.wpstg-swal2-container.has-collapsible-open > .wpstg--swal2-modal > .wpstg--swal2-content .wpstg-tabs-wrapper {\n height: calc(100vh - 350px) !important;\n}\n\n.wpstg--swal2-actions.wpstg--modal--actions > button {\n margin-left: 4px;\n margin-right: 4px;\n text-transform: uppercase;\n text-shadow: initial;\n font-weight: 500;\n min-width: 80px;\n}\n\n.wpstg-swal-popup {\n max-width: 1200px !important;\n}\n\n.wpstg-swal-popup.wpstg-push-finished .wpstg--swal2-title {\n color: #a8a8a8;\n}\n\n.wpstg-swal-popup.wpstg-push-finished .wpstg--swal2-content {\n margin-top: 8px;\n color: #a8a8a8;\n}\n\n.wpstg-swal-popup .wpstg--swal2-progress-steps .wpstg--swal2-progress-step.wpstg--swal2-active-progress-step,\n.wpstg-swal-popup .wpstg--swal2-progress-steps .wpstg--swal2-progress-step,\n.wpstg-swal-popup .wpstg--swal2-progress-steps .wpstg--swal2-progress-step-line {\n background: #25a1f0;\n}\n\n.wpstg-swal-popup .wpstg--swal2-progress-steps .wpstg--swal2-progress-step-line {\n width: 2.75em;\n}\n\n.wpstg--dashicons {\n width: 16px;\n height: 16px;\n}\n\n.wpstg--dashicons.wpstg-dashicons-grey {\n filter: invert(20%);\n}\n\n.wpstg--dashicons.wpstg-dashicons-19 {\n width: 19px;\n height: 19px;\n}\n\n.wpstg--dashicons.wpstg-dashicons-21 {\n width: 21px;\n height: 21px;\n}\n\n#wpstg--tab--backup #wpstg-step-1 {\n display: flex;\n align-items: center;\n}\n\n.wpstg-advanced-options .wpstg--tooltip,\n#wpstg--tab--backup #wpstg-step-1 .wpstg--tooltip {\n border-bottom: 0 solid transparent;\n display: inline-flex;\n align-items: center;\n}\n\n#wpstg--tab--backup #wpstg-step-1 .wpstg--tooltip {\n border-bottom: 0 solid transparent;\n display: flex;\n align-items: center;\n}\n\n.wpstg--tooltip .wpstg--tooltiptext-backups::after {\n left: calc(20% + 2px);\n}\n\n.wpstg-listing-single-backup .wpstg--dashicons {\n width: 17px;\n height: 17px;\n}\n\n.wpstg-100-width {\n width: 100px;\n}\n\n.wpstg-caret {\n display: inline-block;\n width: 0;\n height: 0;\n margin-left: 2px;\n vertical-align: middle;\n border-top: 4px solid;\n border-right: 4px solid transparent;\n border-left: 4px solid transparent;\n transition: transform 0.2s;\n cursor: pointer;\n}\n\n.wpstg-caret.wpstg-caret-up {\n transform: rotate(-180deg);\n}\n\n.wpstg-advanced-options-site label {\n font-size: 16px;\n display: block;\n margin: .5em 0;\n}\n\n#wpstg-confirm-backup-restore-data {\n font-size: 18px;\n margin: 0;\n margin-top: 30px;\n}\n\n/* Sweetalert WP STAGING Theme */\n\nbody.toplevel_page_wpstg_backup .wpstg--swal2-container.wpstg--swal2-backdrop-show,\nbody.toplevel_page_wpstg_clone .wpstg--swal2-container.wpstg--swal2-backdrop-show {\n background: rgba(0, 0, 0, .6);\n z-index: 9995;\n}\n\n.wpstg-swal-popup.wpstg--swal2-popup {\n border-radius: 8px;\n z-index: 9999;\n padding: 24px;\n color: #565656;\n font-family: Verdana, Geneva, Tahoma, sans-serif;\n}\n\n.wpstg-swal-popup .wpstg--swal2-title {\n font-size: 22px;\n color: #565656;\n}\n\n.wpstg-swal-popup.wpstg--swal2-popup:not(.centered-modal) .wpstg--swal2-title {\n align-self: flex-start; /* For an actual Swal title */\n text-align: left; /* Manually adding this class to a non flex display */\n margin-bottom: 0;\n}\n\n.wpstg-swal-popup .wpstg--swal2-close {\n top: 8px;\n right: 8px;\n z-index: 5;\n}\n\n.wpstg-swal-popup .wpstg--swal2-close:focus {\n outline: none;\n}\n\n.wpstg-swal-popup.wpstg--swal2-popup:not(.centered-modal) .wpstg--swal2-actions {\n justify-content: flex-end;\n}\n\n.wpstg-swal-popup .wpstg--swal2-actions > button {\n border-radius: 4px;\n font-weight: 900;\n border: 0;\n font-size: 15px;\n padding: 10px 12px;\n text-transform: capitalize;\n line-height: normal;\n height: 40px;\n min-width: 100px;\n text-shadow: none;\n}\n\n.wpstg-swal-popup.wpstg--swal2-popup:not(.centered-modal) .wpstg--swal2-actions > button {\n margin-left: 8px;\n}\n\n.wpstg-swal-popup .wpstg--swal2-actions > button.wpstg--swal2-cancel {\n border: 1px solid rgba(29, 28, 29, 0.3);\n background: #fff;\n color: rgb(29, 28, 29);\n font-weight: 500;\n width: 100px;\n text-shadow: none;\n}\n\n.wpstg-swal-popup .wpstg--swal2-actions > button:hover {\n box-shadow: 0 1px 3px 0 rgba(0 0 0 .1);\n}\n\n.wpstg-swal-popup .wpstg--swal2-actions > button.wpstg--swal2-cancel:hover {\n background: rgba(28, 29, 28, .04);\n}\n\n#wpstg-backup-name-input {\n height: 44px;\n font-size: 18px;\n}\n\n.wpstg-restore-finished-container .wpstg--swal2-title {\n color: #565656 !important;\n}\n\n/*#wpstg-restore-success {\n color: #565656;\n}*/\n\n.wpstg-restore-finished-container .wpstg--swal2-content {\n margin-top: 20px;\n color: #a8a8a8;\n}\n\n/* WP Staging Implementation of Windows Style Linear Loader */\n\n.wpstg-linear-loader > span[class*=\"wpstg-linear-loader-item\"] {\n height: 6px;\n width: 6px;\n background: #333;\n display: inline-block;\n margin: 12px 2px;\n border-radius: 100%;\n animation: wpstg_linear_loader 3s infinite;\n animation-timing-function: cubic-bezier(0.030, 0.615, 0.995, 0.415);\n animation-fill-mode: both;\n}\n\n.wpstg-linear-loader > span.wpstg-linear-loader-item:nth-child(1) {\n animation-delay: 1s;\n}\n\n.wpstg-linear-loader > span.wpstg-linear-loader-item:nth-child(2) {\n animation-delay: 0.8s;\n}\n\n.wpstg-linear-loader > span.wpstg-linear-loader-item:nth-child(3) {\n animation-delay: 0.6s;\n}\n\n.wpstg-linear-loader > span.wpstg-linear-loader-item:nth-child(4) {\n animation-delay: 0.4s;\n}\n\n.wpstg-linear-loader > span.wpstg-linear-loader-item:nth-child(5) {\n animation-delay: 0.2s;\n}\n\n.wpstg-linear-loader > span.wpstg-linear-loader-item:nth-child(6) {\n animation-delay: 0s;\n}\n\n@keyframes wpstg_linear_loader {\n 0% {\n transform: translateX(-30px);\n opacity: 0;\n }\n 25% {\n opacity: 1;\n }\n 50% {\n transform: translateX(30px);\n opacity: 0;\n }\n 100% {\n opacity: 0;\n }\n}\n\n/* END - Windows Style Linear Loader */\n\n.wpstg--modal--backup--import--upload--content {\n padding: .75em;\n margin: 1em auto;\n}\n\n.wpstg--modal--backup--import--upload--content .wpstg-linear-loader {\n display: none;\n}\n\n#wpstg-multisite-disabled .wpstg-clone {\n width: 355px;\n}\n\n#wpstg-free-version-backups .wpstg-clone {\n text-align: center;\n}\n\n#wpstg-free-version-backups .wpstg-clone p {\n font-size: 16px;\n}\n\n.wpstg-staging-info li .backup-notes {\n word-break: break-word;\n}\n\n.wpstg--modal--import--upload--progress--title small {\n font-weight: normal;\n}\n\n#wpstg-report-issue-wrapper {\n position: relative;\n}\n\n#wpstg-report-issue-wrapper .arrow-up {\n width: 0;\n height: 0;\n border-left: 8px solid transparent;\n border-right: 8px solid transparent;\n border-bottom: 8px solid white;\n position: absolute;\n top: -8px;\n right: 40px;\n}\n\n.notice {\n margin: 10px 20px 0 2px;\n}\n\n.wpstg--notice {\n box-shadow: 0 1px 1px rgba(0, 0, 0, .04);\n margin: 20px 20px 20px 0px;\n padding: 1px 12px;\n}\n\n.wpstg--error a:hover {\n color: #eeeeee;\n}\n\n.wpstg--error, .wpstg--error a {\n background: #E01E5A;\n color: white;\n}\n\n/**\n * Buttons\n */\n\n.wpstg-button {\n display: inline-block;\n border-radius: 2px;\n cursor: pointer;\n padding: 2px 10px 2px 10px;\n text-transform: uppercase;\n font-weight: 500;\n outline: 0;\n transition: background-color .1s ease-in;\n text-decoration: none;\n}\n\n.wpstg-button.wpstg-save {\n background-color: #1687A7;\n color: white;\n}\n\n.wpstg-button.wpstg-save:hover {\n background-color: #276678;\n}\n\n\n.wpstg-button.wpstg-button-light {\n background-color: #f8f8f8;\n border: 1px solid #eee;\n color: #333;\n animation: background-color 0.3s;\n}\n\n.wpstg-button.wpstg-button-light:hover {\n background-color: #e0e0e0;\n border: 1px solid #e0e0e0;\n}\n\n.wpstg-buttons .spinner {\n float: none;\n margin: 0 0 0 5px;\n}\n\n.wpstg-button.danger {\n display: inline-block;\n text-decoration: none;\n text-align: center;\n text-transform: inherit;\n background-color: #E01E5A;\n color: white;\n border-radius: 2px;\n border-color: transparent;\n}\n\n.wpstg-button.danger:hover {\n background-color: #c0194d;\n}\n\n.wpstg-button--big {\n display: inline-block;\n padding: 10px;\n min-width: 170px;\n font-size: 16px;\n text-decoration: none;\n text-align: center;\n margin-top: 20px;\n color: white;\n border-radius: 3px;\n}\n\n.wpstg-button--primary {\n display: inline-block;\n text-decoration: none;\n font-size: 13px;\n line-height: 2.15384615;\n min-height: 30px;\n margin: 0;\n padding: 0 10px;\n cursor: pointer;\n border: 1px solid rgba(29, 28, 29, 0.3);\n -webkit-appearance: none;\n border-radius: 2px;\n white-space: nowrap;\n box-sizing: border-box;\n color: #171717;\n}\n\n.wpstg-button--primary:hover {\n background: rgba(28, 29, 28, .04);\n color: black;\n}\n\n.wpstg-button--secondary {\n display: inline-block;\n background-color: transparent;\n color: #95a5a6;\n border-radius: 2px;\n border: 1px solid rgba(29, 28, 29, 0.3);\n cursor: pointer;\n padding: 4px 10px 2px 10px;\n font-weight: 500;\n outline: 0;\n transition: background-color .1s ease-in;\n text-decoration: none;\n}\n\n.wpstg-button--red {\n background-color: #E01E5A;\n border-color: #E01E5A;\n color: white;\n}\n\n.wpstg-button--red:hover {\n background-color: #d02358;\n border-color: #e0255f;\n color: white;\n}\n\n.wpstg-button--cta-red {\n background-color: #fe008f;\n border-color: #E01E5A;\n color: white;\n}\n\n.wpstg-button--cta-red:hover {\n background-color: #f31391;\n border-color: #e0255f;\n color: white;\n}\n\n.wpstg-button--blue {\n background-color: #25A0F1;\n border-color: #25A0F1;\n color: white;\n}\n\n.wpstg-button--blue:hover {\n background-color: #259be6;\n border-color: #259be6;\n color: white;\n}\n\n#wpstg-button-backup-upgrade {\n font-size: 16px;\n}\n\n.wpstg-staging-status {\n color: #E01E5A;\n}\n\n#wpstg-push-changes,\n#wpstg-start-updating,\n#wpstg-save-clone-data {\n margin-left: 5px;\n}\n\ninput.wpstg-textbox {\n border: 1px solid #aaa;\n border-radius: .25rem;\n padding: 0.25rem 0.5rem;\n font-size: 14px;\n}\n\ninput.wpstg-textbox:focus {\n outline: 0;\n border-color: #259be6;\n -webkit-box-shadow: 0 0 0 0.1rem rgba(221, 221, 221, .35);\n box-shadow: 0 0 0 0.1rem rgba(221, 221, 221, .35);\n}\n\ninput.wpstg-textbox::placeholder {\n color: #888;\n}\n\n.wpstg--advance-settings--checkbox {\n display: flex;\n align-items: center;\n}\n\n.wpstg--advance-settings--checkbox > label {\n font-size: 14px;\n font-weight: bolder;\n width: 165px;\n display: inline-block;\n}\n\n.wpstg--advance-settings--checkbox > .wpstg--tooltip {\n margin-top: 5px;\n margin-left: 5px;\n position: relative;\n display: inline-block;\n border-bottom: 0px solid transparent;\n}\n\n.wpstg--advance-settings--checkbox > .wpstg--tooltip > .wpstg--tooltiptext {\n top: 18px;\n left: -150px;\n}\n\n\ndiv#wpstg-restore-wait {\n display: none;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n text-align: center;\n height: 100vh;\n width: 100vw;\n position: fixed;\n top: 0;\n left: 0;\n background: white;\n z-index: 99999;\n}\n\ndiv#wpstg-restore-wait .wpstg-title {\n font-weight: bold;\n}\n\ndiv#wpstg-restore-wait div {\n font-size: 16px;\n margin-top: 12px;\n}\n\n.resumable-browse {\n cursor: pointer;\n}\n\n.resumable-browse a {\n text-decoration: underline;\n}\n\n.wpstg-upload-text {\n font-weight: 600;\n}\n\n.wpstg--modal--backup--import--upload--container.dragover {\n transition: background-color 0.7s;\n background-color: #94dc96;\n color: #FFF;\n}\n\n.wpstg--modal--backup--import--upload--container.dragover * {\n pointer-events: none; /* Avoids flickering when dragging to drop a file */\n}\n\n.wpstg--modal--backup--import--upload--container.dragover .wpstg-upload-text {\n display: none;\n}\n\n.wpstg--modal--backup--import--upload--container.dragover .wpstg-dragover-text {\n display: block;\n}\n\n.wpstg--modal--backup--import--upload--container .wpstg-dragover-text {\n display: none;\n}\n\n#wpstg-invalid-license-message, #wpstg-invalid-license-message a {\n font-weight: 500;\n color: #E01E5A;\n margin-left: 6px;\n}\n\n#wpstg-sidebar--banner {\n max-width: 200px;\n}\n\n@media screen and (max-width: 1234px) {\n .wpstg-h2 {\n font-size: 24px;\n }\n\n #wpstg-welcome li {\n font-size: 14px;\n }\n}\n\n.wpstg-exclamation {\n color: #ffffff;\n border-radius: 100%;\n background-color: #E01E5A;\n width: 20px;\n height: 20px;\n text-align: center;\n font-weight: bold;\n display: inline-block;\n margin: 6px;\n}\n\n.wpstg--tab--contents {\n padding-top: 1px;\n}\n\n.wpstg-swal-show.wpstg--swal2-show {\n -webkit-animation: wpstg-swal-show 0.2s !important;\n animation: wpstg-swal-show 0.2s !important;\n}\n\n@-webkit-keyframes wpstg-swal-show {\n 0% {\n transform: scale(0.3);\n }\n 100% {\n transform: scale(1);\n }\n}\n\n@keyframes wpstg-swal-show {\n 0% {\n transform: scale(0.3);\n }\n 100% {\n transform: scale(1);\n }\n}\n"]}
|
1 |
+
{"version":3,"sources":["wpstg-admin.css"],"names":[],"mappings":"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","file":"wpstg-admin.min.css","sourcesContent":["/**\n * WPSTG Admin CSS\n *\n * @package WPSTG\n * @subpackage Admin CSS\n * @copyright Copyright (c) 2021, René Hermenau\n * @license http://opensource.org/licenses/gpl-2.0.php GNU Public License\n*/\n\n/* Colors */\n\n.wpstg--violet {\n color: #9d37ae;\n}\n\n.wpstg-border--violet {\n border: 1px solid #9d37ae;\n}\n\n.wpstg--red {\n color: #E01E5A;\n}\n\n.wpstg-cta--red {\n color: #fe008f;\n}\n\n.wpstg--blue {\n color: #24a1f0;\n}\n\n.wpstg--darkblue {\n color: #0e86d9;\n}\n\n.wpstg--green {\n color: #83c11f;\n}\n\n.wpstg--grey {\n color: #3e3e3e;\n}\n\n.wpstg--darkgrey {\n color: #1b1b1b;\n}\n\n/* CSS for Tabs */\n\nbody.wp-staging-pro_page_wpstg_backup,\nbody.toplevel_page_wpstg_clone,\nbody.wp-staging-pro_page_wpstg-settings,\nbody.wp-staging-pro_page_wpstg-tools,\nbody.wp-staging-pro_page_wpstg-license {\n background-color: #f3f5f7;\n}\n\n#wpstg-tab-container ul {\n list-style: none;\n margin: 0;\n padding: 0;\n background: #f1f1f1;\n float: left;\n}\n\n#wpstg-tab-container ul li:first-child.selected-tab {\n border-top: none;\n}\n\n#wpstg-tab-container ul li a.selected-tab {\n font-weight: bold;\n text-decoration: none;\n}\n\n#wpstg-tab-container .row {\n padding-top: 10px;\n padding-bottom: 12px;\n}\n\n.wpstg-tabs-container .nav-tab-wrapper {\n padding: 0;\n}\n\n#wpstg-tab-container .row label strong,\n#wpstg-tab-container .row strong {\n font-weight: bold;\n}\n\n.wpstg-tabs a {\n padding: 5px;\n}\n\n#wpstg-tab-container > ul > li.wpstg-tabs.active {\n background-color: white;\n}\n\n#wpstg_settingsgeneral_header .row:nth-child(3),\n#wpstg_settingsgeneral_header .row:nth-child(4) {\n display: none;\n}\n\n#wpstg-tab-container .wpstg-settings-panel {\n padding: 0 20px 20px 20px;\n overflow: auto;\n}\n\n#wpstg-tab-container .wpstg-form-table th {\n vertical-align: top;\n text-align: left;\n padding: 20px 10px 20px 0;\n line-height: 1.3;\n font-weight: bold;\n font-size: 14px;\n color: #484848;\n width: 30%;\n}\n\n#wpstg-tab-container .wpstg-form-table tr {\n border-bottom: 1px solid #E7E7E7;\n}\n\n#wpstg-tab-container span.description {\n display: block;\n font-weight: 400;\n font-style: normal;\n font-size: 13px;\n margin-top: 7px;\n color: #484848;\n}\n\n#wpstg-tab-container .col-title {\n color: #484848;\n}\n\n@media only screen and (max-width: 680px) {\n #wpstg-tab-container ul {\n float: none;\n }\n\n #wpstg-tab-container .wpstg-form-table tr > th {\n width: 100%;\n }\n\n #wpstg-tab-container span.description {\n font-size: 14px;\n }\n\n #wpstg-tab-container .wpstg-form-table tr > th,\n #wpstg-tab-container .wpstg-form-table tr > td {\n padding: 10px;\n }\n}\n\n#wpstg-tab-container ul li {\n margin-bottom: 0;\n}\n\n#wpstg-tab-container ul li a {\n display: block;\n padding: 10px 4px 10px 14px;\n border-width: 1px 0;\n border-style: solid;\n border-top-color: white;\n border-bottom-color: #e7e7e7;\n text-decoration: none;\n color: #0097DF;\n font-weight: bold;\n}\n\n#wpstg-tab-container ul li a:hover {\n background-color: #e5e5e5;\n color: #777777;\n}\n\n.wpstg-logo {\n display: block;\n font-size: 16px;\n padding-top: 20px;\n width: 220px;\n float: left;\n}\n\n.wpstg-logo img {\n max-width: 212px;\n}\n\n.wpstg-version {\n display: block;\n padding-top: 40px;\n color: #9b9b9b;\n}\n\n.wpstg_admin .nav-tab {\n color: #3C3C3C;\n}\n\n#wpstg-tab-container table tbody tr:nth-child(1) > th > div {\n font-size: 20px;\n}\n\n/* Cloning workflow */\n\n#wpstg-clonepage-wrapper {\n margin-bottom: 20px;\n width: 98%;\n}\n\n@media screen and (min-width: 1090px) {\n #wpstg-clonepage-wrapper {\n float: left;\n margin-bottom: 20px;\n }\n}\n\n#wpstg-steps {\n margin-top: 0px;\n margin-left: 20px;\n}\n\n#wpstg-steps li {\n color: #444;\n line-height: 20px;\n padding-right: 10px;\n float: left;\n}\n\n.wpstg-step-num {\n border: 1px solid #3e3e3e;\n border-radius: 3px;\n display: inline-block;\n width: 20px;\n height: 20px;\n text-align: center;\n margin-right: 5px;\n}\n\n.wpstg-current-step {\n font-weight: bold;\n}\n\n.wpstg-current-step .wpstg-step-num {\n background: #3e3e3e;\n color: #eee;\n}\n\n.wpstg-box {\n margin: 10px 0;\n padding: 10px;\n position: relative;\n overflow: hidden;\n transition: border-color .2s ease-in-out;\n}\n\n.wpstg-clone {\n margin-bottom: 10px;\n padding: 16px;\n position: relative;\n transition: border-color .2s ease-in-out;\n background-color: #ffffff;\n color: #3e3e3e;\n border-radius: 3px;\n box-shadow: 0 0 1px rgba(0, 0, 0, .125), 0 1px 3px rgba(0, 0, 0, .1);\n}\n\n.wpstg-clone.active {\n border-color: #1d94cf;\n}\n\n.wpstg-clone-header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n}\n\n.wpstg-clone-title {\n display: inline-block;\n font-size: 15px;\n max-width: 300px;\n text-decoration: none;\n font-weight: bold;\n color: #3e3e3e;\n}\n\n.wpstg-clone-title:hover {\n color: #111111;\n}\n\n.wpstg-clone-actions {\n display: flex;\n margin-top: 5px;\n}\n\n.wpstg-dropdown {\n position: relative;\n}\n\n.wpstg-clone-actions .wpstg-dropdown-toggler {\n text-decoration: none;\n background: #25a1f0;\n padding: 6px 10px;\n border-radius: 2px;\n font-size: 14px;\n box-shadow: 0 0 1px rgba(0, 0, 0, .125), 0 1px 3px rgba(0, 0, 0, .2);\n color: #ffffff;\n}\n\n.wpstg-clone-actions .wpstg-dropdown-toggler:hover {\n background: #002648;\n color: white;\n}\n\n.wpstg-dropdown {\n position: relative;\n}\n\n.wpstg-dropdown > .wpstg-dropdown-menu {\n background: #fff;\n display: none;\n flex-direction: column;\n position: absolute;\n right: 0;\n top: calc(100% + 4px);\n padding: 8px;\n border-radius: 2px;\n width: 100px;\n box-shadow: 0 0 1px rgba(0, 0, 0, .125), 0 1px 3px rgba(0, 0, 0, .2);\n z-index: 1000;\n}\n\n.wpstg-dropdown > .wpstg-dropdown-menu.wpstg-menu-dropup {\n top: auto;\n bottom: 100%;\n transform: translate3d(0px, -3px, 0px);\n}\n\n.wpstg-dropdown > .wpstg-dropdown-menu.shown {\n display: flex;\n}\n\n.wpstg-clone-action,\n.wpstg-dropdown-action {\n color: #3e3e3e;\n padding: 6px 8px;\n border-radius: 3px;\n text-decoration: none;\n position: relative;\n transition: color .2s ease-in-out;\n border-bottom: 1px solid #f3f3f3;\n}\n\n.wpstg-clone-action:hover,\n.wpstg-dropdown-action:hover {\n background: rgba(0, 0, 0, 0.05);\n}\n\n.wpstg-dropdown-action {\n color: #3e3e3e;\n background: transparent;\n border: 0 solid black;\n outline: none;\n box-shadow: none;\n}\n\n.wpstg-remove-clone:hover {\n color: #E01E5A;\n}\n\n.wpstg-clone-action:last-child {\n border: none;\n}\n\n.wpstg-clone:hover .wpstg-clone-action {\n display: inline-block;\n}\n\n#wpstg-show-error-details:focus,\n#wpstg-workflow .wpstg-clone-action {\n outline: none;\n box-shadow: none;\n}\n\n.wpstg-link-btn {\n background: #45a1c9;\n color: #fff;\n display: inline-block;\n padding: 5px 10px;\n text-decoration: none;\n vertical-align: baseline;\n transition: all .2s ease-in-out;\n}\n\n.wpstg-link-btn:hover,\n.wpstg-link-btn:focus {\n color: #fff;\n outline: none;\n box-shadow: none;\n}\n\n#wpstg-workflow .wpstg-link-btn:active {\n vertical-align: baseline;\n}\n\n.wpstg-link-btn[disabled] {\n background: #777 !important;\n border-color: #555 !important;\n pointer-events: none;\n}\n\n#wpstg-cancel-cloning,\n#wpstg-cancel-cloning-update {\n margin-top: 5px;\n}\n\n#wpstg-cancel-cloning.success,\n#wpstg-cancel-cloning.success {\n background: #64dd58;\n border-color: #54bd4a;\n}\n\n#wpstg-error-wrapper,\n#wpstg-error-details {\n display: none;\n padding-top: 10px;\n font-size: 13px;\n clear: both;\n}\n\n#wpstg-show-error-details {\n display: inline-block;\n margin-left: 5px;\n color: #555;\n text-decoration: none;\n transition: color .2s ease-in-out;\n}\n\n#wpstg-show-error-details:hover {\n color: #1d94cf;\n}\n\n#wpstg-error-details {\n border-left: 5px solid #E01E5A;\n padding: 10px;\n width: 500px;\n}\n\n#wpstg-try-again {\n display: none;\n}\n\n#wpstg-home-link {\n float: right;\n}\n\n.wpstg-loader {\n content: url('../../img/loading.gif');\n margin-top: 10px;\n display: none;\n}\n\n.wpstg-loader.wpstg-finished {\n display: block;\n content: \"Finished\";\n background-color: #00c89a;\n color: white;\n padding: 2px 10px;\n margin-top: 0;\n border-radius: 3px;\n}\n\n#wpstg-workflow {\n max-width: 800px;\n position: relative;\n clear: both;\n padding-top: 20px;\n float: left;\n min-width: 500px;\n min-height: 380px;\n padding-right: 20px;\n padding-bottom: 20px;\n}\n\n#wpstg-sidebar {\n float: left;\n max-width: 400px;\n display: block;\n margin-left: 10px;\n}\n\n#wpstg-workflow.loading::after,\n#wpstg-removing-clone.loading::after {\n background: rgba(255, 255, 255, .7);\n content: 'Loading... may take a while for huge websites';\n display: block;\n width: 100%;\n height: 100%;\n font-size: 20px;\n padding-top: 100px;\n text-align: center;\n position: absolute;\n top: 0;\n left: 0;\n z-index: 99;\n}\n\n#wpstg-removing-clone.loading::after {\n content: 'REMOVING' !important;\n}\n\n#wpstg-existing-clones,\n#wpstg-removing-clone {\n position: relative;\n}\n\n#wpstg-existing-clones h3 {\n color: #3e3e3e;\n}\n\n#wpstg-removing-clone .wpstg-tab-section {\n display: block;\n}\n\n.wpstg-progress-bar {\n max-width: 900px;\n height: 27px;\n padding: 0;\n background-color: #d6d8d7;\n}\n\n.wpstg-progress {\n float: left;\n background: #3fa5ee;\n width: 0;\n height: 100%;\n transition: width .6s ease;\n color: white;\n line-height: 25px;\n text-align: center;\n overflow: hidden;\n}\n\n.wpstg-progress-files {\n background: #16b4f0;\n width: 0;\n height: 100%;\n transition: width .6s ease;\n color: white;\n line-height: 25px;\n text-align: center;\n}\n\n#wpstg-new-clone-id.wpstg-error-input,\n#wpstg-clone-path.wpstg-error-input {\n border: 1px solid #E01E5A;\n box-shadow: 0 0 2px rgba(255, 66, 53, .8);\n}\n\n#wpstg-new-clone-id {\n width: 450px;\n max-width: 100%;\n margin-left: 15px;\n}\n\n#wpstg-new-clone {\n background: #25a1f0;\n border-color: #2188c9;\n}\n\n#wpstg-new-clone:hover {\n background: #259be6;\n border-color: #2188c9;\n}\n\n#wpstg-clone-path {\n margin-left: 10px;\n width: 350px;\n}\n\n.wpstg-error-msg {\n color: #E01E5A;\n}\n\n#wpstg-clone-id-error {\n display: block;\n background-color: #f0f8ff;\n padding: 10px;\n margin: 20px;\n}\n\n#wpstg-start-cloning + .wpstg-error-msg {\n display: block;\n margin-top: 5px;\n}\n\n.wpstg-size-info {\n color: #999;\n font-weight: normal;\n position: relative;\n left: 2px;\n}\n\n.wpstg-db-table .wpstg-size-info {\n top: 2px;\n}\n\n.wpstg-db-table:hover {\n background-color: #f0f8ff;\n}\n\n#wpstg-workflow #wpstg-start-cloning {\n margin-left: 5px;\n vertical-align: baseline;\n}\n\n\n/* Tabs */\n\n.wpstg-tabs-wrapper {\n max-width: 640px;\n margin: 10px 0;\n}\n\n#wpstg-path-wrapper {\n border-bottom: 2px dashed #ccc;\n padding-bottom: 10px;\n margin-bottom: 10px;\n}\n\n.wpstg-tab-section {\n border-bottom: 1px solid #ddd;\n border-right: none;\n border-left: none;\n display: none;\n width: calc(100% - 72px);\n padding: 0px 36px;\n}\n\n.wpstg-tab-section::after {\n display: block;\n content: '';\n clear: both;\n}\n\n.wpstg-tab-header {\n border-bottom: 1px solid #ddd;\n border-right: none;\n border-left: none;\n color: #444;\n font-size: 16px;\n font-weight: bold;\n display: block;\n padding: 10px;;\n text-decoration: none;\n}\n\n.wpstg-tab-triangle {\n display: inline-block;\n margin-right: 12px;\n animation: transform 0.5s;\n width: 0;\n height: 0;\n margin-top: -3px;\n vertical-align: middle;\n border-top: 5px solid transparent;\n border-bottom: 5px solid transparent;\n border-left: 10px solid;\n transition: transform 0.2s;\n cursor: pointer;\n}\n\n.wpstg-tab-triangle.wpstg-no-icon {\n margin-right: 2px;\n width: auto;\n height: auto;\n vertical-align: auto;\n border-top: 0px solid;\n border-bottom: 0px solid;\n border-left: 0px solid;\n}\n\n.wpstg-tab-triangle.wpstg-rotate-90 {\n transform: rotate(90deg);\n}\n\n.wpstg-tab-header:focus {\n color: #444;\n outline: none;\n box-shadow: none;\n}\n\n#wpstg-large-files {\n display: none;\n border: 1px dashed #ccc;\n padding: 10px 10px 10px;\n margin-top: 20px;\n position: relative;\n font-size: 12px;\n}\n\n#wpstg-large-files h3 {\n background: #fff;\n margin: 0;\n padding: 0 5px;\n position: absolute;\n top: -10px;\n left: 5px;\n}\n\n.wpstg-subdir {\n display: none;\n margin-left: 20px;\n}\n\n.wpstg-subdir.wpstg-push {\n display: block;\n margin-left: 20px;\n}\n\n.wpstg-dir a.disabled {\n color: #888;\n cursor: default;\n text-decoration: none;\n}\n\n.wpstg-check-subdirs {\n display: inline-block;\n margin-left: 10px;\n}\n\n.wpstg-notice-alert {\n display: block;\n background-color: #E01E5A;\n padding: 20px;\n max-width: 600px;\n margin-top: 10px;\n color: white;\n}\n\n.wpstg-notice--white {\n display: block;\n background-color: #ffffff;\n padding: 20px;\n max-width: 600px;\n margin-top: 10px;\n}\n\n.wpstg-notice-alert a {\n color: white;\n}\n\n.wpstg-notice-alert h3 {\n color: white;\n}\n\n.wpstg-header {\n font-weight: 400;\n line-height: 1.6em;\n font-size: 19px;\n border-bottom: 1px solid #DFDFDF;\n clear: both;\n padding-top: 10px;\n}\n\n#wpstg-clone-label {\n font-size: 14px;\n font-weight: bold;\n}\n\n.wpstg-log-details {\n height: 300px;\n overflow: scroll;\n max-width: 650px;\n font-family: monospace;\n font-size: 12px;\n line-height: 15px;\n border: 1px solid #FFF;\n background-color: black;\n color: #c0c0c0;\n padding: 3px;\n white-space: nowrap;\n margin-top: 15px;\n}\n\n#wpstg-finished-result {\n display: none;\n}\n\n#wpstg-remove-cloning {\n background: #ff3428;\n border-color: #e72f24;\n margin-top: 5px;\n}\n\n#wpstg-success-notice {\n padding: 10px;\n background-color: white;\n max-width: 900px;\n border: 1px solid #ccc;\n margin-top: 20px;\n}\n\n.wpstg_beta_notice {\n margin-bottom: 20px;\n}\n\n.wpstg-sysinfo {\n width: 700px;\n height: 700px;\n}\n\n.wpstg-form-table .col-title label {\n font-weight: 600;\n}\n\n.wpstg-form-table td:first-child {\n width: 30%;\n}\n\n.wpstg-share-button-container {\n margin: 5px 0;\n}\n\n.wpstg-share-button-container p {\n margin: 0 0 10px 0;\n}\n\n.wpstg-share-button {\n display: inline-block;\n}\n\n.wpstg-share-button a {\n text-decoration: none;\n}\n\n.wpstg-share-button .wpstg-share {\n font-family: sans-serif;\n font-weight: bold;\n text-decoration: none;\n text-align: center;\n}\n\n.wpstg-share-button .wpstg-share {\n -webkit-border-radius: 2px;\n -moz-border-radius: 2px;\n border-radius: 2px;\n color: #FFF;\n display: inline;\n font-size: 12px;\n padding: 4px 8px;\n}\n\n.wpstg-share-button-twitter .wpstg-share {\n background-color: #00ABF0;\n}\n\n.wpstg-share-button-facebook .wpstg-share {\n background-color: #3b5998;\n}\n\n.wpstg-share-button-googleplus .wpstg-share {\n background-color: #F53424;\n}\n\n.wpstg-share-button-twitter .share:active,\n.wpstg-share-button-facebook .share:active,\n.wpstg-share-button-googleplus .share:active {\n background-color: #353535;\n}\n\n#wpstg-check-space {\n margin-left: 8px;\n}\n\n#wpstg-welcome li {\n font-size: 18px;\n line-height: 29px;\n position: relative;\n padding-left: 23px;\n list-style: none !important;\n}\n\n#wpstg-welcome {\n margin-top: 20px;\n margin-right: 20px;\n background-color: white;\n}\n\n.wpstg-heading-pro {\n font-weight: bold;\n}\n\n.wpstg-h2 {\n margin-top: 0;\n margin-bottom: 1.2rem;\n font-size: 30px;\n line-height: 2.5rem;\n}\n\n#wpstg-welcome li:before {\n width: 1em;\n height: 100%;\n background: url(data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%221792%22%20height%3D%221792%22%20viewBox%3D%220%200%201792%201792%22%20xmlns%3D%22http%3A%2F%2Fwww%2Ew3%2Eorg%2F2000%2Fsvg%22%3E%3Cpath%20fill%3D%22%2377B227%22%20d%3D%22M1671%20566q0%2040%2D28%2068l%2D724%20724%2D136%20136q%2D28%2028%2D68%2028t%2D68%2D28l%2D136%2D136%2D362%2D362q%2D28%2D28%2D28%2D68t28%2D68l136%2D136q28%2D28%2068%2D28t68%2028l294%20295%20656%2D657q28%2D28%2068%2D28t68%2028l136%20136q28%2028%2028%2068z%22%2F%3E%3C%2Fsvg%3E) left .4em no-repeat;\n background-size: contain;\n content: \"\";\n position: absolute;\n top: -2px;\n left: 0;\n color: #77b227;\n}\n\n.wpstg-h1 {\n margin-bottom: 1.35rem;\n font-size: 2.5em;\n line-height: 3.68rem;\n letter-spacing: normal;\n}\n\n.wpstg--swal2-content h1 {\n color: #444;\n}\n\n#wpstg-welcome h2 {\n margin: 0 0 15px;\n}\n\n#wpstg-welcome .wpstg-footer {\n clear: both;\n margin-top: 20px;\n font-style: italic;\n}\n\n#wpstg-footer {\n clear: both;\n margin-top: 20px;\n margin-right: 10px;\n padding-top: 50px;\n}\n\n#wpstg-footer a {\n text-decoration: none;\n}\n\n#wpstg-footer li {\n margin-bottom: 2px;\n list-style: circle;\n}\n\n#wpstg-footer ul {\n margin-left: 15px;\n margin-top: 0px;\n}\n\n.wpstg-footer--title {\n margin-left: 15px;\n}\n\n.wpstg-staging-info {\n margin-top: 8px;\n color: #3e3e3e;\n font-size: 12px;\n}\n\n.wpstg-staging-info a {\n color: #3e3e3e;\n}\n\n.wpstg-staging-info li {\n margin-bottom: 2px;\n}\n\n.wpstg-bold {\n font-weight: 600;\n}\n\n#wpstg-processing-status {\n margin-top: 5px;\n font-size: 13px;\n font-weight: 400;\n float: left;\n}\n\n#wpstg-processing-timer {\n margin-top: 5px;\n font-size: 13px;\n font-weight: 400;\n float: right;\n}\n\n#wpstg-report-issue-button {\n margin-left: 50px;\n border: 1px solid #E01E5A;\n color: #E01E5A;\n background-color: white;\n}\n\n#wpstg-report-issue-button:hover {\n background-color: #dc2b62;\n color: #fff;\n}\n\n.wpstg-blue-primary {\n display: inline-block;\n text-decoration: none;\n font-size: 13px;\n /*line-height: 26px;*/\n height: 28px;\n margin: 0;\n padding: 0 10px 1px;\n cursor: pointer;\n border-width: 1px;\n border-style: solid;\n -webkit-appearance: none;\n border-radius: 3px;\n white-space: nowrap;\n box-sizing: border-box;\n background: #25a1f0;\n border-color: #2188c9;\n color: #fff;\n text-shadow: 0 -1px 1px #006799, 1px 0 1px #006799, 0 1px 1px #006799, -1px 0 1px #006799;\n}\n\n.wpstg-blue-primary:hover {\n background-color: #259be6;\n}\n\n.wpstg-report-issue-form {\n position: absolute;\n z-index: 999;\n width: 300px;\n background-color: #fff;\n padding: 15px 15px 10px;\n border: 1px solid #e8e8e8;\n border-radius: 3px;\n box-shadow: 0 1px 0 0 #fff inset;\n display: none;\n right: 0;\n top: 35px;\n}\n\n@media (max-width: 600px) {\n .wpstg-report-issue-form {\n position: relative;\n }\n}\n\n.wpstg-report-show {\n display: block;\n}\n\n.wpstg-field input[type=text],\n.wpstg-field textarea {\n width: 100%;\n font-weight: 400;\n line-height: 1.4;\n margin-bottom: 4px;\n}\n\n.wpstg-report-email,\n.wpstg-report-hosting-provider {\n width: 100%;\n font-weight: 400;\n font-size: .8rem;\n height: 2.3rem;\n line-height: 2.3rem;\n border-radius: 3px;\n margin-bottom: 4px;\n padding: 0 10px;\n}\n\n.wpstg-report-description {\n border-radius: 3px;\n font-size: .8rem;\n padding: 6px 10px;\n resize: none;\n}\n\n.wpstg-report-privacy-policy {\n font-size: 12px;\n margin-bottom: 15px;\n}\n\n#wpstg-report-cancel {\n float: right;\n margin-right: 5px;\n font-weight: bold;\n}\n\n#wpstg-success-button {\n font-weight: bold;\n}\n\n.wpstg-message {\n box-sizing: border-box;\n -moz-box-sizing: border-box;\n background-color: #f5e0de;\n border-radius: 3px;\n color: rgba(0, 0, 0, .6);\n height: auto;\n margin: 10px 0;\n min-height: 18px;\n padding: 6px 10px;\n position: relative;\n}\n\n.wpstg-message.wpstg-error-message {\n background-color: #f5e0de;\n color: #b65147;\n font-size: 12px;\n}\n\n.wpstg-message.wpstg-success-message {\n background-color: #d7f8e0;\n color: #515151;\n}\n\n.wpstg-message p {\n margin: 3px 0;\n font-size: 13px;\n}\n\n.wpstg-warning {\n display: block;\n padding: 10px;\n background-color: #ffb804;\n color: #ffffff;\n margin: 10px 10px 10px 0;\n}\n\n.wpstg-warning a {\n color: #ffffff;\n font-weight: bold;\n text-decoration: underline;\n}\n\n.wpstg-error {\n display: block;\n padding: 10px !important;\n background-color: #E01E5A !important;\n color: #ffffff;\n margin: 10px 10px 10px 0 !important;\n border-color: transparent !important;\n border-left-color: transparent !important;\n box-shadow: none !important;\n}\n\n.wpstg-error a {\n color: #ffffff;\n font-weight: bold;\n text-decoration: underline;\n}\n\n#wpstg-resume-cloning {\n display: none;\n}\n\n#wpstg-external-db th {\n text-align: left;\n width: 120px;\n}\n\n#wpstg-db-connect {\n font-weight: normal;\n}\n\n#wpstg-db-status {\n display: block;\n margin-top: 5px;\n padding: 5px;\n margin-bottom: 20px;\n border: 1px solid transparent;\n border-radius: 4px;\n text-decoration: none;\n text-align: center;\n}\n\n.wpstg-text-field > #wpstg-db-status {\n margin-top: 8px;\n margin-left: 150px;\n min-width: 300px;\n}\n\n.wpstg-success {\n color: #3c763d;\n background-color: #dff0d8;\n border-color: #d6e9c6;\n}\n\n.wpstg-failed {\n color: #a94442;\n background-color: #f2dede;\n border-color: #ebccd1;\n}\n\n#wpstg_select_tables_cloning {\n height: 600px;\n font-size: 13px;\n}\n\n#wpstg-update-notify {\n background-color: #E01E5A;\n font-size: 14px;\n color: #ffffff;\n line-height: normal;\n padding: 10px;\n}\n\n#wpstg-update-notify a {\n color: #ffffff;\n font-weight: bold;\n}\n\n.wpstg-pointer {\n cursor: pointer;\n}\n\n.wpstg--tab--header {\n background-color: white;\n /* margin-bottom: 10px; */\n /* padding: 16px; */\n position: relative;\n transition: border-color .2s ease-in-out;\n background-color: #ffffff;\n color: #3e3e3e;\n border-radius: 2px;\n box-shadow: 0 0 1px rgba(0, 0, 0, .125), 0 1px 3px rgba(0, 0, 0, .02);\n}\n\n.wpstg--tab--header ul {\n display: flex;\n}\n\n.wpstg--tab--header ul li {\n margin-right: 1em;\n margin-bottom: 0px;\n}\n\n.wpstg--tab--header ul li:last-child {\n margin-right: 0;\n}\n\n.wpstg--tab--header a {\n min-width: 150px;\n text-align: center;\n cursor: pointer;\n display: inline-block;\n padding: 1em 1.25em;\n padding-bottom: 9px;\n color: #c4c4c4;\n font-size: 18px;\n /*\n border: solid 1px;\n */\n}\n\n.wpstg--tab--header a.wpstg--tab--active {\n border-bottom: .4em solid #25A1F0;\n color: #25A1F0;\n}\n\n.wpstg--tab--header a:hover {\n background-color: #fefefe;\n border-bottom: 0.4em solid #25A1F0;\n color: #25A1F0;\n}\n\n.wpstg--tab--content {\n display: none;\n}\n\n.wpstg--tab--active {\n display: block;\n}\n\n.wpstg--text--strong,\n.wpstg--text--strong * {\n font-weight: bold !important;\n}\n\n.wpstg--text--danger {\n color: #a94442;\n}\n\n.wpstg--tooltip {\n position: relative;\n display: inline-block;\n border-bottom: 1px dotted black;\n margin-left: 10px;\n}\n\n.wpstg--tooltip .wpstg--tooltiptext {\n visibility: hidden;\n width: 300px;\n background-color: #ffffff;\n color: #505050;\n text-align: left;\n padding: 12px;\n border-radius: 3px;\n position: absolute;\n z-index: 1;\n -webkit-box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16), 0 3px 6px rgba(0, 0, 0, 0.23);\n -moz-box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16), 0 3px 6px rgba(0, 0, 0, 0.23);\n box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16), 0 3px 6px rgba(0, 0, 0, 0.23);\n}\n\n.wpstg--tooltiptext-backups {\n width: 120px;\n top: 100%;\n left: -150%;\n margin-left: -56px;\n margin-top: 4px;\n}\n\n.wpstg--tooltip.wpstg--exclude-rules--tooltip {\n border-bottom: 0px solid transparent;\n}\n\n.wpstg--tooltip.wpstg--exclude-rules--tooltip > .wpstg--tooltiptext {\n margin-top: 0px;\n margin-left: -150px;\n}\n\n/**\nTooltip top arrow\n */\n\n.wpstg--tooltip .wpstg--tooltiptext-backups::after {\n content: \" \";\n position: absolute;\n bottom: 100%;\n /* At the top of the tooltip */\n left: 50%;\n margin-left: 25px;\n border-width: 5px;\n border-style: solid;\n border-color: transparent transparent white transparent;\n}\n\n.wpstg--tooltip .wpstg--tooltiptext.has-top-arrow {\n margin-top: 6px;\n}\n\n.wpstg--tooltip .wpstg--tooltiptext.has-top-arrow::after {\n content: \" \";\n position: absolute;\n bottom: 100%;\n left: 50%;\n margin-left: -18px;\n border-width: 5px;\n border-style: solid;\n border-color: transparent transparent white transparent;\n}\n\n.wpstg--snaphot-restore-table tr {\n line-height: 12px;\n}\n\n.wpstg-float-left {\n float: left;\n}\n\n.wpstg-beta-notice {\n background-color: #b0e8b0;\n border-radius: 3px;\n padding: 7px;\n margin-bottom: 20px;\n}\n\n#wpstg-backup-name {\n font-size: 1.875em;\n font-weight: 600;\n}\n\n#wpstg_select_tables_cloning option:checked {\n /* Cannot use background color here because Chrome and Firefox ignore it even if set to !important */\n -webkit-appearance: menulist-button;\n background-image: linear-gradient(0deg, #1e90ff 0%, #1e90ff 100%);\n}\n\n.wpstg--btn--cancel {\n background: #ff3428;\n border-color: #e72f24;\n color: #fff;\n height: auto;\n line-height: normal;\n font-size: 16px;\n padding: .5em;\n margin-bottom: 1.5em;\n}\n\n.wpstg--btn--cancel:hover {\n background: #ff3428;\n border-color: #e72f24;\n}\n\n.wpstg--process--content > .wpstg--swal2-html-container {\n padding: 4em 2em !important;\n}\n\n.wpstg--modal--process--logs,\n.wpstg--modal--error--logs {\n background: #ffffff;\n border: 1px solid #a8a8a8;\n border-radius: 3px;\n height: 300px;\n margin-top: 1em;\n display: none;\n padding-top: 10px;\n padding-left: 10px;\n overflow: auto;\n text-align: justify;\n}\n\n.wpstg--modal--error--logs {\n height: auto;\n max-height: 300px;\n}\n\n.wpstg--modal--process--logs p {\n font-size: 12px;\n white-space: nowrap;\n}\n\n.wpstg--modal--process--logs p.wpstg--modal--process--msg--info {\n color: #222222;\n}\n\n.wpstg--modal--process--logs p.wpstg--modal--process--msg--debug {\n color: #757575;\n}\n\n.wpstg--modal--process--title {\n color: #565656;\n margin: .25em 0;\n}\n\n.wpstg--modal--process--subtitle {\n margin: .5em 0;\n color: #565656;\n}\n\n.wpstg--modal--error--logs > p {\n text-align: left;\n font-size: 14px;\n color: #222222;\n}\n\n.wpstg--modal--process--logs p,\n.wpstg--modal--error--logs p {\n margin: 0px;\n margin-bottom: 2px;\n}\n\n.wpstg--modal--process--msg--error {\n color: #E01E5A;\n}\n\n.wpstg--modal--process--msg--critical {\n color: #E01E5A;\n}\n\n.wpstg--modal--process--msg--warning {\n color: darkorange;\n}\n\n.wpstg--modal--process--msg-found {\n font-size: 16px;\n color: #E01E5A;\n font-weight: bold;\n}\n\n.wpstg--modal--delete {\n text-align: left;\n margin-top: 8px;\n color: #565656;\n}\n\n.wpstg-swal-popup .wpstg--swal2-cancel.wpstg--btn--cancel {\n margin-bottom: 0;\n text-shadow: none !important;\n}\n\n.wpstg-swal-popup .wpstg-loader {\n display: inline-block !important;\n}\n\n.wpstg--modal--process--generic-problem {\n display: none;\n border-left: 5px solid #E01E5A;\n margin: .5em 0;\n}\n\n.wpstg--modal--process--logs--tail {\n font-size: 16px;\n color: #565656;\n background: none;\n border: none;\n cursor: pointer;\n}\n\n.wpstg--modal--backup--import--upload--title {\n color: #565656;\n}\n\n.wpstg--modal--backup--import--configure,\n.wpstg--modal--backup--import--upload--status,\n.wpstg--modal--backup--import--upload--container input[type=\"file\"] {\n display: none;\n}\n\n#wpstg--backups--import--file-list {\n font-size: 14px;\n font-weight: bold;\n}\n\n#wpstg--backups--import--file-list-empty {\n color: #E01E5A;\n}\n\n.wpstg--modal--backup--import--filesystem label {\n font-size: 14px;\n}\n\n.wpstg--modal--backup--import--filesystem button {\n margin-bottom: 20px;\n}\n\n.wpstg--modal--backup--import--upload {\n position: relative;\n min-height: 30px;\n}\n\n.wpstg--modal--backup--import--upload {\n color: #505050;\n}\n\n.wpstg--modal--backup--import--upload--container {\n position: relative;\n border-radius: 10px;\n margin: .5em;\n padding: 1em .5em;\n border: 3.5px dashed #dedede;\n transition: background-color 0.3s ease, color 0.3s ease;\n background-color: #f4fbff;\n min-height: 130px;\n}\n\n.wpstg--modal--backup--import--upload--container.wpstg--has-dragover span.wpstg--drop {\n display: inline-flex;\n}\n\n.wpstg--modal--backup--import--upload--container input[type='file'] {\n display: none;\n}\n\n.wpstg--modal--backup--import--upload--container img {\n margin-top: 10px;\n width: 4em;\n align-self: center;\n border: none;\n}\n\n.wpstg--modal--backup--import--upload--container span {\n margin-top: 1em;\n}\n\n.wpstg--backup--import--options > button {\n margin-top: 1em;\n padding: 1em;\n align-self: center;\n width: 185px;\n height: auto;\n line-height: normal;\n}\n\n.wpstg--backup--import--options {\n position: relative;\n display: flex;\n justify-content: center;\n}\n\n.wpstg--backup--import--options ul {\n display: none;\n}\n\n.wpstg--backup--import--options.wpstg--show-options ul {\n padding: 0;\n margin: 54px 0 0 0;\n display: block;\n position: absolute;\n width: 185px;\n background: #25a1f0;\n box-sizing: border-box;\n border-radius: 0 0 3px 3px;\n border-width: 1px;\n border-color: #2188c9;\n text-shadow: 0 -1px 1px #006799, 1px 0 1px #006799, 0 1px 1px #006799, -1px 0 1px #006799;\n}\n\n.wpstg--backup--import--options.wpstg--show-options ul li {\n border-bottom: .1em solid #25a1f0;\n margin: 0;\n}\n\n.wpstg--backup--import--options.wpstg--show-options ul li:hover {\n background-color: #25a1f0;\n}\n\n.wpstg--backup--import--options.wpstg--show-options ul li:last-child {\n border-bottom: none;\n}\n\n.wpstg--backup--import--options ul li button {\n cursor: pointer;\n background: none;\n border: none;\n margin: 0;\n width: 100%;\n color: white;\n height: 40px;\n line-height: 40px;\n}\n\n.wpstg--backup--import--options ul li button:hover {\n background-color: #259be6;\n}\n\n.wpstg--modal--backup--import--search-replace--info {\n margin: 1em 0;\n display: flex;\n flex-direction: row;\n}\n\n.wpstg--modal--backup--import--info p {\n text-align: left;\n margin: 0;\n}\n\n.wpstg--modal--backup--import--search-replace--wrapper button {\n align-self: center;\n}\n\n.wpstg--import--advanced-options--button {\n border: 0;\n border-radius: 3px;\n font-size: 18px;\n text-shadow: 0 -1px 1px #006799, 1px 0 1px #006799, 0 1px 1px #006799, -1px 0 1px #006799;\n cursor: pointer;\n}\n\n.wpstg--modal--backup--import--search-replace--new {\n color: white;\n background-color: #25a1f0;\n}\n\n.wpstg--modal--backup--import--search-replace--remove {\n color: white;\n background-color: #25a1f0;\n width: 22px;\n height: 22px;\n margin-left: 5px;\n}\n\n.wpstg--modal--backup--import--search-replace--input-group:first-child button {\n display: none;\n}\n\n.wpstg--modal--backup--import--search-replace--input--container {\n flex: 1;\n display: flex;\n flex-direction: column;\n}\n\n.wpstg--modal--backup--import--search-replace--input-group {\n width: 100%;\n border-bottom: 6px solid #f1f1f1;\n margin-bottom: 10px;\n}\n\n.wpstg--modal--backup--import--search-replace--input-group input {\n min-width: 250px;\n width: calc(50% - 4px - 11px - 5px); /* -4px is half of the padding; -11px is half of the button; -5 is the margin left of the button */\n display: inline-block;\n line-height: 10px;\n border: 1px solid #dedede;\n border-radius: 3px;\n color: #666;\n padding: 8px;\n margin-bottom: 12px;\n}\n\n.wpstg--modal--import--upload--process {\n display: none;\n position: relative;\n height: 30px;\n margin-top: 20px;\n margin-bottom: 20px;\n width: 100%;\n top: 0;\n left: 0;\n text-indent: 1em;\n white-space: nowrap;\n overflow: hidden;\n color: #333333;\n justify-content: center;\n align-items: center;\n}\n\n.wpstg--modal--import--upload--progress {\n position: absolute;\n background: #98d452;\n color: white;\n height: 100%;\n border-radius: 4px;\n left: 0;\n top: 0;\n}\n\n.wpstg--modal--import--upload--progress--title {\n z-index: 9;\n}\n\n.wpstg-fieldset:disabled {\n opacity: 0.8;\n border-top: 1px solid white;\n margin-top: 20px;\n}\n\n.wpstg-fieldset {\n padding-left: 20px;\n}\n\n.wpstg-fs-14 {\n font-size: 14px;\n}\n\n.wpstg-dark-alert {\n font-weight: bold;\n background-color: #0e86d9;\n padding: 15px;\n margin-top: 0px;\n color: white;\n}\n\n.wpstg-dark-alert .wpstg-button--cta-red {\n margin-left:10px;\n}\n\n.wpstg-form-group {\n display: block;\n width: 100%;\n margin-bottom: 8px;\n align-items: center;\n}\n\n.wpstg-form-group > label {\n display: block;\n font-weight: 700;\n}\n\n.wpstg-text-field > input {\n width: 300px;\n display: block;\n line-height: 1.5;\n}\n\n.wpstg-code-segment {\n display: block;\n}\n\n.wpstg-text-field > .wpstg-code-segment {\n margin-top: 4px;\n min-width: 300px;\n}\n\n.wpstg-form-group > .wpstg-checkbox {\n min-width: 100%;\n width: 100%;\n position: relative;\n}\n\n.wpstg-form-group > .wpstg-checkbox > input[type='checkbox'] {\n left: 150px;\n}\n\n.wpstg-rounded {\n border-radius: 3px;\n}\n\n.wpstg-white-border {\n border: 1px solid white !important;\n}\n\n.wpstg-ml-4 {\n margin-left: 4px;\n}\n\n#wpstg-confirm-backup-restore-data {\n margin: 40px;\n text-align: left;\n}\n\n#wpstg-advanced-settings hr {\n margin: 20px 0;\n}\n\n.wpstg-form-row {\n display: block;\n}\n\n.wpstg-form-row label,\n.wpstg-form-row input {\n display: table-cell;\n padding-left: 5px;\n padding-right: 5px;\n margin-top: 3px;\n margin-bottom: 3px;\n}\n\n.wpstg-form-row input {\n width: 400px;\n}\n\n.wpstg-form-row label {\n font-weight: bold;\n width: 1px;\n white-space: nowrap;\n}\n\n#wpstg-db-connect-output #wpstg-db-status {\n width: 390px;\n}\n\n.wpstg-fs-14 {\n font-size: 14px;\n}\n\n.wpstg-code-segment {\n display: block;\n}\n\n.wpstg-form-group > .wpstg-checkbox {\n min-width: 100%;\n width: 100%;\n}\n\n.wpstg-form-group > .wpstg-checkbox > input[type='checkbox'] {\n margin-left: 10px;\n}\n\n@media only screen and (max-width: 768px) {\n .wpstg-form-group > label {\n min-width: auto;\n width: auto;\n }\n\n .wpstg-text-field > input {\n width: 100%;\n }\n\n .wpstg-text-field > .wpstg-code-segment {\n margin-left: 0;\n min-width: 100%;\n }\n\n .wpstg-tab-section {\n width: calc(100vw - 60px);\n max-width: 450px;\n }\n}\n\n.wpstg-rounded {\n border-radius: 3px;\n}\n\n.wpstg-white-border {\n border: 1px solid white !important;\n}\n\n.wpstg-m-0 {\n margin: 0;\n}\n\n.wpstg-mt-10px {\n margin-top: 10px !important;\n}\n\n.wpstg-my-10px {\n margin-top: 10px !important;\n margin-bottom: 10px !important;\n}\n\n.wpstg-w-100 {\n width: 100%;\n}\n\n.wpstg-box-shadow {\n box-shadow: 0 1px 1px 0 rgba(0, 0, 0, .1);\n}\n\n.wpstg-float-left {\n float: left;\n}\n\n.wpstg-bold-text {\n font-weight: bold;\n}\n\n.wpstg-warning.notice {\n border-left: 4px solid #ffba00;\n}\n\n.wpstg-confirmation-label {\n background-color: #5b9dd9;\n color: #fff;\n padding: 2px;\n border-radius: 3px;\n}\n\n.wpstg-my-6px {\n margin-bottom: 6px;\n margin-top: 6px;\n}\n\n.wpstg-mb-10px {\n margin-bottom: 10px;\n}\n\n.wpstg-clear-both {\n clear: both;\n}\n\n.wpstg-font-italic {\n font-style: italic;\n}\n\n.wpstg-mt-20px {\n margin-top: 20px;\n}\n\n.wpstg-welcome-container {\n border: 2px solid white;\n padding: 20px;\n margin-bottom: 20px;\n}\n\n.wpstg-ml-30px {\n margin-left: 30px;\n}\n\n.wpstg-text-center {\n text-align: center;\n}\n\n.wpstg-feedback-link {\n text-decoration: none;\n}\n\n.wpstg-feedback-span {\n display: block;\n margin-bottom: 3px;\n}\n\n#wpstg-confirm-backup-restore-data {\n margin: 40px;\n text-align: left;\n}\n\n#wpstg-confirm-backup-restore-wrapper {\n margin: 30px;\n margin-top: 0;\n}\n\n#wpstg-confirm-backup-restore-wrapper h3 {\n color: #E01E5A;\n}\n\n#wpstg-progress-db,\n#wpstg-progress-backup {\n background-color: #3fa5ee;\n}\n\n#wpstg-progress-sr,\n#wpstg-progress-files.wpstg-pro {\n background-color: #3c9ee4;\n}\n\n#wpstg-progress-dirs,\n#wpstg-progress-data {\n background-color: #3a96d7;\n}\n\n#wpstg-progress-files:not(.wpstg-pro),\n#wpstg-progress-finishing {\n background-color: #378cc9;\n}\n\n.wpstg-issue-resubmit-confirmation.wpstg--swal2-container,\n.wpstg-swal2-container.wpstg--swal2-container {\n z-index: 10500;\n}\n\n.wpstg-swal2-container.wpstg-swal2-loading .wpstg--swal2-actions,\n.wpstg-swal2-container.wpstg-swal2-loading .wpstg--swal2-header {\n display: none;\n}\n\nbody.toplevel_page_wpstg_backup .wpstg--swal2-container .wpstg--swal2-content,\nbody.toplevel_page_wpstg_clone .wpstg--swal2-container .wpstg--swal2-content {\n z-index: 2;\n}\n\n.toplevel_page_wpstg_clone #swal2-content h2 {\n color: #565656;\n}\n\n.toplevel_page_wpstg_clone #swal2-content {\n line-height: 1.5em;\n}\n\ndiv#exportUploadsWithoutDatabaseWarning {\n font-style: italic;\n font-size: 0.9rem;\n margin: 10px;\n padding: 10px;\n border: 1px solid #e3e3e3;\n border-radius: 5px;\n text-align: center;\n background-color: #fafafa;\n}\n\n.wpstg-advanced-options-dropdown-wrapper {\n display: none; /* ENABLE WHEN WE HAVE ADVANCED OPTIONS FOR EXPORTING */\n margin-top: 20px;\n}\n\n.wpstg--modal--backup--import--search-replace--wrapper {\n text-align: left;\n margin-top: 20px;\n}\n\n.wpstg--modal--backup--import--search-replace--new--wrapper {\n text-align: center;\n}\n\n.wpstg-import-backup-contains li {\n display: inline-block;\n}\n\n.wpstg-import-backup-contains li .wpstg-backups-contains {\n border-radius: 3px;\n color: #979797;\n background-color: #e3e3e3;\n border: 1px solid #c2c2c2;\n width: 17px;\n height: 17px;\n font-size: 17px;\n}\n\n.wpstg-import-backup-contains.wpstg-listing-single-backup li .wpstg-backups-contains {\n padding: 2px;\n background-color: white;\n border: 1px solid #c2c2c2;\n}\n\n.wpstg-import-backup-contains.wpstg-listing-single-backup li .wpstg-backups-contains > .wpstg--dashicons {\n filter: invert(50%);\n}\n\n.wpstg-import-backup-contains .wpstg--tooltiptext {\n width: 50px;\n font-size: x-small;\n padding: 5px;\n left: -25px;\n text-align: center;\n}\n\n.wpstg-import-backup-contains-title {\n display: inline-block;\n}\n\nul.wpstg-import-backup-contains {\n display: inline-block;\n}\n\n.wpstg-import-backup-name {\n display: inline-block;\n font-weight: bold;\n}\n\n.wpstg-backup-more-info-toggle {\n font-size: x-small;\n display: inline-block;\n font-style: italic;\n cursor: pointer;\n}\n\n.wpstg-backup-more-info-toggle::selection {\n background: none;\n}\n\nul.wpstg-import-backup-more-info {\n font-size: 14px;\n text-align: left;\n margin-bottom: 30px;\n margin-top: 10px;\n background-color: #f6f6f6;\n border: 1px solid #878787;\n border-radius: 3px;\n padding: 7px;\n cursor: pointer;\n}\n\nul.wpstg-import-backup-more-info:hover {\n background-color: #def2ff;\n border: 1px solid #25a1f0;\n}\n\nul.wpstg-import-backup-more-info li {\n height: 20px;\n}\n\n.wpstg-backup-list {\n max-width: 800px;\n}\n\n.wpstg-backup-list h3 {\n color:#3e3e3e;\n}\n\n.wpstg-backup-list ul ul {\n margin-block-start: 1em;\n margin-block-end: 1em;\n}\n\n.wpstg-push-confirmation-message {\n text-align: justify;\n font-size: 15px;\n}\n\n.wpstg-settings-row {\n padding-top: 10px;\n padding-bottom: 10px;\n}\n\n.wpstg-settings-title {\n font-weight: 600;\n}\n\n.wpstg-settings-form-group {\n display: flex;\n align-items: center;\n}\n\n.wpstg-settings-form-group > .wpstg-settings-message {\n width: 30%;\n padding: 0;\n margin: 7px 0 0;\n}\n\n/**\n * WP STAGING EXCLUSION RULES TABLE LAYOUT\n */\n\n.wpstg-excluded-filters-container {\n padding: 0;\n margin-top: 10px;\n margin-bottom: 10px;\n max-width: 100%;\n width: 100%;\n}\n\n.wpstg-excluded-filters-container > table {\n width: 100%;\n border-collapse: collapse;\n border-color: transparent;\n}\n\n.wpstg-excluded-filters-container td {\n padding-top: 4px;\n padding-bottom: 4px;\n height: 20px;\n}\n\n.wpstg-excluded-filters-container h4 {\n margin: 0;\n}\n\n.wpstg-exclude-filters-foot {\n display: flex;\n justify-content: flex-start;\n padding: 0;\n}\n\n/**\n * WP STAGING EXCLUSION RULE DROPDOWN STYLE\n */\n\n\n.wpstg-exclude-filter-dropdown > button:hover {\n background: #135e96;;\n border: 1px solid #135e96;;\n}\n\n.wpstg-exclude-filter-dropdown > .wpstg-dropdown-menu {\n width: 128px;\n}\n\n.wpstg-remove-exclude-rule {\n color: #fff !important;\n background-color: #e01e5a;\n border: 1px solid #e01e5a;\n width: 20px;\n height: 20px;\n border-radius: 10px;\n font-size: 24px;\n padding: 0;\n display: inline-flex;\n justify-content: center;\n outline: none;\n box-shadow: none;\n font-weight: 400;\n line-height: 0.7;\n margin-top: 5px;\n cursor: pointer;\n}\n\n.wpstg-remove-exclude-rule:hover {\n background-color: #E01E5A;\n border-color: #E01E5A;\n}\n\n.wpstg-code-block {\n margin-top: 4px;\n font-size: 1.2em;\n background: #f8f8f8;\n border-radius: 2px;\n}\n\n.wpstg-rule-info {\n background: #f8f8f8 !important;\n}\n\ncode.wpstg-code {\n display: inline-block;\n font-size: 11px;\n border: 1px solid #aaa;\n background: #fff;\n padding: 2px 4px;\n margin-bottom: 1px;\n color: #E01E5A;\n}\n\n.wpstg-exclusion-rule-info {\n color: #fff !important;\n background-color: #ffc107;\n border: 1px solid #ffc107;\n width: 14px;\n height: 14px;\n border-radius: 7px;\n font-size: 14px;\n padding: 0;\n display: inline-flex;\n justify-content: center;\n align-items: center;\n outline: none;\n box-shadow: none;\n font-weight: 400;\n vertical-align: middle;\n}\n\n.wpstg-exclusion-rule-info:hover {\n background-color: #ffba0c;\n border: 1px solid #ffba0c;\n}\n\n/**\n * WP STAGING INPUTS EXCLUSION RULES\n */\n\n.wpstg-exclude-rule-input {\n font-size: 12px !important;\n padding: 2px 6px;\n box-shadow: none;\n outline: none !important;\n display: inline-block;\n font-weight: 400;\n line-height: 1.5;\n color: #222;\n border-radius: 0 !important;\n background-color: #fff;\n border: 1px solid #bbb;\n min-height: 24px !important;\n margin-top: 4px;\n margin-left: 4px;\n vertical-align: baseline !important;\n transition: all 0.3s cubic-bezier(.25, .8, .25, 1);\n width: 135px;\n}\n\n.wpstg-excluded-filters-container tbody > tr:last-child .wpstg-exclude-rule-input {\n margin-bottom: 4px;\n}\n\n.wpstg-exclude-rule-input:hover {\n border: 1px solid #999;\n}\n\n.wpstg-exclude-rule-input:focus {\n border: 1px solid #25A0F1 !important;\n box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24) !important;\n}\n\n.wpstg-file-size-exclude-select,\n.wpstg-path-exclude-select {\n width: 135px;\n}\n\n.wpstg-file-size-exclude-select-small {\n width: 52px;\n}\n\n.wpstg-file-size-exclude-input {\n width: 75px;\n}\n\n.wpstg-staging-option-title {\n margin: 15px 0 0;\n}\n\n.wpstg-swal-push-container.wpstg--swal2-container {\n z-index: 9995;\n}\n\n#wpstg-scanning-files {\n padding-bottom: 5px;\n}\n\n#wpstg-scanning-files.wpstg-tab-section, #wpstg-scanning-db.wpstg-tab-section {\n padding-top: 10px;\n}\n\n.wpstg-reset-excludes-container {\n margin: 10px 0;\n}\n\n.wpstg-swal2-ajax-loader {\n width: 100%;\n height: 150px;\n overflow: hidden;\n display: flex;\n justify-content: center;\n align-items: center;\n}\n\n@keyframes wpstg-loading-icon-anim {\n 0% {\n transform: rotate(0);\n }\n 100% {\n transform: rotate(360deg);\n }\n}\n\n.wpstg-swal2-ajax-loader > img {\n width: 64px;\n height: 64px;\n animation: wpstg-loading-icon-anim 1s infinite linear;\n -webkit-animation: wpstg-loading-icon-anim 1s infinite linear;\n}\n\n.wpstg-swal2-container .wpstg-tab-section {\n width: auto !important;\n}\n\n#wpstg-no-staging-site-results {\n margin-top: 10px;\n max-width: 375px;\n}\n\nli#wpstg-backup-no-results {\n max-width: 500px;\n}\n\nli#wpstg-backup-no-results div, #wpstg-no-staging-site-results div {\n display: inline-block;\n text-align: center;\n}\n\nli#wpstg-backup-no-results .wpstg--dashicons, #wpstg-no-staging-site-results .wpstg--dashicons {\n filter: invert(50%);\n position: absolute;\n margin-top: 1px;\n}\n\nli#wpstg-backup-no-results .no-backups-found-text, #wpstg-no-staging-site-results .no-staging-site-found-text {\n color: #5d5d5d;\n margin-left: 20px;\n}\n\n@media only screen and (max-width: 680px) {\n li#wpstg-backup-no-results div, #wpstg-no-staging-site-results div {\n width: 100%;\n }\n}\n\n#wpstg--modal--backup--download-inner p.wpstg-download-modal-text {\n font-size: 16px;\n color: #565656;\n}\n\n#wpstg--modal--backup--download-inner h2 {\n color: #565656;\n}\n\n.wpstg-backup-restore-contains-database,\n.wpstg-backup-restore-contains-files {\n display: none;\n}\n\n.wpstg-green-button {\n background: #8bc34a;\n border: 1px solid #78a93f;\n color: white;\n text-shadow: 0 -1px 1px #78a93f, 1px 0 1px #78a93f, 0 1px 1px #40c921, -1px 0 1px #78a93f;\n}\n\n.wpstg-green-button:hover {\n background: #78a93f;\n}\n\n.wpstg-is-dir-loading {\n position: absolute;\n margin-top: -2px;\n margin-left: 8px;\n display: none;\n}\n\n.wpstg-ml-8px {\n margin-left: 8px;\n}\n\n.wpstg-mb-8px {\n margin-bottom: 8px;\n}\n\n\n.wpstg-btn-danger {\n background-color: #E01E5A;\n border: 1px solid #E01E5A;\n color: white;\n text-shadow: none;\n}\n\n.wpstg-btn-danger:hover {\n background: #c0194d;\n box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3);\n}\n\n.wpstg-swal2-container.wpstg-swal2-loading > .wpstg--swal2-modal {\n height: 200px;\n}\n\n.wpstg-reset-confirmation.wpstg-swal2-container:not(.wpstg-swal2-loading) > .wpstg--swal2-modal {\n max-width: 480px;\n}\n\n.wpstg-reset-confirmation.wpstg-swal2-container .wpstg--swal2-header {\n display: none;\n}\n\n.wpstg-reset-confirmation.wpstg-swal2-container .wpstg--swal2-content {\n height: auto;\n}\n\n.wpstg-reset-confirmation.wpstg-swal2-container > .wpstg--swal2-modal > .wpstg--swal2-content .wpstg-tabs-wrapper {\n overflow-y: auto;\n height: auto !important;\n}\n\n.wpstg-reset-confirmation.wpstg-swal2-container > .wpstg--swal2-modal > .wpstg--swal2-content {\n font-size: 13px;\n}\n\n.wpstg-reset-confirmation.wpstg-swal2-container > .wpstg--swal2-modal > .wpstg--swal2-content .wpstg-dir {\n margin-bottom: 4px;\n}\n\n.wpstg-reset-confirmation.wpstg-swal2-container > .wpstg--swal2-modal > .wpstg--swal2-content .wpstg-subdir {\n margin-top: 4px;\n}\n\n.wpstg-reset-confirmation.wpstg-swal2-container.has-collapsible-open .wpstg--swal2-modal {\n height: calc(100vh - 70px);\n}\n\n.wpstg-reset-confirmation.wpstg-swal2-container.has-collapsible-open > .wpstg--swal2-modal > .wpstg--swal2-content .wpstg-tabs-wrapper {\n height: calc(100vh - 350px) !important;\n}\n\n.wpstg--swal2-actions.wpstg--modal--actions > button {\n margin-left: 4px;\n margin-right: 4px;\n text-transform: uppercase;\n text-shadow: initial;\n font-weight: 500;\n min-width: 80px;\n}\n\n.wpstg-swal-popup {\n max-width: 1200px !important;\n}\n\n.wpstg-swal-popup.wpstg-push-finished .wpstg--swal2-title {\n color: #a8a8a8;\n}\n\n.wpstg-swal-popup.wpstg-push-finished .wpstg--swal2-content {\n margin-top: 8px;\n color: #a8a8a8;\n}\n\n.wpstg-swal-popup .wpstg--swal2-progress-steps .wpstg--swal2-progress-step.wpstg--swal2-active-progress-step,\n.wpstg-swal-popup .wpstg--swal2-progress-steps .wpstg--swal2-progress-step,\n.wpstg-swal-popup .wpstg--swal2-progress-steps .wpstg--swal2-progress-step-line {\n background: #25a1f0;\n}\n\n.wpstg-swal-popup .wpstg--swal2-progress-steps .wpstg--swal2-progress-step-line {\n width: 2.75em;\n}\n\n.wpstg--dashicons {\n width: 16px;\n height: 16px;\n}\n\n.wpstg--dashicons.wpstg-dashicons-grey {\n filter: invert(20%);\n}\n\n.wpstg--dashicons.wpstg-dashicons-19 {\n width: 19px;\n height: 19px;\n}\n\n.wpstg--dashicons.wpstg-dashicons-21 {\n width: 21px;\n height: 21px;\n}\n\n#wpstg--tab--backup #wpstg-step-1 {\n display: flex;\n align-items: center;\n}\n\n.wpstg-advanced-options .wpstg--tooltip,\n#wpstg--tab--backup #wpstg-step-1 .wpstg--tooltip {\n border-bottom: 0 solid transparent;\n display: inline-flex;\n align-items: center;\n}\n\n#wpstg--tab--backup #wpstg-step-1 .wpstg--tooltip {\n border-bottom: 0 solid transparent;\n display: flex;\n align-items: center;\n}\n\n.wpstg--tooltip .wpstg--tooltiptext-backups::after {\n left: calc(20% + 2px);\n}\n\n.wpstg-listing-single-backup .wpstg--dashicons {\n width: 17px;\n height: 17px;\n}\n\n.wpstg-100-width {\n width: 100px;\n}\n\n.wpstg-caret {\n display: inline-block;\n width: 0;\n height: 0;\n margin-left: 2px;\n vertical-align: middle;\n border-top: 4px solid;\n border-right: 4px solid transparent;\n border-left: 4px solid transparent;\n transition: transform 0.2s;\n cursor: pointer;\n}\n\n.wpstg-caret.wpstg-caret-up {\n transform: rotate(-180deg);\n}\n\n.wpstg-advanced-options-site label {\n font-size: 16px;\n display: block;\n margin: .5em 0;\n}\n\n#wpstg-confirm-backup-restore-data {\n font-size: 18px;\n margin: 0;\n margin-top: 30px;\n}\n\n/* Sweetalert WP STAGING Theme */\n\nbody.toplevel_page_wpstg_backup .wpstg--swal2-container.wpstg--swal2-backdrop-show,\nbody.toplevel_page_wpstg_clone .wpstg--swal2-container.wpstg--swal2-backdrop-show {\n background: rgba(0, 0, 0, .6);\n z-index: 9995;\n}\n\n.wpstg-swal-popup.wpstg--swal2-popup {\n border-radius: 8px;\n z-index: 9999;\n padding: 24px;\n color: #565656;\n font-family: Verdana, Geneva, Tahoma, sans-serif;\n}\n\n.wpstg-swal-popup .wpstg--swal2-title {\n font-size: 22px;\n color: #565656;\n}\n\n.wpstg-swal-popup.wpstg--swal2-popup:not(.centered-modal) .wpstg--swal2-title {\n align-self: flex-start; /* For an actual Swal title */\n text-align: left; /* Manually adding this class to a non flex display */\n margin-bottom: 0;\n}\n\n.wpstg-swal-popup .wpstg--swal2-close {\n top: 8px;\n right: 8px;\n z-index: 5;\n}\n\n.wpstg-swal-popup .wpstg--swal2-close:focus {\n outline: none;\n}\n\n.wpstg-swal-popup.wpstg--swal2-popup:not(.centered-modal) .wpstg--swal2-actions {\n justify-content: flex-end;\n}\n\n.wpstg-swal-popup .wpstg--swal2-actions > button {\n border-radius: 4px;\n font-weight: 900;\n border: 0;\n font-size: 15px;\n padding: 10px 12px;\n text-transform: capitalize;\n line-height: normal;\n height: 40px;\n min-width: 100px;\n text-shadow: none;\n}\n\n.wpstg-swal-popup.wpstg--swal2-popup:not(.centered-modal) .wpstg--swal2-actions > button {\n margin-left: 8px;\n}\n\n.wpstg-swal-popup .wpstg--swal2-actions > button.wpstg--swal2-cancel {\n border: 1px solid rgba(29, 28, 29, 0.3);\n background: #fff;\n color: rgb(29, 28, 29);\n font-weight: 500;\n width: 100px;\n text-shadow: none;\n}\n\n.wpstg-swal-popup .wpstg--swal2-actions > button:hover {\n box-shadow: 0 1px 3px 0 rgba(0 0 0 .1);\n}\n\n.wpstg-swal-popup .wpstg--swal2-actions > button.wpstg--swal2-cancel:hover {\n background: rgba(28, 29, 28, .04);\n}\n\n#wpstg-backup-name-input {\n height: 44px;\n font-size: 18px;\n}\n\n.wpstg-restore-finished-container .wpstg--swal2-title {\n color: #565656 !important;\n}\n\n/*#wpstg-restore-success {\n color: #565656;\n}*/\n\n.wpstg-restore-finished-container .wpstg--swal2-content {\n margin-top: 20px;\n color: #a8a8a8;\n}\n\n/* WP Staging Implementation of Windows Style Linear Loader */\n\n.wpstg-linear-loader > span[class*=\"wpstg-linear-loader-item\"] {\n height: 6px;\n width: 6px;\n background: #333;\n display: inline-block;\n margin: 12px 2px;\n border-radius: 100%;\n animation: wpstg_linear_loader 3s infinite;\n animation-timing-function: cubic-bezier(0.030, 0.615, 0.995, 0.415);\n animation-fill-mode: both;\n}\n\n.wpstg-linear-loader > span.wpstg-linear-loader-item:nth-child(1) {\n animation-delay: 1s;\n}\n\n.wpstg-linear-loader > span.wpstg-linear-loader-item:nth-child(2) {\n animation-delay: 0.8s;\n}\n\n.wpstg-linear-loader > span.wpstg-linear-loader-item:nth-child(3) {\n animation-delay: 0.6s;\n}\n\n.wpstg-linear-loader > span.wpstg-linear-loader-item:nth-child(4) {\n animation-delay: 0.4s;\n}\n\n.wpstg-linear-loader > span.wpstg-linear-loader-item:nth-child(5) {\n animation-delay: 0.2s;\n}\n\n.wpstg-linear-loader > span.wpstg-linear-loader-item:nth-child(6) {\n animation-delay: 0s;\n}\n\n@keyframes wpstg_linear_loader {\n 0% {\n transform: translateX(-30px);\n opacity: 0;\n }\n 25% {\n opacity: 1;\n }\n 50% {\n transform: translateX(30px);\n opacity: 0;\n }\n 100% {\n opacity: 0;\n }\n}\n\n/* END - Windows Style Linear Loader */\n\n.wpstg--modal--backup--import--upload--content {\n padding: .75em;\n margin: 1em auto;\n}\n\n.wpstg--modal--backup--import--upload--content .wpstg-linear-loader {\n display: none;\n}\n\n#wpstg-multisite-disabled .wpstg-clone {\n width: 355px;\n}\n\n#wpstg-free-version-backups .wpstg-clone {\n text-align: center;\n}\n\n#wpstg-free-version-backups .wpstg-clone p {\n font-size: 16px;\n}\n\n.wpstg-staging-info li .backup-notes {\n word-break: break-word;\n}\n\n.wpstg--modal--import--upload--progress--title small {\n font-weight: normal;\n}\n\n#wpstg-report-issue-wrapper {\n position: relative;\n}\n\n#wpstg-report-issue-wrapper .arrow-up {\n width: 0;\n height: 0;\n border-left: 8px solid transparent;\n border-right: 8px solid transparent;\n border-bottom: 8px solid white;\n position: absolute;\n top: -8px;\n right: 40px;\n}\n\n.notice {\n margin: 10px 20px 0 2px;\n}\n\n.wpstg--notice {\n box-shadow: 0 1px 1px rgba(0, 0, 0, .04);\n margin: 20px 20px 20px 0px;\n padding: 1px 12px;\n}\n\n.wpstg--error a:hover {\n color: #eeeeee;\n}\n\n.wpstg--error, .wpstg--error a {\n background: #E01E5A;\n color: white;\n}\n\n/**\n * Buttons\n */\n\n.wpstg-button {\n display: inline-block;\n border-radius: 2px;\n cursor: pointer;\n padding: 2px 10px 2px 10px;\n text-transform: uppercase;\n font-weight: 500;\n outline: 0;\n transition: background-color .1s ease-in;\n text-decoration: none;\n}\n\n.wpstg-button.wpstg-save {\n background-color: #1687A7;\n color: white;\n}\n\n.wpstg-button.wpstg-save:hover {\n background-color: #276678;\n}\n\n\n.wpstg-button.wpstg-button-light {\n background-color: #f8f8f8;\n border: 1px solid #eee;\n color: #333;\n animation: background-color 0.3s;\n}\n\n.wpstg-button.wpstg-button-light:hover {\n background-color: #e0e0e0;\n border: 1px solid #e0e0e0;\n}\n\n.wpstg-buttons .spinner {\n float: none;\n margin: 0 0 0 5px;\n}\n\n.wpstg-button.danger {\n display: inline-block;\n text-decoration: none;\n text-align: center;\n text-transform: inherit;\n background-color: #E01E5A;\n color: white;\n border-radius: 2px;\n border-color: transparent;\n}\n\n.wpstg-button.danger:hover {\n background-color: #c0194d;\n}\n\n.wpstg-button--big {\n display: inline-block;\n padding: 10px;\n min-width: 170px;\n font-size: 16px;\n text-decoration: none;\n text-align: center;\n margin-top: 20px;\n color: white;\n border-radius: 3px;\n}\n\n.wpstg-button--primary {\n display: inline-block;\n text-decoration: none;\n font-size: 13px;\n line-height: 2.15384615;\n min-height: 30px;\n margin: 0;\n padding: 0 10px;\n cursor: pointer;\n border: 1px solid rgba(29, 28, 29, 0.3);\n -webkit-appearance: none;\n border-radius: 2px;\n white-space: nowrap;\n box-sizing: border-box;\n color: #171717;\n}\n\n.wpstg-button--primary:hover {\n background: rgba(28, 29, 28, .04);\n color: black;\n}\n\n.wpstg-button--secondary {\n display: inline-block;\n background-color: transparent;\n color: #95a5a6;\n border-radius: 2px;\n border: 1px solid rgba(29, 28, 29, 0.3);\n cursor: pointer;\n padding: 4px 10px 2px 10px;\n font-weight: 500;\n outline: 0;\n transition: background-color .1s ease-in;\n text-decoration: none;\n}\n\n.wpstg-button--red {\n background-color: #E01E5A;\n border-color: #E01E5A;\n color: white;\n}\n\n.wpstg-button--red:hover {\n background-color: #d02358;\n border-color: #e0255f;\n color: white;\n}\n\n.wpstg-button--cta-red {\n background-color: #fe008f;\n border-color: #E01E5A;\n color: white;\n}\n\n.wpstg-button--cta-red:hover {\n background-color: #f31391;\n border-color: #e0255f;\n color: white;\n}\n\n.wpstg-button--blue {\n background-color: #25A0F1;\n border-color: #25A0F1;\n color: white;\n}\n\n.wpstg-button--blue:hover {\n background-color: #259be6;\n border-color: #259be6;\n color: white;\n}\n\n#wpstg-button-backup-upgrade {\n font-size: 16px;\n}\n\n.wpstg-staging-status {\n color: #E01E5A;\n}\n\n#wpstg-push-changes,\n#wpstg-start-updating,\n#wpstg-save-clone-data {\n margin-left: 5px;\n}\n\ninput.wpstg-textbox {\n border: 1px solid #aaa;\n border-radius: .25rem;\n padding: 0.25rem 0.5rem;\n font-size: 14px;\n}\n\ninput.wpstg-textbox:focus {\n outline: 0;\n border-color: #259be6;\n -webkit-box-shadow: 0 0 0 0.1rem rgba(221, 221, 221, .35);\n box-shadow: 0 0 0 0.1rem rgba(221, 221, 221, .35);\n}\n\ninput.wpstg-textbox::placeholder {\n color: #888;\n}\n\n.wpstg--advance-settings--checkbox {\n display: flex;\n align-items: center;\n}\n\n.wpstg--advance-settings--checkbox > label {\n font-size: 14px;\n font-weight: bolder;\n width: 165px;\n display: inline-block;\n}\n\n.wpstg--advance-settings--checkbox > .wpstg--tooltip {\n margin-top: 5px;\n margin-left: 5px;\n position: relative;\n display: inline-block;\n border-bottom: 0px solid transparent;\n}\n\n.wpstg--advance-settings--checkbox > .wpstg--tooltip > .wpstg--tooltiptext {\n top: 18px;\n left: -150px;\n}\n\n\ndiv#wpstg-restore-wait {\n display: none;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n text-align: center;\n height: 100vh;\n width: 100vw;\n position: fixed;\n top: 0;\n left: 0;\n background: white;\n z-index: 99999;\n}\n\ndiv#wpstg-restore-wait .wpstg-title {\n font-weight: bold;\n}\n\ndiv#wpstg-restore-wait div {\n font-size: 16px;\n margin-top: 12px;\n}\n\n.resumable-browse {\n cursor: pointer;\n}\n\n.resumable-browse a {\n text-decoration: underline;\n}\n\n.wpstg-upload-text {\n font-weight: 600;\n}\n\n.wpstg--modal--backup--import--upload--container.dragover {\n transition: background-color 0.7s;\n background-color: #94dc96;\n color: #FFF;\n}\n\n.wpstg--modal--backup--import--upload--container.dragover * {\n pointer-events: none; /* Avoids flickering when dragging to drop a file */\n}\n\n.wpstg--modal--backup--import--upload--container.dragover .wpstg-upload-text {\n display: none;\n}\n\n.wpstg--modal--backup--import--upload--container.dragover .wpstg-dragover-text {\n display: block;\n}\n\n.wpstg--modal--backup--import--upload--container .wpstg-dragover-text {\n display: none;\n}\n\n#wpstg-invalid-license-message, #wpstg-invalid-license-message a {\n font-weight: 500;\n color: #E01E5A;\n margin-left: 6px;\n}\n\n#wpstg-sidebar--banner {\n max-width: 200px;\n}\n\n@media screen and (max-width: 1234px) {\n .wpstg-h2 {\n font-size: 24px;\n }\n\n #wpstg-welcome li {\n font-size: 14px;\n }\n}\n\n.wpstg-exclamation {\n color: #ffffff;\n border-radius: 100%;\n background-color: #E01E5A;\n width: 20px;\n height: 20px;\n text-align: center;\n font-weight: bold;\n display: inline-block;\n margin: 6px;\n}\n\n.wpstg--tab--contents {\n padding-top: 1px;\n}\n\n.wpstg-swal-show.wpstg--swal2-show {\n -webkit-animation: wpstg-swal-show 0.2s !important;\n animation: wpstg-swal-show 0.2s !important;\n}\n\n@-webkit-keyframes wpstg-swal-show {\n 0% {\n transform: scale(0.3);\n }\n 100% {\n transform: scale(1);\n }\n}\n\n@keyframes wpstg-swal-show {\n 0% {\n transform: scale(0.3);\n }\n 100% {\n transform: scale(1);\n }\n}\n"]}
|
assets/img/logo.svg
ADDED
@@ -0,0 +1 @@
|
|
|
1 |
+
<svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 1772.09 396.7"><defs><style>.cls-1{fill:url(#linear-gradient);}.cls-2{fill:url(#linear-gradient-2);}</style><linearGradient id="linear-gradient" x1="443.1" y1="120.85" x2="693.38" y2="120.85" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#36b6fc"/><stop offset="1" stop-color="#2eb67d"/></linearGradient><linearGradient id="linear-gradient-2" x1="443.09" y1="275.85" x2="693.38" y2="275.85" gradientUnits="userSpaceOnUse"><stop offset="0.01" stop-color="#e01f5a"/><stop offset="1" stop-color="#ecb02e"/></linearGradient></defs><path d="M820.07,192.46h0c-6.85-3.11-19-6.61-37.07-10.71-21.34-4.82-28.93-8.67-31.55-11.06A15.75,15.75,0,0,1,746,158.3c0-5.92,2.59-10.87,7.93-15.15s14.53-6.59,27-6.59c11.9,0,20.93,2.46,26.83,7.3s9.3,12.06,10.33,21.62l.32,2.89,26.69-2-.11-2.89A53.19,53.19,0,0,0,836.39,136c-5.33-8.12-13-14.34-22.87-18.49-9.66-4.07-20.93-6.14-33.5-6.14a81.82,81.82,0,0,0-31.39,5.85c-9.6,4-17,9.89-22.06,17.61a45.08,45.08,0,0,0-7.57,25,40.72,40.72,0,0,0,6.26,22.12c4.12,6.54,10.43,12.06,18.72,16.4,6.36,3.38,17,6.83,32.53,10.56,15,3.59,24.7,6.25,29,7.92,6.35,2.42,10.9,5.37,13.54,8.77a18.33,18.33,0,0,1,3.87,11.71,20.47,20.47,0,0,1-4.1,12.35c-2.75,3.81-7.08,6.89-12.87,9.14a57.94,57.94,0,0,1-21,3.51,60.12,60.12,0,0,1-24.1-4.65c-6.93-3-12.08-7-15.3-11.74s-5.4-11.25-6.31-19l-.34-2.89-26.29,2.29.08,2.83a58.77,58.77,0,0,0,9.54,31.19,55.65,55.65,0,0,0,25,20.73c10.42,4.49,23.43,6.77,38.69,6.77a78.77,78.77,0,0,0,33-6.74c9.89-4.53,17.6-11,22.91-19.2a48,48,0,0,0,8-26.42,44.16,44.16,0,0,0-7.37-25.13C837.69,203.1,830.13,197.09,820.07,192.46Z"/><polygon points="998.02 114.14 861.36 114.14 861.36 139.6 915.67 139.6 915.67 284.99 943.48 284.99 943.48 139.6 998.02 139.6 998.02 114.14"/><path d="M1043.45,114.14,977.84,285h29.63l18.1-49.93h64.77L1109.57,285H1141L1071,114.14Zm37.86,97.16h-47.22l16.6-44.32c2.53-6.91,4.71-13.92,6.51-20.94,2.26,6.89,5.09,14.81,8.44,23.66Z"/><path d="M1228,220.33h48.47v26.32c-4.35,3.57-10.6,7-18.59,10.24a70.59,70.59,0,0,1-26.54,5.23,65.74,65.74,0,0,1-29.48-6.88,45.79,45.79,0,0,1-20.75-20.72c-4.82-9.42-7.26-21.37-7.26-35.52a83.69,83.69,0,0,1,6.06-32,54.36,54.36,0,0,1,9.86-15.45,45.43,45.43,0,0,1,16.53-11.22c6.87-2.87,15.18-4.32,24.7-4.32a55.14,55.14,0,0,1,21.55,4.09c6.3,2.67,11.19,6.23,14.53,10.59s6.37,10.81,8.72,18.81l.83,2.83,25.37-7-.74-2.86c-2.94-11.45-7.32-20.91-13-28.11s-13.82-13-23.89-17a89.55,89.55,0,0,0-33.45-6c-16.84,0-32,3.53-44.93,10.48s-23.28,17.89-30.24,32.32a105.38,105.38,0,0,0-10.36,46.22c0,16.6,3.51,31.86,10.45,45.34a72,72,0,0,0,31.24,31.37c13.6,7.13,28.92,10.74,45.53,10.74a101.78,101.78,0,0,0,36.14-6.66,126.68,126.68,0,0,0,34-19.74l1.13-.91V194.87L1228,195Z"/><rect x="1333.74" y="114.14" width="27.81" height="170.85"/><polygon points="1502.75 236.69 1420.77 114.14 1393.79 114.14 1393.79 284.99 1420.7 284.99 1420.7 162.34 1502.68 284.99 1529.66 284.99 1529.66 114.14 1502.75 114.14 1502.75 236.69"/><path d="M1637.46,195v25.33h48.46v26.32c-4.35,3.57-10.59,7-18.59,10.24a70.57,70.57,0,0,1-26.53,5.23,65.71,65.71,0,0,1-29.48-6.88,45.81,45.81,0,0,1-20.76-20.72c-4.82-9.42-7.26-21.37-7.26-35.52a83.51,83.51,0,0,1,6.07-32,54.36,54.36,0,0,1,9.86-15.45,45.47,45.47,0,0,1,16.52-11.22c6.87-2.87,15.18-4.32,24.71-4.32a55.13,55.13,0,0,1,21.54,4.09c6.31,2.67,11.2,6.23,14.53,10.59s6.37,10.81,8.73,18.81l.83,2.83,25.37-7-.74-2.86c-2.94-11.45-7.33-20.91-13-28.11s-13.81-13-23.89-17a89.53,89.53,0,0,0-33.44-6c-16.84,0-32,3.53-44.94,10.48s-23.28,17.89-30.24,32.32a105.52,105.52,0,0,0-10.36,46.22c0,16.6,3.52,31.86,10.45,45.34a72.08,72.08,0,0,0,31.25,31.37c13.6,7.13,28.91,10.74,45.52,10.74a101.88,101.88,0,0,0,36.15-6.66,127,127,0,0,0,34-19.74l1.13-.91V194.87Z"/><path d="M224,223.35c-1.82,7.27-3.46,14.15-4.92,20.57-2.58-13.76-6-28.21-10.31-43.16L184.5,115.14H153.65l-32,113.52c-.55,2-1.92,7.52-4.18,16.91-1.34-6.68-2.82-13.38-4.4-20L87.46,115.14H58.8L104.13,286H131L166.56,158.2q1-3.55,2.08-7.8c.62,2.28,1.34,4.87,2.15,7.79L206.15,286h25.6l46.84-170.85H250.38Z"/><path d="M404.33,125h0c-5.81-4-13.07-6.78-21.52-8.18-5.93-1.08-14.55-1.63-25.61-1.63H292V286h27.82V219h39.28c24.08,0,41.09-5.22,50.56-15.53s14.17-22.89,14.17-37.62A53.78,53.78,0,0,0,418.53,142,43.69,43.69,0,0,0,404.33,125Zm-44.88,68.57H319.83V140.6H359c9.58,0,16.17.45,19.55,1.35a21.37,21.37,0,0,1,12.13,8.57,27,27,0,0,1,4.67,16c0,8.7-2.57,15.21-7.87,19.9h0C382.15,191.12,372.72,193.52,359.45,193.52Z"/><path class="cls-1" d="M657.18,106.31a128,128,0,0,0-214.08,65h34.64A94.43,94.43,0,0,1,633.35,130l-41.66,41.38H693.38v-101Z"/><path class="cls-2" d="M658.74,225.35a94.44,94.44,0,0,1-155.62,41.38l41.66-41.38H443.09v101l36.2-36a128,128,0,0,0,214.09-65Z"/></svg>
|
assets/img/logo_clean_small_212_25.png
DELETED
Binary file
|
assets/js/dist/wpstg-admin.js
CHANGED
@@ -1633,7 +1633,8 @@
|
|
1633 |
progressBar: 0,
|
1634 |
cloneExcludeFilters: null,
|
1635 |
directoryNavigator: null,
|
1636 |
-
notyf: null
|
|
|
1637 |
};
|
1638 |
var cache = {
|
1639 |
elements: []
|
@@ -1731,7 +1732,6 @@
|
|
1731 |
|
1732 |
var elements = function elements() {
|
1733 |
var $workFlow = cache.get('#wpstg-workflow');
|
1734 |
-
var isAllChecked = true;
|
1735 |
var urlSpinner = ajaxurl.replace('/admin-ajax.php', '') + '/images/spinner';
|
1736 |
var timer;
|
1737 |
|
@@ -1746,16 +1746,16 @@
|
|
1746 |
.on('click', '.wpstg-button-unselect', function (e) {
|
1747 |
e.preventDefault();
|
1748 |
|
1749 |
-
if (false ===
|
1750 |
cache.get('#wpstg_select_tables_cloning .wpstg-db-table').prop('selected', 'selected');
|
1751 |
cache.get('.wpstg-button-unselect').text('Unselect All');
|
1752 |
cache.get('.wpstg-db-table-checkboxes').prop('checked', true);
|
1753 |
-
|
1754 |
} else {
|
1755 |
cache.get('#wpstg_select_tables_cloning .wpstg-db-table').prop('selected', false);
|
1756 |
cache.get('.wpstg-button-unselect').text('Select All');
|
1757 |
cache.get('.wpstg-db-table-checkboxes').prop('checked', false);
|
1758 |
-
|
1759 |
}
|
1760 |
})
|
1761 |
/**
|
@@ -2036,6 +2036,7 @@
|
|
2036 |
var clone = $(this).data('clone');
|
2037 |
var resetModal = new WpstgResetModal(clone);
|
2038 |
var promise = resetModal.showModal();
|
|
|
2039 |
promise.then(function (result) {
|
2040 |
if (result.value) {
|
2041 |
var dirNavigator = resetModal.getDirectoryNavigator();
|
@@ -2391,6 +2392,7 @@
|
|
2391 |
that.cloneExcludeFilters = null;
|
2392 |
|
2393 |
if (that.data.action === 'wpstg_scanning') {
|
|
|
2394 |
that.directoryNavigator = new WpstgDirectoryNavigation('#wpstg-directories-listing', wpstg, that.notyf);
|
2395 |
that.switchStep(2);
|
2396 |
that.cloneExcludeFilters = new WpstgExcludeFilters();
|
@@ -2525,7 +2527,7 @@
|
|
2525 |
cache.get('#wpstg-removing-clone').removeClass('loading').html('');
|
2526 |
|
2527 |
if (response["delete"] === 'finished' && response.error === undefined) {
|
2528 |
-
$('.wpstg-clone
|
2529 |
} // No staging site message is also of type/class .wpstg-class but hidden
|
2530 |
// We have just excluded that from search when counting no of clones
|
2531 |
|
1633 |
progressBar: 0,
|
1634 |
cloneExcludeFilters: null,
|
1635 |
directoryNavigator: null,
|
1636 |
+
notyf: null,
|
1637 |
+
areAllTablesChecked: true
|
1638 |
};
|
1639 |
var cache = {
|
1640 |
elements: []
|
1732 |
|
1733 |
var elements = function elements() {
|
1734 |
var $workFlow = cache.get('#wpstg-workflow');
|
|
|
1735 |
var urlSpinner = ajaxurl.replace('/admin-ajax.php', '') + '/images/spinner';
|
1736 |
var timer;
|
1737 |
|
1746 |
.on('click', '.wpstg-button-unselect', function (e) {
|
1747 |
e.preventDefault();
|
1748 |
|
1749 |
+
if (false === that.areAllTablesChecked) {
|
1750 |
cache.get('#wpstg_select_tables_cloning .wpstg-db-table').prop('selected', 'selected');
|
1751 |
cache.get('.wpstg-button-unselect').text('Unselect All');
|
1752 |
cache.get('.wpstg-db-table-checkboxes').prop('checked', true);
|
1753 |
+
that.areAllTablesChecked = true;
|
1754 |
} else {
|
1755 |
cache.get('#wpstg_select_tables_cloning .wpstg-db-table').prop('selected', false);
|
1756 |
cache.get('.wpstg-button-unselect').text('Select All');
|
1757 |
cache.get('.wpstg-db-table-checkboxes').prop('checked', false);
|
1758 |
+
that.areAllTablesChecked = false;
|
1759 |
}
|
1760 |
})
|
1761 |
/**
|
2036 |
var clone = $(this).data('clone');
|
2037 |
var resetModal = new WpstgResetModal(clone);
|
2038 |
var promise = resetModal.showModal();
|
2039 |
+
that.areAllTablesChecked = true;
|
2040 |
promise.then(function (result) {
|
2041 |
if (result.value) {
|
2042 |
var dirNavigator = resetModal.getDirectoryNavigator();
|
2392 |
that.cloneExcludeFilters = null;
|
2393 |
|
2394 |
if (that.data.action === 'wpstg_scanning') {
|
2395 |
+
that.areAllTablesChecked = true;
|
2396 |
that.directoryNavigator = new WpstgDirectoryNavigation('#wpstg-directories-listing', wpstg, that.notyf);
|
2397 |
that.switchStep(2);
|
2398 |
that.cloneExcludeFilters = new WpstgExcludeFilters();
|
2527 |
cache.get('#wpstg-removing-clone').removeClass('loading').html('');
|
2528 |
|
2529 |
if (response["delete"] === 'finished' && response.error === undefined) {
|
2530 |
+
$('.wpstg-clone[data-clone-id="' + clone + '"]').remove();
|
2531 |
} // No staging site message is also of type/class .wpstg-class but hidden
|
2532 |
// We have just excluded that from search when counting no of clones
|
2533 |
|
assets/js/dist/wpstg-admin.js.map
CHANGED
@@ -1 +1 @@
|
|
1 |
-
{"version":3,"file":"wpstg-admin.js","sources":["../src/modules/wpstg-dom-utils.js","../src/modules/wpstg-clone-staging.js","../src/modules/wpstg-directory-navigation.js","../src/modules/wpstg-exclude-filters.js","../src/modules/wpstg-modal.js","../src/modules/wpstg-hover-intent.js","../src/wpstg.js","../src/modules/wpstg-reset-modal.js","../src/modules/wpstg-cloning-advance-settings.js","../src/modules/wpstg-main-menu.js","../src/wpstg-admin.js"],"sourcesContent":["/**\n * WP STAGING basic jQuery replacement\n */\n\n/**\n * Shortcut for document.querySelector() or jQuery's $()\n * Return single element only\n */\nexport function qs(selector) {\n return document.querySelector(selector);\n}\n\n/**\n * Shortcut for document.querySelector() or jQuery's $()\n * Return collection of elements\n */\nexport function all(selector) {\n return document.querySelectorAll(selector);\n}\n\n/**\n * alternative of jQuery - $(parent).on(event, selector, handler)\n */\nexport function addEvent(parent, evt, selector, handler) {\n parent.addEventListener(evt, function(event) {\n if (event.target.matches(selector + ', ' + selector + ' *')) {\n handler(event.target.closest(selector), event);\n }\n }, false);\n}\n\nexport function slideDown(element, duration = 400) {\n element.style.display = 'block';\n element.style.overflow = 'hidden';\n const height = element.offsetHeight;\n element.style.height = '0px';\n element.style.transitionProperty = 'height';\n element.style.transitionDuration = duration + 'ms';\n setTimeout(() => {\n element.style.height = height + 'px';\n window.setTimeout(() => {\n element.style.removeProperty('height');\n element.style.removeProperty('overflow');\n element.style.removeProperty('transition-duration');\n element.style.removeProperty('transition-property');\n }, duration);\n }, 0);\n}\n\nexport function slideUp(element, duration = 400) {\n element.style.display = 'block';\n element.style.overflow = 'hidden';\n const height = element.offsetHeight;\n element.style.height = height + 'px';\n element.style.transitionProperty = 'height';\n element.style.transitionDuration = duration + 'ms';\n setTimeout(() => {\n element.style.height = '0px';\n window.setTimeout(() => {\n element.style.display = 'none';\n element.style.removeProperty('height');\n element.style.removeProperty('overflow');\n element.style.removeProperty('transition-duration');\n element.style.removeProperty('transition-property');\n }, duration);\n }, 0);\n}\n\nexport function getNextSibling(element, selector) {\n let sibling = element.nextElementSibling;\n\n while (sibling) {\n if (sibling.matches(selector)) {\n return sibling;\n }\n\n sibling = sibling.nextElementSibling;\n }\n};\n\nexport function getParents(element, selector) {\n const result = [];\n for (let parent = element && element.parentElement; parent; parent = parent.parentElement) {\n if (parent.matches(selector)) {\n result.push(parent);\n }\n }\n\n return result;\n}\n\n/**\n * Check if element has class name\n * @param element\n * @param className\n * @return {boolean}\n */\nexport function hasClass(element, className) {\n return (' ' + element.className + ' ').indexOf(' ' + className+ ' ') > -1;\n}\n","import * as dom from './wpstg-dom-utils.js';\n\n/**\n * Enable/Disable cloning for staging site\n */\nexport default class WpstgCloneStaging {\n constructor(\n pageWrapperId = '#wpstg-clonepage-wrapper',\n wpstgObject = wpstg,\n ) {\n this.pageWrapper = dom.qs(pageWrapperId);\n this.wpstgObject = wpstgObject;\n this.enableButtonId = '#wpstg-enable-staging-cloning';\n this.enableAction = 'wpstg_enable_staging_cloning';\n\n this.notyf = new Notyf({\n duration: 10000,\n position: {\n x: 'center',\n y: 'bottom',\n },\n dismissible: true,\n types: [\n {\n type: 'warning',\n background: 'orange',\n icon: false,\n },\n ],\n });\n this.init();\n }\n\n addEvents() {\n if (this.pageWrapper === null) {\n return;\n }\n\n dom.addEvent(this.pageWrapper, 'click', this.enableButtonId, () => {\n this.sendRequest(this.enableAction);\n });\n }\n\n init() {\n this.addEvents();\n }\n\n sendRequest(action) {\n fetch(this.wpstgObject.ajaxUrl, {\n method: 'POST',\n credentials: 'same-origin',\n body: new URLSearchParams({\n action: action,\n accessToken: this.wpstgObject.accessToken,\n nonce: this.wpstgObject.nonce,\n }),\n headers: {\n 'Content-Type': 'application/x-www-form-urlencoded',\n },\n }).then((response) => {\n if (response.ok) {\n return response.json();\n }\n\n return Promise.reject(response);\n }).then((data) => {\n // Reload current page if successful.\n if ('undefined' !== typeof (data.success) && data.success) {\n location.reload();\n return;\n }\n\n // There will be message probably in case of error\n if ('undefined' !== typeof (data.message)) {\n this.notyf.error(data.message);\n return;\n }\n\n this.notyf.error(this.wpstgObject.i18n['somethingWentWrong']);\n }).catch((error) => {\n console.warn(this.wpstgObject.i18n['somethingWentWrong'], error);\n });\n }\n}\n","import * as dom from './wpstg-dom-utils.js';\n\n/**\n * Fetch directory direct child directories\n */\nexport default class WpstgDirectoryNavigation {\n constructor(\n directoryListingSelector = '#wpstg-directories-listing',\n wpstgObject = wpstg,\n notyf = null,\n ) {\n this.directoryListingContainer = dom.qs(directoryListingSelector);\n this.wpstgObject = wpstgObject;\n this.dirCheckboxSelector = '.wpstg-check-dir';\n this.dirExpandSelector = '.wpstg-expand-dirs';\n this.unselectAllDirsSelector = '.wpstg-unselect-dirs';\n this.selectDefaultDirsSelector = '.wpstg-select-dirs-default';\n this.fetchChildrenAction = 'wpstg_fetch_dir_childrens';\n this.currentCheckboxElement = null;\n this.currentParentDiv = null;\n this.currentLoader = null;\n this.existingExcludes = [];\n this.excludedDirectories = [];\n this.isDefaultSelected = false;\n this.notyf = notyf;\n\n this.init();\n }\n\n addEvents() {\n if (this.directoryListingContainer === null) {\n console.log('Error: directory navigation add events');\n return;\n }\n\n dom.addEvent(this.directoryListingContainer, 'click', this.dirExpandSelector, (element, event) => {\n event.preventDefault();\n if (this.toggleDirExpand(element)) {\n this.sendRequest(this.fetchChildrenAction, element);\n }\n });\n\n dom.addEvent(this.directoryListingContainer, 'click', this.unselectAllDirsSelector, () => {\n this.unselectAll();\n });\n\n dom.addEvent(this.directoryListingContainer, 'click', this.selectDefaultDirsSelector, () => {\n this.selectDefault();\n });\n }\n\n init() {\n this.addEvents();\n this.parseExcludes();\n }\n\n /**\n * Toggle Dir Expand,\n * Return true if children aren't fetched\n * @param {HTMLElement} element\n * @return {boolean}\n */\n toggleDirExpand(element) {\n this.currentParentDiv = element.parentElement;\n this.currentCheckboxElement = element.previousSibling;\n this.currentLoader = this.currentParentDiv.querySelector('.wpstg-is-dir-loading');\n if (this.currentCheckboxElement.getAttribute('data-navigateable', 'false') === 'false') {\n return false;\n }\n\n if (this.currentCheckboxElement.getAttribute('data-scanned', 'false') === 'false') {\n return true;\n }\n\n return false;\n }\n\n sendRequest(action) {\n if (this.currentLoader !== null) {\n this.currentLoader.style.display = 'inline-block';\n }\n\n fetch(this.wpstgObject.ajaxUrl, {\n method: 'POST',\n credentials: 'same-origin',\n body: new URLSearchParams({\n action: action,\n accessToken: this.wpstgObject.accessToken,\n nonce: this.wpstgObject.nonce,\n dirPath: this.currentCheckboxElement.value,\n isChecked: this.currentCheckboxElement.checked,\n forceDefault: this.isDefaultSelected,\n }),\n headers: {\n 'Content-Type': 'application/x-www-form-urlencoded',\n },\n }).then((response) => {\n if (response.ok) {\n return response.json();\n }\n\n return Promise.reject(response);\n }).then((data) => {\n if ('undefined' !== typeof (data.success) && data.success) {\n this.currentCheckboxElement.setAttribute('data-scanned', true);\n const dirContainer = document.createElement('div');\n dirContainer.classList.add('wpstg-dir');\n dirContainer.classList.add('wpstg-subdir');\n dirContainer.innerHTML = JSON.parse(data.directoryListing);\n this.currentParentDiv.appendChild(dirContainer);\n if (this.currentLoader !== null) {\n this.currentLoader.style.display = 'none';\n }\n\n dom.slideDown(dirContainer);\n\n return;\n }\n\n if (this.notyf !== null) {\n this.notyf.error(this.wpstgObject.i18n['somethingWentWrong']);\n } else {\n alert('Error: ' + this.wpstgObject.i18n['somethingWentWrong']);\n }\n }).catch((error) => {\n console.warn(this.wpstgObject.i18n['somethingWentWrong'], error);\n });\n }\n\n getExcludedDirectories() {\n this.excludedDirectories = [];\n this.directoryListingContainer.querySelectorAll('.wpstg-dir input:not(:checked)').forEach((element) => {\n if (!this.isParentExcluded(element.value)) {\n this.excludedDirectories.push(element.value);\n }\n });\n\n this.existingExcludes.forEach((exclude) => {\n if (!this.isParentExcluded(exclude) && !this.isExcludeScanned(exclude)) {\n this.excludedDirectories.push(exclude);\n }\n });\n\n return this.excludedDirectories.join(this.wpstgObject.settings.directorySeparator);\n }\n\n /**\n * @param {string} path\n * @return {bool}\n */\n isParentExcluded(path) {\n let isParentAlreadyExcluded = false;\n this.excludedDirectories.forEach((dir) => {\n if (path.startsWith(dir + '/')) {\n isParentAlreadyExcluded = true;\n }\n });\n\n return isParentAlreadyExcluded;\n }\n\n getExtraDirectoriesRootOnly() {\n this.getExcludedDirectories();\n const extraDirectories = [];\n this.directoryListingContainer.querySelectorAll(':not(.wpstg-subdir)>.wpstg-dir>input.wpstg-wp-non-core-dir:checked').forEach((element) => {\n extraDirectories.push(element.value);\n });\n\n // Check if extra directories text area exists\n // TODO: remove extraCustomDirectories code if no one require extraCustomDirectories...\n const extraDirectoriesTextArea = dom.qs('#wpstg_extraDirectories');\n if (extraDirectoriesTextArea === null || extraDirectoriesTextArea.value === '') {\n return extraDirectories.join(this.wpstgObject.settings.directorySeparator);\n }\n\n const extraCustomDirectories = extraDirectoriesTextArea.value.split(/\\r?\\n/);\n\n return extraDirectories.concat(extraCustomDirectories).join(this.wpstgObject.settings.directorySeparator);\n }\n\n unselectAll() {\n this.directoryListingContainer.querySelectorAll('.wpstg-dir input').forEach((element) => {\n element.checked = false;\n });\n }\n\n selectDefault() {\n // unselect all checkboxes\n this.unselectAll();\n\n // only select those checkboxes whose class is wpstg-wp-core-dir\n this.directoryListingContainer.querySelectorAll('.wpstg-dir input.wpstg-wp-core-dir').forEach((element) => {\n element.checked = true;\n });\n\n // then unselect those checkboxes whose parent has wpstg extra checkbox\n this.directoryListingContainer.querySelectorAll('.wpstg-dir > .wpstg-wp-non-core-dir').forEach((element) => {\n element.parentElement.querySelectorAll('input.wpstg-wp-core-dir').forEach((element) => {\n element.checked = false;\n });\n });\n\n this.isDefaultSelected = true;\n }\n\n parseExcludes() {\n this.existingExcludes = this.directoryListingContainer.getAttribute('data-existing-excludes', []);\n if (this.existingExcludes === '') {\n this.existingExcludes = [];\n }\n\n if (this.existingExcludes.length !== 0) {\n this.existingExcludes = this.existingExcludes.split(',');\n }\n }\n\n isExcludeScanned(exclude) {\n this.directoryListingContainer.querySelectorAll('.wpstg-dir input').forEach((element) => {\n if (element.value === exclude) {\n return true;\n }\n });\n\n return false;\n }\n}\n","import * as dom from './wpstg-dom-utils.js';\n\n/**\n * Rich Exclude Filter Module\n */\nexport default class WpstgExcludeFilters {\n constructor(\n excludeFilterContainerSelector = '#wpstg-exclude-filters-container',\n wpstgObject = wpstg,\n ) {\n this.excludeContainer = dom.qs(excludeFilterContainerSelector);\n this.excludeTableBody = dom.qs(`${excludeFilterContainerSelector} tbody`);\n this.wpstgObject = wpstgObject;\n this.init();\n }\n\n addEvents() {\n dom.addEvent(this.excludeContainer, 'click', '.wpstg-file-size-rule', () => {\n this.addFileSizeExclude();\n });\n\n dom.addEvent(this.excludeContainer, 'click', '.wpstg-file-ext-rule', () => {\n this.addFileExtExclude();\n });\n\n dom.addEvent(this.excludeContainer, 'click', '.wpstg-file-name-rule', () => {\n this.addFileNameExclude();\n });\n\n dom.addEvent(this.excludeContainer, 'click', '.wpstg-dir-name-rule', () => {\n this.addDirNameExclude();\n });\n\n dom.addEvent(this.excludeContainer, 'click', '.wpstg-clear-all-rules', () => {\n this.clearExcludes();\n });\n\n dom.addEvent(this.excludeContainer, 'click', '.wpstg-remove-exclude-rule', (target) => {\n this.removeExclude(target);\n });\n }\n\n init() {\n if (this.excludeContainer === null) {\n console.log('Error: Given table selector not found!');\n return;\n }\n\n this.addEvents();\n }\n\n addFileSizeExclude() {\n this.addExcludeRuleRow('#wpstg-file-size-exclude-filter-template');\n }\n\n addFileExtExclude() {\n this.addExcludeRuleRow('#wpstg-file-ext-exclude-filter-template');\n }\n\n addFileNameExclude() {\n this.addExcludeRuleRow('#wpstg-file-name-exclude-filter-template');\n }\n\n addDirNameExclude() {\n this.addExcludeRuleRow('#wpstg-dir-name-exclude-filter-template');\n }\n\n addExcludeRuleRow(templateName) {\n const excludeRowTemplate = dom.qs(templateName);\n if (excludeRowTemplate !== null) {\n const clone = excludeRowTemplate.content.cloneNode(true);\n const excludeRow = clone.querySelector('tr');\n\n this.excludeTableBody.appendChild(excludeRow);\n dom.all('.wpstg-has-exclude-rules').forEach((e) => {\n e.style.display = 'inherit';\n });\n }\n }\n\n clearExcludes() {\n this.excludeTableBody.innerHTML = '';\n dom.all('.wpstg-has-exclude-rules').forEach((e) => {\n e.style.display = 'none';\n });\n }\n\n removeExclude(target) {\n if (target.parentElement !== null && target.parentElement.parentElement !== null) {\n this.excludeTableBody.removeChild(target.parentElement.parentElement);\n }\n\n if (this.excludeTableBody.innerHTML.trim() === '') {\n dom.all('.wpstg-has-exclude-rules').forEach((e) => {\n e.style.display = 'none';\n });\n }\n }\n\n /**\n * Converts all the exclude filters arrays into one single string to keep size of post request small\n * @return {string}\n */\n getExcludeFilters() {\n const globExcludes = [];\n const sizeExcludes = [];\n\n const sizeCompares = this.excludeTableBody.querySelectorAll('select[name=\"wpstgFileSizeExcludeRuleCompare[]\"]');\n const sizeSizes = this.excludeTableBody.querySelectorAll('input[name=\"wpstgFileSizeExcludeRuleSize[]\"]');\n const sizeByte = this.excludeTableBody.querySelectorAll('select[name=\"wpstgFileSizeExcludeRuleByte[]\"]');\n for (const [key, sizeInput] of Object.entries(sizeSizes)) {\n if (sizeInput.value !== '') {\n sizeExcludes.push(sizeCompares[key].value + ' ' + sizeInput.value + sizeByte[key].value);\n }\n }\n\n const extensionInputs = this.excludeTableBody.querySelectorAll('input[name=\"wpstgFileExtExcludeRule[]\"]');\n extensionInputs.forEach((x) => {\n const ext = this.cleanStringForGlob(x.value);\n if (ext !== '') {\n globExcludes.push('ext:' + ext.trim());\n }\n });\n\n const fileNamesPos = this.excludeTableBody.querySelectorAll('select[name=\"wpstgFileNameExcludeRulePos[]\"]');\n const fileNames = this.excludeTableBody.querySelectorAll('input[name=\"wpstgFileNameExcludeRulePath[]\"]');\n for (const [key, fileInput] of Object.entries(fileNames)) {\n const fileName = this.cleanStringForGlob(fileInput.value);\n if (fileName !== '') {\n globExcludes.push('file:' + fileNamesPos[key].value + ' ' + fileName.trim());\n }\n }\n\n const dirNamesPos = this.excludeTableBody.querySelectorAll('select[name=\"wpstgDirNameExcludeRulePos[]\"]');\n const dirNames = this.excludeTableBody.querySelectorAll('input[name=\"wpstgDirNameExcludeRulePath[]\"]');\n for (const [key, dirInput] of Object.entries(dirNames)) {\n const dirName = this.cleanStringForGlob(dirInput.value);\n if (dirName !== '') {\n globExcludes.push('dir:' + dirNamesPos[key].value + ' ' + dirName.trim());\n }\n }\n\n return {\n 'sizes': sizeExcludes.filter(this.onlyUnique).join(','),\n // return set of unique rules\n 'globs': globExcludes.filter(this.onlyUnique).join(','),\n };\n }\n\n onlyUnique(value, index, self) {\n return self.indexOf(value) === index;\n }\n\n /**\n * Remove most of the comment glob characters from the string\n * @param {String} value\n * @return {String}\n */\n cleanStringForGlob(value) {\n // will replace character like * ^ / \\ ! ? [ from the string\n return value.replace(/[*^//!\\.[?]/g, '');\n }\n}\n","/**\n * Basic WP Staging Modal implemented with help of Sweetalerts\n */\nexport default class WpstgModal {\n constructor(\n confirmAction,\n wpstgObject = wpstg,\n ) {\n this.confirmAction = confirmAction;\n this.wpstgObject = wpstgObject;\n }\n\n show(swalOptions, additionalParams = {}, callback = null) {\n wpstgSwal.fire(swalOptions).then((result) => {\n if (result.value && this.error !== null) {\n this.triggerConfirmAction(additionalParams, callback);\n }\n });\n }\n\n triggerConfirmAction(additionalParams = {}, callback = null) {\n fetch(this.wpstgObject.ajaxUrl, {\n method: 'POST',\n credentials: 'same-origin',\n body: new URLSearchParams(Object.assign({\n action: this.confirmAction,\n accessToken: this.wpstgObject.accessToken,\n nonce: this.wpstgObject.nonce,\n }, additionalParams)),\n headers: {\n 'Content-Type': 'application/x-www-form-urlencoded',\n },\n }).then((response) => {\n if (response.ok) {\n return response.json();\n }\n\n return Promise.reject(response);\n }).then((response) => {\n if (callback !== null) {\n callback(response);\n }\n }).catch((error) => {\n console.log(this.wpstgObject.i18n['somethingWentWrong'], error);\n });\n }\n}\n","'use strict';\n\n/**\n * This is a namespaced port of https://github.com/tristen/hoverintent,\n * with slight modification to accept selector with dynamically added element in dom,\n * instead of just already present element.\n *\n * @param {HTMLElement} parent\n * @param {string} selector\n * @param {CallableFunction} onOver\n * @param {CallableFunction} onOut\n *\n * @return {object}\n */\nexport default function(parent, selector, onOver, onOut) {\n let x; let y; let pX; let pY;\n let mouseOver = false;\n let focused = false;\n const h = {};\n let state = 0;\n let timer = 0;\n\n let options = {\n sensitivity: 7,\n interval: 100,\n timeout: 0,\n handleFocus: false,\n };\n\n function delay(el, e) {\n if (timer) {\n timer = clearTimeout(timer);\n }\n\n state = 0;\n return focused ? undefined : onOut(el, e);\n }\n\n function tracker(e) {\n x = e.clientX;\n y = e.clientY;\n }\n\n function compare(el, e) {\n if (timer) timer = clearTimeout(timer);\n if ((Math.abs(pX - x) + Math.abs(pY - y)) < options.sensitivity) {\n state = 1;\n return focused ? undefined : onOver(el, e);\n } else {\n pX = x;\n pY = y;\n timer = setTimeout(function() {\n compare(el, e);\n }, options.interval);\n }\n }\n\n // Public methods\n h.options = function(opt) {\n const focusOptionChanged = opt.handleFocus !== options.handleFocus;\n options = Object.assign({}, options, opt);\n if (focusOptionChanged) {\n options.handleFocus ? addFocus() : removeFocus();\n }\n\n return h;\n };\n\n function dispatchOver(el, e) {\n mouseOver = true;\n if (timer) {\n timer = clearTimeout(timer);\n }\n\n el.removeEventListener('mousemove', tracker, false);\n\n if (state !== 1) {\n pX = e.clientX;\n pY = e.clientY;\n\n el.addEventListener('mousemove', tracker, false);\n\n timer = setTimeout(function() {\n compare(el, e);\n }, options.interval);\n }\n\n return this;\n }\n\n /**\n * Newly added method,\n * A wrapper around dispatchOver to support dynamically added elements to dom\n */\n function onMouseOver(event) {\n if (event.target.matches(selector + ', ' + selector + ' *')) {\n dispatchOver(event.target.closest(selector), event);\n }\n };\n\n function dispatchOut(el, e) {\n mouseOver = false;\n if (timer) {\n timer = clearTimeout(timer);\n }\n\n el.removeEventListener('mousemove', tracker, false);\n\n if (state === 1) {\n timer = setTimeout(function() {\n delay(el, e);\n }, options.timeout);\n }\n\n return this;\n }\n\n /**\n * Newly added method,\n * A wrapper around dispatchOut to support dynamically added elements to dom\n */\n function onMouseOut(event) {\n if (event.target.matches(selector + ', ' + selector + ' *')) {\n dispatchOut(event.target.closest(selector), event);\n }\n };\n\n function dispatchFocus(el, e) {\n if (!mouseOver) {\n focused = true;\n onOver(el, e);\n }\n }\n\n /**\n * Newly added method,\n * A wrapper around dispatchFocus to support dynamically added elements to dom\n */\n function onFocus(event) {\n if (event.target.matches(selector + ', ' + selector + ' *')) {\n dispatchFocus(event.target.closest(selector), event);\n }\n };\n\n function dispatchBlur(el, e) {\n if (!mouseOver && focused) {\n focused = false;\n onOut(el, e);\n }\n }\n\n /**\n * Newly added method,\n * A wrapper around dispatchBlur to support dynamically added elements to dom\n */\n function onBlur(event) {\n if (event.target.matches(selector + ', ' + selector + ' *')) {\n dispatchBlur(event.target.closest(selector), event);\n }\n };\n\n /**\n * Modified to support dynamically added element\n */\n function addFocus() {\n parent.addEventListener('focus', onFocus, false);\n parent.addEventListener('blur', onBlur, false);\n }\n\n /**\n * Modified to support dynamically added element\n */\n function removeFocus() {\n parent.removeEventListener('focus', onFocus, false);\n parent.removeEventListener('blur', onBlur, false);\n }\n\n /**\n * Modified to support dynamically added element\n */\n h.remove = function() {\n if (!parent) {\n return;\n }\n\n parent.removeEventListener('mouseover', onMouseOver, false);\n parent.removeEventListener('mouseout', onMouseOut, false);\n removeFocus();\n };\n\n /**\n * Modified to support dynamically added element\n */\n if (parent) {\n parent.addEventListener('mouseover', onMouseOver, false);\n parent.addEventListener('mouseout', onMouseOut, false);\n }\n\n return h;\n};\n","import wpstgHoverIntent from './modules/wpstg-hover-intent';\n\nexport default (function($) {\n const WPStagingCommon = {\n continueErrorHandle: true,\n cache: {\n elements: [],\n get: function(selector) {\n // It is already cached!\n if ($.inArray(selector, this.elements) !== -1) {\n return this.elements[selector];\n }\n\n // Create cache and return\n this.elements[selector] = $(selector);\n\n return this.elements[selector];\n },\n refresh: function(selector) {\n selector.elements[selector] = $(selector);\n },\n },\n listenTooltip: function() {\n wpstgHoverIntent(document, '.wpstg--tooltip', function(target, event) {\n target.querySelector('.wpstg--tooltiptext').style.visibility = 'visible';\n }, function(target, event) {\n target.querySelector('.wpstg--tooltiptext').style.visibility = 'hidden';\n });\n },\n isEmpty: function(obj) {\n for (const prop in obj) {\n if (obj.hasOwnProperty(prop)) {\n return false;\n }\n }\n\n return true;\n },\n // Get the custom themed Swal Modal for WP Staging\n // Easy to maintain now in one place now\n getSwalModal: function(isContentCentered = false, customClasses = {}) {\n // common style for all swal modal used in WP Staging\n const defaultCustomClasses = {\n confirmButton: 'wpstg--btn--confirm wpstg-blue-primary wpstg-button wpstg-link-btn wpstg-100-width',\n cancelButton: 'wpstg--btn--cancel wpstg-blue-primary wpstg-link-btn wpstg-100-width',\n actions: 'wpstg--modal--actions',\n popup: isContentCentered ? 'wpstg-swal-popup centered-modal' : 'wpstg-swal-popup',\n };\n\n // If a attribute exists in both default and additional attributes,\n // The class(es) of the additional attribute will overrite the default one.\n const options = {\n customClass: Object.assign(defaultCustomClasses, customClasses),\n buttonsStyling: false,\n reverseButtons: true,\n showClass: {\n popup: 'wpstg--swal2-show wpstg-swal-show',\n },\n };\n\n return wpstgSwal.mixin(options);\n },\n showSuccessModal: function(htmlContent) {\n this.getSwalModal().fire({\n showConfirmButton: false,\n showCancelButton: true,\n cancelButtonText: 'OK',\n icon: 'success',\n title: 'Success!',\n html: '<div class=\"wpstg--grey\" style=\"text-align: left; margin-top: 8px;\">' + htmlContent + '</div>',\n });\n },\n showWarningModal: function(htmlContent) {\n this.getSwalModal().fire({\n showConfirmButton: false,\n showCancelButton: true,\n cancelButtonText: 'OK',\n icon: 'warning',\n title: '',\n html: '<div class=\"wpstg--grey\" style=\"text-align: left; margin-top: 8px;\">' + htmlContent + '</div>',\n });\n },\n showErrorModal: function(htmlContent) {\n this.getSwalModal().fire({\n showConfirmButton: false,\n showCancelButton: true,\n cancelButtonText: 'OK',\n icon: 'error',\n title: 'Error!',\n html: '<div class=\"wpstg--grey\" style=\"text-align: left; margin-top: 8px;\">' + htmlContent + '</div>',\n });\n },\n getSwalContainer: function() {\n return wpstgSwal.getContainer();\n },\n closeSwalModal: function() {\n wpstgSwal.close();\n },\n /**\n * Treats a default response object generated by WordPress's\n * wp_send_json_success() or wp_send_json_error() functions in\n * PHP, parses it in JavaScript, and either throws if it's an error,\n * or returns the data if the response is successful.\n *\n * @param {object} response\n * @return {*}\n */\n getDataFromWordPressResponse(response) {\n if (typeof response !== 'object') {\n throw new Error('Unexpected response (ERR 1341)');\n }\n\n if (!response.hasOwnProperty('success')) {\n throw new Error('Unexpected response (ERR 1342)');\n }\n\n if (!response.hasOwnProperty('data')) {\n throw new Error('Unexpected response (ERR 1343)');\n }\n\n if (response.success === false) {\n if (response.data instanceof Array && response.data.length > 0) {\n throw new Error(response.data.shift());\n } else {\n throw new Error('Response was not successful');\n }\n } else {\n // Successful response. Return the data.\n return response.data;\n }\n },\n isLoading: function(isLoading) {\n if (!isLoading || isLoading === false) {\n WPStagingCommon.cache.get('.wpstg-loader').hide();\n } else {\n WPStagingCommon.cache.get('.wpstg-loader').show();\n }\n },\n /**\n * Convert the given url to make it slug compatible\n * @param {string} url\n */\n slugify: function(url) {\n return url.toString()\n .toLowerCase()\n .normalize('NFD')\n .replace(/[\\u0300-\\u036f]/g, '')\n .replace(/\\s+/g, '-')\n .replace(/&/g, '-and-')\n .replace(/[^a-z0-9\\-]/g, '')\n .replace(/-+/g, '-')\n .replace(/^-*/, '')\n .replace(/-*$/, '')\n ;\n },\n showAjaxFatalError: function(response, prependMessage, appendMessage) {\n prependMessage = prependMessage ? prependMessage + '<br/><br/>' : 'Something went wrong! <br/><br/>';\n appendMessage = appendMessage ? appendMessage + '<br/><br/>' : '<br/><br/>Please try the <a href=\\'https://wp-staging.com/docs/wp-staging-settings-for-small-servers/\\' target=\\'_blank\\'>WP Staging Small Server Settings</a> or submit an error report and contact us.';\n\n if (response === false) {\n WPStagingCommon.showError(prependMessage + ' Error: No response.' + appendMessage);\n window.removeEventListener('beforeunload', WPStaging.warnIfClosingDuringProcess);\n return;\n }\n\n if (typeof response.error !== 'undefined' && response.error) {\n WPStagingCommon.showError(prependMessage + ' Error: ' + response.message + appendMessage);\n window.removeEventListener('beforeunload', WPStaging.warnIfClosingDuringProcess);\n return;\n }\n },\n handleFetchErrors: function(response) {\n if (!response.ok) {\n WPStagingCommon.showError('Error: ' + response.status + ' - ' + response.statusText + '. Please try again or contact support.');\n }\n return response;\n },\n showError: function(message) {\n WPStagingCommon.cache.get('#wpstg-try-again').css('display', 'inline-block');\n WPStagingCommon.cache.get('#wpstg-cancel-cloning').text('Reset');\n WPStagingCommon.cache.get('#wpstg-resume-cloning').show();\n WPStagingCommon.cache.get('#wpstg-error-wrapper').show();\n WPStagingCommon.cache.get('#wpstg-error-details').show().html(message);\n WPStagingCommon.cache.get('#wpstg-removing-clone').removeClass('loading');\n WPStagingCommon.cache.get('.wpstg-loader').hide();\n $('.wpstg--modal--process--generic-problem').show().html(message);\n },\n resetErrors: function() {\n WPStagingCommon.cache.get('#wpstg-error-details').hide().html('');\n },\n /**\n * Ajax Requests\n * @param {Object} data\n * @param {Function} callback\n * @param {string} dataType\n * @param {bool} showErrors\n * @param {int} tryCount\n * @param {float} incrementRatio\n * @param errorCallback\n */\n ajax: function(data, callback, dataType, showErrors, tryCount, incrementRatio = null, errorCallback = null) {\n if ('undefined' === typeof (dataType)) {\n dataType = 'json';\n }\n\n if (false !== showErrors) {\n showErrors = true;\n }\n\n tryCount = 'undefined' === typeof (tryCount) ? 0 : tryCount;\n\n const retryLimit = 10;\n\n let retryTimeout = 10000 * tryCount;\n\n incrementRatio = parseInt(incrementRatio);\n if (!isNaN(incrementRatio)) {\n retryTimeout *= incrementRatio;\n }\n\n $.ajax({\n url: ajaxurl + '?action=wpstg_processing&_=' + (Date.now() / 1000),\n type: 'POST',\n dataType: dataType,\n cache: false,\n data: data,\n error: function(xhr, textStatus, errorThrown) {\n console.log(xhr.status + ' ' + xhr.statusText + '---' + textStatus);\n\n if (typeof (errorCallback) === 'function') {\n // Custom error handler\n errorCallback(xhr, textStatus, errorThrown);\n\n if (!WPStagingCommon.continueErrorHandle) {\n // Reset state\n WPStagingCommon.continueErrorHandle = true;\n\n return;\n }\n }\n\n // Default error handler\n tryCount++;\n if (tryCount <= retryLimit) {\n setTimeout(function() {\n WPStagingCommon.ajax(data, callback, dataType, showErrors, tryCount, incrementRatio);\n return;\n }, retryTimeout);\n } else {\n const errorCode = 'undefined' === typeof (xhr.status) ? 'Unknown' : xhr.status;\n WPStagingCommon.showError(\n 'Fatal Error: ' + errorCode + ' Please try the <a href=\\'https://wp-staging.com/docs/wp-staging-settings-for-small-servers/\\' target=\\'_blank\\'>WP Staging Small Server Settings</a> or submit an error report and contact us.',\n );\n }\n },\n success: function(data) {\n if ('function' === typeof (callback)) {\n callback(data);\n }\n },\n statusCode: {\n 404: function() {\n if (tryCount >= retryLimit) {\n WPStagingCommon.showError('Error 404 - Can\\'t find ajax request URL! Please try the <a href=\\'https://wp-staging.com/docs/wp-staging-settings-for-small-servers/\\' target=\\'_blank\\'>WP Staging Small Server Settings</a> or submit an error report and contact us.');\n }\n },\n 500: function() {\n if (tryCount >= retryLimit) {\n WPStagingCommon.showError('Fatal Error 500 - Internal server error while processing the request! Please try the <a href=\\'https://wp-staging.com/docs/wp-staging-settings-for-small-servers/\\' target=\\'_blank\\'>WP Staging Small Server Settings</a> or submit an error report and contact us.');\n }\n },\n 504: function() {\n if (tryCount > retryLimit) {\n WPStagingCommon.showError('Error 504 - It looks like your server is rate limiting ajax requests. Please try to resume after a minute. If this still not works try the <a href=\\'https://wp-staging.com/docs/wp-staging-settings-for-small-servers/\\' target=\\'_blank\\'>WP Staging Small Server Settings</a> or submit an error report and contact us.\\n\\ ');\n }\n },\n 502: function() {\n if (tryCount >= retryLimit) {\n WPStagingCommon.showError('Error 502 - It looks like your server is rate limiting ajax requests. Please try to resume after a minute. If this still not works try the <a href=\\'https://wp-staging.com/docs/wp-staging-settings-for-small-servers/\\' target=\\'_blank\\'>WP Staging Small Server Settings</a> or submit an error report and contact us.\\n\\ ');\n }\n },\n 503: function() {\n if (tryCount >= retryLimit) {\n WPStagingCommon.showError('Error 503 - It looks like your server is rate limiting ajax requests. Please try to resume after a minute. If this still not works try the <a href=\\'https://wp-staging.com/docs/wp-staging-settings-for-small-servers/\\' target=\\'_blank\\'>WP Staging Small Server Settings</a> or submit an error report and contact us.\\n\\ ');\n }\n },\n 429: function() {\n if (tryCount >= retryLimit) {\n WPStagingCommon.showError('Error 429 - It looks like your server is rate limiting ajax requests. Please try to resume after a minute. If this still not works try the <a href=\\'https://wp-staging.com/docs/wp-staging-settings-for-small-servers/\\' target=\\'_blank\\'>WP Staging Small Server Settings</a> or submit an error report and contact us.\\n\\ ');\n }\n },\n 403: function() {\n if (tryCount >= retryLimit) {\n WPStagingCommon.showError('Refresh page or login again! The process should be finished successfully. \\n\\ ');\n }\n },\n },\n });\n },\n };\n\n return WPStagingCommon;\n})(jQuery);\n","\nimport * as dom from './wpstg-dom-utils.js';\nimport WpstgDirectoryNavigation from './wpstg-directory-navigation.js';\nimport WpstgExcludeFilters from './wpstg-exclude-filters.js';\nimport WpstgModal from './wpstg-modal.js';\nimport WPStagingCommon from './../wpstg.js';\n\n/**\n * Manage RESET MODAL\n */\nexport default class WpstgResetModal {\n constructor(\n cloneID,\n workflowSelector = '#wpstg-workflow',\n fetchExcludeSettingsAction = 'wpstg_clone_excludes_settings',\n modalErrorAction = 'wpstg_modal_error',\n wpstgObject = wpstg,\n ) {\n this.cloneID = cloneID;\n this.workflow = dom.qs(workflowSelector);\n this.wpstgObject = wpstgObject;\n this.fetchExcludeSettingsAction = fetchExcludeSettingsAction;\n this.modalErrorAction = modalErrorAction;\n this.resetButtonClass = 'wpstg-confirm-reset-clone';\n this.resetModalContainerClass = 'wpstg-reset-confirmation';\n this.resetTabSelector = '.wpstg-reset-exclude-tab';\n this.directoryNavigator = null;\n this.excludeFilters = null;\n this.isAllTablesChecked = true;\n }\n\n addEvents() {\n const resetModalContainer = dom.qs('.' + this.resetModalContainerClass);\n if (resetModalContainer === null) {\n console.log('Exit');\n return;\n }\n\n dom.addEvent(resetModalContainer, 'click', this.resetTabSelector, (target) => {\n this.toggleContent(target);\n });\n\n dom.addEvent(resetModalContainer, 'click', '.wpstg-button-select', () => {\n this.selectDefaultTables();\n });\n\n dom.addEvent(resetModalContainer, 'click', '.wpstg-button-unselect', () => {\n this.toggleTableSelection();\n });\n\n dom.addEvent(resetModalContainer, 'click', '.wpstg-expand-dirs', (target, event) => {\n event.preventDefault();\n this.toggleDirectoryNavigation(target);\n });\n\n dom.addEvent(resetModalContainer, 'change', 'input.wpstg-check-dir', (target) => {\n this.updateDirectorySelection(target);\n });\n }\n\n init() {\n this.addEvents();\n }\n\n toggleContent(target) {\n const resetModalContainer = dom.qs('.' + this.resetModalContainerClass);\n const contentId = target.getAttribute('data-id');\n const tabTriangle = target.querySelector('.wpstg-tab-triangle');\n const isCollapsed = target.getAttribute('data-collapsed', 'true');\n const content = dom.qs(contentId);\n if (isCollapsed === 'true') {\n if (resetModalContainer.classList.contains('has-collapsible-open')) {\n resetModalContainer.classList.add('has-collapsible-open-2');\n } else {\n resetModalContainer.classList.add('has-collapsible-open');\n }\n\n dom.slideDown(content);\n tabTriangle.style.transform = 'rotate(90deg)';\n target.setAttribute('data-collapsed', 'false');\n } else {\n if (resetModalContainer.classList.contains('has-collapsible-open-2')) {\n resetModalContainer.classList.remove('has-collapsible-open-2');\n } else {\n resetModalContainer.classList.remove('has-collapsible-open');\n }\n\n dom.slideUp(content);\n tabTriangle.style.removeProperty('transform');\n target.setAttribute('data-collapsed', 'true');\n }\n }\n\n /**\n * Show Swal alert with loader and send ajax request to fetch content of alert.\n * @return Promise\n */\n showModal() {\n const swalPromise = this.loadModal();\n this.init();\n this.fetchCloneExcludes();\n return swalPromise;\n }\n\n loadModal() {\n return WPStagingCommon.getSwalModal(false, {\n confirmButton: this.resetButtonClass + ' wpstg-confirm-reset-clone wpstg--btn--confirm wpstg-blue-primary wpstg-button wpstg-link-btn',\n container: this.resetModalContainerClass + ' wpstg-swal2-container wpstg-swal2-loading',\n }).fire({\n title: '',\n icon: 'warning',\n html: this.getAjaxLoader(),\n width: '400px',\n focusConfirm: false,\n confirmButtonText: this.wpstgObject.i18n.resetClone,\n showCancelButton: true,\n });\n }\n\n fetchCloneExcludes() {\n this.error = null;\n // send ajax request and fetch preserved exclude settings\n fetch(this.wpstgObject.ajaxUrl, {\n method: 'POST',\n credentials: 'same-origin',\n body: new URLSearchParams({\n action: this.fetchExcludeSettingsAction,\n accessToken: this.wpstgObject.accessToken,\n nonce: this.wpstgObject.nonce,\n clone: this.cloneID,\n job: 'resetting',\n }),\n headers: {\n 'Content-Type': 'application/x-www-form-urlencoded',\n },\n }).then((response) => {\n if (response.ok) {\n return response.json();\n }\n\n return Promise.reject(response);\n }).then((data) => {\n if (!data.success) {\n const errorModal = new WpstgModal(this.modalErrorAction, this.wpstgObject);\n errorModal.show(Object.assign({\n title: 'Error',\n icon: 'error',\n html: this.wpstgObject.i18n['somethingWentWrong'],\n width: '500px',\n confirmButtonText: 'Ok',\n showCancelButton: false,\n customClass: {\n confirmButton: 'wpstg--btn--confirm wpstg-blue-primary wpstg-button wpstg-link-btn',\n cancelButton: 'wpstg--btn--cancel wpstg-blue-primary wpstg-link-btn',\n actions: 'wpstg--modal--actions',\n popup: 'wpstg-swal-popup centered-modal',\n },\n buttonsStyling: false,\n reverseButtons: true,\n }, data.swalOptions), {\n type: data.type,\n });\n\n return;\n }\n\n const modal = dom.qs('.wpstg-reset-confirmation');\n modal.classList.remove('wpstg-swal2-loading');\n modal.querySelector('.wpstg--swal2-popup').style.width = '500px';\n modal.querySelector('.wpstg--swal2-content').innerHTML = data.html;\n this.directoryNavigator = new WpstgDirectoryNavigation();\n this.excludeFilters = new WpstgExcludeFilters();\n }).catch((error) => {\n this.renderError({\n 'html': this.wpstgObject.i18n['somethingWentWrong'] + ' ' + error,\n });\n });\n }\n\n getDirectoryNavigator() {\n return this.directoryNavigator;\n }\n\n getExcludeFilters() {\n return this.excludeFilters;\n }\n\n getAjaxLoader() {\n return '<div class=\"wpstg-swal2-ajax-loader\"><img src=\"' + this.wpstgObject.wpstgIcon + '\" /></div>';\n }\n\n toggleDirectoryNavigation(element) {\n const cbElement = element.previousSibling;\n if (cbElement.getAttribute('data-navigateable', 'false') === 'false') {\n return;\n }\n\n if (cbElement.getAttribute('data-scanned', 'false') === 'false') {\n return;\n }\n\n const subDirectories = dom.getNextSibling(element, '.wpstg-subdir');\n\n if (subDirectories.style.display === 'none') {\n dom.slideDown(subDirectories);\n } else {\n dom.slideUp(subDirectories);\n }\n }\n\n updateDirectorySelection(element) {\n const parent = element.parentElement;\n if (element.checked) {\n dom.getParents(parent, '.wpstg-dir').forEach((parElem) => {\n for (let i = 0; i < parElem.children.length; i++) {\n if (parElem.children[i].matches('.wpstg-check-dir')) {\n parElem.children[i].checked = true;\n }\n }\n });\n parent.querySelectorAll('.wpstg-expand-dirs').forEach((x) => {\n x.classList.remove('disabled');\n });\n parent.querySelectorAll('.wpstg-subdir .wpstg-check-dir').forEach((x) => {\n x.checked = true;\n });\n } else {\n parent.querySelectorAll('.wpstg-expand-dirs, .wpstg-check-subdirs').forEach((x) => {\n x.classList.add('disabled');\n });\n parent.querySelectorAll('.wpstg-dir .wpstg-check-dir').forEach((x) => {\n x.checked = false;\n });\n }\n }\n\n selectDefaultTables() {\n const resetModalContainer = dom.qs('.' + this.resetModalContainerClass);\n const options = resetModalContainer.querySelectorAll('#wpstg_select_tables_cloning .wpstg-db-table');\n const multisitePattern = '^' + this.wpstgObject.tblprefix + '([^0-9])_*';\n const singleSitePattern = '^' + this.wpstgObject.tblprefix;\n options.forEach((option) => {\n const name = option.getAttribute('name', '');\n if (this.wpstgObject.isMultisite === '1' && name.match(multisitePattern)) {\n option.setAttribute('selected', 'selected');\n } else if (this.wpstgObject.isMultisite === '' && name.match(singleSitePattern)) {\n option.setAttribute('selected', 'selected');\n } else {\n option.removeAttribute('selected');\n }\n });\n }\n\n toggleTableSelection() {\n const resetModalContainer = dom.qs('.' + this.resetModalContainerClass);\n if (false === this.isAllTablesChecked) {\n resetModalContainer.querySelectorAll('#wpstg_select_tables_cloning .wpstg-db-table').forEach((option) => {\n option.setAttribute('selected', 'selected');\n });\n resetModalContainer.querySelector('.wpstg-button-unselect').innerHTML = 'Unselect All';\n // cache.get('.wpstg-db-table-checkboxes').prop('checked', true);\n this.isAllTablesChecked = true;\n } else {\n resetModalContainer.querySelectorAll('#wpstg_select_tables_cloning .wpstg-db-table').forEach((option) => {\n option.removeAttribute('selected');\n });\n resetModalContainer.querySelector('.wpstg-button-unselect').innerHTML = 'Select All';\n // cache.get('.wpstg-db-table-checkboxes').prop('checked', false);\n this.isAllTablesChecked = false;\n }\n }\n}\n","import * as dom from './wpstg-dom-utils.js';\n\n/**\n * Handle toggle of advance settings checkboxes\n */\nexport default class WpstgCloningAdvanceSettings {\n constructor(\n baseContainerSelector = '#wpstg-clonepage-wrapper',\n ) {\n this.baseContainer = dom.qs(baseContainerSelector);\n this.checkBoxSettingTogglerSelector = '.wpstg-toggle-advance-settings-section';\n this.init();\n }\n\n /**\n * Add events\n * @return {void}\n */\n addEvents() {\n if (this.baseContainer === null) {\n return;\n }\n\n dom.addEvent(this.baseContainer, 'change', this.checkBoxSettingTogglerSelector, (element) => {\n this.toggleSettings(element);\n });\n }\n\n /**\n * @return {void}\n */\n init() {\n this.addEvents();\n }\n\n /**\n * Expand/Collapse checkbox content on change\n * @return {void}\n */\n toggleSettings(element) {\n const target = dom.qs('#' + element.getAttribute('data-id'));\n if (element.checked) {\n dom.slideDown(target);\n } else {\n dom.slideUp(target);\n }\n }\n}\n","import * as dom from './wpstg-dom-utils.js';\n\nexport default class WpstgMainMenu {\n constructor() {\n this.activeTabClass = 'wpstg--tab--active';\n this.mainMenu();\n }\n\n mainMenu() {\n const tabHeader = dom.qs('.wpstg--tab--header');\n // Early bail if tab header is not available\n if (tabHeader === null) {\n return;\n }\n\n dom.addEvent(dom.qs('.wpstg--tab--header'), 'click', '.wpstg-button', (element) => {\n const $this = element;\n const target = $this.getAttribute('data-target');\n const targetElements = dom.all(target);\n const menuItems = dom.all('.wpstg--tab--header a[data-target]');\n const contents = dom.all('.wpstg--tab--contents > .wpstg--tab--content');\n\n contents.forEach((content) => {\n // active tab class is without the css dot class prefix\n if (content.matches('.' + this.activeTabClass + ':not(' + target + ')')) {\n content.classList.remove(this.activeTabClass);\n }\n });\n\n menuItems.forEach((menuItem) => {\n if (menuItem !== $this) {\n menuItem.classList.remove(this.activeTabClass);\n }\n });\n\n $this.classList.add(this.activeTabClass);\n\n targetElements.forEach((targetElement) => {\n targetElement.classList.add(this.activeTabClass);\n });\n\n if ('#wpstg--tab--backup' === target) {\n window.dispatchEvent(new Event('backups-tab'));\n }\n });\n };\n}\n","import WpstgCloneStaging from './modules/wpstg-clone-staging.js';\nimport WpstgDirectoryNavigation from './modules/wpstg-directory-navigation.js';\nimport WpstgExcludeFilters from './modules/wpstg-exclude-filters.js';\nimport WpstgResetModal from './modules/wpstg-reset-modal.js';\nimport WpstgModal from './modules/wpstg-modal.js';\nimport WpstgCloningAdvanceSettings from './modules/wpstg-cloning-advance-settings.js';\nimport WpstgMainMenu from './modules/wpstg-main-menu.js';\nimport WPStagingCommon from './wpstg.js';\n\nvar WPStaging = (function($) {\n const that = {\n isCancelled: false,\n isFinished: false,\n getLogs: false,\n time: 1,\n executionTime: false,\n progressBar: 0,\n cloneExcludeFilters: null,\n directoryNavigator: null,\n notyf: null,\n };\n const cache = {elements: []};\n let timeout; let ajaxSpinner;\n\n /**\n * Get / Set Cache for Selector\n * @param {String} selector\n * @return {*}\n */\n cache.get = function(selector) {\n // It is already cached!\n if ($.inArray(selector, cache.elements) !== -1) {\n return cache.elements[selector];\n }\n\n // Create cache and return\n cache.elements[selector] = jQuery(selector);\n\n return cache.elements[selector];\n };\n\n /**\n * Refreshes given cache\n * @param {String} selector\n */\n cache.refresh = function(selector) {\n selector.elements[selector] = jQuery(selector);\n };\n\n /**\n * Show and Log Error Message\n * @param {String} message\n */\n const showError = function(message) {\n cache.get('#wpstg-try-again').css('display', 'inline-block');\n cache.get('#wpstg-cancel-cloning').text('Reset');\n cache.get('#wpstg-resume-cloning').show();\n cache.get('#wpstg-error-wrapper').show();\n cache.get('#wpstg-error-details').show().html(message);\n cache.get('#wpstg-removing-clone').removeClass('loading');\n cache.get('.wpstg-loader').hide();\n $('.wpstg--modal--process--generic-problem').show().html(message);\n };\n\n /**\n * Show warning during cloning or push process when closing tab or browser, or changing page\n * @param {beforeunload} event\n * @return {null}\n */\n that.warnIfClosingDuringProcess = function(event) {\n // Only some browsers show the message below, most say something like \"Changes you made may not be saved\" (Chrome) or \"You have unsaved changes. Exit?\"\n event.returnValue = 'You MUST leave this window open while cloning/pushing. Please wait...';\n return null;\n };\n\n /**\n *\n * @param response the error object\n * @param prependMessage Overwrite default error message at beginning\n * @param appendMessage Overwrite default error message at end\n * @returns void\n */\n\n const showAjaxFatalError = function(response, prependMessage, appendMessage) {\n prependMessage = prependMessage ? prependMessage + '<br/><br/>' : 'Something went wrong! <br/><br/>';\n appendMessage = appendMessage ? appendMessage + '<br/><br/>' : '<br/><br/>Please try the <a href=\\'https://wp-staging.com/docs/wp-staging-settings-for-small-servers/\\' target=\\'_blank\\'>WP Staging Small Server Settings</a> or submit an error report and contact us.';\n\n if (response === false) {\n showError(prependMessage + ' Error: No response.' + appendMessage);\n window.removeEventListener('beforeunload', WPStaging.warnIfClosingDuringProcess);\n return;\n }\n\n if (typeof response.error !== 'undefined' && response.error) {\n console.error(response.message);\n showError(prependMessage + ' Error: ' + response.message + appendMessage);\n window.removeEventListener('beforeunload', WPStaging.warnIfClosingDuringProcess);\n return;\n }\n };\n\n /**\n *\n * @param response\n * @return {{ok}|*}\n */\n const handleFetchErrors = function(response) {\n if (!response.ok) {\n showError('Error: ' + response.status + ' - ' + response.statusText + '. Please try again or contact support.');\n }\n return response;\n };\n\n /** Hide and reset previous thrown visible errors */\n const resetErrors = function() {\n cache.get('#wpstg-error-details').hide().html('');\n };\n\n /**\n * Common Elements\n */\n const elements = function() {\n const $workFlow = cache.get('#wpstg-workflow');\n let isAllChecked = true;\n let urlSpinner = ajaxurl.replace('/admin-ajax.php', '') + '/images/spinner';\n let timer;\n\n if (2 < window.devicePixelRatio) {\n urlSpinner += '-2x';\n }\n\n urlSpinner += '.gif';\n\n ajaxSpinner = '<img src=\\'\\'' + urlSpinner + '\\' alt=\\'\\' class=\\'ajax-spinner general-spinner\\' />';\n\n const getBaseValues = function() {\n const path = $('#wpstg-use-target-dir').data('base-path');\n const uri = $('#wpstg-use-target-hostname').data('base-uri');\n return {\n path,\n };\n };\n\n $workFlow\n // Check / Un-check All Database Tables New\n .on('click', '.wpstg-button-unselect', function(e) {\n e.preventDefault();\n\n if (false === isAllChecked) {\n cache.get('#wpstg_select_tables_cloning .wpstg-db-table').prop('selected', 'selected');\n cache.get('.wpstg-button-unselect').text('Unselect All');\n cache.get('.wpstg-db-table-checkboxes').prop('checked', true);\n isAllChecked = true;\n } else {\n cache.get('#wpstg_select_tables_cloning .wpstg-db-table').prop('selected', false);\n cache.get('.wpstg-button-unselect').text('Select All');\n cache.get('.wpstg-db-table-checkboxes').prop('checked', false);\n isAllChecked = false;\n }\n })\n\n /**\n * Select tables with certain tbl prefix | NEW\n * @param obj e\n * @returns {undefined}\n */\n .on('click', '.wpstg-button-select', function(e) {\n e.preventDefault();\n $('#wpstg_select_tables_cloning .wpstg-db-table').each(function() {\n if (wpstg.isMultisite == 1) {\n if ($(this).attr('name').match('^' + wpstg.tblprefix + '([^0-9])_*')) {\n $(this).prop('selected', 'selected');\n } else {\n $(this).prop('selected', false);\n }\n }\n\n if (wpstg.isMultisite == 0) {\n if ($(this).attr('name').match('^' + wpstg.tblprefix)) {\n $(this).prop('selected', 'selected');\n } else {\n $(this).prop('selected', false);\n }\n }\n });\n })\n // Expand Directories\n .on('click', '.wpstg-expand-dirs', function(e) {\n e.preventDefault();\n\n const $this = $(this);\n\n $this.siblings('.wpstg-subdir').slideToggle();\n })\n // When a directory checkbox is Selected\n .on('change', 'input.wpstg-check-dir', function() {\n const $directory = $(this).parent('.wpstg-dir');\n\n if (this.checked) {\n $directory.parents('.wpstg-dir').children('.wpstg-check-dir').prop('checked', true);\n $directory.find('.wpstg-expand-dirs').removeClass('disabled');\n $directory.find('.wpstg-subdir .wpstg-check-dir').prop('checked', true);\n } else {\n $directory.find('.wpstg-dir .wpstg-check-dir').prop('checked', false);\n $directory.find('.wpstg-expand-dirs, .wpstg-check-subdirs').addClass('disabled');\n $directory.find('.wpstg-check-subdirs').data('action', 'check').text('check');\n }\n })\n // When a directory name is Selected\n .on('change', 'href.wpstg-check-dir', function() {\n const $directory = $(this).parent('.wpstg-dir');\n\n if (this.checked) {\n $directory.parents('.wpstg-dir').children('.wpstg-check-dir').prop('checked', true);\n $directory.find('.wpstg-expand-dirs').removeClass('disabled');\n $directory.find('.wpstg-subdir .wpstg-check-dir').prop('checked', true);\n } else {\n $directory.find('.wpstg-dir .wpstg-check-dir').prop('checked', false);\n $directory.find('.wpstg-expand-dirs, .wpstg-check-subdirs').addClass('disabled');\n $directory.find('.wpstg-check-subdirs').data('action', 'check').text('check');\n }\n })\n // Check the max length of the clone name and if the clone name already exists\n .on('keyup', '#wpstg-new-clone-id', function() {\n // Hide previous errors\n document.getElementById('wpstg-error-details').style.display = 'none';\n\n // This request was already sent, clear it up!\n if ('number' === typeof (timer)) {\n clearInterval(timer);\n }\n\n // Early bail if site name is empty\n if (this.value === undefined || this.value === '') {\n cache.get('#wpstg-new-clone-id').removeClass('wpstg-error-input');\n cache.get('#wpstg-start-cloning').removeAttr('disabled');\n cache.get('#wpstg-clone-id-error').text('').hide();\n return;\n }\n\n // Convert the site name to directory name (slugify the site name to create directory name)\n const cloneDirectoryName = WPStagingCommon.slugify(this.value);\n\n timer = setTimeout(\n function() {\n ajax(\n {\n action: 'wpstg_check_clone',\n accessToken: wpstg.accessToken,\n nonce: wpstg.nonce,\n directoryName: cloneDirectoryName,\n },\n function(response) {\n if (response.status === 'success') {\n cache.get('#wpstg-new-clone-id').removeClass('wpstg-error-input');\n cache.get('#wpstg-start-cloning').removeAttr('disabled');\n cache.get('#wpstg-clone-id-error').text('').hide();\n } else {\n cache.get('#wpstg-new-clone-id').addClass('wpstg-error-input');\n cache.get('#wpstg-start-cloning').prop('disabled', true);\n cache.get('#wpstg-clone-id-error').text(response.message).show();\n }\n },\n );\n },\n 500,\n );\n })\n // Restart cloning process\n .on('click', '#wpstg-start-cloning', function() {\n resetErrors();\n that.isCancelled = false;\n that.getLogs = false;\n that.progressBar = 0;\n })\n .on('input', '#wpstg-new-clone-id', function() {\n if ($('#wpstg-clone-directory').length < 1) {\n return;\n }\n\n const slug = WPStagingCommon.slugify(this.value);\n const $targetDir = $('#wpstg-use-target-dir');\n const $targetUri = $('#wpstg-use-target-hostname');\n let path = $targetDir.data('base-path');\n let uri = $targetUri.data('base-uri');\n\n if (path) {\n path = path.replace(/\\/+$/g, '') + '/' + slug + '/';\n }\n\n if (uri) {\n uri = uri.replace(/\\/+$/g, '') + '/' + slug;\n }\n\n\n $('.wpstg-use-target-dir--value').text(path);\n $('.wpstg-use-target-hostname--value').text(uri);\n\n $targetDir.attr('data-path', path);\n $targetUri.attr('data-uri', uri);\n $('#wpstg_clone_dir').attr('placeholder', path);\n $('#wpstg_clone_hostname').attr('placeholder', uri);\n })\n .on('input', '#wpstg_clone_hostname', function() {\n if ($(this).val() === '' || validateTargetHost()) {\n $('#wpstg_clone_hostname_error').remove();\n return;\n }\n if (!validateTargetHost() && !$('#wpstg_clone_hostname_error').length) {\n $('#wpstg-clone-directory tr:last-of-type').after('<tr><td> </td><td><p id=\"wpstg_clone_hostname_error\" style=\"color: red;\"> Invalid host name. Please provide it in a format like http://example.com</p></td></tr>');\n }\n })\n ;\n\n cloneActions();\n };\n\n /* @returns {boolean} */\n var validateTargetHost = function() {\n const the_domain = $('#wpstg_clone_hostname').val();\n\n if (the_domain === '') {\n return true;\n }\n\n const reg = /^http(s)?:\\/\\/.*$/;\n if (reg.test(the_domain) === false) {\n return false;\n }\n return true;\n };\n\n /**\n * Clone actions\n */\n var cloneActions = function() {\n const $workFlow = cache.get('#wpstg-workflow');\n\n $workFlow\n // Cancel cloning\n .on('click', '#wpstg-cancel-cloning', function() {\n if (!confirm('Are you sure you want to cancel cloning process?')) {\n return false;\n }\n\n const $this = $(this);\n\n $('#wpstg-try-again, #wpstg-home-link').hide();\n $this.prop('disabled', true);\n\n that.isCancelled = true;\n that.progressBar = 0;\n\n $('#wpstg-processing-status').text('Please wait...this can take up a while.');\n $('.wpstg-loader, #wpstg-show-log-button').hide();\n\n $this.parent().append(ajaxSpinner);\n\n cancelCloning();\n })\n // Resume cloning\n .on('click', '#wpstg-resume-cloning', function() {\n resetErrors();\n const $this = $(this);\n\n $('#wpstg-try-again, #wpstg-home-link').hide();\n\n that.isCancelled = false;\n\n $('#wpstg-processing-status').text('Try to resume cloning process...');\n $('#wpstg-error-details').hide();\n $('.wpstg-loader').show();\n\n $this.parent().append(ajaxSpinner);\n\n that.startCloning();\n })\n // Cancel update cloning\n .on('click', '#wpstg-cancel-cloning-update', function() {\n resetErrors();\n\n const $this = $(this);\n\n $('#wpstg-try-again, #wpstg-home-link').hide();\n $this.prop('disabled', true);\n\n that.isCancelled = true;\n\n $('#wpstg-cloning-result').text('Please wait...this can take up a while.');\n $('.wpstg-loader, #wpstg-show-log-button').hide();\n\n $this.parent().append(ajaxSpinner);\n\n cancelCloningUpdate();\n })\n // Restart cloning\n .on('click', '#wpstg-restart-cloning', function() {\n resetErrors();\n\n const $this = $(this);\n\n $('#wpstg-try-again, #wpstg-home-link').hide();\n $this.prop('disabled', true);\n\n that.isCancelled = true;\n\n $('#wpstg-cloning-result').text('Please wait...this can take up a while.');\n $('.wpstg-loader, #wpstg-show-log-button').hide();\n\n $this.parent().append(ajaxSpinner);\n\n restart();\n })\n // Delete clone - confirmation\n .on('click', '.wpstg-remove-clone[data-clone]', function(e) {\n resetErrors();\n e.preventDefault();\n\n const $existingClones = cache.get('#wpstg-existing-clones');\n\n $workFlow.removeClass('active');\n\n cache.get('.wpstg-loader').show();\n\n ajax(\n {\n action: 'wpstg_confirm_delete_clone',\n accessToken: wpstg.accessToken,\n nonce: wpstg.nonce,\n clone: $(this).data('clone'),\n },\n function(response) {\n cache.get('#wpstg-removing-clone').html(response);\n\n $existingClones.children('img').remove();\n\n cache.get('.wpstg-loader').hide();\n\n $('html, body').animate({\n // This logic is meant to be a \"scrollBottom\"\n scrollTop: $('#wpstg-remove-clone').offset().top - $(window).height() +\n $('#wpstg-remove-clone').height() + 50,\n }, 100);\n },\n 'HTML',\n );\n })\n // Delete clone - confirmed\n .on('click', '#wpstg-remove-clone', function(e) {\n resetErrors();\n e.preventDefault();\n\n cache.get('#wpstg-removing-clone').addClass('loading');\n\n cache.get('.wpstg-loader').show();\n\n deleteClone($(this).data('clone'));\n })\n // Cancel deleting clone\n .on('click', '#wpstg-cancel-removing', function(e) {\n e.preventDefault();\n $('.wpstg-clone').removeClass('active');\n cache.get('#wpstg-removing-clone').html('');\n })\n // Update\n .on('click', '.wpstg-execute-clone', function(e) {\n e.preventDefault();\n\n const clone = $(this).data('clone');\n\n $workFlow.addClass('loading');\n that.cloneExcludeFilters = null;\n ajax(\n {\n action: 'wpstg_scanning',\n clone: clone,\n accessToken: wpstg.accessToken,\n nonce: wpstg.nonce,\n },\n function(response) {\n if (response.length < 1) {\n showError(\n 'Something went wrong! Error: No response. Please try the <a href=\\'https://wp-staging.com/docs/wp-staging-settings-for-small-servers/\\' target=\\'_blank\\'>WP Staging Small Server Settings</a> or submit an error report and contact us.',\n );\n }\n\n const jsonResponse = tryParseJson(response);\n if (jsonResponse !== false && jsonResponse.success === false) {\n $workFlow.removeClass('loading');\n showErrorModal(jsonResponse);\n\n return;\n }\n\n $workFlow.removeClass('loading').html(response);\n // register check disk space function for clone update process.\n checkDiskSpace();\n that.directoryNavigator = new WpstgDirectoryNavigation('#wpstg-directories-listing', wpstg, that.notyf);\n that.cloneExcludeFilters = new WpstgExcludeFilters();\n that.switchStep(2);\n },\n 'HTML',\n );\n })\n // Reset Clone\n .on('click', '.wpstg-reset-clone', function(e) {\n e.preventDefault();\n const clone = $(this).data('clone');\n const resetModal = new WpstgResetModal(clone);\n const promise = resetModal.showModal();\n\n promise.then((result) => {\n if (result.value) {\n const dirNavigator = resetModal.getDirectoryNavigator();\n const exclFilters = resetModal.getExcludeFilters().getExcludeFilters();\n resetClone(clone, {\n includedTables: getIncludedTables(),\n excludeSizeRules: encodeURIComponent(exclFilters.sizes),\n excludeGlobRules: encodeURIComponent(exclFilters.globs),\n excludedDirectories: dirNavigator.getExcludedDirectories(),\n extraDirectories: dirNavigator.getExtraDirectoriesRootOnly(),\n });\n }\n });\n\n return;\n });\n };\n\n /**\n * Ajax Requests\n * @param Object data\n * @param Function callback\n * @param string dataType\n * @param bool showErrors\n * @param int tryCount\n * @param float incrementRatio\n */\n var ajax = function(data, callback, dataType, showErrors, tryCount, incrementRatio = null) {\n if ('undefined' === typeof (dataType)) {\n dataType = 'json';\n }\n\n if (false !== showErrors) {\n showErrors = true;\n }\n\n tryCount = 'undefined' === typeof (tryCount) ? 0 : tryCount;\n\n const retryLimit = 10;\n\n let retryTimeout = 10000 * tryCount;\n\n incrementRatio = parseInt(incrementRatio);\n if (!isNaN(incrementRatio)) {\n retryTimeout *= incrementRatio;\n }\n\n $.ajax({\n url: ajaxurl + '?action=wpstg_processing&_=' + (Date.now() / 1000),\n type: 'POST',\n dataType: dataType,\n cache: false,\n data: data,\n error: function(xhr, textStatus, errorThrown) {\n // try again after 10 seconds\n tryCount++;\n if (tryCount <= retryLimit) {\n setTimeout(function() {\n ajax(data, callback, dataType, showErrors, tryCount, incrementRatio);\n return;\n }, retryTimeout);\n } else {\n const errorCode = 'undefined' === typeof (xhr.status) ? 'Unknown' : xhr.status;\n showError(\n 'Fatal Error: ' + errorCode + ' Please try the <a href=\\'https://wp-staging.com/docs/wp-staging-settings-for-small-servers/\\' target=\\'_blank\\'>WP Staging Small Server Settings</a> or submit an error report and contact us.',\n );\n }\n },\n success: function(data) {\n if ('function' === typeof (callback)) {\n callback(data);\n }\n },\n statusCode: {\n 404: function() {\n if (tryCount >= retryLimit) {\n showError('Error 404 - Can\\'t find ajax request URL! Please try the <a href=\\'https://wp-staging.com/docs/wp-staging-settings-for-small-servers/\\' target=\\'_blank\\'>WP Staging Small Server Settings</a> or submit an error report and contact us.');\n }\n },\n 500: function() {\n if (tryCount >= retryLimit) {\n showError('Fatal Error 500 - Internal server error while processing the request! Please try the <a href=\\'https://wp-staging.com/docs/wp-staging-settings-for-small-servers/\\' target=\\'_blank\\'>WP Staging Small Server Settings</a> or submit an error report and contact us.');\n }\n },\n 504: function() {\n if (tryCount > retryLimit) {\n showError('Error 504 - It looks like your server is rate limiting ajax requests. Please try to resume after a minute. If this still not works try the <a href=\\'https://wp-staging.com/docs/wp-staging-settings-for-small-servers/\\' target=\\'_blank\\'>WP Staging Small Server Settings</a> or submit an error report and contact us.\\n\\ ');\n }\n },\n 502: function() {\n if (tryCount >= retryLimit) {\n showError('Error 502 - It looks like your server is rate limiting ajax requests. Please try to resume after a minute. If this still not works try the <a href=\\'https://wp-staging.com/docs/wp-staging-settings-for-small-servers/\\' target=\\'_blank\\'>WP Staging Small Server Settings</a> or submit an error report and contact us.\\n\\ ');\n }\n },\n 503: function() {\n if (tryCount >= retryLimit) {\n showError('Error 503 - It looks like your server is rate limiting ajax requests. Please try to resume after a minute. If this still not works try the <a href=\\'https://wp-staging.com/docs/wp-staging-settings-for-small-servers/\\' target=\\'_blank\\'>WP Staging Small Server Settings</a> or submit an error report and contact us.\\n\\ ');\n }\n },\n 429: function() {\n if (tryCount >= retryLimit) {\n showError('Error 429 - It looks like your server is rate limiting ajax requests. Please try to resume after a minute. If this still not works try the <a href=\\'https://wp-staging.com/docs/wp-staging-settings-for-small-servers/\\' target=\\'_blank\\'>WP Staging Small Server Settings</a> or submit an error report and contact us.\\n\\ ');\n }\n },\n 403: function() {\n if (tryCount >= retryLimit) {\n showError('Refresh page or login again! The process should be finished successfully. \\n\\ ');\n }\n },\n },\n });\n };\n\n /**\n * Next / Previous Step Clicks to Navigate Through Staging Job\n */\n const stepButtons = function() {\n const $workFlow = cache.get('#wpstg-workflow');\n\n $workFlow\n // Next Button\n .on('click', '.wpstg-next-step-link', function(e) {\n e.preventDefault();\n\n const $this = $(this);\n const isScan = false;\n\n if ($('#wpstg_clone_hostname').length && !validateTargetHost()) {\n $('#wpstg_clone_hostname').focus();\n return false;\n }\n\n if ($this.data('action') === 'wpstg_update' || $this.data('action') === 'wpstg_reset') {\n // Update / Reset Clone - confirmed\n let onlyUpdateMessage = '';\n if ($this.data('action') === 'wpstg_update') {\n onlyUpdateMessage = ' \\n\\nExclude all tables and folders you do not want to overwrite, first! \\n\\nDo not cancel the updating process! This can break your staging site. \\n\\n\\Create a backup of your staging website before you proceed.';\n }\n\n if (!confirm('STOP! This will overwrite your staging site with all selected data from the production site! This should be used only if you want to clone again your production site. Are you sure you want to do this?' + onlyUpdateMessage)) {\n return false;\n }\n }\n\n // Button is disabled\n if ($this.attr('disabled')) {\n return false;\n }\n\n if ($this.data('action') === 'wpstg_cloning') {\n // Verify External Database If Checked and Not Skipped\n if ($('#wpstg-ext-db').is(':checked')) {\n verifyExternalDatabase($this, $workFlow);\n return;\n }\n }\n\n proceedCloning($this, $workFlow);\n })\n // Previous Button\n .on('click', '.wpstg-prev-step-link', function(e) {\n e.preventDefault();\n cache.get('.wpstg-loader').removeClass('wpstg-finished');\n cache.get('.wpstg-loader').hide();\n loadOverview();\n });\n };\n\n /**\n * Get Included (Checked) Database Tables\n * @return {Array}\n */\n const getIncludedTables = function() {\n const includedTables = [];\n\n $('#wpstg_select_tables_cloning option:selected').each(function() {\n includedTables.push(this.value);\n });\n\n return includedTables;\n };\n\n /**\n * Get Excluded (Unchecked) Database Tables\n * Not used anymore!\n * @return {Array}\n */\n const getExcludedTables = function() {\n const excludedTables = [];\n\n $('.wpstg-db-table input:not(:checked)').each(function() {\n excludedTables.push(this.name);\n });\n\n return excludedTables;\n };\n\n /**\n * Verify External Database for Cloning\n */\n var verifyExternalDatabase = function($this, workflow) {\n cache.get('.wpstg-loader').show();\n ajax(\n {\n action: 'wpstg_database_verification',\n accessToken: wpstg.accessToken,\n nonce: wpstg.nonce,\n databaseUser: cache.get('#wpstg_db_username').val(),\n databasePassword: cache.get('#wpstg_db_password').val(),\n databaseServer: cache.get('#wpstg_db_server').val(),\n databaseDatabase: cache.get('#wpstg_db_database').val(),\n },\n function(response) {\n // Undefined Error\n if (false === response) {\n showError(\n 'Something went wrong! Error: No response.' +\n 'Please try again. If that does not help, ' +\n '<a href=\\'https://wp-staging.com/support/\\' target=\\'_blank\\'>open a support ticket</a> ',\n );\n cache.get('.wpstg-loader').hide();\n return;\n }\n\n // Throw Error\n if ('undefined' === typeof (response.success)) {\n showError(\n 'Something went wrong! Error: Invalid response.' +\n 'Please try again. If that does not help, ' +\n '<a href=\\'https://wp-staging.com/support/\\' target=\\'_blank\\'>open a support ticket</a> ',\n );\n cache.get('.wpstg-loader').hide();\n return;\n }\n\n if (response.success) {\n cache.get('.wpstg-loader').hide();\n proceedCloning($this, workflow);\n return;\n }\n\n if (response.error_type === 'comparison') {\n cache.get('.wpstg-loader').hide();\n let render = '<table style=\"width: 100%;\"><thead><tr><th>Property</th><th>Production DB</th><th>Staging DB</th><th>Status</th></tr></thead><tbody>';\n response.checks.forEach((x) => {\n let icon = '<i style=\"color: #00ff00\">✔</i>';\n if (x.production !== x.staging) {\n icon = '<i style=\"color: #ff0000\">❌</i>';\n }\n render += '<tr><td>' + x.name + '</td><td>' + x.production + '</td><td>' + x.staging + '</td><td>' + icon + '</td></tr>';\n });\n render += '</tbody></table><p>Note: Some mySQL properties do not match. You may proceed but the staging site may not work as expected.</p>';\n WPStagingCommon.getSwalModal().fire({\n title: 'Different Database Properties',\n icon: 'warning',\n html: render,\n width: '650px',\n focusConfirm: false,\n confirmButtonText: 'Proceed Anyway',\n showCancelButton: true,\n }).then(function(result) {\n if (result.value) {\n proceedCloning($this, workflow);\n }\n });\n return;\n }\n\n WPStagingCommon.getSwalModal(true).fire({\n title: 'Different Database Properties',\n icon: 'error',\n html: response.message,\n focusConfirm: true,\n confirmButtonText: 'Ok',\n showCancelButton: false,\n });\n cache.get('.wpstg-loader').hide();\n },\n 'json',\n false,\n );\n };\n\n /**\n * Get Cloning Step Data\n */\n const getCloningData = function() {\n if ('wpstg_cloning' !== that.data.action && 'wpstg_update' !== that.data.action && 'wpstg_reset' !== that.data.action) {\n return;\n }\n\n that.data.cloneID = new Date().getTime().toString();\n if ('wpstg_update' === that.data.action) {\n that.data.cloneID = $('#wpstg-new-clone-id').data('clone');\n }\n\n that.data.cloneName = $('#wpstg-new-clone-id').val() || that.data.cloneID;\n\n // Remove this to keep &_POST[] small otherwise mod_security will throw error 404\n // that.data.excludedTables = getExcludedTables();\n\n if (that.directoryNavigator !== null) {\n that.data.excludedDirectories = encodeURIComponent(that.directoryNavigator.getExcludedDirectories());\n that.data.extraDirectories = encodeURIComponent(that.directoryNavigator.getExtraDirectoriesRootOnly());\n }\n\n that.data.excludeGlobRules = '';\n that.data.excludeSizeRules = '';\n if (that.cloneExcludeFilters instanceof WpstgExcludeFilters) {\n const rules = that.cloneExcludeFilters.getExcludeFilters();\n that.data.excludeGlobRules = encodeURIComponent(rules.globs);\n that.data.excludeSizeRules = encodeURIComponent(rules.sizes);\n }\n\n that.data.includedTables = getIncludedTables();\n that.data.databaseServer = $('#wpstg_db_server').val();\n that.data.databaseUser = $('#wpstg_db_username').val();\n that.data.databasePassword = $('#wpstg_db_password').val();\n that.data.databaseDatabase = $('#wpstg_db_database').val();\n that.data.databasePrefix = $('#wpstg_db_prefix').val();\n const cloneDir = $('#wpstg_clone_dir').val();\n that.data.cloneDir = encodeURIComponent($.trim(cloneDir));\n that.data.cloneHostname = $('#wpstg_clone_hostname').val();\n that.data.emailsAllowed = $('#wpstg_allow_emails').is(':checked');\n that.data.uploadsSymlinked = $('#wpstg_symlink_upload').is(':checked');\n that.data.cleanPluginsThemes = $('#wpstg-clean-plugins-themes').is(':checked');\n that.data.cleanUploadsDir = $('#wpstg-clean-uploads').is(':checked');\n };\n\n var proceedCloning = function($this, workflow) {\n // Add loading overlay\n workflow.addClass('loading');\n\n // Prepare data\n that.data = {\n action: $this.data('action'),\n accessToken: wpstg.accessToken,\n nonce: wpstg.nonce,\n };\n\n // Cloning data\n getCloningData();\n\n sendCloningAjax(workflow);\n };\n\n var sendCloningAjax = function(workflow) {\n // Send ajax request\n ajax(\n that.data,\n function(response) {\n // Undefined Error\n if (false === response) {\n showError(\n 'Something went wrong!<br/><br/> Go to WP Staging > Settings and lower \\'File Copy Limit\\' and \\'DB Query Limit\\'. Also set \\'CPU Load Priority to low \\'' +\n 'and try again. If that does not help, ' +\n '<a href=\\'https://wp-staging.com/support/\\' target=\\'_blank\\'>open a support ticket</a> ',\n );\n }\n\n\n if (response.length < 1) {\n showError(\n 'Something went wrong! No response. Go to WP Staging > Settings and lower \\'File Copy Limit\\' and \\'DB Query Limit\\'. Also set \\'CPU Load Priority to low \\'' +\n 'and try again. If that does not help, ' +\n '<a href=\\'https://wp-staging.com/support/\\' target=\\'_blank\\'>open a support ticket</a> ',\n );\n }\n\n const jsonResponse = tryParseJson(response);\n if (jsonResponse !== false && jsonResponse.success === false) {\n workflow.removeClass('loading');\n showErrorModal(jsonResponse);\n\n return;\n }\n\n // Styling of elements\n workflow.removeClass('loading').html(response);\n that.cloneExcludeFilters = null;\n if (that.data.action === 'wpstg_scanning') {\n that.directoryNavigator = new WpstgDirectoryNavigation('#wpstg-directories-listing', wpstg, that.notyf);\n that.switchStep(2);\n that.cloneExcludeFilters = new WpstgExcludeFilters();\n } else if (that.data.action === 'wpstg_cloning' || that.data.action === 'wpstg_update' || that.data.action === 'wpstg_reset') {\n that.switchStep(3);\n }\n\n // Start cloning\n that.startCloning();\n },\n 'HTML',\n );\n };\n\n var showErrorModal = function(response) {\n const errorModal = new WpstgModal('wpstg_modal_error', wpstg);\n errorModal.show(Object.assign({\n title: 'Error',\n icon: 'error',\n html: wpstg.i18n['somethingWentWrong'],\n width: '500px',\n confirmButtonText: 'Ok',\n showCancelButton: false,\n customClass: {\n confirmButton: 'wpstg--btn--confirm wpstg-blue-primary wpstg-button wpstg-link-btn',\n cancelButton: 'wpstg--btn--cancel wpstg-blue-primary wpstg-link-btn',\n actions: 'wpstg--modal--actions',\n popup: 'wpstg-swal-popup centered-modal',\n },\n buttonsStyling: false,\n reverseButtons: true,\n }, response.swalOptions), {\n type: response.type,\n });\n };\n\n const tryParseJson = function(json) {\n // early bail if not string\n if (!json) {\n return false;\n }\n\n try {\n const object = JSON.parse(json);\n if (object && typeof object === 'object') {\n return object;\n }\n } catch (e) {\n // do nothing on catch\n }\n\n return false;\n };\n\n var resetClone = function(clone, excludeOptions) {\n that.data = {\n action: 'wpstg_reset',\n accessToken: wpstg.accessToken,\n nonce: wpstg.nonce,\n cloneID: clone,\n };\n\n that.data = {...that.data, ...excludeOptions};\n\n const $workFlow = cache.get('#wpstg-workflow');\n sendCloningAjax($workFlow);\n };\n\n /**\n * Loads Overview (first step) of Staging Job\n */\n var loadOverview = function() {\n const $workFlow = cache.get('#wpstg-workflow');\n\n $workFlow.addClass('loading');\n\n ajax(\n {\n action: 'wpstg_overview',\n accessToken: wpstg.accessToken,\n nonce: wpstg.nonce,\n },\n function(response) {\n if (response.length < 1) {\n showError(\n 'Something went wrong! No response. Please try the <a href=\\'https://wp-staging.com/docs/wp-staging-settings-for-small-servers/\\' target=\\'_blank\\'>WP Staging Small Server Settings</a> or submit an error report.',\n );\n }\n\n const $currentStep = cache.get('.wpstg-current-step');\n\n // Styling of elements\n $workFlow.removeClass('loading').html(response);\n },\n 'HTML',\n );\n\n that.switchStep(1);\n cache.get('.wpstg-step3-cloning').show();\n cache.get('.wpstg-step3-pushing').hide();\n };\n\n /**\n * Load Tabs\n */\n const tabs = function() {\n cache.get('#wpstg-workflow').on('click', '.wpstg-tab-header', function(e) {\n e.preventDefault();\n\n const $this = $(this);\n const $section = cache.get($this.data('id'));\n\n $this.toggleClass('expand');\n\n $section.slideToggle();\n\n const tabTriangle = $this.find('.wpstg-tab-triangle');\n\n if ($this.hasClass('expand')) {\n tabTriangle.removeClass('wpstg-no-icon');\n tabTriangle.text('');\n tabTriangle.addClass('wpstg-rotate-90');\n } else {\n tabTriangle.removeClass('wpstg-rotate-90');\n }\n });\n };\n\n /**\n * Delete Clone\n * @param {String} clone\n */\n var deleteClone = function(clone) {\n const deleteDir = $('#deleteDirectory:checked').data('deletepath');\n\n ajax(\n {\n action: 'wpstg_delete_clone',\n clone: clone,\n accessToken: wpstg.accessToken,\n nonce: wpstg.nonce,\n excludedTables: getExcludedTables(),\n deleteDir: deleteDir,\n },\n function(response) {\n if (response) {\n showAjaxFatalError(response);\n\n // Finished\n if ('undefined' !== typeof response.delete && (response.delete === 'finished' || response.delete === 'unfinished')) {\n cache.get('#wpstg-removing-clone').removeClass('loading').html('');\n\n if (response.delete === 'finished' && response.error === undefined) {\n $('.wpstg-clone#' + clone).remove();\n }\n\n // No staging site message is also of type/class .wpstg-class but hidden\n // We have just excluded that from search when counting no of clones\n if ($('#wpstg-existing-clones .wpstg-clone').length < 1) {\n cache.get('#wpstg-existing-clones').find('h3').text('');\n cache.get('#wpstg-no-staging-site-results').show();\n }\n\n cache.get('.wpstg-loader').hide();\n return;\n }\n }\n // continue\n if (true !== response) {\n deleteClone(clone);\n return;\n }\n },\n );\n };\n\n /**\n * Cancel Cloning Process\n */\n var cancelCloning = function() {\n that.timer('stop');\n\n\n if (true === that.isFinished) {\n return true;\n }\n\n ajax(\n {\n action: 'wpstg_cancel_clone',\n clone: that.data.cloneID,\n accessToken: wpstg.accessToken,\n nonce: wpstg.nonce,\n },\n function(response) {\n if (response && 'undefined' !== typeof (response.delete) && response.delete === 'finished') {\n cache.get('.wpstg-loader').hide();\n // Load overview\n loadOverview();\n return;\n }\n\n if (true !== response) {\n // continue\n cancelCloning();\n return;\n }\n\n // Load overview\n loadOverview();\n },\n );\n };\n\n /**\n * Cancel Cloning Process\n */\n var cancelCloningUpdate = function() {\n if (true === that.isFinished) {\n return true;\n }\n\n ajax(\n {\n action: 'wpstg_cancel_update',\n clone: that.data.cloneID,\n accessToken: wpstg.accessToken,\n nonce: wpstg.nonce,\n },\n function(response) {\n if (response && 'undefined' !== typeof (response.delete) && response.delete === 'finished') {\n // Load overview\n loadOverview();\n return;\n }\n\n if (true !== response) {\n // continue\n cancelCloningUpdate();\n return;\n }\n\n // Load overview\n loadOverview();\n },\n );\n };\n\n /**\n * Cancel Cloning Process\n */\n var restart = function() {\n if (true === that.isFinished) {\n return true;\n }\n\n ajax(\n {\n action: 'wpstg_restart',\n // clone: that.data.cloneID,\n accessToken: wpstg.accessToken,\n nonce: wpstg.nonce,\n },\n function(response) {\n if (response && 'undefined' !== typeof (response.delete) && response.delete === 'finished') {\n // Load overview\n loadOverview();\n return;\n }\n\n if (true !== response) {\n // continue\n cancelCloningUpdate();\n return;\n }\n\n // Load overview\n loadOverview();\n },\n );\n };\n\n /**\n * Scroll the window log to bottom\n * @return void\n */\n const logscroll = function() {\n const $div = cache.get('.wpstg-log-details');\n if ('undefined' !== typeof ($div[0])) {\n $div.scrollTop($div[0].scrollHeight);\n }\n };\n\n /**\n * Append the log to the logging window\n * @param string log\n * @return void\n */\n const getLogs = function(log) {\n if (log != null && 'undefined' !== typeof (log)) {\n if (log.constructor === Array) {\n $.each(log, function(index, value) {\n if (value === null) {\n return;\n }\n if (value.type === 'ERROR') {\n cache.get('.wpstg-log-details').append('<span class=\"wpstg--red\">[' + value.type + ']</span>-' + '[' + value.date + '] ' + value.message + '</br>');\n } else {\n cache.get('.wpstg-log-details').append('[' + value.type + ']-' + '[' + value.date + '] ' + value.message + '</br>');\n }\n });\n } else {\n cache.get('.wpstg-log-details').append('[' + log.type + ']-' + '[' + log.date + '] ' + log.message + '</br>');\n }\n }\n logscroll();\n };\n\n /**\n * Check diskspace\n * @return string json\n */\n var checkDiskSpace = function() {\n cache.get('#wpstg-check-space').on('click', function(e) {\n cache.get('.wpstg-loader').show();\n const excludedDirectories = encodeURIComponent(that.directoryNavigator.getExcludedDirectories());\n const extraDirectories = encodeURIComponent(that.directoryNavigator.getExtraDirectoriesRootOnly());\n\n ajax(\n {\n action: 'wpstg_check_disk_space',\n accessToken: wpstg.accessToken,\n nonce: wpstg.nonce,\n excludedDirectories: excludedDirectories,\n extraDirectories: extraDirectories,\n },\n function(response) {\n if (false === response) {\n cache.get('#wpstg-clone-id-error').text('Can not detect required disk space').show();\n cache.get('.wpstg-loader').hide();\n return;\n }\n\n // Show required disk space\n cache.get('#wpstg-clone-id-error').html(\n 'Estimated necessary disk space: ' + response.requiredSpace +\n (response.errorMessage !== null ? ('<br>' + response.errorMessage) : '') +\n '<br> <span style=\"color:#444;\">Before you proceed ensure your account has enough free disk space to hold the entire instance of the production site. You can check the available space from your hosting account (cPanel or similar).</span>').show();\n cache.get('.wpstg-loader').hide();\n },\n 'json',\n false,\n );\n });\n };\n\n /**\n * Show or hide animated loading icon\n * @param isLoading bool\n */\n const isLoading = function(isLoading) {\n if (!isLoading || isLoading === false) {\n cache.get('.wpstg-loader').hide();\n } else {\n cache.get('.wpstg-loader').show();\n }\n };\n\n /**\n * Count up processing execution time\n * @param string status\n * @return html\n */\n that.timer = function(status) {\n if (status === 'stop') {\n const time = that.time;\n that.time = 1;\n clearInterval(that.executionTime);\n return that.convertSeconds(time);\n }\n\n\n that.executionTime = setInterval(function() {\n if (null !== document.getElementById('wpstg-processing-timer')) {\n document.getElementById('wpstg-processing-timer').innerHTML = 'Elapsed Time: ' + that.convertSeconds(that.time);\n }\n that.time++;\n if (status === 'stop') {\n that.time = 1;\n clearInterval(that.executionTime);\n }\n }, 1000);\n };\n\n /**\n * Convert seconds to hourly format\n * @param int seconds\n * @return string\n */\n that.convertSeconds = function(seconds) {\n const date = new Date(null);\n date.setSeconds(seconds); // specify value for SECONDS here\n return date.toISOString().substr(11, 8);\n };\n\n /**\n * Start Cloning Process\n * @type {Function}\n */\n that.startCloning = (function() {\n resetErrors();\n\n // Register function for checking disk space\n checkDiskSpace();\n\n if ('wpstg_cloning' !== that.data.action && 'wpstg_update' !== that.data.action && 'wpstg_reset' !== that.data.action) {\n return;\n }\n\n that.isCancelled = false;\n\n // Start the process\n start();\n\n // Functions\n // Start\n function start() {\n cache.get('.wpstg-loader').show();\n cache.get('#wpstg-cancel-cloning').text('Cancel');\n cache.get('#wpstg-resume-cloning').hide();\n cache.get('#wpstg-error-details').hide();\n\n\n // Clone Database\n setTimeout(function() {\n // cloneDatabase();\n window.addEventListener('beforeunload', WPStaging.warnIfClosingDuringProcess);\n processing();\n }, wpstg.delayReq);\n\n that.timer('start');\n }\n\n\n /**\n * Start ajax processing\n * @return string\n */\n var processing = function() {\n if (true === that.isCancelled) {\n window.removeEventListener('beforeunload', WPStaging.warnIfClosingDuringProcess);\n return false;\n }\n\n isLoading(true);\n\n let excludedDirectories = '';\n let extraDirectories = '';\n if (that.directoryNavigator !== null) {\n excludedDirectories = that.directoryNavigator.getExcludedDirectories();\n extraDirectories = that.directoryNavigator.getExtraDirectoriesRootOnly();\n }\n\n // Show logging window\n cache.get('.wpstg-log-details').show();\n\n WPStaging.ajax(\n {\n action: 'wpstg_processing',\n accessToken: wpstg.accessToken,\n nonce: wpstg.nonce,\n excludedTables: getExcludedTables(),\n excludedDirectories: encodeURIComponent(excludedDirectories),\n extraDirectories: encodeURIComponent(extraDirectories),\n },\n function(response) {\n showAjaxFatalError(response);\n\n // Add Log messages\n if ('undefined' !== typeof (response.last_msg) && response.last_msg) {\n getLogs(response.last_msg);\n }\n // Continue processing\n if (false === response.status) {\n progressBar(response);\n\n setTimeout(function() {\n cache.get('.wpstg-loader').show();\n processing();\n }, wpstg.delayReq);\n } else if (true === response.status && 'finished' !== response.status) {\n cache.get('#wpstg-error-details').hide();\n cache.get('#wpstg-error-wrapper').hide();\n progressBar(response, true);\n processing();\n } else if ('finished' === response.status || ('undefined' !== typeof (response.job_done) && response.job_done)) {\n window.removeEventListener('beforeunload', WPStaging.warnIfClosingDuringProcess);\n finish(response);\n }\n ;\n },\n 'json',\n false,\n );\n };\n\n // Finish\n function finish(response) {\n if (true === that.getLogs) {\n getLogs();\n }\n\n progressBar(response);\n\n // Add Log\n if ('undefined' !== typeof (response.last_msg)) {\n getLogs(response.last_msg);\n }\n\n cache.get('.wpstg-loader').hide();\n cache.get('#wpstg-processing-header').html('Processing Complete');\n $('#wpstg-processing-status').text('Succesfully finished');\n\n cache.get('#wpstg_staging_name').html(that.data.cloneID);\n cache.get('#wpstg-finished-result').show();\n cache.get('#wpstg-cancel-cloning').hide();\n cache.get('#wpstg-resume-cloning').hide();\n cache.get('#wpstg-cancel-cloning-update').prop('disabled', true);\n\n const $link1 = cache.get('#wpstg-clone-url-1');\n const $link = cache.get('#wpstg-clone-url');\n $link1.attr('href', response.url);\n $link1.html(response.url);\n $link.attr('href', response.url);\n\n cache.get('#wpstg-remove-clone').data('clone', that.data.cloneID);\n\n // Finished\n that.isFinished = true;\n that.timer('stop');\n\n\n cache.get('.wpstg-loader').hide();\n cache.get('#wpstg-processing-header').html('Processing Complete');\n\n // show alert\n let msg = wpstg.i18n.cloneResetComplete;\n if (that.data.action === 'wpstg_update') {\n msg = wpstg.i18n.cloneUpdateComplete;\n }\n\n if (that.data.action === 'wpstg_update' || that.data.action === 'wpstg_reset') {\n cache.get('#wpstg-cancel-cloning-update').hide();\n cache.get('.wpstg-prev-step-link').show();\n\n WPStagingCommon.getSwalModal(true, {\n confirmButton: 'wpstg--btn--confirm wpstg-green-button wpstg-button wpstg-link-btn wpstg-100-width',\n }).fire({\n title: '',\n icon: 'success',\n html: msg,\n width: '500px',\n focusConfirm: true,\n });\n }\n\n return false;\n }\n\n /**\n * Add percentage progress bar\n * @param object response\n * @return {Boolean}\n */\n var progressBar = function(response, restart) {\n if ('undefined' === typeof (response.percentage)) {\n return false;\n }\n\n if (response.job === 'database') {\n cache.get('#wpstg-progress-db').width(response.percentage * 0.2 + '%').html(response.percentage + '%');\n cache.get('#wpstg-processing-status').html(response.percentage.toFixed(0) + '%' + ' - Step 1 of 4 Cloning Database Tables...');\n }\n\n if (response.job === 'SearchReplace') {\n cache.get('#wpstg-progress-db').css('background-color', '#3bc36b');\n cache.get('#wpstg-progress-db').html('1. Database');\n // Assumption: All previous steps are done.\n // This avoids bugs where some steps are skipped and the progress bar is incomplete as a result\n cache.get('#wpstg-progress-db').width('20%');\n\n cache.get('#wpstg-progress-sr').width(response.percentage * 0.1 + '%').html(response.percentage + '%');\n cache.get('#wpstg-processing-status').html(response.percentage.toFixed(0) + '%' + ' - Step 2 of 4 Preparing Database Data...');\n }\n\n if (response.job === 'directories') {\n cache.get('#wpstg-progress-sr').css('background-color', '#3bc36b');\n cache.get('#wpstg-progress-sr').html('2. Data');\n cache.get('#wpstg-progress-sr').width('10%');\n\n cache.get('#wpstg-progress-dirs').width(response.percentage * 0.1 + '%').html(response.percentage + '%');\n cache.get('#wpstg-processing-status').html(response.percentage.toFixed(0) + '%' + ' - Step 3 of 4 Getting files...');\n }\n if (response.job === 'files') {\n cache.get('#wpstg-progress-dirs').css('background-color', '#3bc36b');\n cache.get('#wpstg-progress-dirs').html('3. Files');\n cache.get('#wpstg-progress-dirs').width('10%');\n\n cache.get('#wpstg-progress-files').width(response.percentage * 0.6 + '%').html(response.percentage + '%');\n cache.get('#wpstg-processing-status').html(response.percentage.toFixed(0) + '%' + ' - Step 4 of 4 Copy files...');\n }\n if (response.job === 'finish') {\n cache.get('#wpstg-progress-files').css('background-color', '#3bc36b');\n cache.get('#wpstg-progress-files').html('4. Copy Files');\n cache.get('#wpstg-progress-files').width('60%');\n\n cache.get('#wpstg-processing-status').html(response.percentage.toFixed(0) + '%' + ' - Cloning Process Finished');\n }\n };\n });\n\n that.switchStep = function(step) {\n cache.get('.wpstg-current-step')\n .removeClass('wpstg-current-step');\n cache.get('.wpstg-step' + step)\n .addClass('wpstg-current-step');\n };\n\n /**\n * Initiation\n * @type {Function}\n */\n that.init = (function() {\n loadOverview();\n elements();\n stepButtons();\n tabs();\n WPStagingCommon.listenTooltip();\n new WpstgMainMenu();\n new WpstgCloneStaging();\n new WpstgCloningAdvanceSettings();\n that.notyf = new Notyf({\n duration: 10000,\n position: {\n x: 'center',\n y: 'bottom',\n },\n dismissible: true,\n types: [\n {\n type: 'warning',\n background: 'orange',\n icon: false,\n },\n ],\n });\n });\n\n /**\n * Ajax call\n * @type {ajax}\n */\n that.ajax = ajax;\n that.showError = showError;\n that.getLogs = getLogs;\n that.loadOverview = loadOverview;\n\n return that;\n})(jQuery);\n\njQuery(document).ready(function() {\n WPStaging.init();\n // This is necessary to make WPStaging var accessibile in WP Staging PRO js script\n window.WPStaging = WPStaging;\n});\n\n/**\n * Report Issue modal\n */\njQuery(document).ready(function($) {\n $('body').on('click', '#wpstg-report-issue-button', function(e) {\n console.log('REPORT');\n $('.wpstg--tab--active .wpstg-report-issue-form').toggleClass('wpstg-report-show');\n e.preventDefault();\n });\n\n $('body').on('click', '#wpstg-backups-report-issue-button', function(e) {\n $('.wpstg--tab--active .wpstg-report-issue-form').toggleClass('wpstg-report-show');\n e.preventDefault();\n });\n\n $('body').on('click', '#wpstg-report-cancel', function(e) {\n $('.wpstg--tab--active .wpstg-report-issue-form').removeClass('wpstg-report-show');\n e.preventDefault();\n });\n\n $('body').on('click', '.wpstg--tab--active #wpstg-report-submit', function(e) {\n const self = $(this);\n sendIssueReport(self, 'false');\n e.preventDefault();\n });\n\n /*\n * Close Success Modal\n */\n\n $('body').on('click', '#wpstg-success-button', function(e) {\n e.preventDefault();\n $('.wpstg-report-issue-form').removeClass('wpstg-report-show');\n });\n\n function sendIssueReport(button, forceSend = 'false') {\n const spinner = button.next();\n const email = $('.wpstg--tab--active .wpstg-report-email').val();\n const hosting_provider = $('.wpstg--tab--active .wpstg-report-hosting-provider').val();\n const message = $('.wpstg--tab--active .wpstg-report-description').val();\n const syslog = $('.wpstg--tab--active .wpstg-report-syslog').is(':checked');\n const terms = $('.wpstg--tab--active .wpstg-report-terms').is(':checked');\n\n button.attr('disabled', true);\n spinner.css('visibility', 'visible');\n\n $.ajax({\n url: ajaxurl,\n type: 'POST',\n dataType: 'json',\n async: true,\n data: {\n 'action': 'wpstg_send_report',\n 'accessToken': wpstg.accessToken,\n 'nonce': wpstg.nonce,\n 'wpstg_email': email,\n 'wpstg_provider': hosting_provider,\n 'wpstg_message': message,\n 'wpstg_syslog': +syslog,\n 'wpstg_terms': +terms,\n 'wpstg_force_send': forceSend,\n },\n }).done(function(data) {\n button.attr('disabled', false);\n spinner.css('visibility', 'hidden');\n\n if (data.errors.length > 0) {\n $('.wpstg--tab--active .wpstg-report-issue-form .wpstg-message').remove();\n\n let errorMessage = $('<div />').addClass('wpstg-message wpstg-error-message');\n $.each(data.errors, function(key, value) {\n if (value.status === 'already_submitted') {\n errorMessage = '';\n // TODO: remove default custom classes\n WPStagingCommon.getSwalModal(true, {\n container: 'wpstg-issue-resubmit-confirmation',\n }).fire({\n title: '',\n icon: 'warning',\n html: value.message,\n showCancelButton: true,\n focusConfirm: false,\n confirmButtonText: 'Yes',\n cancelButtonText: 'No',\n }).then((result) => {\n if (result.isConfirmed) {\n sendIssueReport(button, 'true');\n }\n });\n } else {\n errorMessage.append('<p>' + value + '</p>');\n }\n });\n\n $('.wpstg--tab--active .wpstg-report-issue-form').prepend(errorMessage);\n } else {\n const successMessage = $('<div />').addClass('wpstg-message wpstg-success-message');\n successMessage.append('<p>Thanks for submitting your request! You should receive an auto reply mail with your ticket ID immediately for confirmation!<br><br>If you do not get that mail please contact us directly at <strong>support@wp-staging.com</strong></p>');\n\n $('.wpstg--tab--active .wpstg-report-issue-form').html(successMessage);\n $('.wpstg--tab--active .wpstg-success-message').append('<div style=\"float:right;margin-top:10px;\"><a id=\"wpstg-success-button\" href=\"#\" class=\"wpstg--red\">[X] CLOSE</a></div>');\n\n // Hide message\n setTimeout(function() {\n $('.wpstg--tab--active .wpstg-report-issue-form').removeClass('wpstg-report-active');\n }, 2000);\n }\n });\n }\n\n // Open/close actions drop down menu\n $(document).on('click', '.wpstg-dropdown>.wpstg-dropdown-toggler', function(e) {\n e.preventDefault();\n $(e.target).next('.wpstg-dropdown-menu').toggleClass('shown');\n\n $(e.target).find('.wpstg-caret').toggleClass('wpstg-caret-up');\n });\n\n $(document).on('click', '.wpstg-caret', function(e) {\n e.preventDefault();\n\n const toggler = $(e.target).closest('.wpstg-dropdown-toggler');\n\n if (toggler) {\n toggler.trigger('click');\n }\n });\n\n // Close action drop down menu if clicked anywhere outside\n document.addEventListener('click', function(event) {\n const isClickInside = event.target.closest('.wpstg-dropdown-toggler');\n if (!isClickInside) {\n const dropDown = document.getElementsByClassName('wpstg-dropdown-menu');\n for (let i = 0; i < dropDown.length; i++) {\n dropDown[i].classList.remove('shown');\n }\n $('.wpstg-caret').removeClass('wpstg-caret-up');\n }\n });\n});\n"],"names":["qs","selector","document","querySelector","all","querySelectorAll","addEvent","parent","evt","handler","addEventListener","event","target","matches","closest","slideDown","element","duration","style","display","overflow","height","offsetHeight","transitionProperty","transitionDuration","setTimeout","window","removeProperty","slideUp","getNextSibling","sibling","nextElementSibling","getParents","result","parentElement","push","WpstgCloneStaging","pageWrapperId","wpstgObject","wpstg","pageWrapper","dom","enableButtonId","enableAction","notyf","Notyf","position","x","y","dismissible","types","type","background","icon","init","addEvents","sendRequest","action","fetch","ajaxUrl","method","credentials","body","URLSearchParams","accessToken","nonce","headers","then","response","ok","json","Promise","reject","data","success","location","reload","message","error","i18n","console","warn","WpstgDirectoryNavigation","directoryListingSelector","directoryListingContainer","dirCheckboxSelector","dirExpandSelector","unselectAllDirsSelector","selectDefaultDirsSelector","fetchChildrenAction","currentCheckboxElement","currentParentDiv","currentLoader","existingExcludes","excludedDirectories","isDefaultSelected","log","preventDefault","toggleDirExpand","unselectAll","selectDefault","parseExcludes","previousSibling","getAttribute","dirPath","value","isChecked","checked","forceDefault","setAttribute","dirContainer","createElement","classList","add","innerHTML","JSON","parse","directoryListing","appendChild","alert","getExcludedDirectories","forEach","isParentExcluded","exclude","isExcludeScanned","join","settings","directorySeparator","path","isParentAlreadyExcluded","dir","startsWith","getExtraDirectoriesRootOnly","extraDirectories","extraDirectoriesTextArea","extraCustomDirectories","split","concat","length","WpstgExcludeFilters","excludeFilterContainerSelector","excludeContainer","excludeTableBody","addFileSizeExclude","addFileExtExclude","addFileNameExclude","addDirNameExclude","clearExcludes","removeExclude","addExcludeRuleRow","templateName","excludeRowTemplate","clone","content","cloneNode","excludeRow","e","removeChild","trim","getExcludeFilters","globExcludes","sizeExcludes","sizeCompares","sizeSizes","sizeByte","Object","entries","key","sizeInput","extensionInputs","ext","cleanStringForGlob","fileNamesPos","fileNames","fileInput","fileName","dirNamesPos","dirNames","dirInput","dirName","filter","onlyUnique","index","self","indexOf","replace","WpstgModal","confirmAction","show","swalOptions","additionalParams","callback","wpstgSwal","fire","triggerConfirmAction","assign","onOver","onOut","pX","pY","mouseOver","focused","h","state","timer","options","sensitivity","interval","timeout","handleFocus","delay","el","clearTimeout","undefined","tracker","clientX","clientY","compare","Math","abs","opt","focusOptionChanged","addFocus","removeFocus","dispatchOver","removeEventListener","onMouseOver","dispatchOut","onMouseOut","dispatchFocus","onFocus","dispatchBlur","onBlur","remove","$","WPStagingCommon","continueErrorHandle","cache","elements","get","inArray","refresh","listenTooltip","wpstgHoverIntent","visibility","isEmpty","obj","prop","hasOwnProperty","getSwalModal","isContentCentered","customClasses","defaultCustomClasses","confirmButton","cancelButton","actions","popup","customClass","buttonsStyling","reverseButtons","showClass","mixin","showSuccessModal","htmlContent","showConfirmButton","showCancelButton","cancelButtonText","title","html","showWarningModal","showErrorModal","getSwalContainer","getContainer","closeSwalModal","close","getDataFromWordPressResponse","Error","Array","shift","isLoading","hide","slugify","url","toString","toLowerCase","normalize","showAjaxFatalError","prependMessage","appendMessage","showError","WPStaging","warnIfClosingDuringProcess","handleFetchErrors","status","statusText","css","text","removeClass","resetErrors","ajax","dataType","showErrors","tryCount","incrementRatio","errorCallback","retryLimit","retryTimeout","parseInt","isNaN","ajaxurl","Date","now","xhr","textStatus","errorThrown","errorCode","statusCode","jQuery","WpstgResetModal","cloneID","workflowSelector","fetchExcludeSettingsAction","modalErrorAction","workflow","resetButtonClass","resetModalContainerClass","resetTabSelector","directoryNavigator","excludeFilters","isAllTablesChecked","resetModalContainer","toggleContent","selectDefaultTables","toggleTableSelection","toggleDirectoryNavigation","updateDirectorySelection","contentId","tabTriangle","isCollapsed","contains","transform","showModal","swalPromise","loadModal","fetchCloneExcludes","container","getAjaxLoader","width","focusConfirm","confirmButtonText","resetClone","job","errorModal","modal","renderError","getDirectoryNavigator","wpstgIcon","cbElement","subDirectories","parElem","i","children","multisitePattern","tblprefix","singleSitePattern","option","name","isMultisite","match","removeAttribute","WpstgCloningAdvanceSettings","baseContainerSelector","baseContainer","checkBoxSettingTogglerSelector","toggleSettings","WpstgMainMenu","activeTabClass","mainMenu","tabHeader","$this","targetElements","menuItems","contents","menuItem","targetElement","dispatchEvent","Event","that","isCancelled","isFinished","getLogs","time","executionTime","progressBar","cloneExcludeFilters","ajaxSpinner","returnValue","$workFlow","isAllChecked","urlSpinner","devicePixelRatio","on","each","attr","siblings","slideToggle","$directory","parents","find","addClass","getElementById","clearInterval","removeAttr","cloneDirectoryName","directoryName","slug","$targetDir","$targetUri","uri","val","validateTargetHost","after","cloneActions","the_domain","reg","test","confirm","append","cancelCloning","startCloning","cancelCloningUpdate","restart","$existingClones","animate","scrollTop","offset","top","deleteClone","jsonResponse","tryParseJson","checkDiskSpace","switchStep","resetModal","promise","dirNavigator","exclFilters","includedTables","getIncludedTables","excludeSizeRules","encodeURIComponent","sizes","excludeGlobRules","globs","stepButtons","focus","onlyUpdateMessage","is","verifyExternalDatabase","proceedCloning","loadOverview","getExcludedTables","excludedTables","databaseUser","databasePassword","databaseServer","databaseDatabase","error_type","render","checks","production","staging","getCloningData","getTime","cloneName","rules","databasePrefix","cloneDir","cloneHostname","emailsAllowed","uploadsSymlinked","cleanPluginsThemes","cleanUploadsDir","sendCloningAjax","object","excludeOptions","tabs","$section","toggleClass","hasClass","deleteDir","logscroll","$div","scrollHeight","constructor","date","requiredSpace","errorMessage","convertSeconds","setInterval","seconds","setSeconds","toISOString","substr","start","processing","delayReq","last_msg","job_done","finish","$link1","$link","msg","cloneResetComplete","cloneUpdateComplete","percentage","toFixed","step","ready","sendIssueReport","button","forceSend","spinner","next","email","hosting_provider","syslog","terms","async","done","errors","isConfirmed","prepend","successMessage","toggler","trigger","isClickInside","dropDown","getElementsByClassName"],"mappings":"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"}
|
1 |
+
{"version":3,"file":"wpstg-admin.js","sources":["../src/modules/wpstg-dom-utils.js","../src/modules/wpstg-clone-staging.js","../src/modules/wpstg-directory-navigation.js","../src/modules/wpstg-exclude-filters.js","../src/modules/wpstg-modal.js","../src/modules/wpstg-hover-intent.js","../src/wpstg.js","../src/modules/wpstg-reset-modal.js","../src/modules/wpstg-cloning-advance-settings.js","../src/modules/wpstg-main-menu.js","../src/wpstg-admin.js"],"sourcesContent":["/**\n * WP STAGING basic jQuery replacement\n */\n\n/**\n * Shortcut for document.querySelector() or jQuery's $()\n * Return single element only\n */\nexport function qs(selector) {\n return document.querySelector(selector);\n}\n\n/**\n * Shortcut for document.querySelector() or jQuery's $()\n * Return collection of elements\n */\nexport function all(selector) {\n return document.querySelectorAll(selector);\n}\n\n/**\n * alternative of jQuery - $(parent).on(event, selector, handler)\n */\nexport function addEvent(parent, evt, selector, handler) {\n parent.addEventListener(evt, function(event) {\n if (event.target.matches(selector + ', ' + selector + ' *')) {\n handler(event.target.closest(selector), event);\n }\n }, false);\n}\n\nexport function slideDown(element, duration = 400) {\n element.style.display = 'block';\n element.style.overflow = 'hidden';\n const height = element.offsetHeight;\n element.style.height = '0px';\n element.style.transitionProperty = 'height';\n element.style.transitionDuration = duration + 'ms';\n setTimeout(() => {\n element.style.height = height + 'px';\n window.setTimeout(() => {\n element.style.removeProperty('height');\n element.style.removeProperty('overflow');\n element.style.removeProperty('transition-duration');\n element.style.removeProperty('transition-property');\n }, duration);\n }, 0);\n}\n\nexport function slideUp(element, duration = 400) {\n element.style.display = 'block';\n element.style.overflow = 'hidden';\n const height = element.offsetHeight;\n element.style.height = height + 'px';\n element.style.transitionProperty = 'height';\n element.style.transitionDuration = duration + 'ms';\n setTimeout(() => {\n element.style.height = '0px';\n window.setTimeout(() => {\n element.style.display = 'none';\n element.style.removeProperty('height');\n element.style.removeProperty('overflow');\n element.style.removeProperty('transition-duration');\n element.style.removeProperty('transition-property');\n }, duration);\n }, 0);\n}\n\nexport function getNextSibling(element, selector) {\n let sibling = element.nextElementSibling;\n\n while (sibling) {\n if (sibling.matches(selector)) {\n return sibling;\n }\n\n sibling = sibling.nextElementSibling;\n }\n};\n\nexport function getParents(element, selector) {\n const result = [];\n for (let parent = element && element.parentElement; parent; parent = parent.parentElement) {\n if (parent.matches(selector)) {\n result.push(parent);\n }\n }\n\n return result;\n}\n\n/**\n * Check if element has class name\n * @param element\n * @param className\n * @return {boolean}\n */\nexport function hasClass(element, className) {\n return (' ' + element.className + ' ').indexOf(' ' + className+ ' ') > -1;\n}\n","import * as dom from './wpstg-dom-utils.js';\n\n/**\n * Enable/Disable cloning for staging site\n */\nexport default class WpstgCloneStaging {\n constructor(\n pageWrapperId = '#wpstg-clonepage-wrapper',\n wpstgObject = wpstg,\n ) {\n this.pageWrapper = dom.qs(pageWrapperId);\n this.wpstgObject = wpstgObject;\n this.enableButtonId = '#wpstg-enable-staging-cloning';\n this.enableAction = 'wpstg_enable_staging_cloning';\n\n this.notyf = new Notyf({\n duration: 10000,\n position: {\n x: 'center',\n y: 'bottom',\n },\n dismissible: true,\n types: [\n {\n type: 'warning',\n background: 'orange',\n icon: false,\n },\n ],\n });\n this.init();\n }\n\n addEvents() {\n if (this.pageWrapper === null) {\n return;\n }\n\n dom.addEvent(this.pageWrapper, 'click', this.enableButtonId, () => {\n this.sendRequest(this.enableAction);\n });\n }\n\n init() {\n this.addEvents();\n }\n\n sendRequest(action) {\n fetch(this.wpstgObject.ajaxUrl, {\n method: 'POST',\n credentials: 'same-origin',\n body: new URLSearchParams({\n action: action,\n accessToken: this.wpstgObject.accessToken,\n nonce: this.wpstgObject.nonce,\n }),\n headers: {\n 'Content-Type': 'application/x-www-form-urlencoded',\n },\n }).then((response) => {\n if (response.ok) {\n return response.json();\n }\n\n return Promise.reject(response);\n }).then((data) => {\n // Reload current page if successful.\n if ('undefined' !== typeof (data.success) && data.success) {\n location.reload();\n return;\n }\n\n // There will be message probably in case of error\n if ('undefined' !== typeof (data.message)) {\n this.notyf.error(data.message);\n return;\n }\n\n this.notyf.error(this.wpstgObject.i18n['somethingWentWrong']);\n }).catch((error) => {\n console.warn(this.wpstgObject.i18n['somethingWentWrong'], error);\n });\n }\n}\n","import * as dom from './wpstg-dom-utils.js';\n\n/**\n * Fetch directory direct child directories\n */\nexport default class WpstgDirectoryNavigation {\n constructor(\n directoryListingSelector = '#wpstg-directories-listing',\n wpstgObject = wpstg,\n notyf = null,\n ) {\n this.directoryListingContainer = dom.qs(directoryListingSelector);\n this.wpstgObject = wpstgObject;\n this.dirCheckboxSelector = '.wpstg-check-dir';\n this.dirExpandSelector = '.wpstg-expand-dirs';\n this.unselectAllDirsSelector = '.wpstg-unselect-dirs';\n this.selectDefaultDirsSelector = '.wpstg-select-dirs-default';\n this.fetchChildrenAction = 'wpstg_fetch_dir_childrens';\n this.currentCheckboxElement = null;\n this.currentParentDiv = null;\n this.currentLoader = null;\n this.existingExcludes = [];\n this.excludedDirectories = [];\n this.isDefaultSelected = false;\n this.notyf = notyf;\n\n this.init();\n }\n\n addEvents() {\n if (this.directoryListingContainer === null) {\n console.log('Error: directory navigation add events');\n return;\n }\n\n dom.addEvent(this.directoryListingContainer, 'click', this.dirExpandSelector, (element, event) => {\n event.preventDefault();\n if (this.toggleDirExpand(element)) {\n this.sendRequest(this.fetchChildrenAction, element);\n }\n });\n\n dom.addEvent(this.directoryListingContainer, 'click', this.unselectAllDirsSelector, () => {\n this.unselectAll();\n });\n\n dom.addEvent(this.directoryListingContainer, 'click', this.selectDefaultDirsSelector, () => {\n this.selectDefault();\n });\n }\n\n init() {\n this.addEvents();\n this.parseExcludes();\n }\n\n /**\n * Toggle Dir Expand,\n * Return true if children aren't fetched\n * @param {HTMLElement} element\n * @return {boolean}\n */\n toggleDirExpand(element) {\n this.currentParentDiv = element.parentElement;\n this.currentCheckboxElement = element.previousSibling;\n this.currentLoader = this.currentParentDiv.querySelector('.wpstg-is-dir-loading');\n if (this.currentCheckboxElement.getAttribute('data-navigateable', 'false') === 'false') {\n return false;\n }\n\n if (this.currentCheckboxElement.getAttribute('data-scanned', 'false') === 'false') {\n return true;\n }\n\n return false;\n }\n\n sendRequest(action) {\n if (this.currentLoader !== null) {\n this.currentLoader.style.display = 'inline-block';\n }\n\n fetch(this.wpstgObject.ajaxUrl, {\n method: 'POST',\n credentials: 'same-origin',\n body: new URLSearchParams({\n action: action,\n accessToken: this.wpstgObject.accessToken,\n nonce: this.wpstgObject.nonce,\n dirPath: this.currentCheckboxElement.value,\n isChecked: this.currentCheckboxElement.checked,\n forceDefault: this.isDefaultSelected,\n }),\n headers: {\n 'Content-Type': 'application/x-www-form-urlencoded',\n },\n }).then((response) => {\n if (response.ok) {\n return response.json();\n }\n\n return Promise.reject(response);\n }).then((data) => {\n if ('undefined' !== typeof (data.success) && data.success) {\n this.currentCheckboxElement.setAttribute('data-scanned', true);\n const dirContainer = document.createElement('div');\n dirContainer.classList.add('wpstg-dir');\n dirContainer.classList.add('wpstg-subdir');\n dirContainer.innerHTML = JSON.parse(data.directoryListing);\n this.currentParentDiv.appendChild(dirContainer);\n if (this.currentLoader !== null) {\n this.currentLoader.style.display = 'none';\n }\n\n dom.slideDown(dirContainer);\n\n return;\n }\n\n if (this.notyf !== null) {\n this.notyf.error(this.wpstgObject.i18n['somethingWentWrong']);\n } else {\n alert('Error: ' + this.wpstgObject.i18n['somethingWentWrong']);\n }\n }).catch((error) => {\n console.warn(this.wpstgObject.i18n['somethingWentWrong'], error);\n });\n }\n\n getExcludedDirectories() {\n this.excludedDirectories = [];\n this.directoryListingContainer.querySelectorAll('.wpstg-dir input:not(:checked)').forEach((element) => {\n if (!this.isParentExcluded(element.value)) {\n this.excludedDirectories.push(element.value);\n }\n });\n\n this.existingExcludes.forEach((exclude) => {\n if (!this.isParentExcluded(exclude) && !this.isExcludeScanned(exclude)) {\n this.excludedDirectories.push(exclude);\n }\n });\n\n return this.excludedDirectories.join(this.wpstgObject.settings.directorySeparator);\n }\n\n /**\n * @param {string} path\n * @return {bool}\n */\n isParentExcluded(path) {\n let isParentAlreadyExcluded = false;\n this.excludedDirectories.forEach((dir) => {\n if (path.startsWith(dir + '/')) {\n isParentAlreadyExcluded = true;\n }\n });\n\n return isParentAlreadyExcluded;\n }\n\n getExtraDirectoriesRootOnly() {\n this.getExcludedDirectories();\n const extraDirectories = [];\n this.directoryListingContainer.querySelectorAll(':not(.wpstg-subdir)>.wpstg-dir>input.wpstg-wp-non-core-dir:checked').forEach((element) => {\n extraDirectories.push(element.value);\n });\n\n // Check if extra directories text area exists\n // TODO: remove extraCustomDirectories code if no one require extraCustomDirectories...\n const extraDirectoriesTextArea = dom.qs('#wpstg_extraDirectories');\n if (extraDirectoriesTextArea === null || extraDirectoriesTextArea.value === '') {\n return extraDirectories.join(this.wpstgObject.settings.directorySeparator);\n }\n\n const extraCustomDirectories = extraDirectoriesTextArea.value.split(/\\r?\\n/);\n\n return extraDirectories.concat(extraCustomDirectories).join(this.wpstgObject.settings.directorySeparator);\n }\n\n unselectAll() {\n this.directoryListingContainer.querySelectorAll('.wpstg-dir input').forEach((element) => {\n element.checked = false;\n });\n }\n\n selectDefault() {\n // unselect all checkboxes\n this.unselectAll();\n\n // only select those checkboxes whose class is wpstg-wp-core-dir\n this.directoryListingContainer.querySelectorAll('.wpstg-dir input.wpstg-wp-core-dir').forEach((element) => {\n element.checked = true;\n });\n\n // then unselect those checkboxes whose parent has wpstg extra checkbox\n this.directoryListingContainer.querySelectorAll('.wpstg-dir > .wpstg-wp-non-core-dir').forEach((element) => {\n element.parentElement.querySelectorAll('input.wpstg-wp-core-dir').forEach((element) => {\n element.checked = false;\n });\n });\n\n this.isDefaultSelected = true;\n }\n\n parseExcludes() {\n this.existingExcludes = this.directoryListingContainer.getAttribute('data-existing-excludes', []);\n if (this.existingExcludes === '') {\n this.existingExcludes = [];\n }\n\n if (this.existingExcludes.length !== 0) {\n this.existingExcludes = this.existingExcludes.split(',');\n }\n }\n\n isExcludeScanned(exclude) {\n this.directoryListingContainer.querySelectorAll('.wpstg-dir input').forEach((element) => {\n if (element.value === exclude) {\n return true;\n }\n });\n\n return false;\n }\n}\n","import * as dom from './wpstg-dom-utils.js';\n\n/**\n * Rich Exclude Filter Module\n */\nexport default class WpstgExcludeFilters {\n constructor(\n excludeFilterContainerSelector = '#wpstg-exclude-filters-container',\n wpstgObject = wpstg,\n ) {\n this.excludeContainer = dom.qs(excludeFilterContainerSelector);\n this.excludeTableBody = dom.qs(`${excludeFilterContainerSelector} tbody`);\n this.wpstgObject = wpstgObject;\n this.init();\n }\n\n addEvents() {\n dom.addEvent(this.excludeContainer, 'click', '.wpstg-file-size-rule', () => {\n this.addFileSizeExclude();\n });\n\n dom.addEvent(this.excludeContainer, 'click', '.wpstg-file-ext-rule', () => {\n this.addFileExtExclude();\n });\n\n dom.addEvent(this.excludeContainer, 'click', '.wpstg-file-name-rule', () => {\n this.addFileNameExclude();\n });\n\n dom.addEvent(this.excludeContainer, 'click', '.wpstg-dir-name-rule', () => {\n this.addDirNameExclude();\n });\n\n dom.addEvent(this.excludeContainer, 'click', '.wpstg-clear-all-rules', () => {\n this.clearExcludes();\n });\n\n dom.addEvent(this.excludeContainer, 'click', '.wpstg-remove-exclude-rule', (target) => {\n this.removeExclude(target);\n });\n }\n\n init() {\n if (this.excludeContainer === null) {\n console.log('Error: Given table selector not found!');\n return;\n }\n\n this.addEvents();\n }\n\n addFileSizeExclude() {\n this.addExcludeRuleRow('#wpstg-file-size-exclude-filter-template');\n }\n\n addFileExtExclude() {\n this.addExcludeRuleRow('#wpstg-file-ext-exclude-filter-template');\n }\n\n addFileNameExclude() {\n this.addExcludeRuleRow('#wpstg-file-name-exclude-filter-template');\n }\n\n addDirNameExclude() {\n this.addExcludeRuleRow('#wpstg-dir-name-exclude-filter-template');\n }\n\n addExcludeRuleRow(templateName) {\n const excludeRowTemplate = dom.qs(templateName);\n if (excludeRowTemplate !== null) {\n const clone = excludeRowTemplate.content.cloneNode(true);\n const excludeRow = clone.querySelector('tr');\n\n this.excludeTableBody.appendChild(excludeRow);\n dom.all('.wpstg-has-exclude-rules').forEach((e) => {\n e.style.display = 'inherit';\n });\n }\n }\n\n clearExcludes() {\n this.excludeTableBody.innerHTML = '';\n dom.all('.wpstg-has-exclude-rules').forEach((e) => {\n e.style.display = 'none';\n });\n }\n\n removeExclude(target) {\n if (target.parentElement !== null && target.parentElement.parentElement !== null) {\n this.excludeTableBody.removeChild(target.parentElement.parentElement);\n }\n\n if (this.excludeTableBody.innerHTML.trim() === '') {\n dom.all('.wpstg-has-exclude-rules').forEach((e) => {\n e.style.display = 'none';\n });\n }\n }\n\n /**\n * Converts all the exclude filters arrays into one single string to keep size of post request small\n * @return {string}\n */\n getExcludeFilters() {\n const globExcludes = [];\n const sizeExcludes = [];\n\n const sizeCompares = this.excludeTableBody.querySelectorAll('select[name=\"wpstgFileSizeExcludeRuleCompare[]\"]');\n const sizeSizes = this.excludeTableBody.querySelectorAll('input[name=\"wpstgFileSizeExcludeRuleSize[]\"]');\n const sizeByte = this.excludeTableBody.querySelectorAll('select[name=\"wpstgFileSizeExcludeRuleByte[]\"]');\n for (const [key, sizeInput] of Object.entries(sizeSizes)) {\n if (sizeInput.value !== '') {\n sizeExcludes.push(sizeCompares[key].value + ' ' + sizeInput.value + sizeByte[key].value);\n }\n }\n\n const extensionInputs = this.excludeTableBody.querySelectorAll('input[name=\"wpstgFileExtExcludeRule[]\"]');\n extensionInputs.forEach((x) => {\n const ext = this.cleanStringForGlob(x.value);\n if (ext !== '') {\n globExcludes.push('ext:' + ext.trim());\n }\n });\n\n const fileNamesPos = this.excludeTableBody.querySelectorAll('select[name=\"wpstgFileNameExcludeRulePos[]\"]');\n const fileNames = this.excludeTableBody.querySelectorAll('input[name=\"wpstgFileNameExcludeRulePath[]\"]');\n for (const [key, fileInput] of Object.entries(fileNames)) {\n const fileName = this.cleanStringForGlob(fileInput.value);\n if (fileName !== '') {\n globExcludes.push('file:' + fileNamesPos[key].value + ' ' + fileName.trim());\n }\n }\n\n const dirNamesPos = this.excludeTableBody.querySelectorAll('select[name=\"wpstgDirNameExcludeRulePos[]\"]');\n const dirNames = this.excludeTableBody.querySelectorAll('input[name=\"wpstgDirNameExcludeRulePath[]\"]');\n for (const [key, dirInput] of Object.entries(dirNames)) {\n const dirName = this.cleanStringForGlob(dirInput.value);\n if (dirName !== '') {\n globExcludes.push('dir:' + dirNamesPos[key].value + ' ' + dirName.trim());\n }\n }\n\n return {\n 'sizes': sizeExcludes.filter(this.onlyUnique).join(','),\n // return set of unique rules\n 'globs': globExcludes.filter(this.onlyUnique).join(','),\n };\n }\n\n onlyUnique(value, index, self) {\n return self.indexOf(value) === index;\n }\n\n /**\n * Remove most of the comment glob characters from the string\n * @param {String} value\n * @return {String}\n */\n cleanStringForGlob(value) {\n // will replace character like * ^ / \\ ! ? [ from the string\n return value.replace(/[*^//!\\.[?]/g, '');\n }\n}\n","/**\n * Basic WP Staging Modal implemented with help of Sweetalerts\n */\nexport default class WpstgModal {\n constructor(\n confirmAction,\n wpstgObject = wpstg,\n ) {\n this.confirmAction = confirmAction;\n this.wpstgObject = wpstgObject;\n }\n\n show(swalOptions, additionalParams = {}, callback = null) {\n wpstgSwal.fire(swalOptions).then((result) => {\n if (result.value && this.error !== null) {\n this.triggerConfirmAction(additionalParams, callback);\n }\n });\n }\n\n triggerConfirmAction(additionalParams = {}, callback = null) {\n fetch(this.wpstgObject.ajaxUrl, {\n method: 'POST',\n credentials: 'same-origin',\n body: new URLSearchParams(Object.assign({\n action: this.confirmAction,\n accessToken: this.wpstgObject.accessToken,\n nonce: this.wpstgObject.nonce,\n }, additionalParams)),\n headers: {\n 'Content-Type': 'application/x-www-form-urlencoded',\n },\n }).then((response) => {\n if (response.ok) {\n return response.json();\n }\n\n return Promise.reject(response);\n }).then((response) => {\n if (callback !== null) {\n callback(response);\n }\n }).catch((error) => {\n console.log(this.wpstgObject.i18n['somethingWentWrong'], error);\n });\n }\n}\n","'use strict';\n\n/**\n * This is a namespaced port of https://github.com/tristen/hoverintent,\n * with slight modification to accept selector with dynamically added element in dom,\n * instead of just already present element.\n *\n * @param {HTMLElement} parent\n * @param {string} selector\n * @param {CallableFunction} onOver\n * @param {CallableFunction} onOut\n *\n * @return {object}\n */\nexport default function(parent, selector, onOver, onOut) {\n let x; let y; let pX; let pY;\n let mouseOver = false;\n let focused = false;\n const h = {};\n let state = 0;\n let timer = 0;\n\n let options = {\n sensitivity: 7,\n interval: 100,\n timeout: 0,\n handleFocus: false,\n };\n\n function delay(el, e) {\n if (timer) {\n timer = clearTimeout(timer);\n }\n\n state = 0;\n return focused ? undefined : onOut(el, e);\n }\n\n function tracker(e) {\n x = e.clientX;\n y = e.clientY;\n }\n\n function compare(el, e) {\n if (timer) timer = clearTimeout(timer);\n if ((Math.abs(pX - x) + Math.abs(pY - y)) < options.sensitivity) {\n state = 1;\n return focused ? undefined : onOver(el, e);\n } else {\n pX = x;\n pY = y;\n timer = setTimeout(function() {\n compare(el, e);\n }, options.interval);\n }\n }\n\n // Public methods\n h.options = function(opt) {\n const focusOptionChanged = opt.handleFocus !== options.handleFocus;\n options = Object.assign({}, options, opt);\n if (focusOptionChanged) {\n options.handleFocus ? addFocus() : removeFocus();\n }\n\n return h;\n };\n\n function dispatchOver(el, e) {\n mouseOver = true;\n if (timer) {\n timer = clearTimeout(timer);\n }\n\n el.removeEventListener('mousemove', tracker, false);\n\n if (state !== 1) {\n pX = e.clientX;\n pY = e.clientY;\n\n el.addEventListener('mousemove', tracker, false);\n\n timer = setTimeout(function() {\n compare(el, e);\n }, options.interval);\n }\n\n return this;\n }\n\n /**\n * Newly added method,\n * A wrapper around dispatchOver to support dynamically added elements to dom\n */\n function onMouseOver(event) {\n if (event.target.matches(selector + ', ' + selector + ' *')) {\n dispatchOver(event.target.closest(selector), event);\n }\n };\n\n function dispatchOut(el, e) {\n mouseOver = false;\n if (timer) {\n timer = clearTimeout(timer);\n }\n\n el.removeEventListener('mousemove', tracker, false);\n\n if (state === 1) {\n timer = setTimeout(function() {\n delay(el, e);\n }, options.timeout);\n }\n\n return this;\n }\n\n /**\n * Newly added method,\n * A wrapper around dispatchOut to support dynamically added elements to dom\n */\n function onMouseOut(event) {\n if (event.target.matches(selector + ', ' + selector + ' *')) {\n dispatchOut(event.target.closest(selector), event);\n }\n };\n\n function dispatchFocus(el, e) {\n if (!mouseOver) {\n focused = true;\n onOver(el, e);\n }\n }\n\n /**\n * Newly added method,\n * A wrapper around dispatchFocus to support dynamically added elements to dom\n */\n function onFocus(event) {\n if (event.target.matches(selector + ', ' + selector + ' *')) {\n dispatchFocus(event.target.closest(selector), event);\n }\n };\n\n function dispatchBlur(el, e) {\n if (!mouseOver && focused) {\n focused = false;\n onOut(el, e);\n }\n }\n\n /**\n * Newly added method,\n * A wrapper around dispatchBlur to support dynamically added elements to dom\n */\n function onBlur(event) {\n if (event.target.matches(selector + ', ' + selector + ' *')) {\n dispatchBlur(event.target.closest(selector), event);\n }\n };\n\n /**\n * Modified to support dynamically added element\n */\n function addFocus() {\n parent.addEventListener('focus', onFocus, false);\n parent.addEventListener('blur', onBlur, false);\n }\n\n /**\n * Modified to support dynamically added element\n */\n function removeFocus() {\n parent.removeEventListener('focus', onFocus, false);\n parent.removeEventListener('blur', onBlur, false);\n }\n\n /**\n * Modified to support dynamically added element\n */\n h.remove = function() {\n if (!parent) {\n return;\n }\n\n parent.removeEventListener('mouseover', onMouseOver, false);\n parent.removeEventListener('mouseout', onMouseOut, false);\n removeFocus();\n };\n\n /**\n * Modified to support dynamically added element\n */\n if (parent) {\n parent.addEventListener('mouseover', onMouseOver, false);\n parent.addEventListener('mouseout', onMouseOut, false);\n }\n\n return h;\n};\n","import wpstgHoverIntent from './modules/wpstg-hover-intent';\n\nexport default (function($) {\n const WPStagingCommon = {\n continueErrorHandle: true,\n cache: {\n elements: [],\n get: function(selector) {\n // It is already cached!\n if ($.inArray(selector, this.elements) !== -1) {\n return this.elements[selector];\n }\n\n // Create cache and return\n this.elements[selector] = $(selector);\n\n return this.elements[selector];\n },\n refresh: function(selector) {\n selector.elements[selector] = $(selector);\n },\n },\n listenTooltip: function() {\n wpstgHoverIntent(document, '.wpstg--tooltip', function(target, event) {\n target.querySelector('.wpstg--tooltiptext').style.visibility = 'visible';\n }, function(target, event) {\n target.querySelector('.wpstg--tooltiptext').style.visibility = 'hidden';\n });\n },\n isEmpty: function(obj) {\n for (const prop in obj) {\n if (obj.hasOwnProperty(prop)) {\n return false;\n }\n }\n\n return true;\n },\n // Get the custom themed Swal Modal for WP Staging\n // Easy to maintain now in one place now\n getSwalModal: function(isContentCentered = false, customClasses = {}) {\n // common style for all swal modal used in WP Staging\n const defaultCustomClasses = {\n confirmButton: 'wpstg--btn--confirm wpstg-blue-primary wpstg-button wpstg-link-btn wpstg-100-width',\n cancelButton: 'wpstg--btn--cancel wpstg-blue-primary wpstg-link-btn wpstg-100-width',\n actions: 'wpstg--modal--actions',\n popup: isContentCentered ? 'wpstg-swal-popup centered-modal' : 'wpstg-swal-popup',\n };\n\n // If a attribute exists in both default and additional attributes,\n // The class(es) of the additional attribute will overrite the default one.\n const options = {\n customClass: Object.assign(defaultCustomClasses, customClasses),\n buttonsStyling: false,\n reverseButtons: true,\n showClass: {\n popup: 'wpstg--swal2-show wpstg-swal-show',\n },\n };\n\n return wpstgSwal.mixin(options);\n },\n showSuccessModal: function(htmlContent) {\n this.getSwalModal().fire({\n showConfirmButton: false,\n showCancelButton: true,\n cancelButtonText: 'OK',\n icon: 'success',\n title: 'Success!',\n html: '<div class=\"wpstg--grey\" style=\"text-align: left; margin-top: 8px;\">' + htmlContent + '</div>',\n });\n },\n showWarningModal: function(htmlContent) {\n this.getSwalModal().fire({\n showConfirmButton: false,\n showCancelButton: true,\n cancelButtonText: 'OK',\n icon: 'warning',\n title: '',\n html: '<div class=\"wpstg--grey\" style=\"text-align: left; margin-top: 8px;\">' + htmlContent + '</div>',\n });\n },\n showErrorModal: function(htmlContent) {\n this.getSwalModal().fire({\n showConfirmButton: false,\n showCancelButton: true,\n cancelButtonText: 'OK',\n icon: 'error',\n title: 'Error!',\n html: '<div class=\"wpstg--grey\" style=\"text-align: left; margin-top: 8px;\">' + htmlContent + '</div>',\n });\n },\n getSwalContainer: function() {\n return wpstgSwal.getContainer();\n },\n closeSwalModal: function() {\n wpstgSwal.close();\n },\n /**\n * Treats a default response object generated by WordPress's\n * wp_send_json_success() or wp_send_json_error() functions in\n * PHP, parses it in JavaScript, and either throws if it's an error,\n * or returns the data if the response is successful.\n *\n * @param {object} response\n * @return {*}\n */\n getDataFromWordPressResponse(response) {\n if (typeof response !== 'object') {\n throw new Error('Unexpected response (ERR 1341)');\n }\n\n if (!response.hasOwnProperty('success')) {\n throw new Error('Unexpected response (ERR 1342)');\n }\n\n if (!response.hasOwnProperty('data')) {\n throw new Error('Unexpected response (ERR 1343)');\n }\n\n if (response.success === false) {\n if (response.data instanceof Array && response.data.length > 0) {\n throw new Error(response.data.shift());\n } else {\n throw new Error('Response was not successful');\n }\n } else {\n // Successful response. Return the data.\n return response.data;\n }\n },\n isLoading: function(isLoading) {\n if (!isLoading || isLoading === false) {\n WPStagingCommon.cache.get('.wpstg-loader').hide();\n } else {\n WPStagingCommon.cache.get('.wpstg-loader').show();\n }\n },\n /**\n * Convert the given url to make it slug compatible\n * @param {string} url\n */\n slugify: function(url) {\n return url.toString()\n .toLowerCase()\n .normalize('NFD')\n .replace(/[\\u0300-\\u036f]/g, '')\n .replace(/\\s+/g, '-')\n .replace(/&/g, '-and-')\n .replace(/[^a-z0-9\\-]/g, '')\n .replace(/-+/g, '-')\n .replace(/^-*/, '')\n .replace(/-*$/, '')\n ;\n },\n showAjaxFatalError: function(response, prependMessage, appendMessage) {\n prependMessage = prependMessage ? prependMessage + '<br/><br/>' : 'Something went wrong! <br/><br/>';\n appendMessage = appendMessage ? appendMessage + '<br/><br/>' : '<br/><br/>Please try the <a href=\\'https://wp-staging.com/docs/wp-staging-settings-for-small-servers/\\' target=\\'_blank\\'>WP Staging Small Server Settings</a> or submit an error report and contact us.';\n\n if (response === false) {\n WPStagingCommon.showError(prependMessage + ' Error: No response.' + appendMessage);\n window.removeEventListener('beforeunload', WPStaging.warnIfClosingDuringProcess);\n return;\n }\n\n if (typeof response.error !== 'undefined' && response.error) {\n WPStagingCommon.showError(prependMessage + ' Error: ' + response.message + appendMessage);\n window.removeEventListener('beforeunload', WPStaging.warnIfClosingDuringProcess);\n return;\n }\n },\n handleFetchErrors: function(response) {\n if (!response.ok) {\n WPStagingCommon.showError('Error: ' + response.status + ' - ' + response.statusText + '. Please try again or contact support.');\n }\n return response;\n },\n showError: function(message) {\n WPStagingCommon.cache.get('#wpstg-try-again').css('display', 'inline-block');\n WPStagingCommon.cache.get('#wpstg-cancel-cloning').text('Reset');\n WPStagingCommon.cache.get('#wpstg-resume-cloning').show();\n WPStagingCommon.cache.get('#wpstg-error-wrapper').show();\n WPStagingCommon.cache.get('#wpstg-error-details').show().html(message);\n WPStagingCommon.cache.get('#wpstg-removing-clone').removeClass('loading');\n WPStagingCommon.cache.get('.wpstg-loader').hide();\n $('.wpstg--modal--process--generic-problem').show().html(message);\n },\n resetErrors: function() {\n WPStagingCommon.cache.get('#wpstg-error-details').hide().html('');\n },\n /**\n * Ajax Requests\n * @param {Object} data\n * @param {Function} callback\n * @param {string} dataType\n * @param {bool} showErrors\n * @param {int} tryCount\n * @param {float} incrementRatio\n * @param errorCallback\n */\n ajax: function(data, callback, dataType, showErrors, tryCount, incrementRatio = null, errorCallback = null) {\n if ('undefined' === typeof (dataType)) {\n dataType = 'json';\n }\n\n if (false !== showErrors) {\n showErrors = true;\n }\n\n tryCount = 'undefined' === typeof (tryCount) ? 0 : tryCount;\n\n const retryLimit = 10;\n\n let retryTimeout = 10000 * tryCount;\n\n incrementRatio = parseInt(incrementRatio);\n if (!isNaN(incrementRatio)) {\n retryTimeout *= incrementRatio;\n }\n\n $.ajax({\n url: ajaxurl + '?action=wpstg_processing&_=' + (Date.now() / 1000),\n type: 'POST',\n dataType: dataType,\n cache: false,\n data: data,\n error: function(xhr, textStatus, errorThrown) {\n console.log(xhr.status + ' ' + xhr.statusText + '---' + textStatus);\n\n if (typeof (errorCallback) === 'function') {\n // Custom error handler\n errorCallback(xhr, textStatus, errorThrown);\n\n if (!WPStagingCommon.continueErrorHandle) {\n // Reset state\n WPStagingCommon.continueErrorHandle = true;\n\n return;\n }\n }\n\n // Default error handler\n tryCount++;\n if (tryCount <= retryLimit) {\n setTimeout(function() {\n WPStagingCommon.ajax(data, callback, dataType, showErrors, tryCount, incrementRatio);\n return;\n }, retryTimeout);\n } else {\n const errorCode = 'undefined' === typeof (xhr.status) ? 'Unknown' : xhr.status;\n WPStagingCommon.showError(\n 'Fatal Error: ' + errorCode + ' Please try the <a href=\\'https://wp-staging.com/docs/wp-staging-settings-for-small-servers/\\' target=\\'_blank\\'>WP Staging Small Server Settings</a> or submit an error report and contact us.',\n );\n }\n },\n success: function(data) {\n if ('function' === typeof (callback)) {\n callback(data);\n }\n },\n statusCode: {\n 404: function() {\n if (tryCount >= retryLimit) {\n WPStagingCommon.showError('Error 404 - Can\\'t find ajax request URL! Please try the <a href=\\'https://wp-staging.com/docs/wp-staging-settings-for-small-servers/\\' target=\\'_blank\\'>WP Staging Small Server Settings</a> or submit an error report and contact us.');\n }\n },\n 500: function() {\n if (tryCount >= retryLimit) {\n WPStagingCommon.showError('Fatal Error 500 - Internal server error while processing the request! Please try the <a href=\\'https://wp-staging.com/docs/wp-staging-settings-for-small-servers/\\' target=\\'_blank\\'>WP Staging Small Server Settings</a> or submit an error report and contact us.');\n }\n },\n 504: function() {\n if (tryCount > retryLimit) {\n WPStagingCommon.showError('Error 504 - It looks like your server is rate limiting ajax requests. Please try to resume after a minute. If this still not works try the <a href=\\'https://wp-staging.com/docs/wp-staging-settings-for-small-servers/\\' target=\\'_blank\\'>WP Staging Small Server Settings</a> or submit an error report and contact us.\\n\\ ');\n }\n },\n 502: function() {\n if (tryCount >= retryLimit) {\n WPStagingCommon.showError('Error 502 - It looks like your server is rate limiting ajax requests. Please try to resume after a minute. If this still not works try the <a href=\\'https://wp-staging.com/docs/wp-staging-settings-for-small-servers/\\' target=\\'_blank\\'>WP Staging Small Server Settings</a> or submit an error report and contact us.\\n\\ ');\n }\n },\n 503: function() {\n if (tryCount >= retryLimit) {\n WPStagingCommon.showError('Error 503 - It looks like your server is rate limiting ajax requests. Please try to resume after a minute. If this still not works try the <a href=\\'https://wp-staging.com/docs/wp-staging-settings-for-small-servers/\\' target=\\'_blank\\'>WP Staging Small Server Settings</a> or submit an error report and contact us.\\n\\ ');\n }\n },\n 429: function() {\n if (tryCount >= retryLimit) {\n WPStagingCommon.showError('Error 429 - It looks like your server is rate limiting ajax requests. Please try to resume after a minute. If this still not works try the <a href=\\'https://wp-staging.com/docs/wp-staging-settings-for-small-servers/\\' target=\\'_blank\\'>WP Staging Small Server Settings</a> or submit an error report and contact us.\\n\\ ');\n }\n },\n 403: function() {\n if (tryCount >= retryLimit) {\n WPStagingCommon.showError('Refresh page or login again! The process should be finished successfully. \\n\\ ');\n }\n },\n },\n });\n },\n };\n\n return WPStagingCommon;\n})(jQuery);\n","\nimport * as dom from './wpstg-dom-utils.js';\nimport WpstgDirectoryNavigation from './wpstg-directory-navigation.js';\nimport WpstgExcludeFilters from './wpstg-exclude-filters.js';\nimport WpstgModal from './wpstg-modal.js';\nimport WPStagingCommon from './../wpstg.js';\n\n/**\n * Manage RESET MODAL\n */\nexport default class WpstgResetModal {\n constructor(\n cloneID,\n workflowSelector = '#wpstg-workflow',\n fetchExcludeSettingsAction = 'wpstg_clone_excludes_settings',\n modalErrorAction = 'wpstg_modal_error',\n wpstgObject = wpstg,\n ) {\n this.cloneID = cloneID;\n this.workflow = dom.qs(workflowSelector);\n this.wpstgObject = wpstgObject;\n this.fetchExcludeSettingsAction = fetchExcludeSettingsAction;\n this.modalErrorAction = modalErrorAction;\n this.resetButtonClass = 'wpstg-confirm-reset-clone';\n this.resetModalContainerClass = 'wpstg-reset-confirmation';\n this.resetTabSelector = '.wpstg-reset-exclude-tab';\n this.directoryNavigator = null;\n this.excludeFilters = null;\n this.isAllTablesChecked = true;\n }\n\n addEvents() {\n const resetModalContainer = dom.qs('.' + this.resetModalContainerClass);\n if (resetModalContainer === null) {\n console.log('Exit');\n return;\n }\n\n dom.addEvent(resetModalContainer, 'click', this.resetTabSelector, (target) => {\n this.toggleContent(target);\n });\n\n dom.addEvent(resetModalContainer, 'click', '.wpstg-button-select', () => {\n this.selectDefaultTables();\n });\n\n dom.addEvent(resetModalContainer, 'click', '.wpstg-button-unselect', () => {\n this.toggleTableSelection();\n });\n\n dom.addEvent(resetModalContainer, 'click', '.wpstg-expand-dirs', (target, event) => {\n event.preventDefault();\n this.toggleDirectoryNavigation(target);\n });\n\n dom.addEvent(resetModalContainer, 'change', 'input.wpstg-check-dir', (target) => {\n this.updateDirectorySelection(target);\n });\n }\n\n init() {\n this.addEvents();\n }\n\n toggleContent(target) {\n const resetModalContainer = dom.qs('.' + this.resetModalContainerClass);\n const contentId = target.getAttribute('data-id');\n const tabTriangle = target.querySelector('.wpstg-tab-triangle');\n const isCollapsed = target.getAttribute('data-collapsed', 'true');\n const content = dom.qs(contentId);\n if (isCollapsed === 'true') {\n if (resetModalContainer.classList.contains('has-collapsible-open')) {\n resetModalContainer.classList.add('has-collapsible-open-2');\n } else {\n resetModalContainer.classList.add('has-collapsible-open');\n }\n\n dom.slideDown(content);\n tabTriangle.style.transform = 'rotate(90deg)';\n target.setAttribute('data-collapsed', 'false');\n } else {\n if (resetModalContainer.classList.contains('has-collapsible-open-2')) {\n resetModalContainer.classList.remove('has-collapsible-open-2');\n } else {\n resetModalContainer.classList.remove('has-collapsible-open');\n }\n\n dom.slideUp(content);\n tabTriangle.style.removeProperty('transform');\n target.setAttribute('data-collapsed', 'true');\n }\n }\n\n /**\n * Show Swal alert with loader and send ajax request to fetch content of alert.\n * @return Promise\n */\n showModal() {\n const swalPromise = this.loadModal();\n this.init();\n this.fetchCloneExcludes();\n return swalPromise;\n }\n\n loadModal() {\n return WPStagingCommon.getSwalModal(false, {\n confirmButton: this.resetButtonClass + ' wpstg-confirm-reset-clone wpstg--btn--confirm wpstg-blue-primary wpstg-button wpstg-link-btn',\n container: this.resetModalContainerClass + ' wpstg-swal2-container wpstg-swal2-loading',\n }).fire({\n title: '',\n icon: 'warning',\n html: this.getAjaxLoader(),\n width: '400px',\n focusConfirm: false,\n confirmButtonText: this.wpstgObject.i18n.resetClone,\n showCancelButton: true,\n });\n }\n\n fetchCloneExcludes() {\n this.error = null;\n // send ajax request and fetch preserved exclude settings\n fetch(this.wpstgObject.ajaxUrl, {\n method: 'POST',\n credentials: 'same-origin',\n body: new URLSearchParams({\n action: this.fetchExcludeSettingsAction,\n accessToken: this.wpstgObject.accessToken,\n nonce: this.wpstgObject.nonce,\n clone: this.cloneID,\n job: 'resetting',\n }),\n headers: {\n 'Content-Type': 'application/x-www-form-urlencoded',\n },\n }).then((response) => {\n if (response.ok) {\n return response.json();\n }\n\n return Promise.reject(response);\n }).then((data) => {\n if (!data.success) {\n const errorModal = new WpstgModal(this.modalErrorAction, this.wpstgObject);\n errorModal.show(Object.assign({\n title: 'Error',\n icon: 'error',\n html: this.wpstgObject.i18n['somethingWentWrong'],\n width: '500px',\n confirmButtonText: 'Ok',\n showCancelButton: false,\n customClass: {\n confirmButton: 'wpstg--btn--confirm wpstg-blue-primary wpstg-button wpstg-link-btn',\n cancelButton: 'wpstg--btn--cancel wpstg-blue-primary wpstg-link-btn',\n actions: 'wpstg--modal--actions',\n popup: 'wpstg-swal-popup centered-modal',\n },\n buttonsStyling: false,\n reverseButtons: true,\n }, data.swalOptions), {\n type: data.type,\n });\n\n return;\n }\n\n const modal = dom.qs('.wpstg-reset-confirmation');\n modal.classList.remove('wpstg-swal2-loading');\n modal.querySelector('.wpstg--swal2-popup').style.width = '500px';\n modal.querySelector('.wpstg--swal2-content').innerHTML = data.html;\n this.directoryNavigator = new WpstgDirectoryNavigation();\n this.excludeFilters = new WpstgExcludeFilters();\n }).catch((error) => {\n this.renderError({\n 'html': this.wpstgObject.i18n['somethingWentWrong'] + ' ' + error,\n });\n });\n }\n\n getDirectoryNavigator() {\n return this.directoryNavigator;\n }\n\n getExcludeFilters() {\n return this.excludeFilters;\n }\n\n getAjaxLoader() {\n return '<div class=\"wpstg-swal2-ajax-loader\"><img src=\"' + this.wpstgObject.wpstgIcon + '\" /></div>';\n }\n\n toggleDirectoryNavigation(element) {\n const cbElement = element.previousSibling;\n if (cbElement.getAttribute('data-navigateable', 'false') === 'false') {\n return;\n }\n\n if (cbElement.getAttribute('data-scanned', 'false') === 'false') {\n return;\n }\n\n const subDirectories = dom.getNextSibling(element, '.wpstg-subdir');\n\n if (subDirectories.style.display === 'none') {\n dom.slideDown(subDirectories);\n } else {\n dom.slideUp(subDirectories);\n }\n }\n\n updateDirectorySelection(element) {\n const parent = element.parentElement;\n if (element.checked) {\n dom.getParents(parent, '.wpstg-dir').forEach((parElem) => {\n for (let i = 0; i < parElem.children.length; i++) {\n if (parElem.children[i].matches('.wpstg-check-dir')) {\n parElem.children[i].checked = true;\n }\n }\n });\n parent.querySelectorAll('.wpstg-expand-dirs').forEach((x) => {\n x.classList.remove('disabled');\n });\n parent.querySelectorAll('.wpstg-subdir .wpstg-check-dir').forEach((x) => {\n x.checked = true;\n });\n } else {\n parent.querySelectorAll('.wpstg-expand-dirs, .wpstg-check-subdirs').forEach((x) => {\n x.classList.add('disabled');\n });\n parent.querySelectorAll('.wpstg-dir .wpstg-check-dir').forEach((x) => {\n x.checked = false;\n });\n }\n }\n\n selectDefaultTables() {\n const resetModalContainer = dom.qs('.' + this.resetModalContainerClass);\n const options = resetModalContainer.querySelectorAll('#wpstg_select_tables_cloning .wpstg-db-table');\n const multisitePattern = '^' + this.wpstgObject.tblprefix + '([^0-9])_*';\n const singleSitePattern = '^' + this.wpstgObject.tblprefix;\n options.forEach((option) => {\n const name = option.getAttribute('name', '');\n if (this.wpstgObject.isMultisite === '1' && name.match(multisitePattern)) {\n option.setAttribute('selected', 'selected');\n } else if (this.wpstgObject.isMultisite === '' && name.match(singleSitePattern)) {\n option.setAttribute('selected', 'selected');\n } else {\n option.removeAttribute('selected');\n }\n });\n }\n\n toggleTableSelection() {\n const resetModalContainer = dom.qs('.' + this.resetModalContainerClass);\n if (false === this.isAllTablesChecked) {\n resetModalContainer.querySelectorAll('#wpstg_select_tables_cloning .wpstg-db-table').forEach((option) => {\n option.setAttribute('selected', 'selected');\n });\n resetModalContainer.querySelector('.wpstg-button-unselect').innerHTML = 'Unselect All';\n // cache.get('.wpstg-db-table-checkboxes').prop('checked', true);\n this.isAllTablesChecked = true;\n } else {\n resetModalContainer.querySelectorAll('#wpstg_select_tables_cloning .wpstg-db-table').forEach((option) => {\n option.removeAttribute('selected');\n });\n resetModalContainer.querySelector('.wpstg-button-unselect').innerHTML = 'Select All';\n // cache.get('.wpstg-db-table-checkboxes').prop('checked', false);\n this.isAllTablesChecked = false;\n }\n }\n}\n","import * as dom from './wpstg-dom-utils.js';\n\n/**\n * Handle toggle of advance settings checkboxes\n */\nexport default class WpstgCloningAdvanceSettings {\n constructor(\n baseContainerSelector = '#wpstg-clonepage-wrapper',\n ) {\n this.baseContainer = dom.qs(baseContainerSelector);\n this.checkBoxSettingTogglerSelector = '.wpstg-toggle-advance-settings-section';\n this.init();\n }\n\n /**\n * Add events\n * @return {void}\n */\n addEvents() {\n if (this.baseContainer === null) {\n return;\n }\n\n dom.addEvent(this.baseContainer, 'change', this.checkBoxSettingTogglerSelector, (element) => {\n this.toggleSettings(element);\n });\n }\n\n /**\n * @return {void}\n */\n init() {\n this.addEvents();\n }\n\n /**\n * Expand/Collapse checkbox content on change\n * @return {void}\n */\n toggleSettings(element) {\n const target = dom.qs('#' + element.getAttribute('data-id'));\n if (element.checked) {\n dom.slideDown(target);\n } else {\n dom.slideUp(target);\n }\n }\n}\n","import * as dom from './wpstg-dom-utils.js';\n\nexport default class WpstgMainMenu {\n constructor() {\n this.activeTabClass = 'wpstg--tab--active';\n this.mainMenu();\n }\n\n mainMenu() {\n const tabHeader = dom.qs('.wpstg--tab--header');\n // Early bail if tab header is not available\n if (tabHeader === null) {\n return;\n }\n\n dom.addEvent(dom.qs('.wpstg--tab--header'), 'click', '.wpstg-button', (element) => {\n const $this = element;\n const target = $this.getAttribute('data-target');\n const targetElements = dom.all(target);\n const menuItems = dom.all('.wpstg--tab--header a[data-target]');\n const contents = dom.all('.wpstg--tab--contents > .wpstg--tab--content');\n\n contents.forEach((content) => {\n // active tab class is without the css dot class prefix\n if (content.matches('.' + this.activeTabClass + ':not(' + target + ')')) {\n content.classList.remove(this.activeTabClass);\n }\n });\n\n menuItems.forEach((menuItem) => {\n if (menuItem !== $this) {\n menuItem.classList.remove(this.activeTabClass);\n }\n });\n\n $this.classList.add(this.activeTabClass);\n\n targetElements.forEach((targetElement) => {\n targetElement.classList.add(this.activeTabClass);\n });\n\n if ('#wpstg--tab--backup' === target) {\n window.dispatchEvent(new Event('backups-tab'));\n }\n });\n };\n}\n","import WpstgCloneStaging from './modules/wpstg-clone-staging.js';\nimport WpstgDirectoryNavigation from './modules/wpstg-directory-navigation.js';\nimport WpstgExcludeFilters from './modules/wpstg-exclude-filters.js';\nimport WpstgResetModal from './modules/wpstg-reset-modal.js';\nimport WpstgModal from './modules/wpstg-modal.js';\nimport WpstgCloningAdvanceSettings from './modules/wpstg-cloning-advance-settings.js';\nimport WpstgMainMenu from './modules/wpstg-main-menu.js';\nimport WPStagingCommon from './wpstg.js';\n\nvar WPStaging = (function($) {\n const that = {\n isCancelled: false,\n isFinished: false,\n getLogs: false,\n time: 1,\n executionTime: false,\n progressBar: 0,\n cloneExcludeFilters: null,\n directoryNavigator: null,\n notyf: null,\n areAllTablesChecked: true,\n };\n const cache = {elements: []};\n let timeout; let ajaxSpinner;\n\n /**\n * Get / Set Cache for Selector\n * @param {String} selector\n * @return {*}\n */\n cache.get = function(selector) {\n // It is already cached!\n if ($.inArray(selector, cache.elements) !== -1) {\n return cache.elements[selector];\n }\n\n // Create cache and return\n cache.elements[selector] = jQuery(selector);\n\n return cache.elements[selector];\n };\n\n /**\n * Refreshes given cache\n * @param {String} selector\n */\n cache.refresh = function(selector) {\n selector.elements[selector] = jQuery(selector);\n };\n\n /**\n * Show and Log Error Message\n * @param {String} message\n */\n const showError = function(message) {\n cache.get('#wpstg-try-again').css('display', 'inline-block');\n cache.get('#wpstg-cancel-cloning').text('Reset');\n cache.get('#wpstg-resume-cloning').show();\n cache.get('#wpstg-error-wrapper').show();\n cache.get('#wpstg-error-details').show().html(message);\n cache.get('#wpstg-removing-clone').removeClass('loading');\n cache.get('.wpstg-loader').hide();\n $('.wpstg--modal--process--generic-problem').show().html(message);\n };\n\n /**\n * Show warning during cloning or push process when closing tab or browser, or changing page\n * @param {beforeunload} event\n * @return {null}\n */\n that.warnIfClosingDuringProcess = function(event) {\n // Only some browsers show the message below, most say something like \"Changes you made may not be saved\" (Chrome) or \"You have unsaved changes. Exit?\"\n event.returnValue = 'You MUST leave this window open while cloning/pushing. Please wait...';\n return null;\n };\n\n /**\n *\n * @param response the error object\n * @param prependMessage Overwrite default error message at beginning\n * @param appendMessage Overwrite default error message at end\n * @returns void\n */\n\n const showAjaxFatalError = function(response, prependMessage, appendMessage) {\n prependMessage = prependMessage ? prependMessage + '<br/><br/>' : 'Something went wrong! <br/><br/>';\n appendMessage = appendMessage ? appendMessage + '<br/><br/>' : '<br/><br/>Please try the <a href=\\'https://wp-staging.com/docs/wp-staging-settings-for-small-servers/\\' target=\\'_blank\\'>WP Staging Small Server Settings</a> or submit an error report and contact us.';\n\n if (response === false) {\n showError(prependMessage + ' Error: No response.' + appendMessage);\n window.removeEventListener('beforeunload', WPStaging.warnIfClosingDuringProcess);\n return;\n }\n\n if (typeof response.error !== 'undefined' && response.error) {\n console.error(response.message);\n showError(prependMessage + ' Error: ' + response.message + appendMessage);\n window.removeEventListener('beforeunload', WPStaging.warnIfClosingDuringProcess);\n return;\n }\n };\n\n /**\n *\n * @param response\n * @return {{ok}|*}\n */\n const handleFetchErrors = function(response) {\n if (!response.ok) {\n showError('Error: ' + response.status + ' - ' + response.statusText + '. Please try again or contact support.');\n }\n return response;\n };\n\n /** Hide and reset previous thrown visible errors */\n const resetErrors = function() {\n cache.get('#wpstg-error-details').hide().html('');\n };\n\n /**\n * Common Elements\n */\n const elements = function() {\n const $workFlow = cache.get('#wpstg-workflow');\n let urlSpinner = ajaxurl.replace('/admin-ajax.php', '') + '/images/spinner';\n let timer;\n\n if (2 < window.devicePixelRatio) {\n urlSpinner += '-2x';\n }\n\n urlSpinner += '.gif';\n\n ajaxSpinner = '<img src=\\'\\'' + urlSpinner + '\\' alt=\\'\\' class=\\'ajax-spinner general-spinner\\' />';\n\n const getBaseValues = function() {\n const path = $('#wpstg-use-target-dir').data('base-path');\n const uri = $('#wpstg-use-target-hostname').data('base-uri');\n return {\n path,\n };\n };\n\n $workFlow\n // Check / Un-check All Database Tables New\n .on('click', '.wpstg-button-unselect', function(e) {\n e.preventDefault();\n\n if (false === that.areAllTablesChecked) {\n cache.get('#wpstg_select_tables_cloning .wpstg-db-table').prop('selected', 'selected');\n cache.get('.wpstg-button-unselect').text('Unselect All');\n cache.get('.wpstg-db-table-checkboxes').prop('checked', true);\n that.areAllTablesChecked = true;\n } else {\n cache.get('#wpstg_select_tables_cloning .wpstg-db-table').prop('selected', false);\n cache.get('.wpstg-button-unselect').text('Select All');\n cache.get('.wpstg-db-table-checkboxes').prop('checked', false);\n that.areAllTablesChecked = false;\n }\n })\n\n /**\n * Select tables with certain tbl prefix | NEW\n * @param obj e\n * @returns {undefined}\n */\n .on('click', '.wpstg-button-select', function(e) {\n e.preventDefault();\n $('#wpstg_select_tables_cloning .wpstg-db-table').each(function() {\n if (wpstg.isMultisite == 1) {\n if ($(this).attr('name').match('^' + wpstg.tblprefix + '([^0-9])_*')) {\n $(this).prop('selected', 'selected');\n } else {\n $(this).prop('selected', false);\n }\n }\n\n if (wpstg.isMultisite == 0) {\n if ($(this).attr('name').match('^' + wpstg.tblprefix)) {\n $(this).prop('selected', 'selected');\n } else {\n $(this).prop('selected', false);\n }\n }\n });\n })\n // Expand Directories\n .on('click', '.wpstg-expand-dirs', function(e) {\n e.preventDefault();\n\n const $this = $(this);\n\n $this.siblings('.wpstg-subdir').slideToggle();\n })\n // When a directory checkbox is Selected\n .on('change', 'input.wpstg-check-dir', function() {\n const $directory = $(this).parent('.wpstg-dir');\n\n if (this.checked) {\n $directory.parents('.wpstg-dir').children('.wpstg-check-dir').prop('checked', true);\n $directory.find('.wpstg-expand-dirs').removeClass('disabled');\n $directory.find('.wpstg-subdir .wpstg-check-dir').prop('checked', true);\n } else {\n $directory.find('.wpstg-dir .wpstg-check-dir').prop('checked', false);\n $directory.find('.wpstg-expand-dirs, .wpstg-check-subdirs').addClass('disabled');\n $directory.find('.wpstg-check-subdirs').data('action', 'check').text('check');\n }\n })\n // When a directory name is Selected\n .on('change', 'href.wpstg-check-dir', function() {\n const $directory = $(this).parent('.wpstg-dir');\n\n if (this.checked) {\n $directory.parents('.wpstg-dir').children('.wpstg-check-dir').prop('checked', true);\n $directory.find('.wpstg-expand-dirs').removeClass('disabled');\n $directory.find('.wpstg-subdir .wpstg-check-dir').prop('checked', true);\n } else {\n $directory.find('.wpstg-dir .wpstg-check-dir').prop('checked', false);\n $directory.find('.wpstg-expand-dirs, .wpstg-check-subdirs').addClass('disabled');\n $directory.find('.wpstg-check-subdirs').data('action', 'check').text('check');\n }\n })\n // Check the max length of the clone name and if the clone name already exists\n .on('keyup', '#wpstg-new-clone-id', function() {\n // Hide previous errors\n document.getElementById('wpstg-error-details').style.display = 'none';\n\n // This request was already sent, clear it up!\n if ('number' === typeof (timer)) {\n clearInterval(timer);\n }\n\n // Early bail if site name is empty\n if (this.value === undefined || this.value === '') {\n cache.get('#wpstg-new-clone-id').removeClass('wpstg-error-input');\n cache.get('#wpstg-start-cloning').removeAttr('disabled');\n cache.get('#wpstg-clone-id-error').text('').hide();\n return;\n }\n\n // Convert the site name to directory name (slugify the site name to create directory name)\n const cloneDirectoryName = WPStagingCommon.slugify(this.value);\n\n timer = setTimeout(\n function() {\n ajax(\n {\n action: 'wpstg_check_clone',\n accessToken: wpstg.accessToken,\n nonce: wpstg.nonce,\n directoryName: cloneDirectoryName,\n },\n function(response) {\n if (response.status === 'success') {\n cache.get('#wpstg-new-clone-id').removeClass('wpstg-error-input');\n cache.get('#wpstg-start-cloning').removeAttr('disabled');\n cache.get('#wpstg-clone-id-error').text('').hide();\n } else {\n cache.get('#wpstg-new-clone-id').addClass('wpstg-error-input');\n cache.get('#wpstg-start-cloning').prop('disabled', true);\n cache.get('#wpstg-clone-id-error').text(response.message).show();\n }\n },\n );\n },\n 500,\n );\n })\n // Restart cloning process\n .on('click', '#wpstg-start-cloning', function() {\n resetErrors();\n that.isCancelled = false;\n that.getLogs = false;\n that.progressBar = 0;\n })\n .on('input', '#wpstg-new-clone-id', function() {\n if ($('#wpstg-clone-directory').length < 1) {\n return;\n }\n\n const slug = WPStagingCommon.slugify(this.value);\n const $targetDir = $('#wpstg-use-target-dir');\n const $targetUri = $('#wpstg-use-target-hostname');\n let path = $targetDir.data('base-path');\n let uri = $targetUri.data('base-uri');\n\n if (path) {\n path = path.replace(/\\/+$/g, '') + '/' + slug + '/';\n }\n\n if (uri) {\n uri = uri.replace(/\\/+$/g, '') + '/' + slug;\n }\n\n\n $('.wpstg-use-target-dir--value').text(path);\n $('.wpstg-use-target-hostname--value').text(uri);\n\n $targetDir.attr('data-path', path);\n $targetUri.attr('data-uri', uri);\n $('#wpstg_clone_dir').attr('placeholder', path);\n $('#wpstg_clone_hostname').attr('placeholder', uri);\n })\n .on('input', '#wpstg_clone_hostname', function() {\n if ($(this).val() === '' || validateTargetHost()) {\n $('#wpstg_clone_hostname_error').remove();\n return;\n }\n if (!validateTargetHost() && !$('#wpstg_clone_hostname_error').length) {\n $('#wpstg-clone-directory tr:last-of-type').after('<tr><td> </td><td><p id=\"wpstg_clone_hostname_error\" style=\"color: red;\"> Invalid host name. Please provide it in a format like http://example.com</p></td></tr>');\n }\n })\n ;\n\n cloneActions();\n };\n\n /* @returns {boolean} */\n var validateTargetHost = function() {\n const the_domain = $('#wpstg_clone_hostname').val();\n\n if (the_domain === '') {\n return true;\n }\n\n const reg = /^http(s)?:\\/\\/.*$/;\n if (reg.test(the_domain) === false) {\n return false;\n }\n return true;\n };\n\n /**\n * Clone actions\n */\n var cloneActions = function() {\n const $workFlow = cache.get('#wpstg-workflow');\n\n $workFlow\n // Cancel cloning\n .on('click', '#wpstg-cancel-cloning', function() {\n if (!confirm('Are you sure you want to cancel cloning process?')) {\n return false;\n }\n\n const $this = $(this);\n\n $('#wpstg-try-again, #wpstg-home-link').hide();\n $this.prop('disabled', true);\n\n that.isCancelled = true;\n that.progressBar = 0;\n\n $('#wpstg-processing-status').text('Please wait...this can take up a while.');\n $('.wpstg-loader, #wpstg-show-log-button').hide();\n\n $this.parent().append(ajaxSpinner);\n\n cancelCloning();\n })\n // Resume cloning\n .on('click', '#wpstg-resume-cloning', function() {\n resetErrors();\n const $this = $(this);\n\n $('#wpstg-try-again, #wpstg-home-link').hide();\n\n that.isCancelled = false;\n\n $('#wpstg-processing-status').text('Try to resume cloning process...');\n $('#wpstg-error-details').hide();\n $('.wpstg-loader').show();\n\n $this.parent().append(ajaxSpinner);\n\n that.startCloning();\n })\n // Cancel update cloning\n .on('click', '#wpstg-cancel-cloning-update', function() {\n resetErrors();\n\n const $this = $(this);\n\n $('#wpstg-try-again, #wpstg-home-link').hide();\n $this.prop('disabled', true);\n\n that.isCancelled = true;\n\n $('#wpstg-cloning-result').text('Please wait...this can take up a while.');\n $('.wpstg-loader, #wpstg-show-log-button').hide();\n\n $this.parent().append(ajaxSpinner);\n\n cancelCloningUpdate();\n })\n // Restart cloning\n .on('click', '#wpstg-restart-cloning', function() {\n resetErrors();\n\n const $this = $(this);\n\n $('#wpstg-try-again, #wpstg-home-link').hide();\n $this.prop('disabled', true);\n\n that.isCancelled = true;\n\n $('#wpstg-cloning-result').text('Please wait...this can take up a while.');\n $('.wpstg-loader, #wpstg-show-log-button').hide();\n\n $this.parent().append(ajaxSpinner);\n\n restart();\n })\n // Delete clone - confirmation\n .on('click', '.wpstg-remove-clone[data-clone]', function(e) {\n resetErrors();\n e.preventDefault();\n\n const $existingClones = cache.get('#wpstg-existing-clones');\n\n $workFlow.removeClass('active');\n\n cache.get('.wpstg-loader').show();\n\n ajax(\n {\n action: 'wpstg_confirm_delete_clone',\n accessToken: wpstg.accessToken,\n nonce: wpstg.nonce,\n clone: $(this).data('clone'),\n },\n function(response) {\n cache.get('#wpstg-removing-clone').html(response);\n\n $existingClones.children('img').remove();\n\n cache.get('.wpstg-loader').hide();\n\n $('html, body').animate({\n // This logic is meant to be a \"scrollBottom\"\n scrollTop: $('#wpstg-remove-clone').offset().top - $(window).height() +\n $('#wpstg-remove-clone').height() + 50,\n }, 100);\n },\n 'HTML',\n );\n })\n // Delete clone - confirmed\n .on('click', '#wpstg-remove-clone', function(e) {\n resetErrors();\n e.preventDefault();\n\n cache.get('#wpstg-removing-clone').addClass('loading');\n\n cache.get('.wpstg-loader').show();\n\n deleteClone($(this).data('clone'));\n })\n // Cancel deleting clone\n .on('click', '#wpstg-cancel-removing', function(e) {\n e.preventDefault();\n $('.wpstg-clone').removeClass('active');\n cache.get('#wpstg-removing-clone').html('');\n })\n // Update\n .on('click', '.wpstg-execute-clone', function(e) {\n e.preventDefault();\n\n const clone = $(this).data('clone');\n\n $workFlow.addClass('loading');\n that.cloneExcludeFilters = null;\n ajax(\n {\n action: 'wpstg_scanning',\n clone: clone,\n accessToken: wpstg.accessToken,\n nonce: wpstg.nonce,\n },\n function(response) {\n if (response.length < 1) {\n showError(\n 'Something went wrong! Error: No response. Please try the <a href=\\'https://wp-staging.com/docs/wp-staging-settings-for-small-servers/\\' target=\\'_blank\\'>WP Staging Small Server Settings</a> or submit an error report and contact us.',\n );\n }\n\n const jsonResponse = tryParseJson(response);\n if (jsonResponse !== false && jsonResponse.success === false) {\n $workFlow.removeClass('loading');\n showErrorModal(jsonResponse);\n\n return;\n }\n\n $workFlow.removeClass('loading').html(response);\n // register check disk space function for clone update process.\n checkDiskSpace();\n that.directoryNavigator = new WpstgDirectoryNavigation('#wpstg-directories-listing', wpstg, that.notyf);\n that.cloneExcludeFilters = new WpstgExcludeFilters();\n that.switchStep(2);\n },\n 'HTML',\n );\n })\n // Reset Clone\n .on('click', '.wpstg-reset-clone', function(e) {\n e.preventDefault();\n const clone = $(this).data('clone');\n const resetModal = new WpstgResetModal(clone);\n const promise = resetModal.showModal();\n that.areAllTablesChecked = true;\n\n promise.then((result) => {\n if (result.value) {\n const dirNavigator = resetModal.getDirectoryNavigator();\n const exclFilters = resetModal.getExcludeFilters().getExcludeFilters();\n resetClone(clone, {\n includedTables: getIncludedTables(),\n excludeSizeRules: encodeURIComponent(exclFilters.sizes),\n excludeGlobRules: encodeURIComponent(exclFilters.globs),\n excludedDirectories: dirNavigator.getExcludedDirectories(),\n extraDirectories: dirNavigator.getExtraDirectoriesRootOnly(),\n });\n }\n });\n\n return;\n });\n };\n\n /**\n * Ajax Requests\n * @param Object data\n * @param Function callback\n * @param string dataType\n * @param bool showErrors\n * @param int tryCount\n * @param float incrementRatio\n */\n var ajax = function(data, callback, dataType, showErrors, tryCount, incrementRatio = null) {\n if ('undefined' === typeof (dataType)) {\n dataType = 'json';\n }\n\n if (false !== showErrors) {\n showErrors = true;\n }\n\n tryCount = 'undefined' === typeof (tryCount) ? 0 : tryCount;\n\n const retryLimit = 10;\n\n let retryTimeout = 10000 * tryCount;\n\n incrementRatio = parseInt(incrementRatio);\n if (!isNaN(incrementRatio)) {\n retryTimeout *= incrementRatio;\n }\n\n $.ajax({\n url: ajaxurl + '?action=wpstg_processing&_=' + (Date.now() / 1000),\n type: 'POST',\n dataType: dataType,\n cache: false,\n data: data,\n error: function(xhr, textStatus, errorThrown) {\n // try again after 10 seconds\n tryCount++;\n if (tryCount <= retryLimit) {\n setTimeout(function() {\n ajax(data, callback, dataType, showErrors, tryCount, incrementRatio);\n return;\n }, retryTimeout);\n } else {\n const errorCode = 'undefined' === typeof (xhr.status) ? 'Unknown' : xhr.status;\n showError(\n 'Fatal Error: ' + errorCode + ' Please try the <a href=\\'https://wp-staging.com/docs/wp-staging-settings-for-small-servers/\\' target=\\'_blank\\'>WP Staging Small Server Settings</a> or submit an error report and contact us.',\n );\n }\n },\n success: function(data) {\n if ('function' === typeof (callback)) {\n callback(data);\n }\n },\n statusCode: {\n 404: function() {\n if (tryCount >= retryLimit) {\n showError('Error 404 - Can\\'t find ajax request URL! Please try the <a href=\\'https://wp-staging.com/docs/wp-staging-settings-for-small-servers/\\' target=\\'_blank\\'>WP Staging Small Server Settings</a> or submit an error report and contact us.');\n }\n },\n 500: function() {\n if (tryCount >= retryLimit) {\n showError('Fatal Error 500 - Internal server error while processing the request! Please try the <a href=\\'https://wp-staging.com/docs/wp-staging-settings-for-small-servers/\\' target=\\'_blank\\'>WP Staging Small Server Settings</a> or submit an error report and contact us.');\n }\n },\n 504: function() {\n if (tryCount > retryLimit) {\n showError('Error 504 - It looks like your server is rate limiting ajax requests. Please try to resume after a minute. If this still not works try the <a href=\\'https://wp-staging.com/docs/wp-staging-settings-for-small-servers/\\' target=\\'_blank\\'>WP Staging Small Server Settings</a> or submit an error report and contact us.\\n\\ ');\n }\n },\n 502: function() {\n if (tryCount >= retryLimit) {\n showError('Error 502 - It looks like your server is rate limiting ajax requests. Please try to resume after a minute. If this still not works try the <a href=\\'https://wp-staging.com/docs/wp-staging-settings-for-small-servers/\\' target=\\'_blank\\'>WP Staging Small Server Settings</a> or submit an error report and contact us.\\n\\ ');\n }\n },\n 503: function() {\n if (tryCount >= retryLimit) {\n showError('Error 503 - It looks like your server is rate limiting ajax requests. Please try to resume after a minute. If this still not works try the <a href=\\'https://wp-staging.com/docs/wp-staging-settings-for-small-servers/\\' target=\\'_blank\\'>WP Staging Small Server Settings</a> or submit an error report and contact us.\\n\\ ');\n }\n },\n 429: function() {\n if (tryCount >= retryLimit) {\n showError('Error 429 - It looks like your server is rate limiting ajax requests. Please try to resume after a minute. If this still not works try the <a href=\\'https://wp-staging.com/docs/wp-staging-settings-for-small-servers/\\' target=\\'_blank\\'>WP Staging Small Server Settings</a> or submit an error report and contact us.\\n\\ ');\n }\n },\n 403: function() {\n if (tryCount >= retryLimit) {\n showError('Refresh page or login again! The process should be finished successfully. \\n\\ ');\n }\n },\n },\n });\n };\n\n /**\n * Next / Previous Step Clicks to Navigate Through Staging Job\n */\n const stepButtons = function() {\n const $workFlow = cache.get('#wpstg-workflow');\n\n $workFlow\n // Next Button\n .on('click', '.wpstg-next-step-link', function(e) {\n e.preventDefault();\n\n const $this = $(this);\n const isScan = false;\n\n if ($('#wpstg_clone_hostname').length && !validateTargetHost()) {\n $('#wpstg_clone_hostname').focus();\n return false;\n }\n\n if ($this.data('action') === 'wpstg_update' || $this.data('action') === 'wpstg_reset') {\n // Update / Reset Clone - confirmed\n let onlyUpdateMessage = '';\n if ($this.data('action') === 'wpstg_update') {\n onlyUpdateMessage = ' \\n\\nExclude all tables and folders you do not want to overwrite, first! \\n\\nDo not cancel the updating process! This can break your staging site. \\n\\n\\Create a backup of your staging website before you proceed.';\n }\n\n if (!confirm('STOP! This will overwrite your staging site with all selected data from the production site! This should be used only if you want to clone again your production site. Are you sure you want to do this?' + onlyUpdateMessage)) {\n return false;\n }\n }\n\n // Button is disabled\n if ($this.attr('disabled')) {\n return false;\n }\n\n if ($this.data('action') === 'wpstg_cloning') {\n // Verify External Database If Checked and Not Skipped\n if ($('#wpstg-ext-db').is(':checked')) {\n verifyExternalDatabase($this, $workFlow);\n return;\n }\n }\n\n proceedCloning($this, $workFlow);\n })\n // Previous Button\n .on('click', '.wpstg-prev-step-link', function(e) {\n e.preventDefault();\n cache.get('.wpstg-loader').removeClass('wpstg-finished');\n cache.get('.wpstg-loader').hide();\n loadOverview();\n });\n };\n\n /**\n * Get Included (Checked) Database Tables\n * @return {Array}\n */\n const getIncludedTables = function() {\n const includedTables = [];\n\n $('#wpstg_select_tables_cloning option:selected').each(function() {\n includedTables.push(this.value);\n });\n\n return includedTables;\n };\n\n /**\n * Get Excluded (Unchecked) Database Tables\n * Not used anymore!\n * @return {Array}\n */\n const getExcludedTables = function() {\n const excludedTables = [];\n\n $('.wpstg-db-table input:not(:checked)').each(function() {\n excludedTables.push(this.name);\n });\n\n return excludedTables;\n };\n\n /**\n * Verify External Database for Cloning\n */\n var verifyExternalDatabase = function($this, workflow) {\n cache.get('.wpstg-loader').show();\n ajax(\n {\n action: 'wpstg_database_verification',\n accessToken: wpstg.accessToken,\n nonce: wpstg.nonce,\n databaseUser: cache.get('#wpstg_db_username').val(),\n databasePassword: cache.get('#wpstg_db_password').val(),\n databaseServer: cache.get('#wpstg_db_server').val(),\n databaseDatabase: cache.get('#wpstg_db_database').val(),\n },\n function(response) {\n // Undefined Error\n if (false === response) {\n showError(\n 'Something went wrong! Error: No response.' +\n 'Please try again. If that does not help, ' +\n '<a href=\\'https://wp-staging.com/support/\\' target=\\'_blank\\'>open a support ticket</a> ',\n );\n cache.get('.wpstg-loader').hide();\n return;\n }\n\n // Throw Error\n if ('undefined' === typeof (response.success)) {\n showError(\n 'Something went wrong! Error: Invalid response.' +\n 'Please try again. If that does not help, ' +\n '<a href=\\'https://wp-staging.com/support/\\' target=\\'_blank\\'>open a support ticket</a> ',\n );\n cache.get('.wpstg-loader').hide();\n return;\n }\n\n if (response.success) {\n cache.get('.wpstg-loader').hide();\n proceedCloning($this, workflow);\n return;\n }\n\n if (response.error_type === 'comparison') {\n cache.get('.wpstg-loader').hide();\n let render = '<table style=\"width: 100%;\"><thead><tr><th>Property</th><th>Production DB</th><th>Staging DB</th><th>Status</th></tr></thead><tbody>';\n response.checks.forEach((x) => {\n let icon = '<i style=\"color: #00ff00\">✔</i>';\n if (x.production !== x.staging) {\n icon = '<i style=\"color: #ff0000\">❌</i>';\n }\n render += '<tr><td>' + x.name + '</td><td>' + x.production + '</td><td>' + x.staging + '</td><td>' + icon + '</td></tr>';\n });\n render += '</tbody></table><p>Note: Some mySQL properties do not match. You may proceed but the staging site may not work as expected.</p>';\n WPStagingCommon.getSwalModal().fire({\n title: 'Different Database Properties',\n icon: 'warning',\n html: render,\n width: '650px',\n focusConfirm: false,\n confirmButtonText: 'Proceed Anyway',\n showCancelButton: true,\n }).then(function(result) {\n if (result.value) {\n proceedCloning($this, workflow);\n }\n });\n return;\n }\n\n WPStagingCommon.getSwalModal(true).fire({\n title: 'Different Database Properties',\n icon: 'error',\n html: response.message,\n focusConfirm: true,\n confirmButtonText: 'Ok',\n showCancelButton: false,\n });\n cache.get('.wpstg-loader').hide();\n },\n 'json',\n false,\n );\n };\n\n /**\n * Get Cloning Step Data\n */\n const getCloningData = function() {\n if ('wpstg_cloning' !== that.data.action && 'wpstg_update' !== that.data.action && 'wpstg_reset' !== that.data.action) {\n return;\n }\n\n that.data.cloneID = new Date().getTime().toString();\n if ('wpstg_update' === that.data.action) {\n that.data.cloneID = $('#wpstg-new-clone-id').data('clone');\n }\n\n that.data.cloneName = $('#wpstg-new-clone-id').val() || that.data.cloneID;\n\n // Remove this to keep &_POST[] small otherwise mod_security will throw error 404\n // that.data.excludedTables = getExcludedTables();\n\n if (that.directoryNavigator !== null) {\n that.data.excludedDirectories = encodeURIComponent(that.directoryNavigator.getExcludedDirectories());\n that.data.extraDirectories = encodeURIComponent(that.directoryNavigator.getExtraDirectoriesRootOnly());\n }\n\n that.data.excludeGlobRules = '';\n that.data.excludeSizeRules = '';\n if (that.cloneExcludeFilters instanceof WpstgExcludeFilters) {\n const rules = that.cloneExcludeFilters.getExcludeFilters();\n that.data.excludeGlobRules = encodeURIComponent(rules.globs);\n that.data.excludeSizeRules = encodeURIComponent(rules.sizes);\n }\n\n that.data.includedTables = getIncludedTables();\n that.data.databaseServer = $('#wpstg_db_server').val();\n that.data.databaseUser = $('#wpstg_db_username').val();\n that.data.databasePassword = $('#wpstg_db_password').val();\n that.data.databaseDatabase = $('#wpstg_db_database').val();\n that.data.databasePrefix = $('#wpstg_db_prefix').val();\n const cloneDir = $('#wpstg_clone_dir').val();\n that.data.cloneDir = encodeURIComponent($.trim(cloneDir));\n that.data.cloneHostname = $('#wpstg_clone_hostname').val();\n that.data.emailsAllowed = $('#wpstg_allow_emails').is(':checked');\n that.data.uploadsSymlinked = $('#wpstg_symlink_upload').is(':checked');\n that.data.cleanPluginsThemes = $('#wpstg-clean-plugins-themes').is(':checked');\n that.data.cleanUploadsDir = $('#wpstg-clean-uploads').is(':checked');\n };\n\n var proceedCloning = function($this, workflow) {\n // Add loading overlay\n workflow.addClass('loading');\n\n // Prepare data\n that.data = {\n action: $this.data('action'),\n accessToken: wpstg.accessToken,\n nonce: wpstg.nonce,\n };\n\n // Cloning data\n getCloningData();\n\n sendCloningAjax(workflow);\n };\n\n var sendCloningAjax = function(workflow) {\n // Send ajax request\n ajax(\n that.data,\n function(response) {\n // Undefined Error\n if (false === response) {\n showError(\n 'Something went wrong!<br/><br/> Go to WP Staging > Settings and lower \\'File Copy Limit\\' and \\'DB Query Limit\\'. Also set \\'CPU Load Priority to low \\'' +\n 'and try again. If that does not help, ' +\n '<a href=\\'https://wp-staging.com/support/\\' target=\\'_blank\\'>open a support ticket</a> ',\n );\n }\n\n\n if (response.length < 1) {\n showError(\n 'Something went wrong! No response. Go to WP Staging > Settings and lower \\'File Copy Limit\\' and \\'DB Query Limit\\'. Also set \\'CPU Load Priority to low \\'' +\n 'and try again. If that does not help, ' +\n '<a href=\\'https://wp-staging.com/support/\\' target=\\'_blank\\'>open a support ticket</a> ',\n );\n }\n\n const jsonResponse = tryParseJson(response);\n if (jsonResponse !== false && jsonResponse.success === false) {\n workflow.removeClass('loading');\n showErrorModal(jsonResponse);\n\n return;\n }\n\n // Styling of elements\n workflow.removeClass('loading').html(response);\n that.cloneExcludeFilters = null;\n if (that.data.action === 'wpstg_scanning') {\n that.areAllTablesChecked = true;\n that.directoryNavigator = new WpstgDirectoryNavigation('#wpstg-directories-listing', wpstg, that.notyf);\n that.switchStep(2);\n that.cloneExcludeFilters = new WpstgExcludeFilters();\n } else if (that.data.action === 'wpstg_cloning' || that.data.action === 'wpstg_update' || that.data.action === 'wpstg_reset') {\n that.switchStep(3);\n }\n\n // Start cloning\n that.startCloning();\n },\n 'HTML',\n );\n };\n\n var showErrorModal = function(response) {\n const errorModal = new WpstgModal('wpstg_modal_error', wpstg);\n errorModal.show(Object.assign({\n title: 'Error',\n icon: 'error',\n html: wpstg.i18n['somethingWentWrong'],\n width: '500px',\n confirmButtonText: 'Ok',\n showCancelButton: false,\n customClass: {\n confirmButton: 'wpstg--btn--confirm wpstg-blue-primary wpstg-button wpstg-link-btn',\n cancelButton: 'wpstg--btn--cancel wpstg-blue-primary wpstg-link-btn',\n actions: 'wpstg--modal--actions',\n popup: 'wpstg-swal-popup centered-modal',\n },\n buttonsStyling: false,\n reverseButtons: true,\n }, response.swalOptions), {\n type: response.type,\n });\n };\n\n const tryParseJson = function(json) {\n // early bail if not string\n if (!json) {\n return false;\n }\n\n try {\n const object = JSON.parse(json);\n if (object && typeof object === 'object') {\n return object;\n }\n } catch (e) {\n // do nothing on catch\n }\n\n return false;\n };\n\n var resetClone = function(clone, excludeOptions) {\n that.data = {\n action: 'wpstg_reset',\n accessToken: wpstg.accessToken,\n nonce: wpstg.nonce,\n cloneID: clone,\n };\n\n that.data = {...that.data, ...excludeOptions};\n\n const $workFlow = cache.get('#wpstg-workflow');\n sendCloningAjax($workFlow);\n };\n\n /**\n * Loads Overview (first step) of Staging Job\n */\n var loadOverview = function() {\n const $workFlow = cache.get('#wpstg-workflow');\n\n $workFlow.addClass('loading');\n\n ajax(\n {\n action: 'wpstg_overview',\n accessToken: wpstg.accessToken,\n nonce: wpstg.nonce,\n },\n function(response) {\n if (response.length < 1) {\n showError(\n 'Something went wrong! No response. Please try the <a href=\\'https://wp-staging.com/docs/wp-staging-settings-for-small-servers/\\' target=\\'_blank\\'>WP Staging Small Server Settings</a> or submit an error report.',\n );\n }\n\n const $currentStep = cache.get('.wpstg-current-step');\n\n // Styling of elements\n $workFlow.removeClass('loading').html(response);\n },\n 'HTML',\n );\n\n that.switchStep(1);\n cache.get('.wpstg-step3-cloning').show();\n cache.get('.wpstg-step3-pushing').hide();\n };\n\n /**\n * Load Tabs\n */\n const tabs = function() {\n cache.get('#wpstg-workflow').on('click', '.wpstg-tab-header', function(e) {\n e.preventDefault();\n\n const $this = $(this);\n const $section = cache.get($this.data('id'));\n\n $this.toggleClass('expand');\n\n $section.slideToggle();\n\n const tabTriangle = $this.find('.wpstg-tab-triangle');\n\n if ($this.hasClass('expand')) {\n tabTriangle.removeClass('wpstg-no-icon');\n tabTriangle.text('');\n tabTriangle.addClass('wpstg-rotate-90');\n } else {\n tabTriangle.removeClass('wpstg-rotate-90');\n }\n });\n };\n\n /**\n * Delete Clone\n * @param {String} clone\n */\n var deleteClone = function(clone) {\n const deleteDir = $('#deleteDirectory:checked').data('deletepath');\n\n ajax(\n {\n action: 'wpstg_delete_clone',\n clone: clone,\n accessToken: wpstg.accessToken,\n nonce: wpstg.nonce,\n excludedTables: getExcludedTables(),\n deleteDir: deleteDir,\n },\n function(response) {\n if (response) {\n showAjaxFatalError(response);\n\n // Finished\n if ('undefined' !== typeof response.delete && (response.delete === 'finished' || response.delete === 'unfinished')) {\n cache.get('#wpstg-removing-clone').removeClass('loading').html('');\n\n if (response.delete === 'finished' && response.error === undefined) {\n $('.wpstg-clone[data-clone-id=\"' + clone + '\"]').remove();\n }\n\n // No staging site message is also of type/class .wpstg-class but hidden\n // We have just excluded that from search when counting no of clones\n if ($('#wpstg-existing-clones .wpstg-clone').length < 1) {\n cache.get('#wpstg-existing-clones').find('h3').text('');\n cache.get('#wpstg-no-staging-site-results').show();\n }\n\n cache.get('.wpstg-loader').hide();\n return;\n }\n }\n // continue\n if (true !== response) {\n deleteClone(clone);\n return;\n }\n },\n );\n };\n\n /**\n * Cancel Cloning Process\n */\n var cancelCloning = function() {\n that.timer('stop');\n\n\n if (true === that.isFinished) {\n return true;\n }\n\n ajax(\n {\n action: 'wpstg_cancel_clone',\n clone: that.data.cloneID,\n accessToken: wpstg.accessToken,\n nonce: wpstg.nonce,\n },\n function(response) {\n if (response && 'undefined' !== typeof (response.delete) && response.delete === 'finished') {\n cache.get('.wpstg-loader').hide();\n // Load overview\n loadOverview();\n return;\n }\n\n if (true !== response) {\n // continue\n cancelCloning();\n return;\n }\n\n // Load overview\n loadOverview();\n },\n );\n };\n\n /**\n * Cancel Cloning Process\n */\n var cancelCloningUpdate = function() {\n if (true === that.isFinished) {\n return true;\n }\n\n ajax(\n {\n action: 'wpstg_cancel_update',\n clone: that.data.cloneID,\n accessToken: wpstg.accessToken,\n nonce: wpstg.nonce,\n },\n function(response) {\n if (response && 'undefined' !== typeof (response.delete) && response.delete === 'finished') {\n // Load overview\n loadOverview();\n return;\n }\n\n if (true !== response) {\n // continue\n cancelCloningUpdate();\n return;\n }\n\n // Load overview\n loadOverview();\n },\n );\n };\n\n /**\n * Cancel Cloning Process\n */\n var restart = function() {\n if (true === that.isFinished) {\n return true;\n }\n\n ajax(\n {\n action: 'wpstg_restart',\n // clone: that.data.cloneID,\n accessToken: wpstg.accessToken,\n nonce: wpstg.nonce,\n },\n function(response) {\n if (response && 'undefined' !== typeof (response.delete) && response.delete === 'finished') {\n // Load overview\n loadOverview();\n return;\n }\n\n if (true !== response) {\n // continue\n cancelCloningUpdate();\n return;\n }\n\n // Load overview\n loadOverview();\n },\n );\n };\n\n /**\n * Scroll the window log to bottom\n * @return void\n */\n const logscroll = function() {\n const $div = cache.get('.wpstg-log-details');\n if ('undefined' !== typeof ($div[0])) {\n $div.scrollTop($div[0].scrollHeight);\n }\n };\n\n /**\n * Append the log to the logging window\n * @param string log\n * @return void\n */\n const getLogs = function(log) {\n if (log != null && 'undefined' !== typeof (log)) {\n if (log.constructor === Array) {\n $.each(log, function(index, value) {\n if (value === null) {\n return;\n }\n if (value.type === 'ERROR') {\n cache.get('.wpstg-log-details').append('<span class=\"wpstg--red\">[' + value.type + ']</span>-' + '[' + value.date + '] ' + value.message + '</br>');\n } else {\n cache.get('.wpstg-log-details').append('[' + value.type + ']-' + '[' + value.date + '] ' + value.message + '</br>');\n }\n });\n } else {\n cache.get('.wpstg-log-details').append('[' + log.type + ']-' + '[' + log.date + '] ' + log.message + '</br>');\n }\n }\n logscroll();\n };\n\n /**\n * Check diskspace\n * @return string json\n */\n var checkDiskSpace = function() {\n cache.get('#wpstg-check-space').on('click', function(e) {\n cache.get('.wpstg-loader').show();\n const excludedDirectories = encodeURIComponent(that.directoryNavigator.getExcludedDirectories());\n const extraDirectories = encodeURIComponent(that.directoryNavigator.getExtraDirectoriesRootOnly());\n\n ajax(\n {\n action: 'wpstg_check_disk_space',\n accessToken: wpstg.accessToken,\n nonce: wpstg.nonce,\n excludedDirectories: excludedDirectories,\n extraDirectories: extraDirectories,\n },\n function(response) {\n if (false === response) {\n cache.get('#wpstg-clone-id-error').text('Can not detect required disk space').show();\n cache.get('.wpstg-loader').hide();\n return;\n }\n\n // Show required disk space\n cache.get('#wpstg-clone-id-error').html(\n 'Estimated necessary disk space: ' + response.requiredSpace +\n (response.errorMessage !== null ? ('<br>' + response.errorMessage) : '') +\n '<br> <span style=\"color:#444;\">Before you proceed ensure your account has enough free disk space to hold the entire instance of the production site. You can check the available space from your hosting account (cPanel or similar).</span>').show();\n cache.get('.wpstg-loader').hide();\n },\n 'json',\n false,\n );\n });\n };\n\n /**\n * Show or hide animated loading icon\n * @param isLoading bool\n */\n const isLoading = function(isLoading) {\n if (!isLoading || isLoading === false) {\n cache.get('.wpstg-loader').hide();\n } else {\n cache.get('.wpstg-loader').show();\n }\n };\n\n /**\n * Count up processing execution time\n * @param string status\n * @return html\n */\n that.timer = function(status) {\n if (status === 'stop') {\n const time = that.time;\n that.time = 1;\n clearInterval(that.executionTime);\n return that.convertSeconds(time);\n }\n\n\n that.executionTime = setInterval(function() {\n if (null !== document.getElementById('wpstg-processing-timer')) {\n document.getElementById('wpstg-processing-timer').innerHTML = 'Elapsed Time: ' + that.convertSeconds(that.time);\n }\n that.time++;\n if (status === 'stop') {\n that.time = 1;\n clearInterval(that.executionTime);\n }\n }, 1000);\n };\n\n /**\n * Convert seconds to hourly format\n * @param int seconds\n * @return string\n */\n that.convertSeconds = function(seconds) {\n const date = new Date(null);\n date.setSeconds(seconds); // specify value for SECONDS here\n return date.toISOString().substr(11, 8);\n };\n\n /**\n * Start Cloning Process\n * @type {Function}\n */\n that.startCloning = (function() {\n resetErrors();\n\n // Register function for checking disk space\n checkDiskSpace();\n\n if ('wpstg_cloning' !== that.data.action && 'wpstg_update' !== that.data.action && 'wpstg_reset' !== that.data.action) {\n return;\n }\n\n that.isCancelled = false;\n\n // Start the process\n start();\n\n // Functions\n // Start\n function start() {\n cache.get('.wpstg-loader').show();\n cache.get('#wpstg-cancel-cloning').text('Cancel');\n cache.get('#wpstg-resume-cloning').hide();\n cache.get('#wpstg-error-details').hide();\n\n\n // Clone Database\n setTimeout(function() {\n // cloneDatabase();\n window.addEventListener('beforeunload', WPStaging.warnIfClosingDuringProcess);\n processing();\n }, wpstg.delayReq);\n\n that.timer('start');\n }\n\n\n /**\n * Start ajax processing\n * @return string\n */\n var processing = function() {\n if (true === that.isCancelled) {\n window.removeEventListener('beforeunload', WPStaging.warnIfClosingDuringProcess);\n return false;\n }\n\n isLoading(true);\n\n let excludedDirectories = '';\n let extraDirectories = '';\n if (that.directoryNavigator !== null) {\n excludedDirectories = that.directoryNavigator.getExcludedDirectories();\n extraDirectories = that.directoryNavigator.getExtraDirectoriesRootOnly();\n }\n\n // Show logging window\n cache.get('.wpstg-log-details').show();\n\n WPStaging.ajax(\n {\n action: 'wpstg_processing',\n accessToken: wpstg.accessToken,\n nonce: wpstg.nonce,\n excludedTables: getExcludedTables(),\n excludedDirectories: encodeURIComponent(excludedDirectories),\n extraDirectories: encodeURIComponent(extraDirectories),\n },\n function(response) {\n showAjaxFatalError(response);\n\n // Add Log messages\n if ('undefined' !== typeof (response.last_msg) && response.last_msg) {\n getLogs(response.last_msg);\n }\n // Continue processing\n if (false === response.status) {\n progressBar(response);\n\n setTimeout(function() {\n cache.get('.wpstg-loader').show();\n processing();\n }, wpstg.delayReq);\n } else if (true === response.status && 'finished' !== response.status) {\n cache.get('#wpstg-error-details').hide();\n cache.get('#wpstg-error-wrapper').hide();\n progressBar(response, true);\n processing();\n } else if ('finished' === response.status || ('undefined' !== typeof (response.job_done) && response.job_done)) {\n window.removeEventListener('beforeunload', WPStaging.warnIfClosingDuringProcess);\n finish(response);\n }\n ;\n },\n 'json',\n false,\n );\n };\n\n // Finish\n function finish(response) {\n if (true === that.getLogs) {\n getLogs();\n }\n\n progressBar(response);\n\n // Add Log\n if ('undefined' !== typeof (response.last_msg)) {\n getLogs(response.last_msg);\n }\n\n cache.get('.wpstg-loader').hide();\n cache.get('#wpstg-processing-header').html('Processing Complete');\n $('#wpstg-processing-status').text('Succesfully finished');\n\n cache.get('#wpstg_staging_name').html(that.data.cloneID);\n cache.get('#wpstg-finished-result').show();\n cache.get('#wpstg-cancel-cloning').hide();\n cache.get('#wpstg-resume-cloning').hide();\n cache.get('#wpstg-cancel-cloning-update').prop('disabled', true);\n\n const $link1 = cache.get('#wpstg-clone-url-1');\n const $link = cache.get('#wpstg-clone-url');\n $link1.attr('href', response.url);\n $link1.html(response.url);\n $link.attr('href', response.url);\n\n cache.get('#wpstg-remove-clone').data('clone', that.data.cloneID);\n\n // Finished\n that.isFinished = true;\n that.timer('stop');\n\n\n cache.get('.wpstg-loader').hide();\n cache.get('#wpstg-processing-header').html('Processing Complete');\n\n // show alert\n let msg = wpstg.i18n.cloneResetComplete;\n if (that.data.action === 'wpstg_update') {\n msg = wpstg.i18n.cloneUpdateComplete;\n }\n\n if (that.data.action === 'wpstg_update' || that.data.action === 'wpstg_reset') {\n cache.get('#wpstg-cancel-cloning-update').hide();\n cache.get('.wpstg-prev-step-link').show();\n\n WPStagingCommon.getSwalModal(true, {\n confirmButton: 'wpstg--btn--confirm wpstg-green-button wpstg-button wpstg-link-btn wpstg-100-width',\n }).fire({\n title: '',\n icon: 'success',\n html: msg,\n width: '500px',\n focusConfirm: true,\n });\n }\n\n return false;\n }\n\n /**\n * Add percentage progress bar\n * @param object response\n * @return {Boolean}\n */\n var progressBar = function(response, restart) {\n if ('undefined' === typeof (response.percentage)) {\n return false;\n }\n\n if (response.job === 'database') {\n cache.get('#wpstg-progress-db').width(response.percentage * 0.2 + '%').html(response.percentage + '%');\n cache.get('#wpstg-processing-status').html(response.percentage.toFixed(0) + '%' + ' - Step 1 of 4 Cloning Database Tables...');\n }\n\n if (response.job === 'SearchReplace') {\n cache.get('#wpstg-progress-db').css('background-color', '#3bc36b');\n cache.get('#wpstg-progress-db').html('1. Database');\n // Assumption: All previous steps are done.\n // This avoids bugs where some steps are skipped and the progress bar is incomplete as a result\n cache.get('#wpstg-progress-db').width('20%');\n\n cache.get('#wpstg-progress-sr').width(response.percentage * 0.1 + '%').html(response.percentage + '%');\n cache.get('#wpstg-processing-status').html(response.percentage.toFixed(0) + '%' + ' - Step 2 of 4 Preparing Database Data...');\n }\n\n if (response.job === 'directories') {\n cache.get('#wpstg-progress-sr').css('background-color', '#3bc36b');\n cache.get('#wpstg-progress-sr').html('2. Data');\n cache.get('#wpstg-progress-sr').width('10%');\n\n cache.get('#wpstg-progress-dirs').width(response.percentage * 0.1 + '%').html(response.percentage + '%');\n cache.get('#wpstg-processing-status').html(response.percentage.toFixed(0) + '%' + ' - Step 3 of 4 Getting files...');\n }\n if (response.job === 'files') {\n cache.get('#wpstg-progress-dirs').css('background-color', '#3bc36b');\n cache.get('#wpstg-progress-dirs').html('3. Files');\n cache.get('#wpstg-progress-dirs').width('10%');\n\n cache.get('#wpstg-progress-files').width(response.percentage * 0.6 + '%').html(response.percentage + '%');\n cache.get('#wpstg-processing-status').html(response.percentage.toFixed(0) + '%' + ' - Step 4 of 4 Copy files...');\n }\n if (response.job === 'finish') {\n cache.get('#wpstg-progress-files').css('background-color', '#3bc36b');\n cache.get('#wpstg-progress-files').html('4. Copy Files');\n cache.get('#wpstg-progress-files').width('60%');\n\n cache.get('#wpstg-processing-status').html(response.percentage.toFixed(0) + '%' + ' - Cloning Process Finished');\n }\n };\n });\n\n that.switchStep = function(step) {\n cache.get('.wpstg-current-step')\n .removeClass('wpstg-current-step');\n cache.get('.wpstg-step' + step)\n .addClass('wpstg-current-step');\n };\n\n /**\n * Initiation\n * @type {Function}\n */\n that.init = (function() {\n loadOverview();\n elements();\n stepButtons();\n tabs();\n WPStagingCommon.listenTooltip();\n new WpstgMainMenu();\n new WpstgCloneStaging();\n new WpstgCloningAdvanceSettings();\n that.notyf = new Notyf({\n duration: 10000,\n position: {\n x: 'center',\n y: 'bottom',\n },\n dismissible: true,\n types: [\n {\n type: 'warning',\n background: 'orange',\n icon: false,\n },\n ],\n });\n });\n\n /**\n * Ajax call\n * @type {ajax}\n */\n that.ajax = ajax;\n that.showError = showError;\n that.getLogs = getLogs;\n that.loadOverview = loadOverview;\n\n return that;\n})(jQuery);\n\njQuery(document).ready(function() {\n WPStaging.init();\n // This is necessary to make WPStaging var accessibile in WP Staging PRO js script\n window.WPStaging = WPStaging;\n});\n\n/**\n * Report Issue modal\n */\njQuery(document).ready(function($) {\n $('body').on('click', '#wpstg-report-issue-button', function(e) {\n console.log('REPORT');\n $('.wpstg--tab--active .wpstg-report-issue-form').toggleClass('wpstg-report-show');\n e.preventDefault();\n });\n\n $('body').on('click', '#wpstg-backups-report-issue-button', function(e) {\n $('.wpstg--tab--active .wpstg-report-issue-form').toggleClass('wpstg-report-show');\n e.preventDefault();\n });\n\n $('body').on('click', '#wpstg-report-cancel', function(e) {\n $('.wpstg--tab--active .wpstg-report-issue-form').removeClass('wpstg-report-show');\n e.preventDefault();\n });\n\n $('body').on('click', '.wpstg--tab--active #wpstg-report-submit', function(e) {\n const self = $(this);\n sendIssueReport(self, 'false');\n e.preventDefault();\n });\n\n /*\n * Close Success Modal\n */\n\n $('body').on('click', '#wpstg-success-button', function(e) {\n e.preventDefault();\n $('.wpstg-report-issue-form').removeClass('wpstg-report-show');\n });\n\n function sendIssueReport(button, forceSend = 'false') {\n const spinner = button.next();\n const email = $('.wpstg--tab--active .wpstg-report-email').val();\n const hosting_provider = $('.wpstg--tab--active .wpstg-report-hosting-provider').val();\n const message = $('.wpstg--tab--active .wpstg-report-description').val();\n const syslog = $('.wpstg--tab--active .wpstg-report-syslog').is(':checked');\n const terms = $('.wpstg--tab--active .wpstg-report-terms').is(':checked');\n\n button.attr('disabled', true);\n spinner.css('visibility', 'visible');\n\n $.ajax({\n url: ajaxurl,\n type: 'POST',\n dataType: 'json',\n async: true,\n data: {\n 'action': 'wpstg_send_report',\n 'accessToken': wpstg.accessToken,\n 'nonce': wpstg.nonce,\n 'wpstg_email': email,\n 'wpstg_provider': hosting_provider,\n 'wpstg_message': message,\n 'wpstg_syslog': +syslog,\n 'wpstg_terms': +terms,\n 'wpstg_force_send': forceSend,\n },\n }).done(function(data) {\n button.attr('disabled', false);\n spinner.css('visibility', 'hidden');\n\n if (data.errors.length > 0) {\n $('.wpstg--tab--active .wpstg-report-issue-form .wpstg-message').remove();\n\n let errorMessage = $('<div />').addClass('wpstg-message wpstg-error-message');\n $.each(data.errors, function(key, value) {\n if (value.status === 'already_submitted') {\n errorMessage = '';\n // TODO: remove default custom classes\n WPStagingCommon.getSwalModal(true, {\n container: 'wpstg-issue-resubmit-confirmation',\n }).fire({\n title: '',\n icon: 'warning',\n html: value.message,\n showCancelButton: true,\n focusConfirm: false,\n confirmButtonText: 'Yes',\n cancelButtonText: 'No',\n }).then((result) => {\n if (result.isConfirmed) {\n sendIssueReport(button, 'true');\n }\n });\n } else {\n errorMessage.append('<p>' + value + '</p>');\n }\n });\n\n $('.wpstg--tab--active .wpstg-report-issue-form').prepend(errorMessage);\n } else {\n const successMessage = $('<div />').addClass('wpstg-message wpstg-success-message');\n successMessage.append('<p>Thanks for submitting your request! You should receive an auto reply mail with your ticket ID immediately for confirmation!<br><br>If you do not get that mail please contact us directly at <strong>support@wp-staging.com</strong></p>');\n\n $('.wpstg--tab--active .wpstg-report-issue-form').html(successMessage);\n $('.wpstg--tab--active .wpstg-success-message').append('<div style=\"float:right;margin-top:10px;\"><a id=\"wpstg-success-button\" href=\"#\" class=\"wpstg--red\">[X] CLOSE</a></div>');\n\n // Hide message\n setTimeout(function() {\n $('.wpstg--tab--active .wpstg-report-issue-form').removeClass('wpstg-report-active');\n }, 2000);\n }\n });\n }\n\n // Open/close actions drop down menu\n $(document).on('click', '.wpstg-dropdown>.wpstg-dropdown-toggler', function(e) {\n e.preventDefault();\n $(e.target).next('.wpstg-dropdown-menu').toggleClass('shown');\n\n $(e.target).find('.wpstg-caret').toggleClass('wpstg-caret-up');\n });\n\n $(document).on('click', '.wpstg-caret', function(e) {\n e.preventDefault();\n\n const toggler = $(e.target).closest('.wpstg-dropdown-toggler');\n\n if (toggler) {\n toggler.trigger('click');\n }\n });\n\n // Close action drop down menu if clicked anywhere outside\n document.addEventListener('click', function(event) {\n const isClickInside = event.target.closest('.wpstg-dropdown-toggler');\n if (!isClickInside) {\n const dropDown = document.getElementsByClassName('wpstg-dropdown-menu');\n for (let i = 0; i < dropDown.length; i++) {\n dropDown[i].classList.remove('shown');\n }\n $('.wpstg-caret').removeClass('wpstg-caret-up');\n }\n });\n});\n"],"names":["qs","selector","document","querySelector","all","querySelectorAll","addEvent","parent","evt","handler","addEventListener","event","target","matches","closest","slideDown","element","duration","style","display","overflow","height","offsetHeight","transitionProperty","transitionDuration","setTimeout","window","removeProperty","slideUp","getNextSibling","sibling","nextElementSibling","getParents","result","parentElement","push","WpstgCloneStaging","pageWrapperId","wpstgObject","wpstg","pageWrapper","dom","enableButtonId","enableAction","notyf","Notyf","position","x","y","dismissible","types","type","background","icon","init","addEvents","sendRequest","action","fetch","ajaxUrl","method","credentials","body","URLSearchParams","accessToken","nonce","headers","then","response","ok","json","Promise","reject","data","success","location","reload","message","error","i18n","console","warn","WpstgDirectoryNavigation","directoryListingSelector","directoryListingContainer","dirCheckboxSelector","dirExpandSelector","unselectAllDirsSelector","selectDefaultDirsSelector","fetchChildrenAction","currentCheckboxElement","currentParentDiv","currentLoader","existingExcludes","excludedDirectories","isDefaultSelected","log","preventDefault","toggleDirExpand","unselectAll","selectDefault","parseExcludes","previousSibling","getAttribute","dirPath","value","isChecked","checked","forceDefault","setAttribute","dirContainer","createElement","classList","add","innerHTML","JSON","parse","directoryListing","appendChild","alert","getExcludedDirectories","forEach","isParentExcluded","exclude","isExcludeScanned","join","settings","directorySeparator","path","isParentAlreadyExcluded","dir","startsWith","getExtraDirectoriesRootOnly","extraDirectories","extraDirectoriesTextArea","extraCustomDirectories","split","concat","length","WpstgExcludeFilters","excludeFilterContainerSelector","excludeContainer","excludeTableBody","addFileSizeExclude","addFileExtExclude","addFileNameExclude","addDirNameExclude","clearExcludes","removeExclude","addExcludeRuleRow","templateName","excludeRowTemplate","clone","content","cloneNode","excludeRow","e","removeChild","trim","getExcludeFilters","globExcludes","sizeExcludes","sizeCompares","sizeSizes","sizeByte","Object","entries","key","sizeInput","extensionInputs","ext","cleanStringForGlob","fileNamesPos","fileNames","fileInput","fileName","dirNamesPos","dirNames","dirInput","dirName","filter","onlyUnique","index","self","indexOf","replace","WpstgModal","confirmAction","show","swalOptions","additionalParams","callback","wpstgSwal","fire","triggerConfirmAction","assign","onOver","onOut","pX","pY","mouseOver","focused","h","state","timer","options","sensitivity","interval","timeout","handleFocus","delay","el","clearTimeout","undefined","tracker","clientX","clientY","compare","Math","abs","opt","focusOptionChanged","addFocus","removeFocus","dispatchOver","removeEventListener","onMouseOver","dispatchOut","onMouseOut","dispatchFocus","onFocus","dispatchBlur","onBlur","remove","$","WPStagingCommon","continueErrorHandle","cache","elements","get","inArray","refresh","listenTooltip","wpstgHoverIntent","visibility","isEmpty","obj","prop","hasOwnProperty","getSwalModal","isContentCentered","customClasses","defaultCustomClasses","confirmButton","cancelButton","actions","popup","customClass","buttonsStyling","reverseButtons","showClass","mixin","showSuccessModal","htmlContent","showConfirmButton","showCancelButton","cancelButtonText","title","html","showWarningModal","showErrorModal","getSwalContainer","getContainer","closeSwalModal","close","getDataFromWordPressResponse","Error","Array","shift","isLoading","hide","slugify","url","toString","toLowerCase","normalize","showAjaxFatalError","prependMessage","appendMessage","showError","WPStaging","warnIfClosingDuringProcess","handleFetchErrors","status","statusText","css","text","removeClass","resetErrors","ajax","dataType","showErrors","tryCount","incrementRatio","errorCallback","retryLimit","retryTimeout","parseInt","isNaN","ajaxurl","Date","now","xhr","textStatus","errorThrown","errorCode","statusCode","jQuery","WpstgResetModal","cloneID","workflowSelector","fetchExcludeSettingsAction","modalErrorAction","workflow","resetButtonClass","resetModalContainerClass","resetTabSelector","directoryNavigator","excludeFilters","isAllTablesChecked","resetModalContainer","toggleContent","selectDefaultTables","toggleTableSelection","toggleDirectoryNavigation","updateDirectorySelection","contentId","tabTriangle","isCollapsed","contains","transform","showModal","swalPromise","loadModal","fetchCloneExcludes","container","getAjaxLoader","width","focusConfirm","confirmButtonText","resetClone","job","errorModal","modal","renderError","getDirectoryNavigator","wpstgIcon","cbElement","subDirectories","parElem","i","children","multisitePattern","tblprefix","singleSitePattern","option","name","isMultisite","match","removeAttribute","WpstgCloningAdvanceSettings","baseContainerSelector","baseContainer","checkBoxSettingTogglerSelector","toggleSettings","WpstgMainMenu","activeTabClass","mainMenu","tabHeader","$this","targetElements","menuItems","contents","menuItem","targetElement","dispatchEvent","Event","that","isCancelled","isFinished","getLogs","time","executionTime","progressBar","cloneExcludeFilters","areAllTablesChecked","ajaxSpinner","returnValue","$workFlow","urlSpinner","devicePixelRatio","on","each","attr","siblings","slideToggle","$directory","parents","find","addClass","getElementById","clearInterval","removeAttr","cloneDirectoryName","directoryName","slug","$targetDir","$targetUri","uri","val","validateTargetHost","after","cloneActions","the_domain","reg","test","confirm","append","cancelCloning","startCloning","cancelCloningUpdate","restart","$existingClones","animate","scrollTop","offset","top","deleteClone","jsonResponse","tryParseJson","checkDiskSpace","switchStep","resetModal","promise","dirNavigator","exclFilters","includedTables","getIncludedTables","excludeSizeRules","encodeURIComponent","sizes","excludeGlobRules","globs","stepButtons","focus","onlyUpdateMessage","is","verifyExternalDatabase","proceedCloning","loadOverview","getExcludedTables","excludedTables","databaseUser","databasePassword","databaseServer","databaseDatabase","error_type","render","checks","production","staging","getCloningData","getTime","cloneName","rules","databasePrefix","cloneDir","cloneHostname","emailsAllowed","uploadsSymlinked","cleanPluginsThemes","cleanUploadsDir","sendCloningAjax","object","excludeOptions","tabs","$section","toggleClass","hasClass","deleteDir","logscroll","$div","scrollHeight","constructor","date","requiredSpace","errorMessage","convertSeconds","setInterval","seconds","setSeconds","toISOString","substr","start","processing","delayReq","last_msg","job_done","finish","$link1","$link","msg","cloneResetComplete","cloneUpdateComplete","percentage","toFixed","step","ready","sendIssueReport","button","forceSend","spinner","next","email","hosting_provider","syslog","terms","async","done","errors","isConfirmed","prepend","successMessage","toggler","trigger","isClickInside","dropDown","getElementsByClassName"],"mappings":"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"}
|
assets/js/dist/wpstg-admin.min.js
CHANGED
@@ -1,2 +1,2 @@
|
|
1 |
-
!function(){"use strict";function e(){return(e=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var s=arguments[t];for(var n in s)Object.prototype.hasOwnProperty.call(s,n)&&(e[n]=s[n])}return e}).apply(this,arguments)}function t(e){return document.querySelector(e)}function s(e){return document.querySelectorAll(e)}function n(e,t,s,n){e.addEventListener(t,(function(e){e.target.matches(s+", "+s+" *")&&n(e.target.closest(s),e)}),!1)}function r(e,t){void 0===t&&(t=400),e.style.display="block",e.style.overflow="hidden";var s=e.offsetHeight;e.style.height="0px",e.style.transitionProperty="height",e.style.transitionDuration=t+"ms",setTimeout((function(){e.style.height=s+"px",window.setTimeout((function(){e.style.removeProperty("height"),e.style.removeProperty("overflow"),e.style.removeProperty("transition-duration"),e.style.removeProperty("transition-property")}),t)}),0)}function o(e,t){void 0===t&&(t=400),e.style.display="block",e.style.overflow="hidden";var s=e.offsetHeight;e.style.height=s+"px",e.style.transitionProperty="height",e.style.transitionDuration=t+"ms",setTimeout((function(){e.style.height="0px",window.setTimeout((function(){e.style.display="none",e.style.removeProperty("height"),e.style.removeProperty("overflow"),e.style.removeProperty("transition-duration"),e.style.removeProperty("transition-property")}),t)}),0)}var i=function(){function e(e,s){void 0===e&&(e="#wpstg-clonepage-wrapper"),void 0===s&&(s=wpstg),this.pageWrapper=t(e),this.wpstgObject=s,this.enableButtonId="#wpstg-enable-staging-cloning",this.enableAction="wpstg_enable_staging_cloning",this.notyf=new Notyf({duration:1e4,position:{x:"center",y:"bottom"},dismissible:!0,types:[{type:"warning",background:"orange",icon:!1}]}),this.init()}var s=e.prototype;return s.addEvents=function(){var e=this;null!==this.pageWrapper&&n(this.pageWrapper,"click",this.enableButtonId,(function(){e.sendRequest(e.enableAction)}))},s.init=function(){this.addEvents()},s.sendRequest=function(e){var t=this;fetch(this.wpstgObject.ajaxUrl,{method:"POST",credentials:"same-origin",body:new URLSearchParams({action:e,accessToken:this.wpstgObject.accessToken,nonce:this.wpstgObject.nonce}),headers:{"Content-Type":"application/x-www-form-urlencoded"}}).then((function(e){return e.ok?e.json():Promise.reject(e)})).then((function(e){void 0!==e.success&&e.success?location.reload():void 0===e.message?t.notyf.error(t.wpstgObject.i18n.somethingWentWrong):t.notyf.error(e.message)})).catch((function(e){console.warn(t.wpstgObject.i18n.somethingWentWrong,e)}))},e}(),a=function(){function e(e,s,n){void 0===e&&(e="#wpstg-directories-listing"),void 0===s&&(s=wpstg),void 0===n&&(n=null),this.directoryListingContainer=t(e),this.wpstgObject=s,this.dirCheckboxSelector=".wpstg-check-dir",this.dirExpandSelector=".wpstg-expand-dirs",this.unselectAllDirsSelector=".wpstg-unselect-dirs",this.selectDefaultDirsSelector=".wpstg-select-dirs-default",this.fetchChildrenAction="wpstg_fetch_dir_childrens",this.currentCheckboxElement=null,this.currentParentDiv=null,this.currentLoader=null,this.existingExcludes=[],this.excludedDirectories=[],this.isDefaultSelected=!1,this.notyf=n,this.init()}var s=e.prototype;return s.addEvents=function(){var e=this;null!==this.directoryListingContainer?(n(this.directoryListingContainer,"click",this.dirExpandSelector,(function(t,s){s.preventDefault(),e.toggleDirExpand(t)&&e.sendRequest(e.fetchChildrenAction,t)})),n(this.directoryListingContainer,"click",this.unselectAllDirsSelector,(function(){e.unselectAll()})),n(this.directoryListingContainer,"click",this.selectDefaultDirsSelector,(function(){e.selectDefault()}))):console.log("Error: directory navigation add events")},s.init=function(){this.addEvents(),this.parseExcludes()},s.toggleDirExpand=function(e){return this.currentParentDiv=e.parentElement,this.currentCheckboxElement=e.previousSibling,this.currentLoader=this.currentParentDiv.querySelector(".wpstg-is-dir-loading"),"false"!==this.currentCheckboxElement.getAttribute("data-navigateable","false")&&"false"===this.currentCheckboxElement.getAttribute("data-scanned","false")},s.sendRequest=function(e){var t=this;null!==this.currentLoader&&(this.currentLoader.style.display="inline-block"),fetch(this.wpstgObject.ajaxUrl,{method:"POST",credentials:"same-origin",body:new URLSearchParams({action:e,accessToken:this.wpstgObject.accessToken,nonce:this.wpstgObject.nonce,dirPath:this.currentCheckboxElement.value,isChecked:this.currentCheckboxElement.checked,forceDefault:this.isDefaultSelected}),headers:{"Content-Type":"application/x-www-form-urlencoded"}}).then((function(e){return e.ok?e.json():Promise.reject(e)})).then((function(e){if(void 0!==e.success&&e.success){t.currentCheckboxElement.setAttribute("data-scanned",!0);var s=document.createElement("div");return s.classList.add("wpstg-dir"),s.classList.add("wpstg-subdir"),s.innerHTML=JSON.parse(e.directoryListing),t.currentParentDiv.appendChild(s),null!==t.currentLoader&&(t.currentLoader.style.display="none"),void r(s)}null!==t.notyf?t.notyf.error(t.wpstgObject.i18n.somethingWentWrong):alert("Error: "+t.wpstgObject.i18n.somethingWentWrong)})).catch((function(e){console.warn(t.wpstgObject.i18n.somethingWentWrong,e)}))},s.getExcludedDirectories=function(){var e=this;return this.excludedDirectories=[],this.directoryListingContainer.querySelectorAll(".wpstg-dir input:not(:checked)").forEach((function(t){e.isParentExcluded(t.value)||e.excludedDirectories.push(t.value)})),this.existingExcludes.forEach((function(t){e.isParentExcluded(t)||e.isExcludeScanned(t)||e.excludedDirectories.push(t)})),this.excludedDirectories.join(this.wpstgObject.settings.directorySeparator)},s.isParentExcluded=function(e){var t=!1;return this.excludedDirectories.forEach((function(s){e.startsWith(s+"/")&&(t=!0)})),t},s.getExtraDirectoriesRootOnly=function(){this.getExcludedDirectories();var e=[];this.directoryListingContainer.querySelectorAll(":not(.wpstg-subdir)>.wpstg-dir>input.wpstg-wp-non-core-dir:checked").forEach((function(t){e.push(t.value)}));var s=t("#wpstg_extraDirectories");if(null===s||""===s.value)return e.join(this.wpstgObject.settings.directorySeparator);var n=s.value.split(/\r?\n/);return e.concat(n).join(this.wpstgObject.settings.directorySeparator)},s.unselectAll=function(){this.directoryListingContainer.querySelectorAll(".wpstg-dir input").forEach((function(e){e.checked=!1}))},s.selectDefault=function(){this.unselectAll(),this.directoryListingContainer.querySelectorAll(".wpstg-dir input.wpstg-wp-core-dir").forEach((function(e){e.checked=!0})),this.directoryListingContainer.querySelectorAll(".wpstg-dir > .wpstg-wp-non-core-dir").forEach((function(e){e.parentElement.querySelectorAll("input.wpstg-wp-core-dir").forEach((function(e){e.checked=!1}))})),this.isDefaultSelected=!0},s.parseExcludes=function(){this.existingExcludes=this.directoryListingContainer.getAttribute("data-existing-excludes",[]),""===this.existingExcludes&&(this.existingExcludes=[]),0!==this.existingExcludes.length&&(this.existingExcludes=this.existingExcludes.split(","))},s.isExcludeScanned=function(e){return this.directoryListingContainer.querySelectorAll(".wpstg-dir input").forEach((function(t){if(t.value===e)return!0})),!1},e}(),c=function(){function e(e,s){void 0===e&&(e="#wpstg-exclude-filters-container"),void 0===s&&(s=wpstg),this.excludeContainer=t(e),this.excludeTableBody=t(e+" tbody"),this.wpstgObject=s,this.init()}var r=e.prototype;return r.addEvents=function(){var e=this;n(this.excludeContainer,"click",".wpstg-file-size-rule",(function(){e.addFileSizeExclude()})),n(this.excludeContainer,"click",".wpstg-file-ext-rule",(function(){e.addFileExtExclude()})),n(this.excludeContainer,"click",".wpstg-file-name-rule",(function(){e.addFileNameExclude()})),n(this.excludeContainer,"click",".wpstg-dir-name-rule",(function(){e.addDirNameExclude()})),n(this.excludeContainer,"click",".wpstg-clear-all-rules",(function(){e.clearExcludes()})),n(this.excludeContainer,"click",".wpstg-remove-exclude-rule",(function(t){e.removeExclude(t)}))},r.init=function(){null!==this.excludeContainer?this.addEvents():console.log("Error: Given table selector not found!")},r.addFileSizeExclude=function(){this.addExcludeRuleRow("#wpstg-file-size-exclude-filter-template")},r.addFileExtExclude=function(){this.addExcludeRuleRow("#wpstg-file-ext-exclude-filter-template")},r.addFileNameExclude=function(){this.addExcludeRuleRow("#wpstg-file-name-exclude-filter-template")},r.addDirNameExclude=function(){this.addExcludeRuleRow("#wpstg-dir-name-exclude-filter-template")},r.addExcludeRuleRow=function(e){var n=t(e);if(null!==n){var r=n.content.cloneNode(!0).querySelector("tr");this.excludeTableBody.appendChild(r),s(".wpstg-has-exclude-rules").forEach((function(e){e.style.display="inherit"}))}},r.clearExcludes=function(){this.excludeTableBody.innerHTML="",s(".wpstg-has-exclude-rules").forEach((function(e){e.style.display="none"}))},r.removeExclude=function(e){null!==e.parentElement&&null!==e.parentElement.parentElement&&this.excludeTableBody.removeChild(e.parentElement.parentElement),""===this.excludeTableBody.innerHTML.trim()&&s(".wpstg-has-exclude-rules").forEach((function(e){e.style.display="none"}))},r.getExcludeFilters=function(){for(var e=this,t=[],s=[],n=this.excludeTableBody.querySelectorAll('select[name="wpstgFileSizeExcludeRuleCompare[]"]'),r=this.excludeTableBody.querySelectorAll('input[name="wpstgFileSizeExcludeRuleSize[]"]'),o=this.excludeTableBody.querySelectorAll('select[name="wpstgFileSizeExcludeRuleByte[]"]'),i=0,a=Object.entries(r);i<a.length;i++){var c=a[i],l=c[0],g=c[1];""!==g.value&&s.push(n[l].value+" "+g.value+o[l].value)}this.excludeTableBody.querySelectorAll('input[name="wpstgFileExtExcludeRule[]"]').forEach((function(s){var n=e.cleanStringForGlob(s.value);""!==n&&t.push("ext:"+n.trim())}));for(var p=this.excludeTableBody.querySelectorAll('select[name="wpstgFileNameExcludeRulePos[]"]'),d=this.excludeTableBody.querySelectorAll('input[name="wpstgFileNameExcludeRulePath[]"]'),u=0,w=Object.entries(d);u<w.length;u++){var h=w[u],f=h[0],m=h[1],v=this.cleanStringForGlob(m.value);""!==v&&t.push("file:"+p[f].value+" "+v.trim())}for(var b=this.excludeTableBody.querySelectorAll('select[name="wpstgDirNameExcludeRulePos[]"]'),y=this.excludeTableBody.querySelectorAll('input[name="wpstgDirNameExcludeRulePath[]"]'),x=0,k=Object.entries(y);x<k.length;x++){var S=k[x],E=S[0],C=S[1],_=this.cleanStringForGlob(C.value);""!==_&&t.push("dir:"+b[E].value+" "+_.trim())}return{sizes:s.filter(this.onlyUnique).join(","),globs:t.filter(this.onlyUnique).join(",")}},r.onlyUnique=function(e,t,s){return s.indexOf(e)===t},r.cleanStringForGlob=function(e){return e.replace(/[*^//!\.[?]/g,"")},e}(),l=function(){function e(e,t){void 0===t&&(t=wpstg),this.confirmAction=e,this.wpstgObject=t}var t=e.prototype;return t.show=function(e,t,s){var n=this;void 0===t&&(t={}),void 0===s&&(s=null),wpstgSwal.fire(e).then((function(e){e.value&&null!==n.error&&n.triggerConfirmAction(t,s)}))},t.triggerConfirmAction=function(e,t){var s=this;void 0===e&&(e={}),void 0===t&&(t=null),fetch(this.wpstgObject.ajaxUrl,{method:"POST",credentials:"same-origin",body:new URLSearchParams(Object.assign({action:this.confirmAction,accessToken:this.wpstgObject.accessToken,nonce:this.wpstgObject.nonce},e)),headers:{"Content-Type":"application/x-www-form-urlencoded"}}).then((function(e){return e.ok?e.json():Promise.reject(e)})).then((function(e){null!==t&&t(e)})).catch((function(e){console.log(s.wpstgObject.i18n.somethingWentWrong,e)}))},e}();function g(e,t,s,n){var r,o,i,a,c=!1,l=!1,g={},p=0,d=0,u={sensitivity:7,interval:100,timeout:0,handleFocus:!1};function w(e){r=e.clientX,o=e.clientY}function h(e,t){if(d&&(d=clearTimeout(d)),Math.abs(i-r)+Math.abs(a-o)<u.sensitivity)return p=1,l?void 0:s(e,t);i=r,a=o,d=setTimeout((function(){h(e,t)}),u.interval)}function f(e,t){return c=!0,d&&(d=clearTimeout(d)),e.removeEventListener("mousemove",w,!1),1!==p&&(i=t.clientX,a=t.clientY,e.addEventListener("mousemove",w,!1),d=setTimeout((function(){h(e,t)}),u.interval)),this}function m(e){e.target.matches(t+", "+t+" *")&&f(e.target.closest(t),e)}function v(e,t){return c=!1,d&&(d=clearTimeout(d)),e.removeEventListener("mousemove",w,!1),1===p&&(d=setTimeout((function(){!function(e,t){d&&(d=clearTimeout(d)),p=0,l||n(e,t)}(e,t)}),u.timeout)),this}function b(e){e.target.matches(t+", "+t+" *")&&v(e.target.closest(t),e)}function y(e){var n,r;e.target.matches(t+", "+t+" *")&&(n=e.target.closest(t),r=e,c||(l=!0,s(n,r)))}function x(e){var s,r;e.target.matches(t+", "+t+" *")&&(s=e.target.closest(t),r=e,!c&&l&&(l=!1,n(s,r)))}function k(){e.removeEventListener("focus",y,!1),e.removeEventListener("blur",x,!1)}return g.options=function(t){var s=t.handleFocus!==u.handleFocus;return u=Object.assign({},u,t),s&&(u.handleFocus?(e.addEventListener("focus",y,!1),e.addEventListener("blur",x,!1)):k()),g},g.remove=function(){e&&(e.removeEventListener("mouseover",m,!1),e.removeEventListener("mouseout",b,!1),k())},e&&(e.addEventListener("mouseover",m,!1),e.addEventListener("mouseout",b,!1)),g}var p=function(e){var t={continueErrorHandle:!0,cache:{elements:[],get:function(t){return-1!==e.inArray(t,this.elements)||(this.elements[t]=e(t)),this.elements[t]},refresh:function(t){t.elements[t]=e(t)}},listenTooltip:function(){g(document,".wpstg--tooltip",(function(e,t){e.querySelector(".wpstg--tooltiptext").style.visibility="visible"}),(function(e,t){e.querySelector(".wpstg--tooltiptext").style.visibility="hidden"}))},isEmpty:function(e){for(var t in e)if(e.hasOwnProperty(t))return!1;return!0},getSwalModal:function(e,t){void 0===e&&(e=!1),void 0===t&&(t={});var s={confirmButton:"wpstg--btn--confirm wpstg-blue-primary wpstg-button wpstg-link-btn wpstg-100-width",cancelButton:"wpstg--btn--cancel wpstg-blue-primary wpstg-link-btn wpstg-100-width",actions:"wpstg--modal--actions",popup:e?"wpstg-swal-popup centered-modal":"wpstg-swal-popup"},n={customClass:Object.assign(s,t),buttonsStyling:!1,reverseButtons:!0,showClass:{popup:"wpstg--swal2-show wpstg-swal-show"}};return wpstgSwal.mixin(n)},showSuccessModal:function(e){this.getSwalModal().fire({showConfirmButton:!1,showCancelButton:!0,cancelButtonText:"OK",icon:"success",title:"Success!",html:'<div class="wpstg--grey" style="text-align: left; margin-top: 8px;">'+e+"</div>"})},showWarningModal:function(e){this.getSwalModal().fire({showConfirmButton:!1,showCancelButton:!0,cancelButtonText:"OK",icon:"warning",title:"",html:'<div class="wpstg--grey" style="text-align: left; margin-top: 8px;">'+e+"</div>"})},showErrorModal:function(e){this.getSwalModal().fire({showConfirmButton:!1,showCancelButton:!0,cancelButtonText:"OK",icon:"error",title:"Error!",html:'<div class="wpstg--grey" style="text-align: left; margin-top: 8px;">'+e+"</div>"})},getSwalContainer:function(){return wpstgSwal.getContainer()},closeSwalModal:function(){wpstgSwal.close()},getDataFromWordPressResponse:function(e){if("object"!=typeof e)throw new Error("Unexpected response (ERR 1341)");if(!e.hasOwnProperty("success"))throw new Error("Unexpected response (ERR 1342)");if(!e.hasOwnProperty("data"))throw new Error("Unexpected response (ERR 1343)");if(!1===e.success)throw e.data instanceof Array&&e.data.length>0?new Error(e.data.shift()):new Error("Response was not successful");return e.data},isLoading:function(e){e&&!1!==e?t.cache.get(".wpstg-loader").show():t.cache.get(".wpstg-loader").hide()},slugify:function(e){return e.toString().toLowerCase().normalize("NFD").replace(/[\u0300-\u036f]/g,"").replace(/\s+/g,"-").replace(/&/g,"-and-").replace(/[^a-z0-9\-]/g,"").replace(/-+/g,"-").replace(/^-*/,"").replace(/-*$/,"")},showAjaxFatalError:function(e,s,n){return s=s?s+"<br/><br/>":"Something went wrong! <br/><br/>",n=n?n+"<br/><br/>":"<br/><br/>Please try the <a href='https://wp-staging.com/docs/wp-staging-settings-for-small-servers/' target='_blank'>WP Staging Small Server Settings</a> or submit an error report and contact us.",!1===e?(t.showError(s+" Error: No response."+n),void window.removeEventListener("beforeunload",WPStaging.warnIfClosingDuringProcess)):void 0!==e.error&&e.error?(t.showError(s+" Error: "+e.message+n),void window.removeEventListener("beforeunload",WPStaging.warnIfClosingDuringProcess)):void 0},handleFetchErrors:function(e){return e.ok||t.showError("Error: "+e.status+" - "+e.statusText+". Please try again or contact support."),e},showError:function(s){t.cache.get("#wpstg-try-again").css("display","inline-block"),t.cache.get("#wpstg-cancel-cloning").text("Reset"),t.cache.get("#wpstg-resume-cloning").show(),t.cache.get("#wpstg-error-wrapper").show(),t.cache.get("#wpstg-error-details").show().html(s),t.cache.get("#wpstg-removing-clone").removeClass("loading"),t.cache.get(".wpstg-loader").hide(),e(".wpstg--modal--process--generic-problem").show().html(s)},resetErrors:function(){t.cache.get("#wpstg-error-details").hide().html("")},ajax:function(s,n,r,o,i,a,c){void 0===a&&(a=null),void 0===c&&(c=null),void 0===r&&(r="json"),!1!==o&&(o=!0);var l=10,g=1e4*(i=void 0===i?0:i);a=parseInt(a),isNaN(a)||(g*=a),e.ajax({url:ajaxurl+"?action=wpstg_processing&_="+Date.now()/1e3,type:"POST",dataType:r,cache:!1,data:s,error:function(e,p,d){if(console.log(e.status+" "+e.statusText+"---"+p),"function"!=typeof c||(c(e,p,d),t.continueErrorHandle))if(++i<=l)setTimeout((function(){t.ajax(s,n,r,o,i,a)}),g);else{var u=void 0===e.status?"Unknown":e.status;t.showError("Fatal Error: "+u+" Please try the <a href='https://wp-staging.com/docs/wp-staging-settings-for-small-servers/' target='_blank'>WP Staging Small Server Settings</a> or submit an error report and contact us.")}else t.continueErrorHandle=!0},success:function(e){"function"==typeof n&&n(e)},statusCode:{404:function(){i>=l&&t.showError("Error 404 - Can't find ajax request URL! Please try the <a href='https://wp-staging.com/docs/wp-staging-settings-for-small-servers/' target='_blank'>WP Staging Small Server Settings</a> or submit an error report and contact us.")},500:function(){i>=l&&t.showError("Fatal Error 500 - Internal server error while processing the request! Please try the <a href='https://wp-staging.com/docs/wp-staging-settings-for-small-servers/' target='_blank'>WP Staging Small Server Settings</a> or submit an error report and contact us.")},504:function(){i>l&&t.showError("Error 504 - It looks like your server is rate limiting ajax requests. Please try to resume after a minute. If this still not works try the <a href='https://wp-staging.com/docs/wp-staging-settings-for-small-servers/' target='_blank'>WP Staging Small Server Settings</a> or submit an error report and contact us.\n ")},502:function(){i>=l&&t.showError("Error 502 - It looks like your server is rate limiting ajax requests. Please try to resume after a minute. If this still not works try the <a href='https://wp-staging.com/docs/wp-staging-settings-for-small-servers/' target='_blank'>WP Staging Small Server Settings</a> or submit an error report and contact us.\n ")},503:function(){i>=l&&t.showError("Error 503 - It looks like your server is rate limiting ajax requests. Please try to resume after a minute. If this still not works try the <a href='https://wp-staging.com/docs/wp-staging-settings-for-small-servers/' target='_blank'>WP Staging Small Server Settings</a> or submit an error report and contact us.\n ")},429:function(){i>=l&&t.showError("Error 429 - It looks like your server is rate limiting ajax requests. Please try to resume after a minute. If this still not works try the <a href='https://wp-staging.com/docs/wp-staging-settings-for-small-servers/' target='_blank'>WP Staging Small Server Settings</a> or submit an error report and contact us.\n ")},403:function(){i>=l&&t.showError("Refresh page or login again! The process should be finished successfully. \n ")}}})}};return t}(jQuery),d=function(){function e(e,s,n,r,o){void 0===s&&(s="#wpstg-workflow"),void 0===n&&(n="wpstg_clone_excludes_settings"),void 0===r&&(r="wpstg_modal_error"),void 0===o&&(o=wpstg),this.cloneID=e,this.workflow=t(s),this.wpstgObject=o,this.fetchExcludeSettingsAction=n,this.modalErrorAction=r,this.resetButtonClass="wpstg-confirm-reset-clone",this.resetModalContainerClass="wpstg-reset-confirmation",this.resetTabSelector=".wpstg-reset-exclude-tab",this.directoryNavigator=null,this.excludeFilters=null,this.isAllTablesChecked=!0}var s=e.prototype;return s.addEvents=function(){var e=this,s=t("."+this.resetModalContainerClass);null!==s?(n(s,"click",this.resetTabSelector,(function(t){e.toggleContent(t)})),n(s,"click",".wpstg-button-select",(function(){e.selectDefaultTables()})),n(s,"click",".wpstg-button-unselect",(function(){e.toggleTableSelection()})),n(s,"click",".wpstg-expand-dirs",(function(t,s){s.preventDefault(),e.toggleDirectoryNavigation(t)})),n(s,"change","input.wpstg-check-dir",(function(t){e.updateDirectorySelection(t)}))):console.log("Exit")},s.init=function(){this.addEvents()},s.toggleContent=function(e){var s=t("."+this.resetModalContainerClass),n=e.getAttribute("data-id"),i=e.querySelector(".wpstg-tab-triangle"),a=e.getAttribute("data-collapsed","true"),c=t(n);"true"===a?(s.classList.contains("has-collapsible-open")?s.classList.add("has-collapsible-open-2"):s.classList.add("has-collapsible-open"),r(c),i.style.transform="rotate(90deg)",e.setAttribute("data-collapsed","false")):(s.classList.contains("has-collapsible-open-2")?s.classList.remove("has-collapsible-open-2"):s.classList.remove("has-collapsible-open"),o(c),i.style.removeProperty("transform"),e.setAttribute("data-collapsed","true"))},s.showModal=function(){var e=this.loadModal();return this.init(),this.fetchCloneExcludes(),e},s.loadModal=function(){return p.getSwalModal(!1,{confirmButton:this.resetButtonClass+" wpstg-confirm-reset-clone wpstg--btn--confirm wpstg-blue-primary wpstg-button wpstg-link-btn",container:this.resetModalContainerClass+" wpstg-swal2-container wpstg-swal2-loading"}).fire({title:"",icon:"warning",html:this.getAjaxLoader(),width:"400px",focusConfirm:!1,confirmButtonText:this.wpstgObject.i18n.resetClone,showCancelButton:!0})},s.fetchCloneExcludes=function(){var e=this;this.error=null,fetch(this.wpstgObject.ajaxUrl,{method:"POST",credentials:"same-origin",body:new URLSearchParams({action:this.fetchExcludeSettingsAction,accessToken:this.wpstgObject.accessToken,nonce:this.wpstgObject.nonce,clone:this.cloneID,job:"resetting"}),headers:{"Content-Type":"application/x-www-form-urlencoded"}}).then((function(e){return e.ok?e.json():Promise.reject(e)})).then((function(s){if(s.success){var n=t(".wpstg-reset-confirmation");n.classList.remove("wpstg-swal2-loading"),n.querySelector(".wpstg--swal2-popup").style.width="500px",n.querySelector(".wpstg--swal2-content").innerHTML=s.html,e.directoryNavigator=new a,e.excludeFilters=new c}else{new l(e.modalErrorAction,e.wpstgObject).show(Object.assign({title:"Error",icon:"error",html:e.wpstgObject.i18n.somethingWentWrong,width:"500px",confirmButtonText:"Ok",showCancelButton:!1,customClass:{confirmButton:"wpstg--btn--confirm wpstg-blue-primary wpstg-button wpstg-link-btn",cancelButton:"wpstg--btn--cancel wpstg-blue-primary wpstg-link-btn",actions:"wpstg--modal--actions",popup:"wpstg-swal-popup centered-modal"},buttonsStyling:!1,reverseButtons:!0},s.swalOptions),{type:s.type})}})).catch((function(t){e.renderError({html:e.wpstgObject.i18n.somethingWentWrong+" "+t})}))},s.getDirectoryNavigator=function(){return this.directoryNavigator},s.getExcludeFilters=function(){return this.excludeFilters},s.getAjaxLoader=function(){return'<div class="wpstg-swal2-ajax-loader"><img src="'+this.wpstgObject.wpstgIcon+'" /></div>'},s.toggleDirectoryNavigation=function(e){var t=e.previousSibling;if("false"!==t.getAttribute("data-navigateable","false")&&"false"!==t.getAttribute("data-scanned","false")){var s=function(e,t){for(var s=e.nextElementSibling;s;){if(s.matches(t))return s;s=s.nextElementSibling}}(e,".wpstg-subdir");"none"===s.style.display?r(s):o(s)}},s.updateDirectorySelection=function(e){var t=e.parentElement;e.checked?(function(e,t){for(var s=[],n=e&&e.parentElement;n;n=n.parentElement)n.matches(t)&&s.push(n);return s}(t,".wpstg-dir").forEach((function(e){for(var t=0;t<e.children.length;t++)e.children[t].matches(".wpstg-check-dir")&&(e.children[t].checked=!0)})),t.querySelectorAll(".wpstg-expand-dirs").forEach((function(e){e.classList.remove("disabled")})),t.querySelectorAll(".wpstg-subdir .wpstg-check-dir").forEach((function(e){e.checked=!0}))):(t.querySelectorAll(".wpstg-expand-dirs, .wpstg-check-subdirs").forEach((function(e){e.classList.add("disabled")})),t.querySelectorAll(".wpstg-dir .wpstg-check-dir").forEach((function(e){e.checked=!1})))},s.selectDefaultTables=function(){var e=this,s=t("."+this.resetModalContainerClass).querySelectorAll("#wpstg_select_tables_cloning .wpstg-db-table"),n="^"+this.wpstgObject.tblprefix+"([^0-9])_*",r="^"+this.wpstgObject.tblprefix;s.forEach((function(t){var s=t.getAttribute("name","");"1"===e.wpstgObject.isMultisite&&s.match(n)||""===e.wpstgObject.isMultisite&&s.match(r)?t.setAttribute("selected","selected"):t.removeAttribute("selected")}))},s.toggleTableSelection=function(){var e=t("."+this.resetModalContainerClass);!1===this.isAllTablesChecked?(e.querySelectorAll("#wpstg_select_tables_cloning .wpstg-db-table").forEach((function(e){e.setAttribute("selected","selected")})),e.querySelector(".wpstg-button-unselect").innerHTML="Unselect All",this.isAllTablesChecked=!0):(e.querySelectorAll("#wpstg_select_tables_cloning .wpstg-db-table").forEach((function(e){e.removeAttribute("selected")})),e.querySelector(".wpstg-button-unselect").innerHTML="Select All",this.isAllTablesChecked=!1)},e}(),u=function(){function e(e){void 0===e&&(e="#wpstg-clonepage-wrapper"),this.baseContainer=t(e),this.checkBoxSettingTogglerSelector=".wpstg-toggle-advance-settings-section",this.init()}var s=e.prototype;return s.addEvents=function(){var e=this;null!==this.baseContainer&&n(this.baseContainer,"change",this.checkBoxSettingTogglerSelector,(function(t){e.toggleSettings(t)}))},s.init=function(){this.addEvents()},s.toggleSettings=function(e){var s=t("#"+e.getAttribute("data-id"));e.checked?r(s):o(s)},e}(),w=function(){function e(){this.activeTabClass="wpstg--tab--active",this.mainMenu()}return e.prototype.mainMenu=function(){var e=this;null!==t(".wpstg--tab--header")&&n(t(".wpstg--tab--header"),"click",".wpstg-button",(function(t){var n=t,r=n.getAttribute("data-target"),o=s(r),i=s(".wpstg--tab--header a[data-target]");s(".wpstg--tab--contents > .wpstg--tab--content").forEach((function(t){t.matches("."+e.activeTabClass+":not("+r+")")&&t.classList.remove(e.activeTabClass)})),i.forEach((function(t){t!==n&&t.classList.remove(e.activeTabClass)})),n.classList.add(e.activeTabClass),o.forEach((function(t){t.classList.add(e.activeTabClass)})),"#wpstg--tab--backup"===r&&window.dispatchEvent(new Event("backups-tab"))}))},e}(),h=function(t){var s,n={isCancelled:!1,isFinished:!1,getLogs:!1,time:1,executionTime:!1,progressBar:0,cloneExcludeFilters:null,directoryNavigator:null,notyf:null},r={elements:[]};r.get=function(e){return-1!==t.inArray(e,r.elements)||(r.elements[e]=jQuery(e)),r.elements[e]},r.refresh=function(e){e.elements[e]=jQuery(e)};var o=function(e){r.get("#wpstg-try-again").css("display","inline-block"),r.get("#wpstg-cancel-cloning").text("Reset"),r.get("#wpstg-resume-cloning").show(),r.get("#wpstg-error-wrapper").show(),r.get("#wpstg-error-details").show().html(e),r.get("#wpstg-removing-clone").removeClass("loading"),r.get(".wpstg-loader").hide(),t(".wpstg--modal--process--generic-problem").show().html(e)};n.warnIfClosingDuringProcess=function(e){return e.returnValue="You MUST leave this window open while cloning/pushing. Please wait...",null};var g=function(e,t,s){return t=t?t+"<br/><br/>":"Something went wrong! <br/><br/>",s=s?s+"<br/><br/>":"<br/><br/>Please try the <a href='https://wp-staging.com/docs/wp-staging-settings-for-small-servers/' target='_blank'>WP Staging Small Server Settings</a> or submit an error report and contact us.",!1===e?(o(t+" Error: No response."+s),void window.removeEventListener("beforeunload",h.warnIfClosingDuringProcess)):void 0!==e.error&&e.error?(console.error(e.message),o(t+" Error: "+e.message+s),void window.removeEventListener("beforeunload",h.warnIfClosingDuringProcess)):void 0},f=function(){r.get("#wpstg-error-details").hide().html("")},m=function(){var e=t("#wpstg_clone_hostname").val();if(""===e)return!0;return!1!==/^http(s)?:\/\/.*$/.test(e)},v=function(){var e=r.get("#wpstg-workflow");e.on("click","#wpstg-cancel-cloning",(function(){if(!confirm("Are you sure you want to cancel cloning process?"))return!1;var e=t(this);t("#wpstg-try-again, #wpstg-home-link").hide(),e.prop("disabled",!0),n.isCancelled=!0,n.progressBar=0,t("#wpstg-processing-status").text("Please wait...this can take up a while."),t(".wpstg-loader, #wpstg-show-log-button").hide(),e.parent().append(s),j()})).on("click","#wpstg-resume-cloning",(function(){f();var e=t(this);t("#wpstg-try-again, #wpstg-home-link").hide(),n.isCancelled=!1,t("#wpstg-processing-status").text("Try to resume cloning process..."),t("#wpstg-error-details").hide(),t(".wpstg-loader").show(),e.parent().append(s),n.startCloning()})).on("click","#wpstg-cancel-cloning-update",(function(){f();var e=t(this);t("#wpstg-try-again, #wpstg-home-link").hide(),e.prop("disabled",!0),n.isCancelled=!0,t("#wpstg-cloning-result").text("Please wait...this can take up a while."),t(".wpstg-loader, #wpstg-show-log-button").hide(),e.parent().append(s),L()})).on("click","#wpstg-restart-cloning",(function(){f();var e=t(this);t("#wpstg-try-again, #wpstg-home-link").hide(),e.prop("disabled",!0),n.isCancelled=!0,t("#wpstg-cloning-result").text("Please wait...this can take up a while."),t(".wpstg-loader, #wpstg-show-log-button").hide(),e.parent().append(s),A()})).on("click",".wpstg-remove-clone[data-clone]",(function(s){f(),s.preventDefault();var n=r.get("#wpstg-existing-clones");e.removeClass("active"),r.get(".wpstg-loader").show(),b({action:"wpstg_confirm_delete_clone",accessToken:wpstg.accessToken,nonce:wpstg.nonce,clone:t(this).data("clone")},(function(e){r.get("#wpstg-removing-clone").html(e),n.children("img").remove(),r.get(".wpstg-loader").hide(),t("html, body").animate({scrollTop:t("#wpstg-remove-clone").offset().top-t(window).height()+t("#wpstg-remove-clone").height()+50},100)}),"HTML")})).on("click","#wpstg-remove-clone",(function(e){f(),e.preventDefault(),r.get("#wpstg-removing-clone").addClass("loading"),r.get(".wpstg-loader").show(),P(t(this).data("clone"))})).on("click","#wpstg-cancel-removing",(function(e){e.preventDefault(),t(".wpstg-clone").removeClass("active"),r.get("#wpstg-removing-clone").html("")})).on("click",".wpstg-execute-clone",(function(s){s.preventDefault();var r=t(this).data("clone");e.addClass("loading"),n.cloneExcludeFilters=null,b({action:"wpstg_scanning",clone:r,accessToken:wpstg.accessToken,nonce:wpstg.nonce},(function(t){t.length<1&&o("Something went wrong! Error: No response. Please try the <a href='https://wp-staging.com/docs/wp-staging-settings-for-small-servers/' target='_blank'>WP Staging Small Server Settings</a> or submit an error report and contact us.");var s=_(t);if(!1!==s&&!1===s.success)return e.removeClass("loading"),void C(s);e.removeClass("loading").html(t),R(),n.directoryNavigator=new a("#wpstg-directories-listing",wpstg,n.notyf),n.cloneExcludeFilters=new c,n.switchStep(2)}),"HTML")})).on("click",".wpstg-reset-clone",(function(e){e.preventDefault();var s=t(this).data("clone"),n=new d(s);n.showModal().then((function(e){if(e.value){var t=n.getDirectoryNavigator(),r=n.getExcludeFilters().getExcludeFilters();T(s,{includedTables:y(),excludeSizeRules:encodeURIComponent(r.sizes),excludeGlobRules:encodeURIComponent(r.globs),excludedDirectories:t.getExcludedDirectories(),extraDirectories:t.getExtraDirectoriesRootOnly()})}}))}))},b=function e(s,n,r,i,a,c){void 0===c&&(c=null),void 0===r&&(r="json"),!1!==i&&(i=!0);var l=10,g=1e4*(a=void 0===a?0:a);c=parseInt(c),isNaN(c)||(g*=c),t.ajax({url:ajaxurl+"?action=wpstg_processing&_="+Date.now()/1e3,type:"POST",dataType:r,cache:!1,data:s,error:function(t,p,d){if(++a<=l)setTimeout((function(){e(s,n,r,i,a,c)}),g);else{var u=void 0===t.status?"Unknown":t.status;o("Fatal Error: "+u+" Please try the <a href='https://wp-staging.com/docs/wp-staging-settings-for-small-servers/' target='_blank'>WP Staging Small Server Settings</a> or submit an error report and contact us.")}},success:function(e){"function"==typeof n&&n(e)},statusCode:{404:function(){a>=l&&o("Error 404 - Can't find ajax request URL! Please try the <a href='https://wp-staging.com/docs/wp-staging-settings-for-small-servers/' target='_blank'>WP Staging Small Server Settings</a> or submit an error report and contact us.")},500:function(){a>=l&&o("Fatal Error 500 - Internal server error while processing the request! Please try the <a href='https://wp-staging.com/docs/wp-staging-settings-for-small-servers/' target='_blank'>WP Staging Small Server Settings</a> or submit an error report and contact us.")},504:function(){a>l&&o("Error 504 - It looks like your server is rate limiting ajax requests. Please try to resume after a minute. If this still not works try the <a href='https://wp-staging.com/docs/wp-staging-settings-for-small-servers/' target='_blank'>WP Staging Small Server Settings</a> or submit an error report and contact us.\n ")},502:function(){a>=l&&o("Error 502 - It looks like your server is rate limiting ajax requests. Please try to resume after a minute. If this still not works try the <a href='https://wp-staging.com/docs/wp-staging-settings-for-small-servers/' target='_blank'>WP Staging Small Server Settings</a> or submit an error report and contact us.\n ")},503:function(){a>=l&&o("Error 503 - It looks like your server is rate limiting ajax requests. Please try to resume after a minute. If this still not works try the <a href='https://wp-staging.com/docs/wp-staging-settings-for-small-servers/' target='_blank'>WP Staging Small Server Settings</a> or submit an error report and contact us.\n ")},429:function(){a>=l&&o("Error 429 - It looks like your server is rate limiting ajax requests. Please try to resume after a minute. If this still not works try the <a href='https://wp-staging.com/docs/wp-staging-settings-for-small-servers/' target='_blank'>WP Staging Small Server Settings</a> or submit an error report and contact us.\n ")},403:function(){a>=l&&o("Refresh page or login again! The process should be finished successfully. \n ")}}})},y=function(){var e=[];return t("#wpstg_select_tables_cloning option:selected").each((function(){e.push(this.value)})),e},x=function(){var e=[];return t(".wpstg-db-table input:not(:checked)").each((function(){e.push(this.name)})),e},k=function(e,t){r.get(".wpstg-loader").show(),b({action:"wpstg_database_verification",accessToken:wpstg.accessToken,nonce:wpstg.nonce,databaseUser:r.get("#wpstg_db_username").val(),databasePassword:r.get("#wpstg_db_password").val(),databaseServer:r.get("#wpstg_db_server").val(),databaseDatabase:r.get("#wpstg_db_database").val()},(function(s){if(!1===s)return o("Something went wrong! Error: No response.Please try again. If that does not help, <a href='https://wp-staging.com/support/' target='_blank'>open a support ticket</a> "),void r.get(".wpstg-loader").hide();if(void 0===s.success)return o("Something went wrong! Error: Invalid response.Please try again. If that does not help, <a href='https://wp-staging.com/support/' target='_blank'>open a support ticket</a> "),void r.get(".wpstg-loader").hide();if(s.success)return r.get(".wpstg-loader").hide(),void S(e,t);if("comparison"===s.error_type){r.get(".wpstg-loader").hide();var n='<table style="width: 100%;"><thead><tr><th>Property</th><th>Production DB</th><th>Staging DB</th><th>Status</th></tr></thead><tbody>';return s.checks.forEach((function(e){var t='<i style="color: #00ff00">✔</i>';e.production!==e.staging&&(t='<i style="color: #ff0000">❌</i>'),n+="<tr><td>"+e.name+"</td><td>"+e.production+"</td><td>"+e.staging+"</td><td>"+t+"</td></tr>"})),n+="</tbody></table><p>Note: Some mySQL properties do not match. You may proceed but the staging site may not work as expected.</p>",void p.getSwalModal().fire({title:"Different Database Properties",icon:"warning",html:n,width:"650px",focusConfirm:!1,confirmButtonText:"Proceed Anyway",showCancelButton:!0}).then((function(s){s.value&&S(e,t)}))}p.getSwalModal(!0).fire({title:"Different Database Properties",icon:"error",html:s.message,focusConfirm:!0,confirmButtonText:"Ok",showCancelButton:!1}),r.get(".wpstg-loader").hide()}),"json",!1)},S=function(e,s){s.addClass("loading"),n.data={action:e.data("action"),accessToken:wpstg.accessToken,nonce:wpstg.nonce},function(){if("wpstg_cloning"===n.data.action||"wpstg_update"===n.data.action||"wpstg_reset"===n.data.action){if(n.data.cloneID=(new Date).getTime().toString(),"wpstg_update"===n.data.action&&(n.data.cloneID=t("#wpstg-new-clone-id").data("clone")),n.data.cloneName=t("#wpstg-new-clone-id").val()||n.data.cloneID,null!==n.directoryNavigator&&(n.data.excludedDirectories=encodeURIComponent(n.directoryNavigator.getExcludedDirectories()),n.data.extraDirectories=encodeURIComponent(n.directoryNavigator.getExtraDirectoriesRootOnly())),n.data.excludeGlobRules="",n.data.excludeSizeRules="",n.cloneExcludeFilters instanceof c){var e=n.cloneExcludeFilters.getExcludeFilters();n.data.excludeGlobRules=encodeURIComponent(e.globs),n.data.excludeSizeRules=encodeURIComponent(e.sizes)}n.data.includedTables=y(),n.data.databaseServer=t("#wpstg_db_server").val(),n.data.databaseUser=t("#wpstg_db_username").val(),n.data.databasePassword=t("#wpstg_db_password").val(),n.data.databaseDatabase=t("#wpstg_db_database").val(),n.data.databasePrefix=t("#wpstg_db_prefix").val();var s=t("#wpstg_clone_dir").val();n.data.cloneDir=encodeURIComponent(t.trim(s)),n.data.cloneHostname=t("#wpstg_clone_hostname").val(),n.data.emailsAllowed=t("#wpstg_allow_emails").is(":checked"),n.data.uploadsSymlinked=t("#wpstg_symlink_upload").is(":checked"),n.data.cleanPluginsThemes=t("#wpstg-clean-plugins-themes").is(":checked"),n.data.cleanUploadsDir=t("#wpstg-clean-uploads").is(":checked")}}(),E(s)},E=function(e){b(n.data,(function(t){!1===t&&o("Something went wrong!<br/><br/> Go to WP Staging > Settings and lower 'File Copy Limit' and 'DB Query Limit'. Also set 'CPU Load Priority to low 'and try again. If that does not help, <a href='https://wp-staging.com/support/' target='_blank'>open a support ticket</a> "),t.length<1&&o("Something went wrong! No response. Go to WP Staging > Settings and lower 'File Copy Limit' and 'DB Query Limit'. Also set 'CPU Load Priority to low 'and try again. If that does not help, <a href='https://wp-staging.com/support/' target='_blank'>open a support ticket</a> ");var s=_(t);if(!1!==s&&!1===s.success)return e.removeClass("loading"),void C(s);e.removeClass("loading").html(t),n.cloneExcludeFilters=null,"wpstg_scanning"===n.data.action?(n.directoryNavigator=new a("#wpstg-directories-listing",wpstg,n.notyf),n.switchStep(2),n.cloneExcludeFilters=new c):"wpstg_cloning"!==n.data.action&&"wpstg_update"!==n.data.action&&"wpstg_reset"!==n.data.action||n.switchStep(3),n.startCloning()}),"HTML")},C=function(e){new l("wpstg_modal_error",wpstg).show(Object.assign({title:"Error",icon:"error",html:wpstg.i18n.somethingWentWrong,width:"500px",confirmButtonText:"Ok",showCancelButton:!1,customClass:{confirmButton:"wpstg--btn--confirm wpstg-blue-primary wpstg-button wpstg-link-btn",cancelButton:"wpstg--btn--cancel wpstg-blue-primary wpstg-link-btn",actions:"wpstg--modal--actions",popup:"wpstg-swal-popup centered-modal"},buttonsStyling:!1,reverseButtons:!0},e.swalOptions),{type:e.type})},_=function(e){if(!e)return!1;try{var t=JSON.parse(e);if(t&&"object"==typeof t)return t}catch(e){}return!1},T=function(t,s){n.data={action:"wpstg_reset",accessToken:wpstg.accessToken,nonce:wpstg.nonce,cloneID:t},n.data=e({},n.data,s);var o=r.get("#wpstg-workflow");E(o)},D=function(){var e=r.get("#wpstg-workflow");e.addClass("loading"),b({action:"wpstg_overview",accessToken:wpstg.accessToken,nonce:wpstg.nonce},(function(t){t.length<1&&o("Something went wrong! No response. Please try the <a href='https://wp-staging.com/docs/wp-staging-settings-for-small-servers/' target='_blank'>WP Staging Small Server Settings</a> or submit an error report."),r.get(".wpstg-current-step"),e.removeClass("loading").html(t)}),"HTML"),n.switchStep(1),r.get(".wpstg-step3-cloning").show(),r.get(".wpstg-step3-pushing").hide()},P=function e(s){var n=t("#deleteDirectory:checked").data("deletepath");b({action:"wpstg_delete_clone",clone:s,accessToken:wpstg.accessToken,nonce:wpstg.nonce,excludedTables:x(),deleteDir:n},(function(n){if(n&&(g(n),void 0!==n.delete&&("finished"===n.delete||"unfinished"===n.delete)))return r.get("#wpstg-removing-clone").removeClass("loading").html(""),"finished"===n.delete&&void 0===n.error&&t(".wpstg-clone#"+s).remove(),t("#wpstg-existing-clones .wpstg-clone").length<1&&(r.get("#wpstg-existing-clones").find("h3").text(""),r.get("#wpstg-no-staging-site-results").show()),void r.get(".wpstg-loader").hide();!0===n||e(s)}))},j=function e(){if(n.timer("stop"),!0===n.isFinished)return!0;b({action:"wpstg_cancel_clone",clone:n.data.cloneID,accessToken:wpstg.accessToken,nonce:wpstg.nonce},(function(t){if(t&&void 0!==t.delete&&"finished"===t.delete)return r.get(".wpstg-loader").hide(),void D();!0===t?D():e()}))},L=function e(){if(!0===n.isFinished)return!0;b({action:"wpstg_cancel_update",clone:n.data.cloneID,accessToken:wpstg.accessToken,nonce:wpstg.nonce},(function(t){t&&void 0!==t.delete&&"finished"===t.delete||!0===t?D():e()}))},A=function(){if(!0===n.isFinished)return!0;b({action:"wpstg_restart",accessToken:wpstg.accessToken,nonce:wpstg.nonce},(function(e){e&&void 0!==e.delete&&"finished"===e.delete||!0===e?D():L()}))},O=function(e){var s;null!=e&&void 0!==e&&(e.constructor===Array?t.each(e,(function(e,t){null!==t&&("ERROR"===t.type?r.get(".wpstg-log-details").append('<span class="wpstg--red">['+t.type+"]</span>-["+t.date+"] "+t.message+"</br>"):r.get(".wpstg-log-details").append("["+t.type+"]-["+t.date+"] "+t.message+"</br>"))})):r.get(".wpstg-log-details").append("["+e.type+"]-["+e.date+"] "+e.message+"</br>")),void 0!==(s=r.get(".wpstg-log-details"))[0]&&s.scrollTop(s[0].scrollHeight)},R=function(){r.get("#wpstg-check-space").on("click",(function(e){r.get(".wpstg-loader").show();var t=encodeURIComponent(n.directoryNavigator.getExcludedDirectories()),s=encodeURIComponent(n.directoryNavigator.getExtraDirectoriesRootOnly());b({action:"wpstg_check_disk_space",accessToken:wpstg.accessToken,nonce:wpstg.nonce,excludedDirectories:t,extraDirectories:s},(function(e){if(!1===e)return r.get("#wpstg-clone-id-error").text("Can not detect required disk space").show(),void r.get(".wpstg-loader").hide();r.get("#wpstg-clone-id-error").html("Estimated necessary disk space: "+e.requiredSpace+(null!==e.errorMessage?"<br>"+e.errorMessage:"")+'<br> <span style="color:#444;">Before you proceed ensure your account has enough free disk space to hold the entire instance of the production site. You can check the available space from your hosting account (cPanel or similar).</span>').show(),r.get(".wpstg-loader").hide()}),"json",!1)}))};return n.timer=function(e){if("stop"===e){var t=n.time;return n.time=1,clearInterval(n.executionTime),n.convertSeconds(t)}n.executionTime=setInterval((function(){null!==document.getElementById("wpstg-processing-timer")&&(document.getElementById("wpstg-processing-timer").innerHTML="Elapsed Time: "+n.convertSeconds(n.time)),n.time++,"stop"===e&&(n.time=1,clearInterval(n.executionTime))}),1e3)},n.convertSeconds=function(e){var t=new Date(null);return t.setSeconds(e),t.toISOString().substr(11,8)},n.startCloning=function(){if(f(),R(),"wpstg_cloning"===n.data.action||"wpstg_update"===n.data.action||"wpstg_reset"===n.data.action){n.isCancelled=!1,r.get(".wpstg-loader").show(),r.get("#wpstg-cancel-cloning").text("Cancel"),r.get("#wpstg-resume-cloning").hide(),r.get("#wpstg-error-details").hide(),setTimeout((function(){window.addEventListener("beforeunload",h.warnIfClosingDuringProcess),e()}),wpstg.delayReq),n.timer("start");var e=function e(){if(!0===n.isCancelled)return window.removeEventListener("beforeunload",h.warnIfClosingDuringProcess),!1;var o;(o=!0)&&!1!==o?r.get(".wpstg-loader").show():r.get(".wpstg-loader").hide();var i="",a="";null!==n.directoryNavigator&&(i=n.directoryNavigator.getExcludedDirectories(),a=n.directoryNavigator.getExtraDirectoriesRootOnly()),r.get(".wpstg-log-details").show(),h.ajax({action:"wpstg_processing",accessToken:wpstg.accessToken,nonce:wpstg.nonce,excludedTables:x(),excludedDirectories:encodeURIComponent(i),extraDirectories:encodeURIComponent(a)},(function(o){g(o),void 0!==o.last_msg&&o.last_msg&&O(o.last_msg),!1===o.status?(s(o),setTimeout((function(){r.get(".wpstg-loader").show(),e()}),wpstg.delayReq)):!0===o.status&&"finished"!==o.status?(r.get("#wpstg-error-details").hide(),r.get("#wpstg-error-wrapper").hide(),s(o),e()):("finished"===o.status||void 0!==o.job_done&&o.job_done)&&(window.removeEventListener("beforeunload",h.warnIfClosingDuringProcess),function(e){!0===n.getLogs&&O();s(e),void 0!==e.last_msg&&O(e.last_msg);r.get(".wpstg-loader").hide(),r.get("#wpstg-processing-header").html("Processing Complete"),t("#wpstg-processing-status").text("Succesfully finished"),r.get("#wpstg_staging_name").html(n.data.cloneID),r.get("#wpstg-finished-result").show(),r.get("#wpstg-cancel-cloning").hide(),r.get("#wpstg-resume-cloning").hide(),r.get("#wpstg-cancel-cloning-update").prop("disabled",!0);var o=r.get("#wpstg-clone-url-1"),i=r.get("#wpstg-clone-url");o.attr("href",e.url),o.html(e.url),i.attr("href",e.url),r.get("#wpstg-remove-clone").data("clone",n.data.cloneID),n.isFinished=!0,n.timer("stop"),r.get(".wpstg-loader").hide(),r.get("#wpstg-processing-header").html("Processing Complete");var a=wpstg.i18n.cloneResetComplete;"wpstg_update"===n.data.action&&(a=wpstg.i18n.cloneUpdateComplete);"wpstg_update"!==n.data.action&&"wpstg_reset"!==n.data.action||(r.get("#wpstg-cancel-cloning-update").hide(),r.get(".wpstg-prev-step-link").show(),p.getSwalModal(!0,{confirmButton:"wpstg--btn--confirm wpstg-green-button wpstg-button wpstg-link-btn wpstg-100-width"}).fire({title:"",icon:"success",html:a,width:"500px",focusConfirm:!0}))}(o))}),"json",!1)},s=function(e,t){if(void 0===e.percentage)return!1;"database"===e.job&&(r.get("#wpstg-progress-db").width(.2*e.percentage+"%").html(e.percentage+"%"),r.get("#wpstg-processing-status").html(e.percentage.toFixed(0)+"% - Step 1 of 4 Cloning Database Tables...")),"SearchReplace"===e.job&&(r.get("#wpstg-progress-db").css("background-color","#3bc36b"),r.get("#wpstg-progress-db").html("1. Database"),r.get("#wpstg-progress-db").width("20%"),r.get("#wpstg-progress-sr").width(.1*e.percentage+"%").html(e.percentage+"%"),r.get("#wpstg-processing-status").html(e.percentage.toFixed(0)+"% - Step 2 of 4 Preparing Database Data...")),"directories"===e.job&&(r.get("#wpstg-progress-sr").css("background-color","#3bc36b"),r.get("#wpstg-progress-sr").html("2. Data"),r.get("#wpstg-progress-sr").width("10%"),r.get("#wpstg-progress-dirs").width(.1*e.percentage+"%").html(e.percentage+"%"),r.get("#wpstg-processing-status").html(e.percentage.toFixed(0)+"% - Step 3 of 4 Getting files...")),"files"===e.job&&(r.get("#wpstg-progress-dirs").css("background-color","#3bc36b"),r.get("#wpstg-progress-dirs").html("3. Files"),r.get("#wpstg-progress-dirs").width("10%"),r.get("#wpstg-progress-files").width(.6*e.percentage+"%").html(e.percentage+"%"),r.get("#wpstg-processing-status").html(e.percentage.toFixed(0)+"% - Step 4 of 4 Copy files...")),"finish"===e.job&&(r.get("#wpstg-progress-files").css("background-color","#3bc36b"),r.get("#wpstg-progress-files").html("4. Copy Files"),r.get("#wpstg-progress-files").width("60%"),r.get("#wpstg-processing-status").html(e.percentage.toFixed(0)+"% - Cloning Process Finished"))}}},n.switchStep=function(e){r.get(".wpstg-current-step").removeClass("wpstg-current-step"),r.get(".wpstg-step"+e).addClass("wpstg-current-step")},n.init=function(){var e,o,a,c;D(),o=r.get("#wpstg-workflow"),a=!0,c=ajaxurl.replace("/admin-ajax.php","")+"/images/spinner",2<window.devicePixelRatio&&(c+="-2x"),s="<img src=''"+(c+=".gif")+"' alt='' class='ajax-spinner general-spinner' />",o.on("click",".wpstg-button-unselect",(function(e){e.preventDefault(),!1===a?(r.get("#wpstg_select_tables_cloning .wpstg-db-table").prop("selected","selected"),r.get(".wpstg-button-unselect").text("Unselect All"),r.get(".wpstg-db-table-checkboxes").prop("checked",!0),a=!0):(r.get("#wpstg_select_tables_cloning .wpstg-db-table").prop("selected",!1),r.get(".wpstg-button-unselect").text("Select All"),r.get(".wpstg-db-table-checkboxes").prop("checked",!1),a=!1)})).on("click",".wpstg-button-select",(function(e){e.preventDefault(),t("#wpstg_select_tables_cloning .wpstg-db-table").each((function(){1==wpstg.isMultisite&&(t(this).attr("name").match("^"+wpstg.tblprefix+"([^0-9])_*")?t(this).prop("selected","selected"):t(this).prop("selected",!1)),0==wpstg.isMultisite&&(t(this).attr("name").match("^"+wpstg.tblprefix)?t(this).prop("selected","selected"):t(this).prop("selected",!1))}))})).on("click",".wpstg-expand-dirs",(function(e){e.preventDefault(),t(this).siblings(".wpstg-subdir").slideToggle()})).on("change","input.wpstg-check-dir",(function(){var e=t(this).parent(".wpstg-dir");this.checked?(e.parents(".wpstg-dir").children(".wpstg-check-dir").prop("checked",!0),e.find(".wpstg-expand-dirs").removeClass("disabled"),e.find(".wpstg-subdir .wpstg-check-dir").prop("checked",!0)):(e.find(".wpstg-dir .wpstg-check-dir").prop("checked",!1),e.find(".wpstg-expand-dirs, .wpstg-check-subdirs").addClass("disabled"),e.find(".wpstg-check-subdirs").data("action","check").text("check"))})).on("change","href.wpstg-check-dir",(function(){var e=t(this).parent(".wpstg-dir");this.checked?(e.parents(".wpstg-dir").children(".wpstg-check-dir").prop("checked",!0),e.find(".wpstg-expand-dirs").removeClass("disabled"),e.find(".wpstg-subdir .wpstg-check-dir").prop("checked",!0)):(e.find(".wpstg-dir .wpstg-check-dir").prop("checked",!1),e.find(".wpstg-expand-dirs, .wpstg-check-subdirs").addClass("disabled"),e.find(".wpstg-check-subdirs").data("action","check").text("check"))})).on("keyup","#wpstg-new-clone-id",(function(){if(document.getElementById("wpstg-error-details").style.display="none","number"==typeof e&&clearInterval(e),void 0===this.value||""===this.value)return r.get("#wpstg-new-clone-id").removeClass("wpstg-error-input"),r.get("#wpstg-start-cloning").removeAttr("disabled"),void r.get("#wpstg-clone-id-error").text("").hide();var t=p.slugify(this.value);e=setTimeout((function(){b({action:"wpstg_check_clone",accessToken:wpstg.accessToken,nonce:wpstg.nonce,directoryName:t},(function(e){"success"===e.status?(r.get("#wpstg-new-clone-id").removeClass("wpstg-error-input"),r.get("#wpstg-start-cloning").removeAttr("disabled"),r.get("#wpstg-clone-id-error").text("").hide()):(r.get("#wpstg-new-clone-id").addClass("wpstg-error-input"),r.get("#wpstg-start-cloning").prop("disabled",!0),r.get("#wpstg-clone-id-error").text(e.message).show())}))}),500)})).on("click","#wpstg-start-cloning",(function(){f(),n.isCancelled=!1,n.getLogs=!1,n.progressBar=0})).on("input","#wpstg-new-clone-id",(function(){if(!(t("#wpstg-clone-directory").length<1)){var e=p.slugify(this.value),s=t("#wpstg-use-target-dir"),n=t("#wpstg-use-target-hostname"),r=s.data("base-path"),o=n.data("base-uri");r&&(r=r.replace(/\/+$/g,"")+"/"+e+"/"),o&&(o=o.replace(/\/+$/g,"")+"/"+e),t(".wpstg-use-target-dir--value").text(r),t(".wpstg-use-target-hostname--value").text(o),s.attr("data-path",r),n.attr("data-uri",o),t("#wpstg_clone_dir").attr("placeholder",r),t("#wpstg_clone_hostname").attr("placeholder",o)}})).on("input","#wpstg_clone_hostname",(function(){""===t(this).val()||m()?t("#wpstg_clone_hostname_error").remove():m()||t("#wpstg_clone_hostname_error").length||t("#wpstg-clone-directory tr:last-of-type").after('<tr><td> </td><td><p id="wpstg_clone_hostname_error" style="color: red;"> Invalid host name. Please provide it in a format like http://example.com</p></td></tr>')})),v(),function(){var e=r.get("#wpstg-workflow");e.on("click",".wpstg-next-step-link",(function(s){s.preventDefault();var n=t(this);if(t("#wpstg_clone_hostname").length&&!m())return t("#wpstg_clone_hostname").focus(),!1;if("wpstg_update"===n.data("action")||"wpstg_reset"===n.data("action")){var r="";if("wpstg_update"===n.data("action")&&(r=" \n\nExclude all tables and folders you do not want to overwrite, first! \n\nDo not cancel the updating process! This can break your staging site. \n\nCreate a backup of your staging website before you proceed."),!confirm("STOP! This will overwrite your staging site with all selected data from the production site! This should be used only if you want to clone again your production site. Are you sure you want to do this?"+r))return!1}if(n.attr("disabled"))return!1;"wpstg_cloning"===n.data("action")&&t("#wpstg-ext-db").is(":checked")?k(n,e):S(n,e)})).on("click",".wpstg-prev-step-link",(function(e){e.preventDefault(),r.get(".wpstg-loader").removeClass("wpstg-finished"),r.get(".wpstg-loader").hide(),D()}))}(),r.get("#wpstg-workflow").on("click",".wpstg-tab-header",(function(e){e.preventDefault();var s=t(this),n=r.get(s.data("id"));s.toggleClass("expand"),n.slideToggle();var o=s.find(".wpstg-tab-triangle");s.hasClass("expand")?(o.removeClass("wpstg-no-icon"),o.text(""),o.addClass("wpstg-rotate-90")):o.removeClass("wpstg-rotate-90")})),p.listenTooltip(),new w,new i,new u,n.notyf=new Notyf({duration:1e4,position:{x:"center",y:"bottom"},dismissible:!0,types:[{type:"warning",background:"orange",icon:!1}]})},n.ajax=b,n.showError=o,n.getLogs=O,n.loadOverview=D,n}(jQuery);jQuery(document).ready((function(){h.init(),window.WPStaging=h})),jQuery(document).ready((function(e){function t(s,n){void 0===n&&(n="false");var r=s.next(),o=e(".wpstg--tab--active .wpstg-report-email").val(),i=e(".wpstg--tab--active .wpstg-report-hosting-provider").val(),a=e(".wpstg--tab--active .wpstg-report-description").val(),c=e(".wpstg--tab--active .wpstg-report-syslog").is(":checked"),l=e(".wpstg--tab--active .wpstg-report-terms").is(":checked");s.attr("disabled",!0),r.css("visibility","visible"),e.ajax({url:ajaxurl,type:"POST",dataType:"json",async:!0,data:{action:"wpstg_send_report",accessToken:wpstg.accessToken,nonce:wpstg.nonce,wpstg_email:o,wpstg_provider:i,wpstg_message:a,wpstg_syslog:+c,wpstg_terms:+l,wpstg_force_send:n}}).done((function(n){if(s.attr("disabled",!1),r.css("visibility","hidden"),n.errors.length>0){e(".wpstg--tab--active .wpstg-report-issue-form .wpstg-message").remove();var o=e("<div />").addClass("wpstg-message wpstg-error-message");e.each(n.errors,(function(e,n){"already_submitted"===n.status?(o="",p.getSwalModal(!0,{container:"wpstg-issue-resubmit-confirmation"}).fire({title:"",icon:"warning",html:n.message,showCancelButton:!0,focusConfirm:!1,confirmButtonText:"Yes",cancelButtonText:"No"}).then((function(e){e.isConfirmed&&t(s,"true")}))):o.append("<p>"+n+"</p>")})),e(".wpstg--tab--active .wpstg-report-issue-form").prepend(o)}else{var i=e("<div />").addClass("wpstg-message wpstg-success-message");i.append("<p>Thanks for submitting your request! You should receive an auto reply mail with your ticket ID immediately for confirmation!<br><br>If you do not get that mail please contact us directly at <strong>support@wp-staging.com</strong></p>"),e(".wpstg--tab--active .wpstg-report-issue-form").html(i),e(".wpstg--tab--active .wpstg-success-message").append('<div style="float:right;margin-top:10px;"><a id="wpstg-success-button" href="#" class="wpstg--red">[X] CLOSE</a></div>'),setTimeout((function(){e(".wpstg--tab--active .wpstg-report-issue-form").removeClass("wpstg-report-active")}),2e3)}}))}e("body").on("click","#wpstg-report-issue-button",(function(t){console.log("REPORT"),e(".wpstg--tab--active .wpstg-report-issue-form").toggleClass("wpstg-report-show"),t.preventDefault()})),e("body").on("click","#wpstg-backups-report-issue-button",(function(t){e(".wpstg--tab--active .wpstg-report-issue-form").toggleClass("wpstg-report-show"),t.preventDefault()})),e("body").on("click","#wpstg-report-cancel",(function(t){e(".wpstg--tab--active .wpstg-report-issue-form").removeClass("wpstg-report-show"),t.preventDefault()})),e("body").on("click",".wpstg--tab--active #wpstg-report-submit",(function(s){t(e(this),"false"),s.preventDefault()})),e("body").on("click","#wpstg-success-button",(function(t){t.preventDefault(),e(".wpstg-report-issue-form").removeClass("wpstg-report-show")})),e(document).on("click",".wpstg-dropdown>.wpstg-dropdown-toggler",(function(t){t.preventDefault(),e(t.target).next(".wpstg-dropdown-menu").toggleClass("shown"),e(t.target).find(".wpstg-caret").toggleClass("wpstg-caret-up")})),e(document).on("click",".wpstg-caret",(function(t){t.preventDefault();var s=e(t.target).closest(".wpstg-dropdown-toggler");s&&s.trigger("click")})),document.addEventListener("click",(function(t){if(!t.target.closest(".wpstg-dropdown-toggler")){for(var s=document.getElementsByClassName("wpstg-dropdown-menu"),n=0;n<s.length;n++)s[n].classList.remove("shown");e(".wpstg-caret").removeClass("wpstg-caret-up")}}))}))}();
|
2 |
//# sourceMappingURL=wpstg-admin.min.js.map
|
1 |
+
!function(){"use strict";function e(){return(e=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var s=arguments[t];for(var n in s)Object.prototype.hasOwnProperty.call(s,n)&&(e[n]=s[n])}return e}).apply(this,arguments)}function t(e){return document.querySelector(e)}function s(e){return document.querySelectorAll(e)}function n(e,t,s,n){e.addEventListener(t,(function(e){e.target.matches(s+", "+s+" *")&&n(e.target.closest(s),e)}),!1)}function r(e,t){void 0===t&&(t=400),e.style.display="block",e.style.overflow="hidden";var s=e.offsetHeight;e.style.height="0px",e.style.transitionProperty="height",e.style.transitionDuration=t+"ms",setTimeout((function(){e.style.height=s+"px",window.setTimeout((function(){e.style.removeProperty("height"),e.style.removeProperty("overflow"),e.style.removeProperty("transition-duration"),e.style.removeProperty("transition-property")}),t)}),0)}function o(e,t){void 0===t&&(t=400),e.style.display="block",e.style.overflow="hidden";var s=e.offsetHeight;e.style.height=s+"px",e.style.transitionProperty="height",e.style.transitionDuration=t+"ms",setTimeout((function(){e.style.height="0px",window.setTimeout((function(){e.style.display="none",e.style.removeProperty("height"),e.style.removeProperty("overflow"),e.style.removeProperty("transition-duration"),e.style.removeProperty("transition-property")}),t)}),0)}var i=function(){function e(e,s){void 0===e&&(e="#wpstg-clonepage-wrapper"),void 0===s&&(s=wpstg),this.pageWrapper=t(e),this.wpstgObject=s,this.enableButtonId="#wpstg-enable-staging-cloning",this.enableAction="wpstg_enable_staging_cloning",this.notyf=new Notyf({duration:1e4,position:{x:"center",y:"bottom"},dismissible:!0,types:[{type:"warning",background:"orange",icon:!1}]}),this.init()}var s=e.prototype;return s.addEvents=function(){var e=this;null!==this.pageWrapper&&n(this.pageWrapper,"click",this.enableButtonId,(function(){e.sendRequest(e.enableAction)}))},s.init=function(){this.addEvents()},s.sendRequest=function(e){var t=this;fetch(this.wpstgObject.ajaxUrl,{method:"POST",credentials:"same-origin",body:new URLSearchParams({action:e,accessToken:this.wpstgObject.accessToken,nonce:this.wpstgObject.nonce}),headers:{"Content-Type":"application/x-www-form-urlencoded"}}).then((function(e){return e.ok?e.json():Promise.reject(e)})).then((function(e){void 0!==e.success&&e.success?location.reload():void 0===e.message?t.notyf.error(t.wpstgObject.i18n.somethingWentWrong):t.notyf.error(e.message)})).catch((function(e){console.warn(t.wpstgObject.i18n.somethingWentWrong,e)}))},e}(),a=function(){function e(e,s,n){void 0===e&&(e="#wpstg-directories-listing"),void 0===s&&(s=wpstg),void 0===n&&(n=null),this.directoryListingContainer=t(e),this.wpstgObject=s,this.dirCheckboxSelector=".wpstg-check-dir",this.dirExpandSelector=".wpstg-expand-dirs",this.unselectAllDirsSelector=".wpstg-unselect-dirs",this.selectDefaultDirsSelector=".wpstg-select-dirs-default",this.fetchChildrenAction="wpstg_fetch_dir_childrens",this.currentCheckboxElement=null,this.currentParentDiv=null,this.currentLoader=null,this.existingExcludes=[],this.excludedDirectories=[],this.isDefaultSelected=!1,this.notyf=n,this.init()}var s=e.prototype;return s.addEvents=function(){var e=this;null!==this.directoryListingContainer?(n(this.directoryListingContainer,"click",this.dirExpandSelector,(function(t,s){s.preventDefault(),e.toggleDirExpand(t)&&e.sendRequest(e.fetchChildrenAction,t)})),n(this.directoryListingContainer,"click",this.unselectAllDirsSelector,(function(){e.unselectAll()})),n(this.directoryListingContainer,"click",this.selectDefaultDirsSelector,(function(){e.selectDefault()}))):console.log("Error: directory navigation add events")},s.init=function(){this.addEvents(),this.parseExcludes()},s.toggleDirExpand=function(e){return this.currentParentDiv=e.parentElement,this.currentCheckboxElement=e.previousSibling,this.currentLoader=this.currentParentDiv.querySelector(".wpstg-is-dir-loading"),"false"!==this.currentCheckboxElement.getAttribute("data-navigateable","false")&&"false"===this.currentCheckboxElement.getAttribute("data-scanned","false")},s.sendRequest=function(e){var t=this;null!==this.currentLoader&&(this.currentLoader.style.display="inline-block"),fetch(this.wpstgObject.ajaxUrl,{method:"POST",credentials:"same-origin",body:new URLSearchParams({action:e,accessToken:this.wpstgObject.accessToken,nonce:this.wpstgObject.nonce,dirPath:this.currentCheckboxElement.value,isChecked:this.currentCheckboxElement.checked,forceDefault:this.isDefaultSelected}),headers:{"Content-Type":"application/x-www-form-urlencoded"}}).then((function(e){return e.ok?e.json():Promise.reject(e)})).then((function(e){if(void 0!==e.success&&e.success){t.currentCheckboxElement.setAttribute("data-scanned",!0);var s=document.createElement("div");return s.classList.add("wpstg-dir"),s.classList.add("wpstg-subdir"),s.innerHTML=JSON.parse(e.directoryListing),t.currentParentDiv.appendChild(s),null!==t.currentLoader&&(t.currentLoader.style.display="none"),void r(s)}null!==t.notyf?t.notyf.error(t.wpstgObject.i18n.somethingWentWrong):alert("Error: "+t.wpstgObject.i18n.somethingWentWrong)})).catch((function(e){console.warn(t.wpstgObject.i18n.somethingWentWrong,e)}))},s.getExcludedDirectories=function(){var e=this;return this.excludedDirectories=[],this.directoryListingContainer.querySelectorAll(".wpstg-dir input:not(:checked)").forEach((function(t){e.isParentExcluded(t.value)||e.excludedDirectories.push(t.value)})),this.existingExcludes.forEach((function(t){e.isParentExcluded(t)||e.isExcludeScanned(t)||e.excludedDirectories.push(t)})),this.excludedDirectories.join(this.wpstgObject.settings.directorySeparator)},s.isParentExcluded=function(e){var t=!1;return this.excludedDirectories.forEach((function(s){e.startsWith(s+"/")&&(t=!0)})),t},s.getExtraDirectoriesRootOnly=function(){this.getExcludedDirectories();var e=[];this.directoryListingContainer.querySelectorAll(":not(.wpstg-subdir)>.wpstg-dir>input.wpstg-wp-non-core-dir:checked").forEach((function(t){e.push(t.value)}));var s=t("#wpstg_extraDirectories");if(null===s||""===s.value)return e.join(this.wpstgObject.settings.directorySeparator);var n=s.value.split(/\r?\n/);return e.concat(n).join(this.wpstgObject.settings.directorySeparator)},s.unselectAll=function(){this.directoryListingContainer.querySelectorAll(".wpstg-dir input").forEach((function(e){e.checked=!1}))},s.selectDefault=function(){this.unselectAll(),this.directoryListingContainer.querySelectorAll(".wpstg-dir input.wpstg-wp-core-dir").forEach((function(e){e.checked=!0})),this.directoryListingContainer.querySelectorAll(".wpstg-dir > .wpstg-wp-non-core-dir").forEach((function(e){e.parentElement.querySelectorAll("input.wpstg-wp-core-dir").forEach((function(e){e.checked=!1}))})),this.isDefaultSelected=!0},s.parseExcludes=function(){this.existingExcludes=this.directoryListingContainer.getAttribute("data-existing-excludes",[]),""===this.existingExcludes&&(this.existingExcludes=[]),0!==this.existingExcludes.length&&(this.existingExcludes=this.existingExcludes.split(","))},s.isExcludeScanned=function(e){return this.directoryListingContainer.querySelectorAll(".wpstg-dir input").forEach((function(t){if(t.value===e)return!0})),!1},e}(),c=function(){function e(e,s){void 0===e&&(e="#wpstg-exclude-filters-container"),void 0===s&&(s=wpstg),this.excludeContainer=t(e),this.excludeTableBody=t(e+" tbody"),this.wpstgObject=s,this.init()}var r=e.prototype;return r.addEvents=function(){var e=this;n(this.excludeContainer,"click",".wpstg-file-size-rule",(function(){e.addFileSizeExclude()})),n(this.excludeContainer,"click",".wpstg-file-ext-rule",(function(){e.addFileExtExclude()})),n(this.excludeContainer,"click",".wpstg-file-name-rule",(function(){e.addFileNameExclude()})),n(this.excludeContainer,"click",".wpstg-dir-name-rule",(function(){e.addDirNameExclude()})),n(this.excludeContainer,"click",".wpstg-clear-all-rules",(function(){e.clearExcludes()})),n(this.excludeContainer,"click",".wpstg-remove-exclude-rule",(function(t){e.removeExclude(t)}))},r.init=function(){null!==this.excludeContainer?this.addEvents():console.log("Error: Given table selector not found!")},r.addFileSizeExclude=function(){this.addExcludeRuleRow("#wpstg-file-size-exclude-filter-template")},r.addFileExtExclude=function(){this.addExcludeRuleRow("#wpstg-file-ext-exclude-filter-template")},r.addFileNameExclude=function(){this.addExcludeRuleRow("#wpstg-file-name-exclude-filter-template")},r.addDirNameExclude=function(){this.addExcludeRuleRow("#wpstg-dir-name-exclude-filter-template")},r.addExcludeRuleRow=function(e){var n=t(e);if(null!==n){var r=n.content.cloneNode(!0).querySelector("tr");this.excludeTableBody.appendChild(r),s(".wpstg-has-exclude-rules").forEach((function(e){e.style.display="inherit"}))}},r.clearExcludes=function(){this.excludeTableBody.innerHTML="",s(".wpstg-has-exclude-rules").forEach((function(e){e.style.display="none"}))},r.removeExclude=function(e){null!==e.parentElement&&null!==e.parentElement.parentElement&&this.excludeTableBody.removeChild(e.parentElement.parentElement),""===this.excludeTableBody.innerHTML.trim()&&s(".wpstg-has-exclude-rules").forEach((function(e){e.style.display="none"}))},r.getExcludeFilters=function(){for(var e=this,t=[],s=[],n=this.excludeTableBody.querySelectorAll('select[name="wpstgFileSizeExcludeRuleCompare[]"]'),r=this.excludeTableBody.querySelectorAll('input[name="wpstgFileSizeExcludeRuleSize[]"]'),o=this.excludeTableBody.querySelectorAll('select[name="wpstgFileSizeExcludeRuleByte[]"]'),i=0,a=Object.entries(r);i<a.length;i++){var c=a[i],l=c[0],g=c[1];""!==g.value&&s.push(n[l].value+" "+g.value+o[l].value)}this.excludeTableBody.querySelectorAll('input[name="wpstgFileExtExcludeRule[]"]').forEach((function(s){var n=e.cleanStringForGlob(s.value);""!==n&&t.push("ext:"+n.trim())}));for(var p=this.excludeTableBody.querySelectorAll('select[name="wpstgFileNameExcludeRulePos[]"]'),d=this.excludeTableBody.querySelectorAll('input[name="wpstgFileNameExcludeRulePath[]"]'),u=0,w=Object.entries(d);u<w.length;u++){var h=w[u],f=h[0],m=h[1],v=this.cleanStringForGlob(m.value);""!==v&&t.push("file:"+p[f].value+" "+v.trim())}for(var b=this.excludeTableBody.querySelectorAll('select[name="wpstgDirNameExcludeRulePos[]"]'),y=this.excludeTableBody.querySelectorAll('input[name="wpstgDirNameExcludeRulePath[]"]'),x=0,k=Object.entries(y);x<k.length;x++){var S=k[x],E=S[0],C=S[1],_=this.cleanStringForGlob(C.value);""!==_&&t.push("dir:"+b[E].value+" "+_.trim())}return{sizes:s.filter(this.onlyUnique).join(","),globs:t.filter(this.onlyUnique).join(",")}},r.onlyUnique=function(e,t,s){return s.indexOf(e)===t},r.cleanStringForGlob=function(e){return e.replace(/[*^//!\.[?]/g,"")},e}(),l=function(){function e(e,t){void 0===t&&(t=wpstg),this.confirmAction=e,this.wpstgObject=t}var t=e.prototype;return t.show=function(e,t,s){var n=this;void 0===t&&(t={}),void 0===s&&(s=null),wpstgSwal.fire(e).then((function(e){e.value&&null!==n.error&&n.triggerConfirmAction(t,s)}))},t.triggerConfirmAction=function(e,t){var s=this;void 0===e&&(e={}),void 0===t&&(t=null),fetch(this.wpstgObject.ajaxUrl,{method:"POST",credentials:"same-origin",body:new URLSearchParams(Object.assign({action:this.confirmAction,accessToken:this.wpstgObject.accessToken,nonce:this.wpstgObject.nonce},e)),headers:{"Content-Type":"application/x-www-form-urlencoded"}}).then((function(e){return e.ok?e.json():Promise.reject(e)})).then((function(e){null!==t&&t(e)})).catch((function(e){console.log(s.wpstgObject.i18n.somethingWentWrong,e)}))},e}();function g(e,t,s,n){var r,o,i,a,c=!1,l=!1,g={},p=0,d=0,u={sensitivity:7,interval:100,timeout:0,handleFocus:!1};function w(e){r=e.clientX,o=e.clientY}function h(e,t){if(d&&(d=clearTimeout(d)),Math.abs(i-r)+Math.abs(a-o)<u.sensitivity)return p=1,l?void 0:s(e,t);i=r,a=o,d=setTimeout((function(){h(e,t)}),u.interval)}function f(e,t){return c=!0,d&&(d=clearTimeout(d)),e.removeEventListener("mousemove",w,!1),1!==p&&(i=t.clientX,a=t.clientY,e.addEventListener("mousemove",w,!1),d=setTimeout((function(){h(e,t)}),u.interval)),this}function m(e){e.target.matches(t+", "+t+" *")&&f(e.target.closest(t),e)}function v(e,t){return c=!1,d&&(d=clearTimeout(d)),e.removeEventListener("mousemove",w,!1),1===p&&(d=setTimeout((function(){!function(e,t){d&&(d=clearTimeout(d)),p=0,l||n(e,t)}(e,t)}),u.timeout)),this}function b(e){e.target.matches(t+", "+t+" *")&&v(e.target.closest(t),e)}function y(e){var n,r;e.target.matches(t+", "+t+" *")&&(n=e.target.closest(t),r=e,c||(l=!0,s(n,r)))}function x(e){var s,r;e.target.matches(t+", "+t+" *")&&(s=e.target.closest(t),r=e,!c&&l&&(l=!1,n(s,r)))}function k(){e.removeEventListener("focus",y,!1),e.removeEventListener("blur",x,!1)}return g.options=function(t){var s=t.handleFocus!==u.handleFocus;return u=Object.assign({},u,t),s&&(u.handleFocus?(e.addEventListener("focus",y,!1),e.addEventListener("blur",x,!1)):k()),g},g.remove=function(){e&&(e.removeEventListener("mouseover",m,!1),e.removeEventListener("mouseout",b,!1),k())},e&&(e.addEventListener("mouseover",m,!1),e.addEventListener("mouseout",b,!1)),g}var p=function(e){var t={continueErrorHandle:!0,cache:{elements:[],get:function(t){return-1!==e.inArray(t,this.elements)||(this.elements[t]=e(t)),this.elements[t]},refresh:function(t){t.elements[t]=e(t)}},listenTooltip:function(){g(document,".wpstg--tooltip",(function(e,t){e.querySelector(".wpstg--tooltiptext").style.visibility="visible"}),(function(e,t){e.querySelector(".wpstg--tooltiptext").style.visibility="hidden"}))},isEmpty:function(e){for(var t in e)if(e.hasOwnProperty(t))return!1;return!0},getSwalModal:function(e,t){void 0===e&&(e=!1),void 0===t&&(t={});var s={confirmButton:"wpstg--btn--confirm wpstg-blue-primary wpstg-button wpstg-link-btn wpstg-100-width",cancelButton:"wpstg--btn--cancel wpstg-blue-primary wpstg-link-btn wpstg-100-width",actions:"wpstg--modal--actions",popup:e?"wpstg-swal-popup centered-modal":"wpstg-swal-popup"},n={customClass:Object.assign(s,t),buttonsStyling:!1,reverseButtons:!0,showClass:{popup:"wpstg--swal2-show wpstg-swal-show"}};return wpstgSwal.mixin(n)},showSuccessModal:function(e){this.getSwalModal().fire({showConfirmButton:!1,showCancelButton:!0,cancelButtonText:"OK",icon:"success",title:"Success!",html:'<div class="wpstg--grey" style="text-align: left; margin-top: 8px;">'+e+"</div>"})},showWarningModal:function(e){this.getSwalModal().fire({showConfirmButton:!1,showCancelButton:!0,cancelButtonText:"OK",icon:"warning",title:"",html:'<div class="wpstg--grey" style="text-align: left; margin-top: 8px;">'+e+"</div>"})},showErrorModal:function(e){this.getSwalModal().fire({showConfirmButton:!1,showCancelButton:!0,cancelButtonText:"OK",icon:"error",title:"Error!",html:'<div class="wpstg--grey" style="text-align: left; margin-top: 8px;">'+e+"</div>"})},getSwalContainer:function(){return wpstgSwal.getContainer()},closeSwalModal:function(){wpstgSwal.close()},getDataFromWordPressResponse:function(e){if("object"!=typeof e)throw new Error("Unexpected response (ERR 1341)");if(!e.hasOwnProperty("success"))throw new Error("Unexpected response (ERR 1342)");if(!e.hasOwnProperty("data"))throw new Error("Unexpected response (ERR 1343)");if(!1===e.success)throw e.data instanceof Array&&e.data.length>0?new Error(e.data.shift()):new Error("Response was not successful");return e.data},isLoading:function(e){e&&!1!==e?t.cache.get(".wpstg-loader").show():t.cache.get(".wpstg-loader").hide()},slugify:function(e){return e.toString().toLowerCase().normalize("NFD").replace(/[\u0300-\u036f]/g,"").replace(/\s+/g,"-").replace(/&/g,"-and-").replace(/[^a-z0-9\-]/g,"").replace(/-+/g,"-").replace(/^-*/,"").replace(/-*$/,"")},showAjaxFatalError:function(e,s,n){return s=s?s+"<br/><br/>":"Something went wrong! <br/><br/>",n=n?n+"<br/><br/>":"<br/><br/>Please try the <a href='https://wp-staging.com/docs/wp-staging-settings-for-small-servers/' target='_blank'>WP Staging Small Server Settings</a> or submit an error report and contact us.",!1===e?(t.showError(s+" Error: No response."+n),void window.removeEventListener("beforeunload",WPStaging.warnIfClosingDuringProcess)):void 0!==e.error&&e.error?(t.showError(s+" Error: "+e.message+n),void window.removeEventListener("beforeunload",WPStaging.warnIfClosingDuringProcess)):void 0},handleFetchErrors:function(e){return e.ok||t.showError("Error: "+e.status+" - "+e.statusText+". Please try again or contact support."),e},showError:function(s){t.cache.get("#wpstg-try-again").css("display","inline-block"),t.cache.get("#wpstg-cancel-cloning").text("Reset"),t.cache.get("#wpstg-resume-cloning").show(),t.cache.get("#wpstg-error-wrapper").show(),t.cache.get("#wpstg-error-details").show().html(s),t.cache.get("#wpstg-removing-clone").removeClass("loading"),t.cache.get(".wpstg-loader").hide(),e(".wpstg--modal--process--generic-problem").show().html(s)},resetErrors:function(){t.cache.get("#wpstg-error-details").hide().html("")},ajax:function(s,n,r,o,i,a,c){void 0===a&&(a=null),void 0===c&&(c=null),void 0===r&&(r="json"),!1!==o&&(o=!0);var l=10,g=1e4*(i=void 0===i?0:i);a=parseInt(a),isNaN(a)||(g*=a),e.ajax({url:ajaxurl+"?action=wpstg_processing&_="+Date.now()/1e3,type:"POST",dataType:r,cache:!1,data:s,error:function(e,p,d){if(console.log(e.status+" "+e.statusText+"---"+p),"function"!=typeof c||(c(e,p,d),t.continueErrorHandle))if(++i<=l)setTimeout((function(){t.ajax(s,n,r,o,i,a)}),g);else{var u=void 0===e.status?"Unknown":e.status;t.showError("Fatal Error: "+u+" Please try the <a href='https://wp-staging.com/docs/wp-staging-settings-for-small-servers/' target='_blank'>WP Staging Small Server Settings</a> or submit an error report and contact us.")}else t.continueErrorHandle=!0},success:function(e){"function"==typeof n&&n(e)},statusCode:{404:function(){i>=l&&t.showError("Error 404 - Can't find ajax request URL! Please try the <a href='https://wp-staging.com/docs/wp-staging-settings-for-small-servers/' target='_blank'>WP Staging Small Server Settings</a> or submit an error report and contact us.")},500:function(){i>=l&&t.showError("Fatal Error 500 - Internal server error while processing the request! Please try the <a href='https://wp-staging.com/docs/wp-staging-settings-for-small-servers/' target='_blank'>WP Staging Small Server Settings</a> or submit an error report and contact us.")},504:function(){i>l&&t.showError("Error 504 - It looks like your server is rate limiting ajax requests. Please try to resume after a minute. If this still not works try the <a href='https://wp-staging.com/docs/wp-staging-settings-for-small-servers/' target='_blank'>WP Staging Small Server Settings</a> or submit an error report and contact us.\n ")},502:function(){i>=l&&t.showError("Error 502 - It looks like your server is rate limiting ajax requests. Please try to resume after a minute. If this still not works try the <a href='https://wp-staging.com/docs/wp-staging-settings-for-small-servers/' target='_blank'>WP Staging Small Server Settings</a> or submit an error report and contact us.\n ")},503:function(){i>=l&&t.showError("Error 503 - It looks like your server is rate limiting ajax requests. Please try to resume after a minute. If this still not works try the <a href='https://wp-staging.com/docs/wp-staging-settings-for-small-servers/' target='_blank'>WP Staging Small Server Settings</a> or submit an error report and contact us.\n ")},429:function(){i>=l&&t.showError("Error 429 - It looks like your server is rate limiting ajax requests. Please try to resume after a minute. If this still not works try the <a href='https://wp-staging.com/docs/wp-staging-settings-for-small-servers/' target='_blank'>WP Staging Small Server Settings</a> or submit an error report and contact us.\n ")},403:function(){i>=l&&t.showError("Refresh page or login again! The process should be finished successfully. \n ")}}})}};return t}(jQuery),d=function(){function e(e,s,n,r,o){void 0===s&&(s="#wpstg-workflow"),void 0===n&&(n="wpstg_clone_excludes_settings"),void 0===r&&(r="wpstg_modal_error"),void 0===o&&(o=wpstg),this.cloneID=e,this.workflow=t(s),this.wpstgObject=o,this.fetchExcludeSettingsAction=n,this.modalErrorAction=r,this.resetButtonClass="wpstg-confirm-reset-clone",this.resetModalContainerClass="wpstg-reset-confirmation",this.resetTabSelector=".wpstg-reset-exclude-tab",this.directoryNavigator=null,this.excludeFilters=null,this.isAllTablesChecked=!0}var s=e.prototype;return s.addEvents=function(){var e=this,s=t("."+this.resetModalContainerClass);null!==s?(n(s,"click",this.resetTabSelector,(function(t){e.toggleContent(t)})),n(s,"click",".wpstg-button-select",(function(){e.selectDefaultTables()})),n(s,"click",".wpstg-button-unselect",(function(){e.toggleTableSelection()})),n(s,"click",".wpstg-expand-dirs",(function(t,s){s.preventDefault(),e.toggleDirectoryNavigation(t)})),n(s,"change","input.wpstg-check-dir",(function(t){e.updateDirectorySelection(t)}))):console.log("Exit")},s.init=function(){this.addEvents()},s.toggleContent=function(e){var s=t("."+this.resetModalContainerClass),n=e.getAttribute("data-id"),i=e.querySelector(".wpstg-tab-triangle"),a=e.getAttribute("data-collapsed","true"),c=t(n);"true"===a?(s.classList.contains("has-collapsible-open")?s.classList.add("has-collapsible-open-2"):s.classList.add("has-collapsible-open"),r(c),i.style.transform="rotate(90deg)",e.setAttribute("data-collapsed","false")):(s.classList.contains("has-collapsible-open-2")?s.classList.remove("has-collapsible-open-2"):s.classList.remove("has-collapsible-open"),o(c),i.style.removeProperty("transform"),e.setAttribute("data-collapsed","true"))},s.showModal=function(){var e=this.loadModal();return this.init(),this.fetchCloneExcludes(),e},s.loadModal=function(){return p.getSwalModal(!1,{confirmButton:this.resetButtonClass+" wpstg-confirm-reset-clone wpstg--btn--confirm wpstg-blue-primary wpstg-button wpstg-link-btn",container:this.resetModalContainerClass+" wpstg-swal2-container wpstg-swal2-loading"}).fire({title:"",icon:"warning",html:this.getAjaxLoader(),width:"400px",focusConfirm:!1,confirmButtonText:this.wpstgObject.i18n.resetClone,showCancelButton:!0})},s.fetchCloneExcludes=function(){var e=this;this.error=null,fetch(this.wpstgObject.ajaxUrl,{method:"POST",credentials:"same-origin",body:new URLSearchParams({action:this.fetchExcludeSettingsAction,accessToken:this.wpstgObject.accessToken,nonce:this.wpstgObject.nonce,clone:this.cloneID,job:"resetting"}),headers:{"Content-Type":"application/x-www-form-urlencoded"}}).then((function(e){return e.ok?e.json():Promise.reject(e)})).then((function(s){if(s.success){var n=t(".wpstg-reset-confirmation");n.classList.remove("wpstg-swal2-loading"),n.querySelector(".wpstg--swal2-popup").style.width="500px",n.querySelector(".wpstg--swal2-content").innerHTML=s.html,e.directoryNavigator=new a,e.excludeFilters=new c}else{new l(e.modalErrorAction,e.wpstgObject).show(Object.assign({title:"Error",icon:"error",html:e.wpstgObject.i18n.somethingWentWrong,width:"500px",confirmButtonText:"Ok",showCancelButton:!1,customClass:{confirmButton:"wpstg--btn--confirm wpstg-blue-primary wpstg-button wpstg-link-btn",cancelButton:"wpstg--btn--cancel wpstg-blue-primary wpstg-link-btn",actions:"wpstg--modal--actions",popup:"wpstg-swal-popup centered-modal"},buttonsStyling:!1,reverseButtons:!0},s.swalOptions),{type:s.type})}})).catch((function(t){e.renderError({html:e.wpstgObject.i18n.somethingWentWrong+" "+t})}))},s.getDirectoryNavigator=function(){return this.directoryNavigator},s.getExcludeFilters=function(){return this.excludeFilters},s.getAjaxLoader=function(){return'<div class="wpstg-swal2-ajax-loader"><img src="'+this.wpstgObject.wpstgIcon+'" /></div>'},s.toggleDirectoryNavigation=function(e){var t=e.previousSibling;if("false"!==t.getAttribute("data-navigateable","false")&&"false"!==t.getAttribute("data-scanned","false")){var s=function(e,t){for(var s=e.nextElementSibling;s;){if(s.matches(t))return s;s=s.nextElementSibling}}(e,".wpstg-subdir");"none"===s.style.display?r(s):o(s)}},s.updateDirectorySelection=function(e){var t=e.parentElement;e.checked?(function(e,t){for(var s=[],n=e&&e.parentElement;n;n=n.parentElement)n.matches(t)&&s.push(n);return s}(t,".wpstg-dir").forEach((function(e){for(var t=0;t<e.children.length;t++)e.children[t].matches(".wpstg-check-dir")&&(e.children[t].checked=!0)})),t.querySelectorAll(".wpstg-expand-dirs").forEach((function(e){e.classList.remove("disabled")})),t.querySelectorAll(".wpstg-subdir .wpstg-check-dir").forEach((function(e){e.checked=!0}))):(t.querySelectorAll(".wpstg-expand-dirs, .wpstg-check-subdirs").forEach((function(e){e.classList.add("disabled")})),t.querySelectorAll(".wpstg-dir .wpstg-check-dir").forEach((function(e){e.checked=!1})))},s.selectDefaultTables=function(){var e=this,s=t("."+this.resetModalContainerClass).querySelectorAll("#wpstg_select_tables_cloning .wpstg-db-table"),n="^"+this.wpstgObject.tblprefix+"([^0-9])_*",r="^"+this.wpstgObject.tblprefix;s.forEach((function(t){var s=t.getAttribute("name","");"1"===e.wpstgObject.isMultisite&&s.match(n)||""===e.wpstgObject.isMultisite&&s.match(r)?t.setAttribute("selected","selected"):t.removeAttribute("selected")}))},s.toggleTableSelection=function(){var e=t("."+this.resetModalContainerClass);!1===this.isAllTablesChecked?(e.querySelectorAll("#wpstg_select_tables_cloning .wpstg-db-table").forEach((function(e){e.setAttribute("selected","selected")})),e.querySelector(".wpstg-button-unselect").innerHTML="Unselect All",this.isAllTablesChecked=!0):(e.querySelectorAll("#wpstg_select_tables_cloning .wpstg-db-table").forEach((function(e){e.removeAttribute("selected")})),e.querySelector(".wpstg-button-unselect").innerHTML="Select All",this.isAllTablesChecked=!1)},e}(),u=function(){function e(e){void 0===e&&(e="#wpstg-clonepage-wrapper"),this.baseContainer=t(e),this.checkBoxSettingTogglerSelector=".wpstg-toggle-advance-settings-section",this.init()}var s=e.prototype;return s.addEvents=function(){var e=this;null!==this.baseContainer&&n(this.baseContainer,"change",this.checkBoxSettingTogglerSelector,(function(t){e.toggleSettings(t)}))},s.init=function(){this.addEvents()},s.toggleSettings=function(e){var s=t("#"+e.getAttribute("data-id"));e.checked?r(s):o(s)},e}(),w=function(){function e(){this.activeTabClass="wpstg--tab--active",this.mainMenu()}return e.prototype.mainMenu=function(){var e=this;null!==t(".wpstg--tab--header")&&n(t(".wpstg--tab--header"),"click",".wpstg-button",(function(t){var n=t,r=n.getAttribute("data-target"),o=s(r),i=s(".wpstg--tab--header a[data-target]");s(".wpstg--tab--contents > .wpstg--tab--content").forEach((function(t){t.matches("."+e.activeTabClass+":not("+r+")")&&t.classList.remove(e.activeTabClass)})),i.forEach((function(t){t!==n&&t.classList.remove(e.activeTabClass)})),n.classList.add(e.activeTabClass),o.forEach((function(t){t.classList.add(e.activeTabClass)})),"#wpstg--tab--backup"===r&&window.dispatchEvent(new Event("backups-tab"))}))},e}(),h=function(t){var s,n={isCancelled:!1,isFinished:!1,getLogs:!1,time:1,executionTime:!1,progressBar:0,cloneExcludeFilters:null,directoryNavigator:null,notyf:null,areAllTablesChecked:!0},r={elements:[]};r.get=function(e){return-1!==t.inArray(e,r.elements)||(r.elements[e]=jQuery(e)),r.elements[e]},r.refresh=function(e){e.elements[e]=jQuery(e)};var o=function(e){r.get("#wpstg-try-again").css("display","inline-block"),r.get("#wpstg-cancel-cloning").text("Reset"),r.get("#wpstg-resume-cloning").show(),r.get("#wpstg-error-wrapper").show(),r.get("#wpstg-error-details").show().html(e),r.get("#wpstg-removing-clone").removeClass("loading"),r.get(".wpstg-loader").hide(),t(".wpstg--modal--process--generic-problem").show().html(e)};n.warnIfClosingDuringProcess=function(e){return e.returnValue="You MUST leave this window open while cloning/pushing. Please wait...",null};var g=function(e,t,s){return t=t?t+"<br/><br/>":"Something went wrong! <br/><br/>",s=s?s+"<br/><br/>":"<br/><br/>Please try the <a href='https://wp-staging.com/docs/wp-staging-settings-for-small-servers/' target='_blank'>WP Staging Small Server Settings</a> or submit an error report and contact us.",!1===e?(o(t+" Error: No response."+s),void window.removeEventListener("beforeunload",h.warnIfClosingDuringProcess)):void 0!==e.error&&e.error?(console.error(e.message),o(t+" Error: "+e.message+s),void window.removeEventListener("beforeunload",h.warnIfClosingDuringProcess)):void 0},f=function(){r.get("#wpstg-error-details").hide().html("")},m=function(){var e=t("#wpstg_clone_hostname").val();if(""===e)return!0;return!1!==/^http(s)?:\/\/.*$/.test(e)},v=function(){var e=r.get("#wpstg-workflow");e.on("click","#wpstg-cancel-cloning",(function(){if(!confirm("Are you sure you want to cancel cloning process?"))return!1;var e=t(this);t("#wpstg-try-again, #wpstg-home-link").hide(),e.prop("disabled",!0),n.isCancelled=!0,n.progressBar=0,t("#wpstg-processing-status").text("Please wait...this can take up a while."),t(".wpstg-loader, #wpstg-show-log-button").hide(),e.parent().append(s),j()})).on("click","#wpstg-resume-cloning",(function(){f();var e=t(this);t("#wpstg-try-again, #wpstg-home-link").hide(),n.isCancelled=!1,t("#wpstg-processing-status").text("Try to resume cloning process..."),t("#wpstg-error-details").hide(),t(".wpstg-loader").show(),e.parent().append(s),n.startCloning()})).on("click","#wpstg-cancel-cloning-update",(function(){f();var e=t(this);t("#wpstg-try-again, #wpstg-home-link").hide(),e.prop("disabled",!0),n.isCancelled=!0,t("#wpstg-cloning-result").text("Please wait...this can take up a while."),t(".wpstg-loader, #wpstg-show-log-button").hide(),e.parent().append(s),L()})).on("click","#wpstg-restart-cloning",(function(){f();var e=t(this);t("#wpstg-try-again, #wpstg-home-link").hide(),e.prop("disabled",!0),n.isCancelled=!0,t("#wpstg-cloning-result").text("Please wait...this can take up a while."),t(".wpstg-loader, #wpstg-show-log-button").hide(),e.parent().append(s),A()})).on("click",".wpstg-remove-clone[data-clone]",(function(s){f(),s.preventDefault();var n=r.get("#wpstg-existing-clones");e.removeClass("active"),r.get(".wpstg-loader").show(),b({action:"wpstg_confirm_delete_clone",accessToken:wpstg.accessToken,nonce:wpstg.nonce,clone:t(this).data("clone")},(function(e){r.get("#wpstg-removing-clone").html(e),n.children("img").remove(),r.get(".wpstg-loader").hide(),t("html, body").animate({scrollTop:t("#wpstg-remove-clone").offset().top-t(window).height()+t("#wpstg-remove-clone").height()+50},100)}),"HTML")})).on("click","#wpstg-remove-clone",(function(e){f(),e.preventDefault(),r.get("#wpstg-removing-clone").addClass("loading"),r.get(".wpstg-loader").show(),P(t(this).data("clone"))})).on("click","#wpstg-cancel-removing",(function(e){e.preventDefault(),t(".wpstg-clone").removeClass("active"),r.get("#wpstg-removing-clone").html("")})).on("click",".wpstg-execute-clone",(function(s){s.preventDefault();var r=t(this).data("clone");e.addClass("loading"),n.cloneExcludeFilters=null,b({action:"wpstg_scanning",clone:r,accessToken:wpstg.accessToken,nonce:wpstg.nonce},(function(t){t.length<1&&o("Something went wrong! Error: No response. Please try the <a href='https://wp-staging.com/docs/wp-staging-settings-for-small-servers/' target='_blank'>WP Staging Small Server Settings</a> or submit an error report and contact us.");var s=_(t);if(!1!==s&&!1===s.success)return e.removeClass("loading"),void C(s);e.removeClass("loading").html(t),R(),n.directoryNavigator=new a("#wpstg-directories-listing",wpstg,n.notyf),n.cloneExcludeFilters=new c,n.switchStep(2)}),"HTML")})).on("click",".wpstg-reset-clone",(function(e){e.preventDefault();var s=t(this).data("clone"),r=new d(s),o=r.showModal();n.areAllTablesChecked=!0,o.then((function(e){if(e.value){var t=r.getDirectoryNavigator(),n=r.getExcludeFilters().getExcludeFilters();T(s,{includedTables:y(),excludeSizeRules:encodeURIComponent(n.sizes),excludeGlobRules:encodeURIComponent(n.globs),excludedDirectories:t.getExcludedDirectories(),extraDirectories:t.getExtraDirectoriesRootOnly()})}}))}))},b=function e(s,n,r,i,a,c){void 0===c&&(c=null),void 0===r&&(r="json"),!1!==i&&(i=!0);var l=10,g=1e4*(a=void 0===a?0:a);c=parseInt(c),isNaN(c)||(g*=c),t.ajax({url:ajaxurl+"?action=wpstg_processing&_="+Date.now()/1e3,type:"POST",dataType:r,cache:!1,data:s,error:function(t,p,d){if(++a<=l)setTimeout((function(){e(s,n,r,i,a,c)}),g);else{var u=void 0===t.status?"Unknown":t.status;o("Fatal Error: "+u+" Please try the <a href='https://wp-staging.com/docs/wp-staging-settings-for-small-servers/' target='_blank'>WP Staging Small Server Settings</a> or submit an error report and contact us.")}},success:function(e){"function"==typeof n&&n(e)},statusCode:{404:function(){a>=l&&o("Error 404 - Can't find ajax request URL! Please try the <a href='https://wp-staging.com/docs/wp-staging-settings-for-small-servers/' target='_blank'>WP Staging Small Server Settings</a> or submit an error report and contact us.")},500:function(){a>=l&&o("Fatal Error 500 - Internal server error while processing the request! Please try the <a href='https://wp-staging.com/docs/wp-staging-settings-for-small-servers/' target='_blank'>WP Staging Small Server Settings</a> or submit an error report and contact us.")},504:function(){a>l&&o("Error 504 - It looks like your server is rate limiting ajax requests. Please try to resume after a minute. If this still not works try the <a href='https://wp-staging.com/docs/wp-staging-settings-for-small-servers/' target='_blank'>WP Staging Small Server Settings</a> or submit an error report and contact us.\n ")},502:function(){a>=l&&o("Error 502 - It looks like your server is rate limiting ajax requests. Please try to resume after a minute. If this still not works try the <a href='https://wp-staging.com/docs/wp-staging-settings-for-small-servers/' target='_blank'>WP Staging Small Server Settings</a> or submit an error report and contact us.\n ")},503:function(){a>=l&&o("Error 503 - It looks like your server is rate limiting ajax requests. Please try to resume after a minute. If this still not works try the <a href='https://wp-staging.com/docs/wp-staging-settings-for-small-servers/' target='_blank'>WP Staging Small Server Settings</a> or submit an error report and contact us.\n ")},429:function(){a>=l&&o("Error 429 - It looks like your server is rate limiting ajax requests. Please try to resume after a minute. If this still not works try the <a href='https://wp-staging.com/docs/wp-staging-settings-for-small-servers/' target='_blank'>WP Staging Small Server Settings</a> or submit an error report and contact us.\n ")},403:function(){a>=l&&o("Refresh page or login again! The process should be finished successfully. \n ")}}})},y=function(){var e=[];return t("#wpstg_select_tables_cloning option:selected").each((function(){e.push(this.value)})),e},x=function(){var e=[];return t(".wpstg-db-table input:not(:checked)").each((function(){e.push(this.name)})),e},k=function(e,t){r.get(".wpstg-loader").show(),b({action:"wpstg_database_verification",accessToken:wpstg.accessToken,nonce:wpstg.nonce,databaseUser:r.get("#wpstg_db_username").val(),databasePassword:r.get("#wpstg_db_password").val(),databaseServer:r.get("#wpstg_db_server").val(),databaseDatabase:r.get("#wpstg_db_database").val()},(function(s){if(!1===s)return o("Something went wrong! Error: No response.Please try again. If that does not help, <a href='https://wp-staging.com/support/' target='_blank'>open a support ticket</a> "),void r.get(".wpstg-loader").hide();if(void 0===s.success)return o("Something went wrong! Error: Invalid response.Please try again. If that does not help, <a href='https://wp-staging.com/support/' target='_blank'>open a support ticket</a> "),void r.get(".wpstg-loader").hide();if(s.success)return r.get(".wpstg-loader").hide(),void S(e,t);if("comparison"===s.error_type){r.get(".wpstg-loader").hide();var n='<table style="width: 100%;"><thead><tr><th>Property</th><th>Production DB</th><th>Staging DB</th><th>Status</th></tr></thead><tbody>';return s.checks.forEach((function(e){var t='<i style="color: #00ff00">✔</i>';e.production!==e.staging&&(t='<i style="color: #ff0000">❌</i>'),n+="<tr><td>"+e.name+"</td><td>"+e.production+"</td><td>"+e.staging+"</td><td>"+t+"</td></tr>"})),n+="</tbody></table><p>Note: Some mySQL properties do not match. You may proceed but the staging site may not work as expected.</p>",void p.getSwalModal().fire({title:"Different Database Properties",icon:"warning",html:n,width:"650px",focusConfirm:!1,confirmButtonText:"Proceed Anyway",showCancelButton:!0}).then((function(s){s.value&&S(e,t)}))}p.getSwalModal(!0).fire({title:"Different Database Properties",icon:"error",html:s.message,focusConfirm:!0,confirmButtonText:"Ok",showCancelButton:!1}),r.get(".wpstg-loader").hide()}),"json",!1)},S=function(e,s){s.addClass("loading"),n.data={action:e.data("action"),accessToken:wpstg.accessToken,nonce:wpstg.nonce},function(){if("wpstg_cloning"===n.data.action||"wpstg_update"===n.data.action||"wpstg_reset"===n.data.action){if(n.data.cloneID=(new Date).getTime().toString(),"wpstg_update"===n.data.action&&(n.data.cloneID=t("#wpstg-new-clone-id").data("clone")),n.data.cloneName=t("#wpstg-new-clone-id").val()||n.data.cloneID,null!==n.directoryNavigator&&(n.data.excludedDirectories=encodeURIComponent(n.directoryNavigator.getExcludedDirectories()),n.data.extraDirectories=encodeURIComponent(n.directoryNavigator.getExtraDirectoriesRootOnly())),n.data.excludeGlobRules="",n.data.excludeSizeRules="",n.cloneExcludeFilters instanceof c){var e=n.cloneExcludeFilters.getExcludeFilters();n.data.excludeGlobRules=encodeURIComponent(e.globs),n.data.excludeSizeRules=encodeURIComponent(e.sizes)}n.data.includedTables=y(),n.data.databaseServer=t("#wpstg_db_server").val(),n.data.databaseUser=t("#wpstg_db_username").val(),n.data.databasePassword=t("#wpstg_db_password").val(),n.data.databaseDatabase=t("#wpstg_db_database").val(),n.data.databasePrefix=t("#wpstg_db_prefix").val();var s=t("#wpstg_clone_dir").val();n.data.cloneDir=encodeURIComponent(t.trim(s)),n.data.cloneHostname=t("#wpstg_clone_hostname").val(),n.data.emailsAllowed=t("#wpstg_allow_emails").is(":checked"),n.data.uploadsSymlinked=t("#wpstg_symlink_upload").is(":checked"),n.data.cleanPluginsThemes=t("#wpstg-clean-plugins-themes").is(":checked"),n.data.cleanUploadsDir=t("#wpstg-clean-uploads").is(":checked")}}(),E(s)},E=function(e){b(n.data,(function(t){!1===t&&o("Something went wrong!<br/><br/> Go to WP Staging > Settings and lower 'File Copy Limit' and 'DB Query Limit'. Also set 'CPU Load Priority to low 'and try again. If that does not help, <a href='https://wp-staging.com/support/' target='_blank'>open a support ticket</a> "),t.length<1&&o("Something went wrong! No response. Go to WP Staging > Settings and lower 'File Copy Limit' and 'DB Query Limit'. Also set 'CPU Load Priority to low 'and try again. If that does not help, <a href='https://wp-staging.com/support/' target='_blank'>open a support ticket</a> ");var s=_(t);if(!1!==s&&!1===s.success)return e.removeClass("loading"),void C(s);e.removeClass("loading").html(t),n.cloneExcludeFilters=null,"wpstg_scanning"===n.data.action?(n.areAllTablesChecked=!0,n.directoryNavigator=new a("#wpstg-directories-listing",wpstg,n.notyf),n.switchStep(2),n.cloneExcludeFilters=new c):"wpstg_cloning"!==n.data.action&&"wpstg_update"!==n.data.action&&"wpstg_reset"!==n.data.action||n.switchStep(3),n.startCloning()}),"HTML")},C=function(e){new l("wpstg_modal_error",wpstg).show(Object.assign({title:"Error",icon:"error",html:wpstg.i18n.somethingWentWrong,width:"500px",confirmButtonText:"Ok",showCancelButton:!1,customClass:{confirmButton:"wpstg--btn--confirm wpstg-blue-primary wpstg-button wpstg-link-btn",cancelButton:"wpstg--btn--cancel wpstg-blue-primary wpstg-link-btn",actions:"wpstg--modal--actions",popup:"wpstg-swal-popup centered-modal"},buttonsStyling:!1,reverseButtons:!0},e.swalOptions),{type:e.type})},_=function(e){if(!e)return!1;try{var t=JSON.parse(e);if(t&&"object"==typeof t)return t}catch(e){}return!1},T=function(t,s){n.data={action:"wpstg_reset",accessToken:wpstg.accessToken,nonce:wpstg.nonce,cloneID:t},n.data=e({},n.data,s);var o=r.get("#wpstg-workflow");E(o)},D=function(){var e=r.get("#wpstg-workflow");e.addClass("loading"),b({action:"wpstg_overview",accessToken:wpstg.accessToken,nonce:wpstg.nonce},(function(t){t.length<1&&o("Something went wrong! No response. Please try the <a href='https://wp-staging.com/docs/wp-staging-settings-for-small-servers/' target='_blank'>WP Staging Small Server Settings</a> or submit an error report."),r.get(".wpstg-current-step"),e.removeClass("loading").html(t)}),"HTML"),n.switchStep(1),r.get(".wpstg-step3-cloning").show(),r.get(".wpstg-step3-pushing").hide()},P=function e(s){var n=t("#deleteDirectory:checked").data("deletepath");b({action:"wpstg_delete_clone",clone:s,accessToken:wpstg.accessToken,nonce:wpstg.nonce,excludedTables:x(),deleteDir:n},(function(n){if(n&&(g(n),void 0!==n.delete&&("finished"===n.delete||"unfinished"===n.delete)))return r.get("#wpstg-removing-clone").removeClass("loading").html(""),"finished"===n.delete&&void 0===n.error&&t('.wpstg-clone[data-clone-id="'+s+'"]').remove(),t("#wpstg-existing-clones .wpstg-clone").length<1&&(r.get("#wpstg-existing-clones").find("h3").text(""),r.get("#wpstg-no-staging-site-results").show()),void r.get(".wpstg-loader").hide();!0===n||e(s)}))},j=function e(){if(n.timer("stop"),!0===n.isFinished)return!0;b({action:"wpstg_cancel_clone",clone:n.data.cloneID,accessToken:wpstg.accessToken,nonce:wpstg.nonce},(function(t){if(t&&void 0!==t.delete&&"finished"===t.delete)return r.get(".wpstg-loader").hide(),void D();!0===t?D():e()}))},L=function e(){if(!0===n.isFinished)return!0;b({action:"wpstg_cancel_update",clone:n.data.cloneID,accessToken:wpstg.accessToken,nonce:wpstg.nonce},(function(t){t&&void 0!==t.delete&&"finished"===t.delete||!0===t?D():e()}))},A=function(){if(!0===n.isFinished)return!0;b({action:"wpstg_restart",accessToken:wpstg.accessToken,nonce:wpstg.nonce},(function(e){e&&void 0!==e.delete&&"finished"===e.delete||!0===e?D():L()}))},O=function(e){var s;null!=e&&void 0!==e&&(e.constructor===Array?t.each(e,(function(e,t){null!==t&&("ERROR"===t.type?r.get(".wpstg-log-details").append('<span class="wpstg--red">['+t.type+"]</span>-["+t.date+"] "+t.message+"</br>"):r.get(".wpstg-log-details").append("["+t.type+"]-["+t.date+"] "+t.message+"</br>"))})):r.get(".wpstg-log-details").append("["+e.type+"]-["+e.date+"] "+e.message+"</br>")),void 0!==(s=r.get(".wpstg-log-details"))[0]&&s.scrollTop(s[0].scrollHeight)},R=function(){r.get("#wpstg-check-space").on("click",(function(e){r.get(".wpstg-loader").show();var t=encodeURIComponent(n.directoryNavigator.getExcludedDirectories()),s=encodeURIComponent(n.directoryNavigator.getExtraDirectoriesRootOnly());b({action:"wpstg_check_disk_space",accessToken:wpstg.accessToken,nonce:wpstg.nonce,excludedDirectories:t,extraDirectories:s},(function(e){if(!1===e)return r.get("#wpstg-clone-id-error").text("Can not detect required disk space").show(),void r.get(".wpstg-loader").hide();r.get("#wpstg-clone-id-error").html("Estimated necessary disk space: "+e.requiredSpace+(null!==e.errorMessage?"<br>"+e.errorMessage:"")+'<br> <span style="color:#444;">Before you proceed ensure your account has enough free disk space to hold the entire instance of the production site. You can check the available space from your hosting account (cPanel or similar).</span>').show(),r.get(".wpstg-loader").hide()}),"json",!1)}))};return n.timer=function(e){if("stop"===e){var t=n.time;return n.time=1,clearInterval(n.executionTime),n.convertSeconds(t)}n.executionTime=setInterval((function(){null!==document.getElementById("wpstg-processing-timer")&&(document.getElementById("wpstg-processing-timer").innerHTML="Elapsed Time: "+n.convertSeconds(n.time)),n.time++,"stop"===e&&(n.time=1,clearInterval(n.executionTime))}),1e3)},n.convertSeconds=function(e){var t=new Date(null);return t.setSeconds(e),t.toISOString().substr(11,8)},n.startCloning=function(){if(f(),R(),"wpstg_cloning"===n.data.action||"wpstg_update"===n.data.action||"wpstg_reset"===n.data.action){n.isCancelled=!1,r.get(".wpstg-loader").show(),r.get("#wpstg-cancel-cloning").text("Cancel"),r.get("#wpstg-resume-cloning").hide(),r.get("#wpstg-error-details").hide(),setTimeout((function(){window.addEventListener("beforeunload",h.warnIfClosingDuringProcess),e()}),wpstg.delayReq),n.timer("start");var e=function e(){if(!0===n.isCancelled)return window.removeEventListener("beforeunload",h.warnIfClosingDuringProcess),!1;var o;(o=!0)&&!1!==o?r.get(".wpstg-loader").show():r.get(".wpstg-loader").hide();var i="",a="";null!==n.directoryNavigator&&(i=n.directoryNavigator.getExcludedDirectories(),a=n.directoryNavigator.getExtraDirectoriesRootOnly()),r.get(".wpstg-log-details").show(),h.ajax({action:"wpstg_processing",accessToken:wpstg.accessToken,nonce:wpstg.nonce,excludedTables:x(),excludedDirectories:encodeURIComponent(i),extraDirectories:encodeURIComponent(a)},(function(o){g(o),void 0!==o.last_msg&&o.last_msg&&O(o.last_msg),!1===o.status?(s(o),setTimeout((function(){r.get(".wpstg-loader").show(),e()}),wpstg.delayReq)):!0===o.status&&"finished"!==o.status?(r.get("#wpstg-error-details").hide(),r.get("#wpstg-error-wrapper").hide(),s(o),e()):("finished"===o.status||void 0!==o.job_done&&o.job_done)&&(window.removeEventListener("beforeunload",h.warnIfClosingDuringProcess),function(e){!0===n.getLogs&&O();s(e),void 0!==e.last_msg&&O(e.last_msg);r.get(".wpstg-loader").hide(),r.get("#wpstg-processing-header").html("Processing Complete"),t("#wpstg-processing-status").text("Succesfully finished"),r.get("#wpstg_staging_name").html(n.data.cloneID),r.get("#wpstg-finished-result").show(),r.get("#wpstg-cancel-cloning").hide(),r.get("#wpstg-resume-cloning").hide(),r.get("#wpstg-cancel-cloning-update").prop("disabled",!0);var o=r.get("#wpstg-clone-url-1"),i=r.get("#wpstg-clone-url");o.attr("href",e.url),o.html(e.url),i.attr("href",e.url),r.get("#wpstg-remove-clone").data("clone",n.data.cloneID),n.isFinished=!0,n.timer("stop"),r.get(".wpstg-loader").hide(),r.get("#wpstg-processing-header").html("Processing Complete");var a=wpstg.i18n.cloneResetComplete;"wpstg_update"===n.data.action&&(a=wpstg.i18n.cloneUpdateComplete);"wpstg_update"!==n.data.action&&"wpstg_reset"!==n.data.action||(r.get("#wpstg-cancel-cloning-update").hide(),r.get(".wpstg-prev-step-link").show(),p.getSwalModal(!0,{confirmButton:"wpstg--btn--confirm wpstg-green-button wpstg-button wpstg-link-btn wpstg-100-width"}).fire({title:"",icon:"success",html:a,width:"500px",focusConfirm:!0}))}(o))}),"json",!1)},s=function(e,t){if(void 0===e.percentage)return!1;"database"===e.job&&(r.get("#wpstg-progress-db").width(.2*e.percentage+"%").html(e.percentage+"%"),r.get("#wpstg-processing-status").html(e.percentage.toFixed(0)+"% - Step 1 of 4 Cloning Database Tables...")),"SearchReplace"===e.job&&(r.get("#wpstg-progress-db").css("background-color","#3bc36b"),r.get("#wpstg-progress-db").html("1. Database"),r.get("#wpstg-progress-db").width("20%"),r.get("#wpstg-progress-sr").width(.1*e.percentage+"%").html(e.percentage+"%"),r.get("#wpstg-processing-status").html(e.percentage.toFixed(0)+"% - Step 2 of 4 Preparing Database Data...")),"directories"===e.job&&(r.get("#wpstg-progress-sr").css("background-color","#3bc36b"),r.get("#wpstg-progress-sr").html("2. Data"),r.get("#wpstg-progress-sr").width("10%"),r.get("#wpstg-progress-dirs").width(.1*e.percentage+"%").html(e.percentage+"%"),r.get("#wpstg-processing-status").html(e.percentage.toFixed(0)+"% - Step 3 of 4 Getting files...")),"files"===e.job&&(r.get("#wpstg-progress-dirs").css("background-color","#3bc36b"),r.get("#wpstg-progress-dirs").html("3. Files"),r.get("#wpstg-progress-dirs").width("10%"),r.get("#wpstg-progress-files").width(.6*e.percentage+"%").html(e.percentage+"%"),r.get("#wpstg-processing-status").html(e.percentage.toFixed(0)+"% - Step 4 of 4 Copy files...")),"finish"===e.job&&(r.get("#wpstg-progress-files").css("background-color","#3bc36b"),r.get("#wpstg-progress-files").html("4. Copy Files"),r.get("#wpstg-progress-files").width("60%"),r.get("#wpstg-processing-status").html(e.percentage.toFixed(0)+"% - Cloning Process Finished"))}}},n.switchStep=function(e){r.get(".wpstg-current-step").removeClass("wpstg-current-step"),r.get(".wpstg-step"+e).addClass("wpstg-current-step")},n.init=function(){var e,o,a;D(),o=r.get("#wpstg-workflow"),a=ajaxurl.replace("/admin-ajax.php","")+"/images/spinner",2<window.devicePixelRatio&&(a+="-2x"),s="<img src=''"+(a+=".gif")+"' alt='' class='ajax-spinner general-spinner' />",o.on("click",".wpstg-button-unselect",(function(e){e.preventDefault(),!1===n.areAllTablesChecked?(r.get("#wpstg_select_tables_cloning .wpstg-db-table").prop("selected","selected"),r.get(".wpstg-button-unselect").text("Unselect All"),r.get(".wpstg-db-table-checkboxes").prop("checked",!0),n.areAllTablesChecked=!0):(r.get("#wpstg_select_tables_cloning .wpstg-db-table").prop("selected",!1),r.get(".wpstg-button-unselect").text("Select All"),r.get(".wpstg-db-table-checkboxes").prop("checked",!1),n.areAllTablesChecked=!1)})).on("click",".wpstg-button-select",(function(e){e.preventDefault(),t("#wpstg_select_tables_cloning .wpstg-db-table").each((function(){1==wpstg.isMultisite&&(t(this).attr("name").match("^"+wpstg.tblprefix+"([^0-9])_*")?t(this).prop("selected","selected"):t(this).prop("selected",!1)),0==wpstg.isMultisite&&(t(this).attr("name").match("^"+wpstg.tblprefix)?t(this).prop("selected","selected"):t(this).prop("selected",!1))}))})).on("click",".wpstg-expand-dirs",(function(e){e.preventDefault(),t(this).siblings(".wpstg-subdir").slideToggle()})).on("change","input.wpstg-check-dir",(function(){var e=t(this).parent(".wpstg-dir");this.checked?(e.parents(".wpstg-dir").children(".wpstg-check-dir").prop("checked",!0),e.find(".wpstg-expand-dirs").removeClass("disabled"),e.find(".wpstg-subdir .wpstg-check-dir").prop("checked",!0)):(e.find(".wpstg-dir .wpstg-check-dir").prop("checked",!1),e.find(".wpstg-expand-dirs, .wpstg-check-subdirs").addClass("disabled"),e.find(".wpstg-check-subdirs").data("action","check").text("check"))})).on("change","href.wpstg-check-dir",(function(){var e=t(this).parent(".wpstg-dir");this.checked?(e.parents(".wpstg-dir").children(".wpstg-check-dir").prop("checked",!0),e.find(".wpstg-expand-dirs").removeClass("disabled"),e.find(".wpstg-subdir .wpstg-check-dir").prop("checked",!0)):(e.find(".wpstg-dir .wpstg-check-dir").prop("checked",!1),e.find(".wpstg-expand-dirs, .wpstg-check-subdirs").addClass("disabled"),e.find(".wpstg-check-subdirs").data("action","check").text("check"))})).on("keyup","#wpstg-new-clone-id",(function(){if(document.getElementById("wpstg-error-details").style.display="none","number"==typeof e&&clearInterval(e),void 0===this.value||""===this.value)return r.get("#wpstg-new-clone-id").removeClass("wpstg-error-input"),r.get("#wpstg-start-cloning").removeAttr("disabled"),void r.get("#wpstg-clone-id-error").text("").hide();var t=p.slugify(this.value);e=setTimeout((function(){b({action:"wpstg_check_clone",accessToken:wpstg.accessToken,nonce:wpstg.nonce,directoryName:t},(function(e){"success"===e.status?(r.get("#wpstg-new-clone-id").removeClass("wpstg-error-input"),r.get("#wpstg-start-cloning").removeAttr("disabled"),r.get("#wpstg-clone-id-error").text("").hide()):(r.get("#wpstg-new-clone-id").addClass("wpstg-error-input"),r.get("#wpstg-start-cloning").prop("disabled",!0),r.get("#wpstg-clone-id-error").text(e.message).show())}))}),500)})).on("click","#wpstg-start-cloning",(function(){f(),n.isCancelled=!1,n.getLogs=!1,n.progressBar=0})).on("input","#wpstg-new-clone-id",(function(){if(!(t("#wpstg-clone-directory").length<1)){var e=p.slugify(this.value),s=t("#wpstg-use-target-dir"),n=t("#wpstg-use-target-hostname"),r=s.data("base-path"),o=n.data("base-uri");r&&(r=r.replace(/\/+$/g,"")+"/"+e+"/"),o&&(o=o.replace(/\/+$/g,"")+"/"+e),t(".wpstg-use-target-dir--value").text(r),t(".wpstg-use-target-hostname--value").text(o),s.attr("data-path",r),n.attr("data-uri",o),t("#wpstg_clone_dir").attr("placeholder",r),t("#wpstg_clone_hostname").attr("placeholder",o)}})).on("input","#wpstg_clone_hostname",(function(){""===t(this).val()||m()?t("#wpstg_clone_hostname_error").remove():m()||t("#wpstg_clone_hostname_error").length||t("#wpstg-clone-directory tr:last-of-type").after('<tr><td> </td><td><p id="wpstg_clone_hostname_error" style="color: red;"> Invalid host name. Please provide it in a format like http://example.com</p></td></tr>')})),v(),function(){var e=r.get("#wpstg-workflow");e.on("click",".wpstg-next-step-link",(function(s){s.preventDefault();var n=t(this);if(t("#wpstg_clone_hostname").length&&!m())return t("#wpstg_clone_hostname").focus(),!1;if("wpstg_update"===n.data("action")||"wpstg_reset"===n.data("action")){var r="";if("wpstg_update"===n.data("action")&&(r=" \n\nExclude all tables and folders you do not want to overwrite, first! \n\nDo not cancel the updating process! This can break your staging site. \n\nCreate a backup of your staging website before you proceed."),!confirm("STOP! This will overwrite your staging site with all selected data from the production site! This should be used only if you want to clone again your production site. Are you sure you want to do this?"+r))return!1}if(n.attr("disabled"))return!1;"wpstg_cloning"===n.data("action")&&t("#wpstg-ext-db").is(":checked")?k(n,e):S(n,e)})).on("click",".wpstg-prev-step-link",(function(e){e.preventDefault(),r.get(".wpstg-loader").removeClass("wpstg-finished"),r.get(".wpstg-loader").hide(),D()}))}(),r.get("#wpstg-workflow").on("click",".wpstg-tab-header",(function(e){e.preventDefault();var s=t(this),n=r.get(s.data("id"));s.toggleClass("expand"),n.slideToggle();var o=s.find(".wpstg-tab-triangle");s.hasClass("expand")?(o.removeClass("wpstg-no-icon"),o.text(""),o.addClass("wpstg-rotate-90")):o.removeClass("wpstg-rotate-90")})),p.listenTooltip(),new w,new i,new u,n.notyf=new Notyf({duration:1e4,position:{x:"center",y:"bottom"},dismissible:!0,types:[{type:"warning",background:"orange",icon:!1}]})},n.ajax=b,n.showError=o,n.getLogs=O,n.loadOverview=D,n}(jQuery);jQuery(document).ready((function(){h.init(),window.WPStaging=h})),jQuery(document).ready((function(e){function t(s,n){void 0===n&&(n="false");var r=s.next(),o=e(".wpstg--tab--active .wpstg-report-email").val(),i=e(".wpstg--tab--active .wpstg-report-hosting-provider").val(),a=e(".wpstg--tab--active .wpstg-report-description").val(),c=e(".wpstg--tab--active .wpstg-report-syslog").is(":checked"),l=e(".wpstg--tab--active .wpstg-report-terms").is(":checked");s.attr("disabled",!0),r.css("visibility","visible"),e.ajax({url:ajaxurl,type:"POST",dataType:"json",async:!0,data:{action:"wpstg_send_report",accessToken:wpstg.accessToken,nonce:wpstg.nonce,wpstg_email:o,wpstg_provider:i,wpstg_message:a,wpstg_syslog:+c,wpstg_terms:+l,wpstg_force_send:n}}).done((function(n){if(s.attr("disabled",!1),r.css("visibility","hidden"),n.errors.length>0){e(".wpstg--tab--active .wpstg-report-issue-form .wpstg-message").remove();var o=e("<div />").addClass("wpstg-message wpstg-error-message");e.each(n.errors,(function(e,n){"already_submitted"===n.status?(o="",p.getSwalModal(!0,{container:"wpstg-issue-resubmit-confirmation"}).fire({title:"",icon:"warning",html:n.message,showCancelButton:!0,focusConfirm:!1,confirmButtonText:"Yes",cancelButtonText:"No"}).then((function(e){e.isConfirmed&&t(s,"true")}))):o.append("<p>"+n+"</p>")})),e(".wpstg--tab--active .wpstg-report-issue-form").prepend(o)}else{var i=e("<div />").addClass("wpstg-message wpstg-success-message");i.append("<p>Thanks for submitting your request! You should receive an auto reply mail with your ticket ID immediately for confirmation!<br><br>If you do not get that mail please contact us directly at <strong>support@wp-staging.com</strong></p>"),e(".wpstg--tab--active .wpstg-report-issue-form").html(i),e(".wpstg--tab--active .wpstg-success-message").append('<div style="float:right;margin-top:10px;"><a id="wpstg-success-button" href="#" class="wpstg--red">[X] CLOSE</a></div>'),setTimeout((function(){e(".wpstg--tab--active .wpstg-report-issue-form").removeClass("wpstg-report-active")}),2e3)}}))}e("body").on("click","#wpstg-report-issue-button",(function(t){console.log("REPORT"),e(".wpstg--tab--active .wpstg-report-issue-form").toggleClass("wpstg-report-show"),t.preventDefault()})),e("body").on("click","#wpstg-backups-report-issue-button",(function(t){e(".wpstg--tab--active .wpstg-report-issue-form").toggleClass("wpstg-report-show"),t.preventDefault()})),e("body").on("click","#wpstg-report-cancel",(function(t){e(".wpstg--tab--active .wpstg-report-issue-form").removeClass("wpstg-report-show"),t.preventDefault()})),e("body").on("click",".wpstg--tab--active #wpstg-report-submit",(function(s){t(e(this),"false"),s.preventDefault()})),e("body").on("click","#wpstg-success-button",(function(t){t.preventDefault(),e(".wpstg-report-issue-form").removeClass("wpstg-report-show")})),e(document).on("click",".wpstg-dropdown>.wpstg-dropdown-toggler",(function(t){t.preventDefault(),e(t.target).next(".wpstg-dropdown-menu").toggleClass("shown"),e(t.target).find(".wpstg-caret").toggleClass("wpstg-caret-up")})),e(document).on("click",".wpstg-caret",(function(t){t.preventDefault();var s=e(t.target).closest(".wpstg-dropdown-toggler");s&&s.trigger("click")})),document.addEventListener("click",(function(t){if(!t.target.closest(".wpstg-dropdown-toggler")){for(var s=document.getElementsByClassName("wpstg-dropdown-menu"),n=0;n<s.length;n++)s[n].classList.remove("shown");e(".wpstg-caret").removeClass("wpstg-caret-up")}}))}))}();
|
2 |
//# sourceMappingURL=wpstg-admin.min.js.map
|
assets/js/dist/wpstg-admin.min.js.map
CHANGED
@@ -1 +1 @@
|
|
1 |
-
{"version":3,"file":"wpstg-admin.min.js","sources":["../src/modules/wpstg-dom-utils.js","../src/modules/wpstg-clone-staging.js","../src/modules/wpstg-directory-navigation.js","../src/modules/wpstg-exclude-filters.js","../src/modules/wpstg-modal.js","../src/modules/wpstg-hover-intent.js","../src/wpstg.js","../src/modules/wpstg-reset-modal.js","../src/modules/wpstg-cloning-advance-settings.js","../src/modules/wpstg-main-menu.js","../src/wpstg-admin.js"],"sourcesContent":["/**\n * WP STAGING basic jQuery replacement\n */\n\n/**\n * Shortcut for document.querySelector() or jQuery's $()\n * Return single element only\n */\nexport function qs(selector) {\n return document.querySelector(selector);\n}\n\n/**\n * Shortcut for document.querySelector() or jQuery's $()\n * Return collection of elements\n */\nexport function all(selector) {\n return document.querySelectorAll(selector);\n}\n\n/**\n * alternative of jQuery - $(parent).on(event, selector, handler)\n */\nexport function addEvent(parent, evt, selector, handler) {\n parent.addEventListener(evt, function(event) {\n if (event.target.matches(selector + ', ' + selector + ' *')) {\n handler(event.target.closest(selector), event);\n }\n }, false);\n}\n\nexport function slideDown(element, duration = 400) {\n element.style.display = 'block';\n element.style.overflow = 'hidden';\n const height = element.offsetHeight;\n element.style.height = '0px';\n element.style.transitionProperty = 'height';\n element.style.transitionDuration = duration + 'ms';\n setTimeout(() => {\n element.style.height = height + 'px';\n window.setTimeout(() => {\n element.style.removeProperty('height');\n element.style.removeProperty('overflow');\n element.style.removeProperty('transition-duration');\n element.style.removeProperty('transition-property');\n }, duration);\n }, 0);\n}\n\nexport function slideUp(element, duration = 400) {\n element.style.display = 'block';\n element.style.overflow = 'hidden';\n const height = element.offsetHeight;\n element.style.height = height + 'px';\n element.style.transitionProperty = 'height';\n element.style.transitionDuration = duration + 'ms';\n setTimeout(() => {\n element.style.height = '0px';\n window.setTimeout(() => {\n element.style.display = 'none';\n element.style.removeProperty('height');\n element.style.removeProperty('overflow');\n element.style.removeProperty('transition-duration');\n element.style.removeProperty('transition-property');\n }, duration);\n }, 0);\n}\n\nexport function getNextSibling(element, selector) {\n let sibling = element.nextElementSibling;\n\n while (sibling) {\n if (sibling.matches(selector)) {\n return sibling;\n }\n\n sibling = sibling.nextElementSibling;\n }\n};\n\nexport function getParents(element, selector) {\n const result = [];\n for (let parent = element && element.parentElement; parent; parent = parent.parentElement) {\n if (parent.matches(selector)) {\n result.push(parent);\n }\n }\n\n return result;\n}\n\n/**\n * Check if element has class name\n * @param element\n * @param className\n * @return {boolean}\n */\nexport function hasClass(element, className) {\n return (' ' + element.className + ' ').indexOf(' ' + className+ ' ') > -1;\n}\n","import * as dom from './wpstg-dom-utils.js';\n\n/**\n * Enable/Disable cloning for staging site\n */\nexport default class WpstgCloneStaging {\n constructor(\n pageWrapperId = '#wpstg-clonepage-wrapper',\n wpstgObject = wpstg,\n ) {\n this.pageWrapper = dom.qs(pageWrapperId);\n this.wpstgObject = wpstgObject;\n this.enableButtonId = '#wpstg-enable-staging-cloning';\n this.enableAction = 'wpstg_enable_staging_cloning';\n\n this.notyf = new Notyf({\n duration: 10000,\n position: {\n x: 'center',\n y: 'bottom',\n },\n dismissible: true,\n types: [\n {\n type: 'warning',\n background: 'orange',\n icon: false,\n },\n ],\n });\n this.init();\n }\n\n addEvents() {\n if (this.pageWrapper === null) {\n return;\n }\n\n dom.addEvent(this.pageWrapper, 'click', this.enableButtonId, () => {\n this.sendRequest(this.enableAction);\n });\n }\n\n init() {\n this.addEvents();\n }\n\n sendRequest(action) {\n fetch(this.wpstgObject.ajaxUrl, {\n method: 'POST',\n credentials: 'same-origin',\n body: new URLSearchParams({\n action: action,\n accessToken: this.wpstgObject.accessToken,\n nonce: this.wpstgObject.nonce,\n }),\n headers: {\n 'Content-Type': 'application/x-www-form-urlencoded',\n },\n }).then((response) => {\n if (response.ok) {\n return response.json();\n }\n\n return Promise.reject(response);\n }).then((data) => {\n // Reload current page if successful.\n if ('undefined' !== typeof (data.success) && data.success) {\n location.reload();\n return;\n }\n\n // There will be message probably in case of error\n if ('undefined' !== typeof (data.message)) {\n this.notyf.error(data.message);\n return;\n }\n\n this.notyf.error(this.wpstgObject.i18n['somethingWentWrong']);\n }).catch((error) => {\n console.warn(this.wpstgObject.i18n['somethingWentWrong'], error);\n });\n }\n}\n","import * as dom from './wpstg-dom-utils.js';\n\n/**\n * Fetch directory direct child directories\n */\nexport default class WpstgDirectoryNavigation {\n constructor(\n directoryListingSelector = '#wpstg-directories-listing',\n wpstgObject = wpstg,\n notyf = null,\n ) {\n this.directoryListingContainer = dom.qs(directoryListingSelector);\n this.wpstgObject = wpstgObject;\n this.dirCheckboxSelector = '.wpstg-check-dir';\n this.dirExpandSelector = '.wpstg-expand-dirs';\n this.unselectAllDirsSelector = '.wpstg-unselect-dirs';\n this.selectDefaultDirsSelector = '.wpstg-select-dirs-default';\n this.fetchChildrenAction = 'wpstg_fetch_dir_childrens';\n this.currentCheckboxElement = null;\n this.currentParentDiv = null;\n this.currentLoader = null;\n this.existingExcludes = [];\n this.excludedDirectories = [];\n this.isDefaultSelected = false;\n this.notyf = notyf;\n\n this.init();\n }\n\n addEvents() {\n if (this.directoryListingContainer === null) {\n console.log('Error: directory navigation add events');\n return;\n }\n\n dom.addEvent(this.directoryListingContainer, 'click', this.dirExpandSelector, (element, event) => {\n event.preventDefault();\n if (this.toggleDirExpand(element)) {\n this.sendRequest(this.fetchChildrenAction, element);\n }\n });\n\n dom.addEvent(this.directoryListingContainer, 'click', this.unselectAllDirsSelector, () => {\n this.unselectAll();\n });\n\n dom.addEvent(this.directoryListingContainer, 'click', this.selectDefaultDirsSelector, () => {\n this.selectDefault();\n });\n }\n\n init() {\n this.addEvents();\n this.parseExcludes();\n }\n\n /**\n * Toggle Dir Expand,\n * Return true if children aren't fetched\n * @param {HTMLElement} element\n * @return {boolean}\n */\n toggleDirExpand(element) {\n this.currentParentDiv = element.parentElement;\n this.currentCheckboxElement = element.previousSibling;\n this.currentLoader = this.currentParentDiv.querySelector('.wpstg-is-dir-loading');\n if (this.currentCheckboxElement.getAttribute('data-navigateable', 'false') === 'false') {\n return false;\n }\n\n if (this.currentCheckboxElement.getAttribute('data-scanned', 'false') === 'false') {\n return true;\n }\n\n return false;\n }\n\n sendRequest(action) {\n if (this.currentLoader !== null) {\n this.currentLoader.style.display = 'inline-block';\n }\n\n fetch(this.wpstgObject.ajaxUrl, {\n method: 'POST',\n credentials: 'same-origin',\n body: new URLSearchParams({\n action: action,\n accessToken: this.wpstgObject.accessToken,\n nonce: this.wpstgObject.nonce,\n dirPath: this.currentCheckboxElement.value,\n isChecked: this.currentCheckboxElement.checked,\n forceDefault: this.isDefaultSelected,\n }),\n headers: {\n 'Content-Type': 'application/x-www-form-urlencoded',\n },\n }).then((response) => {\n if (response.ok) {\n return response.json();\n }\n\n return Promise.reject(response);\n }).then((data) => {\n if ('undefined' !== typeof (data.success) && data.success) {\n this.currentCheckboxElement.setAttribute('data-scanned', true);\n const dirContainer = document.createElement('div');\n dirContainer.classList.add('wpstg-dir');\n dirContainer.classList.add('wpstg-subdir');\n dirContainer.innerHTML = JSON.parse(data.directoryListing);\n this.currentParentDiv.appendChild(dirContainer);\n if (this.currentLoader !== null) {\n this.currentLoader.style.display = 'none';\n }\n\n dom.slideDown(dirContainer);\n\n return;\n }\n\n if (this.notyf !== null) {\n this.notyf.error(this.wpstgObject.i18n['somethingWentWrong']);\n } else {\n alert('Error: ' + this.wpstgObject.i18n['somethingWentWrong']);\n }\n }).catch((error) => {\n console.warn(this.wpstgObject.i18n['somethingWentWrong'], error);\n });\n }\n\n getExcludedDirectories() {\n this.excludedDirectories = [];\n this.directoryListingContainer.querySelectorAll('.wpstg-dir input:not(:checked)').forEach((element) => {\n if (!this.isParentExcluded(element.value)) {\n this.excludedDirectories.push(element.value);\n }\n });\n\n this.existingExcludes.forEach((exclude) => {\n if (!this.isParentExcluded(exclude) && !this.isExcludeScanned(exclude)) {\n this.excludedDirectories.push(exclude);\n }\n });\n\n return this.excludedDirectories.join(this.wpstgObject.settings.directorySeparator);\n }\n\n /**\n * @param {string} path\n * @return {bool}\n */\n isParentExcluded(path) {\n let isParentAlreadyExcluded = false;\n this.excludedDirectories.forEach((dir) => {\n if (path.startsWith(dir + '/')) {\n isParentAlreadyExcluded = true;\n }\n });\n\n return isParentAlreadyExcluded;\n }\n\n getExtraDirectoriesRootOnly() {\n this.getExcludedDirectories();\n const extraDirectories = [];\n this.directoryListingContainer.querySelectorAll(':not(.wpstg-subdir)>.wpstg-dir>input.wpstg-wp-non-core-dir:checked').forEach((element) => {\n extraDirectories.push(element.value);\n });\n\n // Check if extra directories text area exists\n // TODO: remove extraCustomDirectories code if no one require extraCustomDirectories...\n const extraDirectoriesTextArea = dom.qs('#wpstg_extraDirectories');\n if (extraDirectoriesTextArea === null || extraDirectoriesTextArea.value === '') {\n return extraDirectories.join(this.wpstgObject.settings.directorySeparator);\n }\n\n const extraCustomDirectories = extraDirectoriesTextArea.value.split(/\\r?\\n/);\n\n return extraDirectories.concat(extraCustomDirectories).join(this.wpstgObject.settings.directorySeparator);\n }\n\n unselectAll() {\n this.directoryListingContainer.querySelectorAll('.wpstg-dir input').forEach((element) => {\n element.checked = false;\n });\n }\n\n selectDefault() {\n // unselect all checkboxes\n this.unselectAll();\n\n // only select those checkboxes whose class is wpstg-wp-core-dir\n this.directoryListingContainer.querySelectorAll('.wpstg-dir input.wpstg-wp-core-dir').forEach((element) => {\n element.checked = true;\n });\n\n // then unselect those checkboxes whose parent has wpstg extra checkbox\n this.directoryListingContainer.querySelectorAll('.wpstg-dir > .wpstg-wp-non-core-dir').forEach((element) => {\n element.parentElement.querySelectorAll('input.wpstg-wp-core-dir').forEach((element) => {\n element.checked = false;\n });\n });\n\n this.isDefaultSelected = true;\n }\n\n parseExcludes() {\n this.existingExcludes = this.directoryListingContainer.getAttribute('data-existing-excludes', []);\n if (this.existingExcludes === '') {\n this.existingExcludes = [];\n }\n\n if (this.existingExcludes.length !== 0) {\n this.existingExcludes = this.existingExcludes.split(',');\n }\n }\n\n isExcludeScanned(exclude) {\n this.directoryListingContainer.querySelectorAll('.wpstg-dir input').forEach((element) => {\n if (element.value === exclude) {\n return true;\n }\n });\n\n return false;\n }\n}\n","import * as dom from './wpstg-dom-utils.js';\n\n/**\n * Rich Exclude Filter Module\n */\nexport default class WpstgExcludeFilters {\n constructor(\n excludeFilterContainerSelector = '#wpstg-exclude-filters-container',\n wpstgObject = wpstg,\n ) {\n this.excludeContainer = dom.qs(excludeFilterContainerSelector);\n this.excludeTableBody = dom.qs(`${excludeFilterContainerSelector} tbody`);\n this.wpstgObject = wpstgObject;\n this.init();\n }\n\n addEvents() {\n dom.addEvent(this.excludeContainer, 'click', '.wpstg-file-size-rule', () => {\n this.addFileSizeExclude();\n });\n\n dom.addEvent(this.excludeContainer, 'click', '.wpstg-file-ext-rule', () => {\n this.addFileExtExclude();\n });\n\n dom.addEvent(this.excludeContainer, 'click', '.wpstg-file-name-rule', () => {\n this.addFileNameExclude();\n });\n\n dom.addEvent(this.excludeContainer, 'click', '.wpstg-dir-name-rule', () => {\n this.addDirNameExclude();\n });\n\n dom.addEvent(this.excludeContainer, 'click', '.wpstg-clear-all-rules', () => {\n this.clearExcludes();\n });\n\n dom.addEvent(this.excludeContainer, 'click', '.wpstg-remove-exclude-rule', (target) => {\n this.removeExclude(target);\n });\n }\n\n init() {\n if (this.excludeContainer === null) {\n console.log('Error: Given table selector not found!');\n return;\n }\n\n this.addEvents();\n }\n\n addFileSizeExclude() {\n this.addExcludeRuleRow('#wpstg-file-size-exclude-filter-template');\n }\n\n addFileExtExclude() {\n this.addExcludeRuleRow('#wpstg-file-ext-exclude-filter-template');\n }\n\n addFileNameExclude() {\n this.addExcludeRuleRow('#wpstg-file-name-exclude-filter-template');\n }\n\n addDirNameExclude() {\n this.addExcludeRuleRow('#wpstg-dir-name-exclude-filter-template');\n }\n\n addExcludeRuleRow(templateName) {\n const excludeRowTemplate = dom.qs(templateName);\n if (excludeRowTemplate !== null) {\n const clone = excludeRowTemplate.content.cloneNode(true);\n const excludeRow = clone.querySelector('tr');\n\n this.excludeTableBody.appendChild(excludeRow);\n dom.all('.wpstg-has-exclude-rules').forEach((e) => {\n e.style.display = 'inherit';\n });\n }\n }\n\n clearExcludes() {\n this.excludeTableBody.innerHTML = '';\n dom.all('.wpstg-has-exclude-rules').forEach((e) => {\n e.style.display = 'none';\n });\n }\n\n removeExclude(target) {\n if (target.parentElement !== null && target.parentElement.parentElement !== null) {\n this.excludeTableBody.removeChild(target.parentElement.parentElement);\n }\n\n if (this.excludeTableBody.innerHTML.trim() === '') {\n dom.all('.wpstg-has-exclude-rules').forEach((e) => {\n e.style.display = 'none';\n });\n }\n }\n\n /**\n * Converts all the exclude filters arrays into one single string to keep size of post request small\n * @return {string}\n */\n getExcludeFilters() {\n const globExcludes = [];\n const sizeExcludes = [];\n\n const sizeCompares = this.excludeTableBody.querySelectorAll('select[name=\"wpstgFileSizeExcludeRuleCompare[]\"]');\n const sizeSizes = this.excludeTableBody.querySelectorAll('input[name=\"wpstgFileSizeExcludeRuleSize[]\"]');\n const sizeByte = this.excludeTableBody.querySelectorAll('select[name=\"wpstgFileSizeExcludeRuleByte[]\"]');\n for (const [key, sizeInput] of Object.entries(sizeSizes)) {\n if (sizeInput.value !== '') {\n sizeExcludes.push(sizeCompares[key].value + ' ' + sizeInput.value + sizeByte[key].value);\n }\n }\n\n const extensionInputs = this.excludeTableBody.querySelectorAll('input[name=\"wpstgFileExtExcludeRule[]\"]');\n extensionInputs.forEach((x) => {\n const ext = this.cleanStringForGlob(x.value);\n if (ext !== '') {\n globExcludes.push('ext:' + ext.trim());\n }\n });\n\n const fileNamesPos = this.excludeTableBody.querySelectorAll('select[name=\"wpstgFileNameExcludeRulePos[]\"]');\n const fileNames = this.excludeTableBody.querySelectorAll('input[name=\"wpstgFileNameExcludeRulePath[]\"]');\n for (const [key, fileInput] of Object.entries(fileNames)) {\n const fileName = this.cleanStringForGlob(fileInput.value);\n if (fileName !== '') {\n globExcludes.push('file:' + fileNamesPos[key].value + ' ' + fileName.trim());\n }\n }\n\n const dirNamesPos = this.excludeTableBody.querySelectorAll('select[name=\"wpstgDirNameExcludeRulePos[]\"]');\n const dirNames = this.excludeTableBody.querySelectorAll('input[name=\"wpstgDirNameExcludeRulePath[]\"]');\n for (const [key, dirInput] of Object.entries(dirNames)) {\n const dirName = this.cleanStringForGlob(dirInput.value);\n if (dirName !== '') {\n globExcludes.push('dir:' + dirNamesPos[key].value + ' ' + dirName.trim());\n }\n }\n\n return {\n 'sizes': sizeExcludes.filter(this.onlyUnique).join(','),\n // return set of unique rules\n 'globs': globExcludes.filter(this.onlyUnique).join(','),\n };\n }\n\n onlyUnique(value, index, self) {\n return self.indexOf(value) === index;\n }\n\n /**\n * Remove most of the comment glob characters from the string\n * @param {String} value\n * @return {String}\n */\n cleanStringForGlob(value) {\n // will replace character like * ^ / \\ ! ? [ from the string\n return value.replace(/[*^//!\\.[?]/g, '');\n }\n}\n","/**\n * Basic WP Staging Modal implemented with help of Sweetalerts\n */\nexport default class WpstgModal {\n constructor(\n confirmAction,\n wpstgObject = wpstg,\n ) {\n this.confirmAction = confirmAction;\n this.wpstgObject = wpstgObject;\n }\n\n show(swalOptions, additionalParams = {}, callback = null) {\n wpstgSwal.fire(swalOptions).then((result) => {\n if (result.value && this.error !== null) {\n this.triggerConfirmAction(additionalParams, callback);\n }\n });\n }\n\n triggerConfirmAction(additionalParams = {}, callback = null) {\n fetch(this.wpstgObject.ajaxUrl, {\n method: 'POST',\n credentials: 'same-origin',\n body: new URLSearchParams(Object.assign({\n action: this.confirmAction,\n accessToken: this.wpstgObject.accessToken,\n nonce: this.wpstgObject.nonce,\n }, additionalParams)),\n headers: {\n 'Content-Type': 'application/x-www-form-urlencoded',\n },\n }).then((response) => {\n if (response.ok) {\n return response.json();\n }\n\n return Promise.reject(response);\n }).then((response) => {\n if (callback !== null) {\n callback(response);\n }\n }).catch((error) => {\n console.log(this.wpstgObject.i18n['somethingWentWrong'], error);\n });\n }\n}\n","'use strict';\n\n/**\n * This is a namespaced port of https://github.com/tristen/hoverintent,\n * with slight modification to accept selector with dynamically added element in dom,\n * instead of just already present element.\n *\n * @param {HTMLElement} parent\n * @param {string} selector\n * @param {CallableFunction} onOver\n * @param {CallableFunction} onOut\n *\n * @return {object}\n */\nexport default function(parent, selector, onOver, onOut) {\n let x; let y; let pX; let pY;\n let mouseOver = false;\n let focused = false;\n const h = {};\n let state = 0;\n let timer = 0;\n\n let options = {\n sensitivity: 7,\n interval: 100,\n timeout: 0,\n handleFocus: false,\n };\n\n function delay(el, e) {\n if (timer) {\n timer = clearTimeout(timer);\n }\n\n state = 0;\n return focused ? undefined : onOut(el, e);\n }\n\n function tracker(e) {\n x = e.clientX;\n y = e.clientY;\n }\n\n function compare(el, e) {\n if (timer) timer = clearTimeout(timer);\n if ((Math.abs(pX - x) + Math.abs(pY - y)) < options.sensitivity) {\n state = 1;\n return focused ? undefined : onOver(el, e);\n } else {\n pX = x;\n pY = y;\n timer = setTimeout(function() {\n compare(el, e);\n }, options.interval);\n }\n }\n\n // Public methods\n h.options = function(opt) {\n const focusOptionChanged = opt.handleFocus !== options.handleFocus;\n options = Object.assign({}, options, opt);\n if (focusOptionChanged) {\n options.handleFocus ? addFocus() : removeFocus();\n }\n\n return h;\n };\n\n function dispatchOver(el, e) {\n mouseOver = true;\n if (timer) {\n timer = clearTimeout(timer);\n }\n\n el.removeEventListener('mousemove', tracker, false);\n\n if (state !== 1) {\n pX = e.clientX;\n pY = e.clientY;\n\n el.addEventListener('mousemove', tracker, false);\n\n timer = setTimeout(function() {\n compare(el, e);\n }, options.interval);\n }\n\n return this;\n }\n\n /**\n * Newly added method,\n * A wrapper around dispatchOver to support dynamically added elements to dom\n */\n function onMouseOver(event) {\n if (event.target.matches(selector + ', ' + selector + ' *')) {\n dispatchOver(event.target.closest(selector), event);\n }\n };\n\n function dispatchOut(el, e) {\n mouseOver = false;\n if (timer) {\n timer = clearTimeout(timer);\n }\n\n el.removeEventListener('mousemove', tracker, false);\n\n if (state === 1) {\n timer = setTimeout(function() {\n delay(el, e);\n }, options.timeout);\n }\n\n return this;\n }\n\n /**\n * Newly added method,\n * A wrapper around dispatchOut to support dynamically added elements to dom\n */\n function onMouseOut(event) {\n if (event.target.matches(selector + ', ' + selector + ' *')) {\n dispatchOut(event.target.closest(selector), event);\n }\n };\n\n function dispatchFocus(el, e) {\n if (!mouseOver) {\n focused = true;\n onOver(el, e);\n }\n }\n\n /**\n * Newly added method,\n * A wrapper around dispatchFocus to support dynamically added elements to dom\n */\n function onFocus(event) {\n if (event.target.matches(selector + ', ' + selector + ' *')) {\n dispatchFocus(event.target.closest(selector), event);\n }\n };\n\n function dispatchBlur(el, e) {\n if (!mouseOver && focused) {\n focused = false;\n onOut(el, e);\n }\n }\n\n /**\n * Newly added method,\n * A wrapper around dispatchBlur to support dynamically added elements to dom\n */\n function onBlur(event) {\n if (event.target.matches(selector + ', ' + selector + ' *')) {\n dispatchBlur(event.target.closest(selector), event);\n }\n };\n\n /**\n * Modified to support dynamically added element\n */\n function addFocus() {\n parent.addEventListener('focus', onFocus, false);\n parent.addEventListener('blur', onBlur, false);\n }\n\n /**\n * Modified to support dynamically added element\n */\n function removeFocus() {\n parent.removeEventListener('focus', onFocus, false);\n parent.removeEventListener('blur', onBlur, false);\n }\n\n /**\n * Modified to support dynamically added element\n */\n h.remove = function() {\n if (!parent) {\n return;\n }\n\n parent.removeEventListener('mouseover', onMouseOver, false);\n parent.removeEventListener('mouseout', onMouseOut, false);\n removeFocus();\n };\n\n /**\n * Modified to support dynamically added element\n */\n if (parent) {\n parent.addEventListener('mouseover', onMouseOver, false);\n parent.addEventListener('mouseout', onMouseOut, false);\n }\n\n return h;\n};\n","import wpstgHoverIntent from './modules/wpstg-hover-intent';\n\nexport default (function($) {\n const WPStagingCommon = {\n continueErrorHandle: true,\n cache: {\n elements: [],\n get: function(selector) {\n // It is already cached!\n if ($.inArray(selector, this.elements) !== -1) {\n return this.elements[selector];\n }\n\n // Create cache and return\n this.elements[selector] = $(selector);\n\n return this.elements[selector];\n },\n refresh: function(selector) {\n selector.elements[selector] = $(selector);\n },\n },\n listenTooltip: function() {\n wpstgHoverIntent(document, '.wpstg--tooltip', function(target, event) {\n target.querySelector('.wpstg--tooltiptext').style.visibility = 'visible';\n }, function(target, event) {\n target.querySelector('.wpstg--tooltiptext').style.visibility = 'hidden';\n });\n },\n isEmpty: function(obj) {\n for (const prop in obj) {\n if (obj.hasOwnProperty(prop)) {\n return false;\n }\n }\n\n return true;\n },\n // Get the custom themed Swal Modal for WP Staging\n // Easy to maintain now in one place now\n getSwalModal: function(isContentCentered = false, customClasses = {}) {\n // common style for all swal modal used in WP Staging\n const defaultCustomClasses = {\n confirmButton: 'wpstg--btn--confirm wpstg-blue-primary wpstg-button wpstg-link-btn wpstg-100-width',\n cancelButton: 'wpstg--btn--cancel wpstg-blue-primary wpstg-link-btn wpstg-100-width',\n actions: 'wpstg--modal--actions',\n popup: isContentCentered ? 'wpstg-swal-popup centered-modal' : 'wpstg-swal-popup',\n };\n\n // If a attribute exists in both default and additional attributes,\n // The class(es) of the additional attribute will overrite the default one.\n const options = {\n customClass: Object.assign(defaultCustomClasses, customClasses),\n buttonsStyling: false,\n reverseButtons: true,\n showClass: {\n popup: 'wpstg--swal2-show wpstg-swal-show',\n },\n };\n\n return wpstgSwal.mixin(options);\n },\n showSuccessModal: function(htmlContent) {\n this.getSwalModal().fire({\n showConfirmButton: false,\n showCancelButton: true,\n cancelButtonText: 'OK',\n icon: 'success',\n title: 'Success!',\n html: '<div class=\"wpstg--grey\" style=\"text-align: left; margin-top: 8px;\">' + htmlContent + '</div>',\n });\n },\n showWarningModal: function(htmlContent) {\n this.getSwalModal().fire({\n showConfirmButton: false,\n showCancelButton: true,\n cancelButtonText: 'OK',\n icon: 'warning',\n title: '',\n html: '<div class=\"wpstg--grey\" style=\"text-align: left; margin-top: 8px;\">' + htmlContent + '</div>',\n });\n },\n showErrorModal: function(htmlContent) {\n this.getSwalModal().fire({\n showConfirmButton: false,\n showCancelButton: true,\n cancelButtonText: 'OK',\n icon: 'error',\n title: 'Error!',\n html: '<div class=\"wpstg--grey\" style=\"text-align: left; margin-top: 8px;\">' + htmlContent + '</div>',\n });\n },\n getSwalContainer: function() {\n return wpstgSwal.getContainer();\n },\n closeSwalModal: function() {\n wpstgSwal.close();\n },\n /**\n * Treats a default response object generated by WordPress's\n * wp_send_json_success() or wp_send_json_error() functions in\n * PHP, parses it in JavaScript, and either throws if it's an error,\n * or returns the data if the response is successful.\n *\n * @param {object} response\n * @return {*}\n */\n getDataFromWordPressResponse(response) {\n if (typeof response !== 'object') {\n throw new Error('Unexpected response (ERR 1341)');\n }\n\n if (!response.hasOwnProperty('success')) {\n throw new Error('Unexpected response (ERR 1342)');\n }\n\n if (!response.hasOwnProperty('data')) {\n throw new Error('Unexpected response (ERR 1343)');\n }\n\n if (response.success === false) {\n if (response.data instanceof Array && response.data.length > 0) {\n throw new Error(response.data.shift());\n } else {\n throw new Error('Response was not successful');\n }\n } else {\n // Successful response. Return the data.\n return response.data;\n }\n },\n isLoading: function(isLoading) {\n if (!isLoading || isLoading === false) {\n WPStagingCommon.cache.get('.wpstg-loader').hide();\n } else {\n WPStagingCommon.cache.get('.wpstg-loader').show();\n }\n },\n /**\n * Convert the given url to make it slug compatible\n * @param {string} url\n */\n slugify: function(url) {\n return url.toString()\n .toLowerCase()\n .normalize('NFD')\n .replace(/[\\u0300-\\u036f]/g, '')\n .replace(/\\s+/g, '-')\n .replace(/&/g, '-and-')\n .replace(/[^a-z0-9\\-]/g, '')\n .replace(/-+/g, '-')\n .replace(/^-*/, '')\n .replace(/-*$/, '')\n ;\n },\n showAjaxFatalError: function(response, prependMessage, appendMessage) {\n prependMessage = prependMessage ? prependMessage + '<br/><br/>' : 'Something went wrong! <br/><br/>';\n appendMessage = appendMessage ? appendMessage + '<br/><br/>' : '<br/><br/>Please try the <a href=\\'https://wp-staging.com/docs/wp-staging-settings-for-small-servers/\\' target=\\'_blank\\'>WP Staging Small Server Settings</a> or submit an error report and contact us.';\n\n if (response === false) {\n WPStagingCommon.showError(prependMessage + ' Error: No response.' + appendMessage);\n window.removeEventListener('beforeunload', WPStaging.warnIfClosingDuringProcess);\n return;\n }\n\n if (typeof response.error !== 'undefined' && response.error) {\n WPStagingCommon.showError(prependMessage + ' Error: ' + response.message + appendMessage);\n window.removeEventListener('beforeunload', WPStaging.warnIfClosingDuringProcess);\n return;\n }\n },\n handleFetchErrors: function(response) {\n if (!response.ok) {\n WPStagingCommon.showError('Error: ' + response.status + ' - ' + response.statusText + '. Please try again or contact support.');\n }\n return response;\n },\n showError: function(message) {\n WPStagingCommon.cache.get('#wpstg-try-again').css('display', 'inline-block');\n WPStagingCommon.cache.get('#wpstg-cancel-cloning').text('Reset');\n WPStagingCommon.cache.get('#wpstg-resume-cloning').show();\n WPStagingCommon.cache.get('#wpstg-error-wrapper').show();\n WPStagingCommon.cache.get('#wpstg-error-details').show().html(message);\n WPStagingCommon.cache.get('#wpstg-removing-clone').removeClass('loading');\n WPStagingCommon.cache.get('.wpstg-loader').hide();\n $('.wpstg--modal--process--generic-problem').show().html(message);\n },\n resetErrors: function() {\n WPStagingCommon.cache.get('#wpstg-error-details').hide().html('');\n },\n /**\n * Ajax Requests\n * @param {Object} data\n * @param {Function} callback\n * @param {string} dataType\n * @param {bool} showErrors\n * @param {int} tryCount\n * @param {float} incrementRatio\n * @param errorCallback\n */\n ajax: function(data, callback, dataType, showErrors, tryCount, incrementRatio = null, errorCallback = null) {\n if ('undefined' === typeof (dataType)) {\n dataType = 'json';\n }\n\n if (false !== showErrors) {\n showErrors = true;\n }\n\n tryCount = 'undefined' === typeof (tryCount) ? 0 : tryCount;\n\n const retryLimit = 10;\n\n let retryTimeout = 10000 * tryCount;\n\n incrementRatio = parseInt(incrementRatio);\n if (!isNaN(incrementRatio)) {\n retryTimeout *= incrementRatio;\n }\n\n $.ajax({\n url: ajaxurl + '?action=wpstg_processing&_=' + (Date.now() / 1000),\n type: 'POST',\n dataType: dataType,\n cache: false,\n data: data,\n error: function(xhr, textStatus, errorThrown) {\n console.log(xhr.status + ' ' + xhr.statusText + '---' + textStatus);\n\n if (typeof (errorCallback) === 'function') {\n // Custom error handler\n errorCallback(xhr, textStatus, errorThrown);\n\n if (!WPStagingCommon.continueErrorHandle) {\n // Reset state\n WPStagingCommon.continueErrorHandle = true;\n\n return;\n }\n }\n\n // Default error handler\n tryCount++;\n if (tryCount <= retryLimit) {\n setTimeout(function() {\n WPStagingCommon.ajax(data, callback, dataType, showErrors, tryCount, incrementRatio);\n return;\n }, retryTimeout);\n } else {\n const errorCode = 'undefined' === typeof (xhr.status) ? 'Unknown' : xhr.status;\n WPStagingCommon.showError(\n 'Fatal Error: ' + errorCode + ' Please try the <a href=\\'https://wp-staging.com/docs/wp-staging-settings-for-small-servers/\\' target=\\'_blank\\'>WP Staging Small Server Settings</a> or submit an error report and contact us.',\n );\n }\n },\n success: function(data) {\n if ('function' === typeof (callback)) {\n callback(data);\n }\n },\n statusCode: {\n 404: function() {\n if (tryCount >= retryLimit) {\n WPStagingCommon.showError('Error 404 - Can\\'t find ajax request URL! Please try the <a href=\\'https://wp-staging.com/docs/wp-staging-settings-for-small-servers/\\' target=\\'_blank\\'>WP Staging Small Server Settings</a> or submit an error report and contact us.');\n }\n },\n 500: function() {\n if (tryCount >= retryLimit) {\n WPStagingCommon.showError('Fatal Error 500 - Internal server error while processing the request! Please try the <a href=\\'https://wp-staging.com/docs/wp-staging-settings-for-small-servers/\\' target=\\'_blank\\'>WP Staging Small Server Settings</a> or submit an error report and contact us.');\n }\n },\n 504: function() {\n if (tryCount > retryLimit) {\n WPStagingCommon.showError('Error 504 - It looks like your server is rate limiting ajax requests. Please try to resume after a minute. If this still not works try the <a href=\\'https://wp-staging.com/docs/wp-staging-settings-for-small-servers/\\' target=\\'_blank\\'>WP Staging Small Server Settings</a> or submit an error report and contact us.\\n\\ ');\n }\n },\n 502: function() {\n if (tryCount >= retryLimit) {\n WPStagingCommon.showError('Error 502 - It looks like your server is rate limiting ajax requests. Please try to resume after a minute. If this still not works try the <a href=\\'https://wp-staging.com/docs/wp-staging-settings-for-small-servers/\\' target=\\'_blank\\'>WP Staging Small Server Settings</a> or submit an error report and contact us.\\n\\ ');\n }\n },\n 503: function() {\n if (tryCount >= retryLimit) {\n WPStagingCommon.showError('Error 503 - It looks like your server is rate limiting ajax requests. Please try to resume after a minute. If this still not works try the <a href=\\'https://wp-staging.com/docs/wp-staging-settings-for-small-servers/\\' target=\\'_blank\\'>WP Staging Small Server Settings</a> or submit an error report and contact us.\\n\\ ');\n }\n },\n 429: function() {\n if (tryCount >= retryLimit) {\n WPStagingCommon.showError('Error 429 - It looks like your server is rate limiting ajax requests. Please try to resume after a minute. If this still not works try the <a href=\\'https://wp-staging.com/docs/wp-staging-settings-for-small-servers/\\' target=\\'_blank\\'>WP Staging Small Server Settings</a> or submit an error report and contact us.\\n\\ ');\n }\n },\n 403: function() {\n if (tryCount >= retryLimit) {\n WPStagingCommon.showError('Refresh page or login again! The process should be finished successfully. \\n\\ ');\n }\n },\n },\n });\n },\n };\n\n return WPStagingCommon;\n})(jQuery);\n","\nimport * as dom from './wpstg-dom-utils.js';\nimport WpstgDirectoryNavigation from './wpstg-directory-navigation.js';\nimport WpstgExcludeFilters from './wpstg-exclude-filters.js';\nimport WpstgModal from './wpstg-modal.js';\nimport WPStagingCommon from './../wpstg.js';\n\n/**\n * Manage RESET MODAL\n */\nexport default class WpstgResetModal {\n constructor(\n cloneID,\n workflowSelector = '#wpstg-workflow',\n fetchExcludeSettingsAction = 'wpstg_clone_excludes_settings',\n modalErrorAction = 'wpstg_modal_error',\n wpstgObject = wpstg,\n ) {\n this.cloneID = cloneID;\n this.workflow = dom.qs(workflowSelector);\n this.wpstgObject = wpstgObject;\n this.fetchExcludeSettingsAction = fetchExcludeSettingsAction;\n this.modalErrorAction = modalErrorAction;\n this.resetButtonClass = 'wpstg-confirm-reset-clone';\n this.resetModalContainerClass = 'wpstg-reset-confirmation';\n this.resetTabSelector = '.wpstg-reset-exclude-tab';\n this.directoryNavigator = null;\n this.excludeFilters = null;\n this.isAllTablesChecked = true;\n }\n\n addEvents() {\n const resetModalContainer = dom.qs('.' + this.resetModalContainerClass);\n if (resetModalContainer === null) {\n console.log('Exit');\n return;\n }\n\n dom.addEvent(resetModalContainer, 'click', this.resetTabSelector, (target) => {\n this.toggleContent(target);\n });\n\n dom.addEvent(resetModalContainer, 'click', '.wpstg-button-select', () => {\n this.selectDefaultTables();\n });\n\n dom.addEvent(resetModalContainer, 'click', '.wpstg-button-unselect', () => {\n this.toggleTableSelection();\n });\n\n dom.addEvent(resetModalContainer, 'click', '.wpstg-expand-dirs', (target, event) => {\n event.preventDefault();\n this.toggleDirectoryNavigation(target);\n });\n\n dom.addEvent(resetModalContainer, 'change', 'input.wpstg-check-dir', (target) => {\n this.updateDirectorySelection(target);\n });\n }\n\n init() {\n this.addEvents();\n }\n\n toggleContent(target) {\n const resetModalContainer = dom.qs('.' + this.resetModalContainerClass);\n const contentId = target.getAttribute('data-id');\n const tabTriangle = target.querySelector('.wpstg-tab-triangle');\n const isCollapsed = target.getAttribute('data-collapsed', 'true');\n const content = dom.qs(contentId);\n if (isCollapsed === 'true') {\n if (resetModalContainer.classList.contains('has-collapsible-open')) {\n resetModalContainer.classList.add('has-collapsible-open-2');\n } else {\n resetModalContainer.classList.add('has-collapsible-open');\n }\n\n dom.slideDown(content);\n tabTriangle.style.transform = 'rotate(90deg)';\n target.setAttribute('data-collapsed', 'false');\n } else {\n if (resetModalContainer.classList.contains('has-collapsible-open-2')) {\n resetModalContainer.classList.remove('has-collapsible-open-2');\n } else {\n resetModalContainer.classList.remove('has-collapsible-open');\n }\n\n dom.slideUp(content);\n tabTriangle.style.removeProperty('transform');\n target.setAttribute('data-collapsed', 'true');\n }\n }\n\n /**\n * Show Swal alert with loader and send ajax request to fetch content of alert.\n * @return Promise\n */\n showModal() {\n const swalPromise = this.loadModal();\n this.init();\n this.fetchCloneExcludes();\n return swalPromise;\n }\n\n loadModal() {\n return WPStagingCommon.getSwalModal(false, {\n confirmButton: this.resetButtonClass + ' wpstg-confirm-reset-clone wpstg--btn--confirm wpstg-blue-primary wpstg-button wpstg-link-btn',\n container: this.resetModalContainerClass + ' wpstg-swal2-container wpstg-swal2-loading',\n }).fire({\n title: '',\n icon: 'warning',\n html: this.getAjaxLoader(),\n width: '400px',\n focusConfirm: false,\n confirmButtonText: this.wpstgObject.i18n.resetClone,\n showCancelButton: true,\n });\n }\n\n fetchCloneExcludes() {\n this.error = null;\n // send ajax request and fetch preserved exclude settings\n fetch(this.wpstgObject.ajaxUrl, {\n method: 'POST',\n credentials: 'same-origin',\n body: new URLSearchParams({\n action: this.fetchExcludeSettingsAction,\n accessToken: this.wpstgObject.accessToken,\n nonce: this.wpstgObject.nonce,\n clone: this.cloneID,\n job: 'resetting',\n }),\n headers: {\n 'Content-Type': 'application/x-www-form-urlencoded',\n },\n }).then((response) => {\n if (response.ok) {\n return response.json();\n }\n\n return Promise.reject(response);\n }).then((data) => {\n if (!data.success) {\n const errorModal = new WpstgModal(this.modalErrorAction, this.wpstgObject);\n errorModal.show(Object.assign({\n title: 'Error',\n icon: 'error',\n html: this.wpstgObject.i18n['somethingWentWrong'],\n width: '500px',\n confirmButtonText: 'Ok',\n showCancelButton: false,\n customClass: {\n confirmButton: 'wpstg--btn--confirm wpstg-blue-primary wpstg-button wpstg-link-btn',\n cancelButton: 'wpstg--btn--cancel wpstg-blue-primary wpstg-link-btn',\n actions: 'wpstg--modal--actions',\n popup: 'wpstg-swal-popup centered-modal',\n },\n buttonsStyling: false,\n reverseButtons: true,\n }, data.swalOptions), {\n type: data.type,\n });\n\n return;\n }\n\n const modal = dom.qs('.wpstg-reset-confirmation');\n modal.classList.remove('wpstg-swal2-loading');\n modal.querySelector('.wpstg--swal2-popup').style.width = '500px';\n modal.querySelector('.wpstg--swal2-content').innerHTML = data.html;\n this.directoryNavigator = new WpstgDirectoryNavigation();\n this.excludeFilters = new WpstgExcludeFilters();\n }).catch((error) => {\n this.renderError({\n 'html': this.wpstgObject.i18n['somethingWentWrong'] + ' ' + error,\n });\n });\n }\n\n getDirectoryNavigator() {\n return this.directoryNavigator;\n }\n\n getExcludeFilters() {\n return this.excludeFilters;\n }\n\n getAjaxLoader() {\n return '<div class=\"wpstg-swal2-ajax-loader\"><img src=\"' + this.wpstgObject.wpstgIcon + '\" /></div>';\n }\n\n toggleDirectoryNavigation(element) {\n const cbElement = element.previousSibling;\n if (cbElement.getAttribute('data-navigateable', 'false') === 'false') {\n return;\n }\n\n if (cbElement.getAttribute('data-scanned', 'false') === 'false') {\n return;\n }\n\n const subDirectories = dom.getNextSibling(element, '.wpstg-subdir');\n\n if (subDirectories.style.display === 'none') {\n dom.slideDown(subDirectories);\n } else {\n dom.slideUp(subDirectories);\n }\n }\n\n updateDirectorySelection(element) {\n const parent = element.parentElement;\n if (element.checked) {\n dom.getParents(parent, '.wpstg-dir').forEach((parElem) => {\n for (let i = 0; i < parElem.children.length; i++) {\n if (parElem.children[i].matches('.wpstg-check-dir')) {\n parElem.children[i].checked = true;\n }\n }\n });\n parent.querySelectorAll('.wpstg-expand-dirs').forEach((x) => {\n x.classList.remove('disabled');\n });\n parent.querySelectorAll('.wpstg-subdir .wpstg-check-dir').forEach((x) => {\n x.checked = true;\n });\n } else {\n parent.querySelectorAll('.wpstg-expand-dirs, .wpstg-check-subdirs').forEach((x) => {\n x.classList.add('disabled');\n });\n parent.querySelectorAll('.wpstg-dir .wpstg-check-dir').forEach((x) => {\n x.checked = false;\n });\n }\n }\n\n selectDefaultTables() {\n const resetModalContainer = dom.qs('.' + this.resetModalContainerClass);\n const options = resetModalContainer.querySelectorAll('#wpstg_select_tables_cloning .wpstg-db-table');\n const multisitePattern = '^' + this.wpstgObject.tblprefix + '([^0-9])_*';\n const singleSitePattern = '^' + this.wpstgObject.tblprefix;\n options.forEach((option) => {\n const name = option.getAttribute('name', '');\n if (this.wpstgObject.isMultisite === '1' && name.match(multisitePattern)) {\n option.setAttribute('selected', 'selected');\n } else if (this.wpstgObject.isMultisite === '' && name.match(singleSitePattern)) {\n option.setAttribute('selected', 'selected');\n } else {\n option.removeAttribute('selected');\n }\n });\n }\n\n toggleTableSelection() {\n const resetModalContainer = dom.qs('.' + this.resetModalContainerClass);\n if (false === this.isAllTablesChecked) {\n resetModalContainer.querySelectorAll('#wpstg_select_tables_cloning .wpstg-db-table').forEach((option) => {\n option.setAttribute('selected', 'selected');\n });\n resetModalContainer.querySelector('.wpstg-button-unselect').innerHTML = 'Unselect All';\n // cache.get('.wpstg-db-table-checkboxes').prop('checked', true);\n this.isAllTablesChecked = true;\n } else {\n resetModalContainer.querySelectorAll('#wpstg_select_tables_cloning .wpstg-db-table').forEach((option) => {\n option.removeAttribute('selected');\n });\n resetModalContainer.querySelector('.wpstg-button-unselect').innerHTML = 'Select All';\n // cache.get('.wpstg-db-table-checkboxes').prop('checked', false);\n this.isAllTablesChecked = false;\n }\n }\n}\n","import * as dom from './wpstg-dom-utils.js';\n\n/**\n * Handle toggle of advance settings checkboxes\n */\nexport default class WpstgCloningAdvanceSettings {\n constructor(\n baseContainerSelector = '#wpstg-clonepage-wrapper',\n ) {\n this.baseContainer = dom.qs(baseContainerSelector);\n this.checkBoxSettingTogglerSelector = '.wpstg-toggle-advance-settings-section';\n this.init();\n }\n\n /**\n * Add events\n * @return {void}\n */\n addEvents() {\n if (this.baseContainer === null) {\n return;\n }\n\n dom.addEvent(this.baseContainer, 'change', this.checkBoxSettingTogglerSelector, (element) => {\n this.toggleSettings(element);\n });\n }\n\n /**\n * @return {void}\n */\n init() {\n this.addEvents();\n }\n\n /**\n * Expand/Collapse checkbox content on change\n * @return {void}\n */\n toggleSettings(element) {\n const target = dom.qs('#' + element.getAttribute('data-id'));\n if (element.checked) {\n dom.slideDown(target);\n } else {\n dom.slideUp(target);\n }\n }\n}\n","import * as dom from './wpstg-dom-utils.js';\n\nexport default class WpstgMainMenu {\n constructor() {\n this.activeTabClass = 'wpstg--tab--active';\n this.mainMenu();\n }\n\n mainMenu() {\n const tabHeader = dom.qs('.wpstg--tab--header');\n // Early bail if tab header is not available\n if (tabHeader === null) {\n return;\n }\n\n dom.addEvent(dom.qs('.wpstg--tab--header'), 'click', '.wpstg-button', (element) => {\n const $this = element;\n const target = $this.getAttribute('data-target');\n const targetElements = dom.all(target);\n const menuItems = dom.all('.wpstg--tab--header a[data-target]');\n const contents = dom.all('.wpstg--tab--contents > .wpstg--tab--content');\n\n contents.forEach((content) => {\n // active tab class is without the css dot class prefix\n if (content.matches('.' + this.activeTabClass + ':not(' + target + ')')) {\n content.classList.remove(this.activeTabClass);\n }\n });\n\n menuItems.forEach((menuItem) => {\n if (menuItem !== $this) {\n menuItem.classList.remove(this.activeTabClass);\n }\n });\n\n $this.classList.add(this.activeTabClass);\n\n targetElements.forEach((targetElement) => {\n targetElement.classList.add(this.activeTabClass);\n });\n\n if ('#wpstg--tab--backup' === target) {\n window.dispatchEvent(new Event('backups-tab'));\n }\n });\n };\n}\n","import WpstgCloneStaging from './modules/wpstg-clone-staging.js';\nimport WpstgDirectoryNavigation from './modules/wpstg-directory-navigation.js';\nimport WpstgExcludeFilters from './modules/wpstg-exclude-filters.js';\nimport WpstgResetModal from './modules/wpstg-reset-modal.js';\nimport WpstgModal from './modules/wpstg-modal.js';\nimport WpstgCloningAdvanceSettings from './modules/wpstg-cloning-advance-settings.js';\nimport WpstgMainMenu from './modules/wpstg-main-menu.js';\nimport WPStagingCommon from './wpstg.js';\n\nvar WPStaging = (function($) {\n const that = {\n isCancelled: false,\n isFinished: false,\n getLogs: false,\n time: 1,\n executionTime: false,\n progressBar: 0,\n cloneExcludeFilters: null,\n directoryNavigator: null,\n notyf: null,\n };\n const cache = {elements: []};\n let timeout; let ajaxSpinner;\n\n /**\n * Get / Set Cache for Selector\n * @param {String} selector\n * @return {*}\n */\n cache.get = function(selector) {\n // It is already cached!\n if ($.inArray(selector, cache.elements) !== -1) {\n return cache.elements[selector];\n }\n\n // Create cache and return\n cache.elements[selector] = jQuery(selector);\n\n return cache.elements[selector];\n };\n\n /**\n * Refreshes given cache\n * @param {String} selector\n */\n cache.refresh = function(selector) {\n selector.elements[selector] = jQuery(selector);\n };\n\n /**\n * Show and Log Error Message\n * @param {String} message\n */\n const showError = function(message) {\n cache.get('#wpstg-try-again').css('display', 'inline-block');\n cache.get('#wpstg-cancel-cloning').text('Reset');\n cache.get('#wpstg-resume-cloning').show();\n cache.get('#wpstg-error-wrapper').show();\n cache.get('#wpstg-error-details').show().html(message);\n cache.get('#wpstg-removing-clone').removeClass('loading');\n cache.get('.wpstg-loader').hide();\n $('.wpstg--modal--process--generic-problem').show().html(message);\n };\n\n /**\n * Show warning during cloning or push process when closing tab or browser, or changing page\n * @param {beforeunload} event\n * @return {null}\n */\n that.warnIfClosingDuringProcess = function(event) {\n // Only some browsers show the message below, most say something like \"Changes you made may not be saved\" (Chrome) or \"You have unsaved changes. Exit?\"\n event.returnValue = 'You MUST leave this window open while cloning/pushing. Please wait...';\n return null;\n };\n\n /**\n *\n * @param response the error object\n * @param prependMessage Overwrite default error message at beginning\n * @param appendMessage Overwrite default error message at end\n * @returns void\n */\n\n const showAjaxFatalError = function(response, prependMessage, appendMessage) {\n prependMessage = prependMessage ? prependMessage + '<br/><br/>' : 'Something went wrong! <br/><br/>';\n appendMessage = appendMessage ? appendMessage + '<br/><br/>' : '<br/><br/>Please try the <a href=\\'https://wp-staging.com/docs/wp-staging-settings-for-small-servers/\\' target=\\'_blank\\'>WP Staging Small Server Settings</a> or submit an error report and contact us.';\n\n if (response === false) {\n showError(prependMessage + ' Error: No response.' + appendMessage);\n window.removeEventListener('beforeunload', WPStaging.warnIfClosingDuringProcess);\n return;\n }\n\n if (typeof response.error !== 'undefined' && response.error) {\n console.error(response.message);\n showError(prependMessage + ' Error: ' + response.message + appendMessage);\n window.removeEventListener('beforeunload', WPStaging.warnIfClosingDuringProcess);\n return;\n }\n };\n\n /**\n *\n * @param response\n * @return {{ok}|*}\n */\n const handleFetchErrors = function(response) {\n if (!response.ok) {\n showError('Error: ' + response.status + ' - ' + response.statusText + '. Please try again or contact support.');\n }\n return response;\n };\n\n /** Hide and reset previous thrown visible errors */\n const resetErrors = function() {\n cache.get('#wpstg-error-details').hide().html('');\n };\n\n /**\n * Common Elements\n */\n const elements = function() {\n const $workFlow = cache.get('#wpstg-workflow');\n let isAllChecked = true;\n let urlSpinner = ajaxurl.replace('/admin-ajax.php', '') + '/images/spinner';\n let timer;\n\n if (2 < window.devicePixelRatio) {\n urlSpinner += '-2x';\n }\n\n urlSpinner += '.gif';\n\n ajaxSpinner = '<img src=\\'\\'' + urlSpinner + '\\' alt=\\'\\' class=\\'ajax-spinner general-spinner\\' />';\n\n const getBaseValues = function() {\n const path = $('#wpstg-use-target-dir').data('base-path');\n const uri = $('#wpstg-use-target-hostname').data('base-uri');\n return {\n path,\n };\n };\n\n $workFlow\n // Check / Un-check All Database Tables New\n .on('click', '.wpstg-button-unselect', function(e) {\n e.preventDefault();\n\n if (false === isAllChecked) {\n cache.get('#wpstg_select_tables_cloning .wpstg-db-table').prop('selected', 'selected');\n cache.get('.wpstg-button-unselect').text('Unselect All');\n cache.get('.wpstg-db-table-checkboxes').prop('checked', true);\n isAllChecked = true;\n } else {\n cache.get('#wpstg_select_tables_cloning .wpstg-db-table').prop('selected', false);\n cache.get('.wpstg-button-unselect').text('Select All');\n cache.get('.wpstg-db-table-checkboxes').prop('checked', false);\n isAllChecked = false;\n }\n })\n\n /**\n * Select tables with certain tbl prefix | NEW\n * @param obj e\n * @returns {undefined}\n */\n .on('click', '.wpstg-button-select', function(e) {\n e.preventDefault();\n $('#wpstg_select_tables_cloning .wpstg-db-table').each(function() {\n if (wpstg.isMultisite == 1) {\n if ($(this).attr('name').match('^' + wpstg.tblprefix + '([^0-9])_*')) {\n $(this).prop('selected', 'selected');\n } else {\n $(this).prop('selected', false);\n }\n }\n\n if (wpstg.isMultisite == 0) {\n if ($(this).attr('name').match('^' + wpstg.tblprefix)) {\n $(this).prop('selected', 'selected');\n } else {\n $(this).prop('selected', false);\n }\n }\n });\n })\n // Expand Directories\n .on('click', '.wpstg-expand-dirs', function(e) {\n e.preventDefault();\n\n const $this = $(this);\n\n $this.siblings('.wpstg-subdir').slideToggle();\n })\n // When a directory checkbox is Selected\n .on('change', 'input.wpstg-check-dir', function() {\n const $directory = $(this).parent('.wpstg-dir');\n\n if (this.checked) {\n $directory.parents('.wpstg-dir').children('.wpstg-check-dir').prop('checked', true);\n $directory.find('.wpstg-expand-dirs').removeClass('disabled');\n $directory.find('.wpstg-subdir .wpstg-check-dir').prop('checked', true);\n } else {\n $directory.find('.wpstg-dir .wpstg-check-dir').prop('checked', false);\n $directory.find('.wpstg-expand-dirs, .wpstg-check-subdirs').addClass('disabled');\n $directory.find('.wpstg-check-subdirs').data('action', 'check').text('check');\n }\n })\n // When a directory name is Selected\n .on('change', 'href.wpstg-check-dir', function() {\n const $directory = $(this).parent('.wpstg-dir');\n\n if (this.checked) {\n $directory.parents('.wpstg-dir').children('.wpstg-check-dir').prop('checked', true);\n $directory.find('.wpstg-expand-dirs').removeClass('disabled');\n $directory.find('.wpstg-subdir .wpstg-check-dir').prop('checked', true);\n } else {\n $directory.find('.wpstg-dir .wpstg-check-dir').prop('checked', false);\n $directory.find('.wpstg-expand-dirs, .wpstg-check-subdirs').addClass('disabled');\n $directory.find('.wpstg-check-subdirs').data('action', 'check').text('check');\n }\n })\n // Check the max length of the clone name and if the clone name already exists\n .on('keyup', '#wpstg-new-clone-id', function() {\n // Hide previous errors\n document.getElementById('wpstg-error-details').style.display = 'none';\n\n // This request was already sent, clear it up!\n if ('number' === typeof (timer)) {\n clearInterval(timer);\n }\n\n // Early bail if site name is empty\n if (this.value === undefined || this.value === '') {\n cache.get('#wpstg-new-clone-id').removeClass('wpstg-error-input');\n cache.get('#wpstg-start-cloning').removeAttr('disabled');\n cache.get('#wpstg-clone-id-error').text('').hide();\n return;\n }\n\n // Convert the site name to directory name (slugify the site name to create directory name)\n const cloneDirectoryName = WPStagingCommon.slugify(this.value);\n\n timer = setTimeout(\n function() {\n ajax(\n {\n action: 'wpstg_check_clone',\n accessToken: wpstg.accessToken,\n nonce: wpstg.nonce,\n directoryName: cloneDirectoryName,\n },\n function(response) {\n if (response.status === 'success') {\n cache.get('#wpstg-new-clone-id').removeClass('wpstg-error-input');\n cache.get('#wpstg-start-cloning').removeAttr('disabled');\n cache.get('#wpstg-clone-id-error').text('').hide();\n } else {\n cache.get('#wpstg-new-clone-id').addClass('wpstg-error-input');\n cache.get('#wpstg-start-cloning').prop('disabled', true);\n cache.get('#wpstg-clone-id-error').text(response.message).show();\n }\n },\n );\n },\n 500,\n );\n })\n // Restart cloning process\n .on('click', '#wpstg-start-cloning', function() {\n resetErrors();\n that.isCancelled = false;\n that.getLogs = false;\n that.progressBar = 0;\n })\n .on('input', '#wpstg-new-clone-id', function() {\n if ($('#wpstg-clone-directory').length < 1) {\n return;\n }\n\n const slug = WPStagingCommon.slugify(this.value);\n const $targetDir = $('#wpstg-use-target-dir');\n const $targetUri = $('#wpstg-use-target-hostname');\n let path = $targetDir.data('base-path');\n let uri = $targetUri.data('base-uri');\n\n if (path) {\n path = path.replace(/\\/+$/g, '') + '/' + slug + '/';\n }\n\n if (uri) {\n uri = uri.replace(/\\/+$/g, '') + '/' + slug;\n }\n\n\n $('.wpstg-use-target-dir--value').text(path);\n $('.wpstg-use-target-hostname--value').text(uri);\n\n $targetDir.attr('data-path', path);\n $targetUri.attr('data-uri', uri);\n $('#wpstg_clone_dir').attr('placeholder', path);\n $('#wpstg_clone_hostname').attr('placeholder', uri);\n })\n .on('input', '#wpstg_clone_hostname', function() {\n if ($(this).val() === '' || validateTargetHost()) {\n $('#wpstg_clone_hostname_error').remove();\n return;\n }\n if (!validateTargetHost() && !$('#wpstg_clone_hostname_error').length) {\n $('#wpstg-clone-directory tr:last-of-type').after('<tr><td> </td><td><p id=\"wpstg_clone_hostname_error\" style=\"color: red;\"> Invalid host name. Please provide it in a format like http://example.com</p></td></tr>');\n }\n })\n ;\n\n cloneActions();\n };\n\n /* @returns {boolean} */\n var validateTargetHost = function() {\n const the_domain = $('#wpstg_clone_hostname').val();\n\n if (the_domain === '') {\n return true;\n }\n\n const reg = /^http(s)?:\\/\\/.*$/;\n if (reg.test(the_domain) === false) {\n return false;\n }\n return true;\n };\n\n /**\n * Clone actions\n */\n var cloneActions = function() {\n const $workFlow = cache.get('#wpstg-workflow');\n\n $workFlow\n // Cancel cloning\n .on('click', '#wpstg-cancel-cloning', function() {\n if (!confirm('Are you sure you want to cancel cloning process?')) {\n return false;\n }\n\n const $this = $(this);\n\n $('#wpstg-try-again, #wpstg-home-link').hide();\n $this.prop('disabled', true);\n\n that.isCancelled = true;\n that.progressBar = 0;\n\n $('#wpstg-processing-status').text('Please wait...this can take up a while.');\n $('.wpstg-loader, #wpstg-show-log-button').hide();\n\n $this.parent().append(ajaxSpinner);\n\n cancelCloning();\n })\n // Resume cloning\n .on('click', '#wpstg-resume-cloning', function() {\n resetErrors();\n const $this = $(this);\n\n $('#wpstg-try-again, #wpstg-home-link').hide();\n\n that.isCancelled = false;\n\n $('#wpstg-processing-status').text('Try to resume cloning process...');\n $('#wpstg-error-details').hide();\n $('.wpstg-loader').show();\n\n $this.parent().append(ajaxSpinner);\n\n that.startCloning();\n })\n // Cancel update cloning\n .on('click', '#wpstg-cancel-cloning-update', function() {\n resetErrors();\n\n const $this = $(this);\n\n $('#wpstg-try-again, #wpstg-home-link').hide();\n $this.prop('disabled', true);\n\n that.isCancelled = true;\n\n $('#wpstg-cloning-result').text('Please wait...this can take up a while.');\n $('.wpstg-loader, #wpstg-show-log-button').hide();\n\n $this.parent().append(ajaxSpinner);\n\n cancelCloningUpdate();\n })\n // Restart cloning\n .on('click', '#wpstg-restart-cloning', function() {\n resetErrors();\n\n const $this = $(this);\n\n $('#wpstg-try-again, #wpstg-home-link').hide();\n $this.prop('disabled', true);\n\n that.isCancelled = true;\n\n $('#wpstg-cloning-result').text('Please wait...this can take up a while.');\n $('.wpstg-loader, #wpstg-show-log-button').hide();\n\n $this.parent().append(ajaxSpinner);\n\n restart();\n })\n // Delete clone - confirmation\n .on('click', '.wpstg-remove-clone[data-clone]', function(e) {\n resetErrors();\n e.preventDefault();\n\n const $existingClones = cache.get('#wpstg-existing-clones');\n\n $workFlow.removeClass('active');\n\n cache.get('.wpstg-loader').show();\n\n ajax(\n {\n action: 'wpstg_confirm_delete_clone',\n accessToken: wpstg.accessToken,\n nonce: wpstg.nonce,\n clone: $(this).data('clone'),\n },\n function(response) {\n cache.get('#wpstg-removing-clone').html(response);\n\n $existingClones.children('img').remove();\n\n cache.get('.wpstg-loader').hide();\n\n $('html, body').animate({\n // This logic is meant to be a \"scrollBottom\"\n scrollTop: $('#wpstg-remove-clone').offset().top - $(window).height() +\n $('#wpstg-remove-clone').height() + 50,\n }, 100);\n },\n 'HTML',\n );\n })\n // Delete clone - confirmed\n .on('click', '#wpstg-remove-clone', function(e) {\n resetErrors();\n e.preventDefault();\n\n cache.get('#wpstg-removing-clone').addClass('loading');\n\n cache.get('.wpstg-loader').show();\n\n deleteClone($(this).data('clone'));\n })\n // Cancel deleting clone\n .on('click', '#wpstg-cancel-removing', function(e) {\n e.preventDefault();\n $('.wpstg-clone').removeClass('active');\n cache.get('#wpstg-removing-clone').html('');\n })\n // Update\n .on('click', '.wpstg-execute-clone', function(e) {\n e.preventDefault();\n\n const clone = $(this).data('clone');\n\n $workFlow.addClass('loading');\n that.cloneExcludeFilters = null;\n ajax(\n {\n action: 'wpstg_scanning',\n clone: clone,\n accessToken: wpstg.accessToken,\n nonce: wpstg.nonce,\n },\n function(response) {\n if (response.length < 1) {\n showError(\n 'Something went wrong! Error: No response. Please try the <a href=\\'https://wp-staging.com/docs/wp-staging-settings-for-small-servers/\\' target=\\'_blank\\'>WP Staging Small Server Settings</a> or submit an error report and contact us.',\n );\n }\n\n const jsonResponse = tryParseJson(response);\n if (jsonResponse !== false && jsonResponse.success === false) {\n $workFlow.removeClass('loading');\n showErrorModal(jsonResponse);\n\n return;\n }\n\n $workFlow.removeClass('loading').html(response);\n // register check disk space function for clone update process.\n checkDiskSpace();\n that.directoryNavigator = new WpstgDirectoryNavigation('#wpstg-directories-listing', wpstg, that.notyf);\n that.cloneExcludeFilters = new WpstgExcludeFilters();\n that.switchStep(2);\n },\n 'HTML',\n );\n })\n // Reset Clone\n .on('click', '.wpstg-reset-clone', function(e) {\n e.preventDefault();\n const clone = $(this).data('clone');\n const resetModal = new WpstgResetModal(clone);\n const promise = resetModal.showModal();\n\n promise.then((result) => {\n if (result.value) {\n const dirNavigator = resetModal.getDirectoryNavigator();\n const exclFilters = resetModal.getExcludeFilters().getExcludeFilters();\n resetClone(clone, {\n includedTables: getIncludedTables(),\n excludeSizeRules: encodeURIComponent(exclFilters.sizes),\n excludeGlobRules: encodeURIComponent(exclFilters.globs),\n excludedDirectories: dirNavigator.getExcludedDirectories(),\n extraDirectories: dirNavigator.getExtraDirectoriesRootOnly(),\n });\n }\n });\n\n return;\n });\n };\n\n /**\n * Ajax Requests\n * @param Object data\n * @param Function callback\n * @param string dataType\n * @param bool showErrors\n * @param int tryCount\n * @param float incrementRatio\n */\n var ajax = function(data, callback, dataType, showErrors, tryCount, incrementRatio = null) {\n if ('undefined' === typeof (dataType)) {\n dataType = 'json';\n }\n\n if (false !== showErrors) {\n showErrors = true;\n }\n\n tryCount = 'undefined' === typeof (tryCount) ? 0 : tryCount;\n\n const retryLimit = 10;\n\n let retryTimeout = 10000 * tryCount;\n\n incrementRatio = parseInt(incrementRatio);\n if (!isNaN(incrementRatio)) {\n retryTimeout *= incrementRatio;\n }\n\n $.ajax({\n url: ajaxurl + '?action=wpstg_processing&_=' + (Date.now() / 1000),\n type: 'POST',\n dataType: dataType,\n cache: false,\n data: data,\n error: function(xhr, textStatus, errorThrown) {\n // try again after 10 seconds\n tryCount++;\n if (tryCount <= retryLimit) {\n setTimeout(function() {\n ajax(data, callback, dataType, showErrors, tryCount, incrementRatio);\n return;\n }, retryTimeout);\n } else {\n const errorCode = 'undefined' === typeof (xhr.status) ? 'Unknown' : xhr.status;\n showError(\n 'Fatal Error: ' + errorCode + ' Please try the <a href=\\'https://wp-staging.com/docs/wp-staging-settings-for-small-servers/\\' target=\\'_blank\\'>WP Staging Small Server Settings</a> or submit an error report and contact us.',\n );\n }\n },\n success: function(data) {\n if ('function' === typeof (callback)) {\n callback(data);\n }\n },\n statusCode: {\n 404: function() {\n if (tryCount >= retryLimit) {\n showError('Error 404 - Can\\'t find ajax request URL! Please try the <a href=\\'https://wp-staging.com/docs/wp-staging-settings-for-small-servers/\\' target=\\'_blank\\'>WP Staging Small Server Settings</a> or submit an error report and contact us.');\n }\n },\n 500: function() {\n if (tryCount >= retryLimit) {\n showError('Fatal Error 500 - Internal server error while processing the request! Please try the <a href=\\'https://wp-staging.com/docs/wp-staging-settings-for-small-servers/\\' target=\\'_blank\\'>WP Staging Small Server Settings</a> or submit an error report and contact us.');\n }\n },\n 504: function() {\n if (tryCount > retryLimit) {\n showError('Error 504 - It looks like your server is rate limiting ajax requests. Please try to resume after a minute. If this still not works try the <a href=\\'https://wp-staging.com/docs/wp-staging-settings-for-small-servers/\\' target=\\'_blank\\'>WP Staging Small Server Settings</a> or submit an error report and contact us.\\n\\ ');\n }\n },\n 502: function() {\n if (tryCount >= retryLimit) {\n showError('Error 502 - It looks like your server is rate limiting ajax requests. Please try to resume after a minute. If this still not works try the <a href=\\'https://wp-staging.com/docs/wp-staging-settings-for-small-servers/\\' target=\\'_blank\\'>WP Staging Small Server Settings</a> or submit an error report and contact us.\\n\\ ');\n }\n },\n 503: function() {\n if (tryCount >= retryLimit) {\n showError('Error 503 - It looks like your server is rate limiting ajax requests. Please try to resume after a minute. If this still not works try the <a href=\\'https://wp-staging.com/docs/wp-staging-settings-for-small-servers/\\' target=\\'_blank\\'>WP Staging Small Server Settings</a> or submit an error report and contact us.\\n\\ ');\n }\n },\n 429: function() {\n if (tryCount >= retryLimit) {\n showError('Error 429 - It looks like your server is rate limiting ajax requests. Please try to resume after a minute. If this still not works try the <a href=\\'https://wp-staging.com/docs/wp-staging-settings-for-small-servers/\\' target=\\'_blank\\'>WP Staging Small Server Settings</a> or submit an error report and contact us.\\n\\ ');\n }\n },\n 403: function() {\n if (tryCount >= retryLimit) {\n showError('Refresh page or login again! The process should be finished successfully. \\n\\ ');\n }\n },\n },\n });\n };\n\n /**\n * Next / Previous Step Clicks to Navigate Through Staging Job\n */\n const stepButtons = function() {\n const $workFlow = cache.get('#wpstg-workflow');\n\n $workFlow\n // Next Button\n .on('click', '.wpstg-next-step-link', function(e) {\n e.preventDefault();\n\n const $this = $(this);\n const isScan = false;\n\n if ($('#wpstg_clone_hostname').length && !validateTargetHost()) {\n $('#wpstg_clone_hostname').focus();\n return false;\n }\n\n if ($this.data('action') === 'wpstg_update' || $this.data('action') === 'wpstg_reset') {\n // Update / Reset Clone - confirmed\n let onlyUpdateMessage = '';\n if ($this.data('action') === 'wpstg_update') {\n onlyUpdateMessage = ' \\n\\nExclude all tables and folders you do not want to overwrite, first! \\n\\nDo not cancel the updating process! This can break your staging site. \\n\\n\\Create a backup of your staging website before you proceed.';\n }\n\n if (!confirm('STOP! This will overwrite your staging site with all selected data from the production site! This should be used only if you want to clone again your production site. Are you sure you want to do this?' + onlyUpdateMessage)) {\n return false;\n }\n }\n\n // Button is disabled\n if ($this.attr('disabled')) {\n return false;\n }\n\n if ($this.data('action') === 'wpstg_cloning') {\n // Verify External Database If Checked and Not Skipped\n if ($('#wpstg-ext-db').is(':checked')) {\n verifyExternalDatabase($this, $workFlow);\n return;\n }\n }\n\n proceedCloning($this, $workFlow);\n })\n // Previous Button\n .on('click', '.wpstg-prev-step-link', function(e) {\n e.preventDefault();\n cache.get('.wpstg-loader').removeClass('wpstg-finished');\n cache.get('.wpstg-loader').hide();\n loadOverview();\n });\n };\n\n /**\n * Get Included (Checked) Database Tables\n * @return {Array}\n */\n const getIncludedTables = function() {\n const includedTables = [];\n\n $('#wpstg_select_tables_cloning option:selected').each(function() {\n includedTables.push(this.value);\n });\n\n return includedTables;\n };\n\n /**\n * Get Excluded (Unchecked) Database Tables\n * Not used anymore!\n * @return {Array}\n */\n const getExcludedTables = function() {\n const excludedTables = [];\n\n $('.wpstg-db-table input:not(:checked)').each(function() {\n excludedTables.push(this.name);\n });\n\n return excludedTables;\n };\n\n /**\n * Verify External Database for Cloning\n */\n var verifyExternalDatabase = function($this, workflow) {\n cache.get('.wpstg-loader').show();\n ajax(\n {\n action: 'wpstg_database_verification',\n accessToken: wpstg.accessToken,\n nonce: wpstg.nonce,\n databaseUser: cache.get('#wpstg_db_username').val(),\n databasePassword: cache.get('#wpstg_db_password').val(),\n databaseServer: cache.get('#wpstg_db_server').val(),\n databaseDatabase: cache.get('#wpstg_db_database').val(),\n },\n function(response) {\n // Undefined Error\n if (false === response) {\n showError(\n 'Something went wrong! Error: No response.' +\n 'Please try again. If that does not help, ' +\n '<a href=\\'https://wp-staging.com/support/\\' target=\\'_blank\\'>open a support ticket</a> ',\n );\n cache.get('.wpstg-loader').hide();\n return;\n }\n\n // Throw Error\n if ('undefined' === typeof (response.success)) {\n showError(\n 'Something went wrong! Error: Invalid response.' +\n 'Please try again. If that does not help, ' +\n '<a href=\\'https://wp-staging.com/support/\\' target=\\'_blank\\'>open a support ticket</a> ',\n );\n cache.get('.wpstg-loader').hide();\n return;\n }\n\n if (response.success) {\n cache.get('.wpstg-loader').hide();\n proceedCloning($this, workflow);\n return;\n }\n\n if (response.error_type === 'comparison') {\n cache.get('.wpstg-loader').hide();\n let render = '<table style=\"width: 100%;\"><thead><tr><th>Property</th><th>Production DB</th><th>Staging DB</th><th>Status</th></tr></thead><tbody>';\n response.checks.forEach((x) => {\n let icon = '<i style=\"color: #00ff00\">✔</i>';\n if (x.production !== x.staging) {\n icon = '<i style=\"color: #ff0000\">❌</i>';\n }\n render += '<tr><td>' + x.name + '</td><td>' + x.production + '</td><td>' + x.staging + '</td><td>' + icon + '</td></tr>';\n });\n render += '</tbody></table><p>Note: Some mySQL properties do not match. You may proceed but the staging site may not work as expected.</p>';\n WPStagingCommon.getSwalModal().fire({\n title: 'Different Database Properties',\n icon: 'warning',\n html: render,\n width: '650px',\n focusConfirm: false,\n confirmButtonText: 'Proceed Anyway',\n showCancelButton: true,\n }).then(function(result) {\n if (result.value) {\n proceedCloning($this, workflow);\n }\n });\n return;\n }\n\n WPStagingCommon.getSwalModal(true).fire({\n title: 'Different Database Properties',\n icon: 'error',\n html: response.message,\n focusConfirm: true,\n confirmButtonText: 'Ok',\n showCancelButton: false,\n });\n cache.get('.wpstg-loader').hide();\n },\n 'json',\n false,\n );\n };\n\n /**\n * Get Cloning Step Data\n */\n const getCloningData = function() {\n if ('wpstg_cloning' !== that.data.action && 'wpstg_update' !== that.data.action && 'wpstg_reset' !== that.data.action) {\n return;\n }\n\n that.data.cloneID = new Date().getTime().toString();\n if ('wpstg_update' === that.data.action) {\n that.data.cloneID = $('#wpstg-new-clone-id').data('clone');\n }\n\n that.data.cloneName = $('#wpstg-new-clone-id').val() || that.data.cloneID;\n\n // Remove this to keep &_POST[] small otherwise mod_security will throw error 404\n // that.data.excludedTables = getExcludedTables();\n\n if (that.directoryNavigator !== null) {\n that.data.excludedDirectories = encodeURIComponent(that.directoryNavigator.getExcludedDirectories());\n that.data.extraDirectories = encodeURIComponent(that.directoryNavigator.getExtraDirectoriesRootOnly());\n }\n\n that.data.excludeGlobRules = '';\n that.data.excludeSizeRules = '';\n if (that.cloneExcludeFilters instanceof WpstgExcludeFilters) {\n const rules = that.cloneExcludeFilters.getExcludeFilters();\n that.data.excludeGlobRules = encodeURIComponent(rules.globs);\n that.data.excludeSizeRules = encodeURIComponent(rules.sizes);\n }\n\n that.data.includedTables = getIncludedTables();\n that.data.databaseServer = $('#wpstg_db_server').val();\n that.data.databaseUser = $('#wpstg_db_username').val();\n that.data.databasePassword = $('#wpstg_db_password').val();\n that.data.databaseDatabase = $('#wpstg_db_database').val();\n that.data.databasePrefix = $('#wpstg_db_prefix').val();\n const cloneDir = $('#wpstg_
|
|