first commit
BIN
wp-content/plugins/duplicator-pro/assets/build/images/32px.png
Normal file
|
After Width: | Height: | Size: 5.5 KiB |
BIN
wp-content/plugins/duplicator-pro/assets/build/images/40px.png
Normal file
|
After Width: | Height: | Size: 2.2 KiB |
|
After Width: | Height: | Size: 1.4 KiB |
@@ -0,0 +1,435 @@
|
||||
/*!*************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
|
||||
!*** css ./node_modules/.pnpm/css-loader@7.1.2_webpack@5.100.2/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].use[1]!./node_modules/.pnpm/postcss-loader@8.2.0_postcss@8.5.6_webpack@5.100.2/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./node_modules/.pnpm/sass-loader@16.0.5_sass@1.89.2_webpack@5.100.2/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[1].use[3]!./assets/sass/global_main.scss ***!
|
||||
\*************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
|
||||
/*!
|
||||
DUPLICATOR GLOBAL STYLE - Snap Creek LLC 2015-2024
|
||||
*/
|
||||
/**
|
||||
* Foundation for Sites
|
||||
* Version 6.9.0
|
||||
* https://get.foundation
|
||||
* Licensed under MIT Open Source
|
||||
*/
|
||||
#dup-notifications {
|
||||
position: relative;
|
||||
background: #ffffff 0 0 no-repeat padding-box;
|
||||
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
|
||||
border-radius: 6px;
|
||||
opacity: 1;
|
||||
min-height: 48px;
|
||||
margin: 10px 0 20px 0;
|
||||
}
|
||||
|
||||
#dup-notifications * {
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
#dup-notifications .dup-notifications-header {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
padding: 10px 16px;
|
||||
border-bottom: 1px solid rgba(204, 208, 212, 0.5);
|
||||
}
|
||||
|
||||
#dup-notifications .dup-notifications-header .dup-notifications-bell {
|
||||
position: relative;
|
||||
width: 16px;
|
||||
height: 20px;
|
||||
top: 3px;
|
||||
margin-right: 10px;
|
||||
}
|
||||
|
||||
#dup-notifications .dup-notifications-header .dup-notifications-circle {
|
||||
position: absolute;
|
||||
width: 11px;
|
||||
height: 11px;
|
||||
border-radius: 50%;
|
||||
top: -4px;
|
||||
right: -1px;
|
||||
border: 2px solid #ffffff;
|
||||
}
|
||||
|
||||
#dup-notifications .dup-notifications-header .dup-notifications-title {
|
||||
font-style: normal;
|
||||
font-weight: 500;
|
||||
font-size: 14px;
|
||||
line-height: 17px;
|
||||
color: #23282d;
|
||||
}
|
||||
|
||||
#dup-notifications .dup-notifications-body {
|
||||
position: relative;
|
||||
}
|
||||
|
||||
#dup-notifications .dup-notifications-messages {
|
||||
padding: 16px 100px 16px 16px;
|
||||
}
|
||||
|
||||
#dup-notifications .dup-notifications-messages .dup-notifications-message {
|
||||
display: none;
|
||||
}
|
||||
|
||||
#dup-notifications .dup-notifications-messages .dup-notifications-message.current {
|
||||
display: block;
|
||||
}
|
||||
|
||||
#dup-notifications .dup-notifications-messages .dup-notifications-title {
|
||||
color: #444444;
|
||||
font-size: 17px;
|
||||
font-weight: 600;
|
||||
line-height: 17px;
|
||||
margin: 0 0 -2px 0;
|
||||
min-height: 19px;
|
||||
}
|
||||
|
||||
#dup-notifications .dup-notifications-messages .dup-notifications-content {
|
||||
font-weight: normal;
|
||||
font-size: 14px;
|
||||
line-height: 18px;
|
||||
margin: 8px 0 20px 0;
|
||||
color: #777777;
|
||||
}
|
||||
|
||||
#dup-notifications .dup-notifications-messages .dup-notifications-content p {
|
||||
font-size: inherit;
|
||||
line-height: inherit;
|
||||
margin: 0 0 5px;
|
||||
}
|
||||
|
||||
#dup-notifications .dup-notifications-messages .dup-notifications-buttons {
|
||||
margin: -30px 80px 0 0;
|
||||
}
|
||||
|
||||
#dup-notifications .dup-notifications-messages .dup-notifications-buttons a {
|
||||
margin: 0 10px 0 0;
|
||||
min-height: unset;
|
||||
}
|
||||
|
||||
#dup-notifications .dup-notifications-badge {
|
||||
background-color: #f6f7f7;
|
||||
border-radius: 3px;
|
||||
color: #2c3338;
|
||||
cursor: pointer;
|
||||
font-size: 11px;
|
||||
margin-left: 10px;
|
||||
padding: 6px 8px;
|
||||
position: relative;
|
||||
text-decoration: none;
|
||||
text-transform: uppercase;
|
||||
top: -1px;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
#dup-notifications .dup-notifications-badge:focus, #dup-notifications .dup-notifications-badge:hover {
|
||||
background-color: #f0f0f1;
|
||||
box-shadow: none;
|
||||
color: initial;
|
||||
}
|
||||
|
||||
#dup-notifications .dup-notifications-badge .fa {
|
||||
color: black;
|
||||
padding-right: 6px;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
#dup-notifications .dismiss {
|
||||
position: absolute;
|
||||
top: 15px;
|
||||
right: 16px;
|
||||
width: 16px;
|
||||
height: 16px;
|
||||
color: #a7aaad;
|
||||
font-size: 16px;
|
||||
cursor: pointer;
|
||||
text-align: center;
|
||||
vertical-align: middle;
|
||||
line-height: 16px;
|
||||
}
|
||||
|
||||
#dup-notifications .dismiss:hover {
|
||||
color: #dc3232;
|
||||
}
|
||||
|
||||
#dup-notifications .navigation {
|
||||
position: absolute;
|
||||
bottom: 20px;
|
||||
right: 16px;
|
||||
width: 63px;
|
||||
height: 30px;
|
||||
}
|
||||
|
||||
#dup-notifications .navigation a {
|
||||
display: block;
|
||||
width: 30px;
|
||||
height: 30px;
|
||||
border: 1px solid #7e8993;
|
||||
border-radius: 3px;
|
||||
font-size: 16px;
|
||||
line-height: 1.625;
|
||||
text-align: center;
|
||||
cursor: pointer;
|
||||
background-color: #ffffff;
|
||||
color: #41454a;
|
||||
}
|
||||
|
||||
#dup-notifications .navigation a:hover {
|
||||
background-color: #f1f1f1;
|
||||
}
|
||||
|
||||
#dup-notifications .navigation .prev {
|
||||
float: left;
|
||||
}
|
||||
|
||||
#dup-notifications .navigation .next {
|
||||
float: right;
|
||||
}
|
||||
|
||||
#dup-notifications .navigation .disabled {
|
||||
border-color: #dddddd;
|
||||
color: #a0a5aa;
|
||||
cursor: default;
|
||||
}
|
||||
|
||||
#dup-notifications .navigation .disabled:hover {
|
||||
background-color: #ffffff;
|
||||
}
|
||||
|
||||
.dup-notifications-message .button {
|
||||
margin: 0 10px 0 0;
|
||||
}
|
||||
|
||||
.lity-iframe .lity-content {
|
||||
margin: 0 auto;
|
||||
}
|
||||
|
||||
@media screen and (max-width: 768px) {
|
||||
#dup-notifications .dup-notifications-messages {
|
||||
padding: 15px 50px 20px 16px;
|
||||
}
|
||||
#dup-notifications .dup-notifications-messages .dup-notifications-message .dup-notifications-title {
|
||||
line-height: 22px;
|
||||
margin: 0 30px -2px 0;
|
||||
min-height: 24px;
|
||||
}
|
||||
#dup-notifications .dup-notifications-messages .dup-notifications-message .dup-notifications-content {
|
||||
font-size: 16px;
|
||||
line-height: 22px;
|
||||
}
|
||||
#dup-notifications .dup-notifications-messages .dup-notifications-message .dup-notifications-buttons {
|
||||
margin: -30px 80px 0 0;
|
||||
}
|
||||
#dup-notifications .dup-notifications-messages .dup-notifications-message .dup-notifications-buttons a {
|
||||
margin: 0;
|
||||
display: table;
|
||||
}
|
||||
#dup-notifications .dup-notifications-messages .dup-notifications-message .dup-notifications-buttons .button-secondary {
|
||||
margin-top: 6px;
|
||||
}
|
||||
}
|
||||
.dupli-admin-notice {
|
||||
padding: 10px;
|
||||
}
|
||||
.dupli-admin-notice .notice-dismiss {
|
||||
position: absolute;
|
||||
top: 10px;
|
||||
right: 10px;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
.duplicator-gen-admin-notice {
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.dupli-admin-notice {
|
||||
background: #fefefe;
|
||||
border-left-width: 4px;
|
||||
border-left-style: solid;
|
||||
border-top: 4px;
|
||||
width: calc(100% - 22px);
|
||||
padding: 16px 10px;
|
||||
overflow: hidden;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
.wrap .dupli-admin-notice {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.dup-border-left-red-notice {
|
||||
background: #fefefe;
|
||||
border-left: 4px solid #ED494D;
|
||||
padding: 10px;
|
||||
}
|
||||
|
||||
.dupli-admin-notice p {
|
||||
overflow: hidden;
|
||||
}
|
||||
.dupli-admin-notice p:last-of-type {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
.dupli-admin-notice.dupli-yellow-border {
|
||||
border-left-color: #dba617;
|
||||
}
|
||||
|
||||
.dup-updated {
|
||||
margin-left: 0;
|
||||
background: #fefefe;
|
||||
border-left: 4px solid #fefefe;
|
||||
box-shadow: 0 1px 1px 0 rgba(0, 0, 0, 0.1);
|
||||
margin: 5px 15px 2px;
|
||||
padding: 1px 12px;
|
||||
}
|
||||
|
||||
.dup-updated p {
|
||||
margin: 0.5em 0;
|
||||
padding: 2px;
|
||||
}
|
||||
|
||||
.dup-updated a {
|
||||
padding-bottom: 2px;
|
||||
}
|
||||
|
||||
.dup-updated {
|
||||
border-left-color: #00a32a;
|
||||
}
|
||||
|
||||
.wrap .dup-updated {
|
||||
margin: 5px 0 15px;
|
||||
margin: 20px 0 10px 0;
|
||||
padding: 5px 10px;
|
||||
font-size: 14px;
|
||||
line-height: 175%;
|
||||
}
|
||||
|
||||
.dupli-invalid-license {
|
||||
text-align: center;
|
||||
font-size: 16px;
|
||||
line-height: 22px;
|
||||
}
|
||||
|
||||
.dupli-invalid-license h2 {
|
||||
font-size: 30px;
|
||||
text-shadow: 0px 5px 5px #e8e8e8;
|
||||
color: #fe4716;
|
||||
margin: 30px 0 20Px 0;
|
||||
}
|
||||
|
||||
.dupli-invalid-license p {
|
||||
font-size: 1.25em;
|
||||
}
|
||||
|
||||
.dupli-invalid-license small {
|
||||
font-size: 0.8rem;
|
||||
}
|
||||
|
||||
/** LICENSE NOTICES **/
|
||||
.dupli-admin-notice.dup-license-message {
|
||||
padding: 10px;
|
||||
display: flex;
|
||||
}
|
||||
|
||||
.dup-license-message h3 {
|
||||
margin: 0 0 10px 0;
|
||||
}
|
||||
|
||||
.dup-license-message .dashicons {
|
||||
display: inline-block;
|
||||
font-size: 60px;
|
||||
width: 60px;
|
||||
height: 60px;
|
||||
margin-right: 10px;
|
||||
}
|
||||
|
||||
.dup-license-message .dupli-simple-style-disc {
|
||||
margin: 10px 20px;
|
||||
}
|
||||
|
||||
.dupli-simple-style-disc {
|
||||
list-style: disc;
|
||||
margin-left: 20px;
|
||||
}
|
||||
|
||||
.dup-dashboard-widget-content .maroon {
|
||||
color: maroon;
|
||||
}
|
||||
.dup-dashboard-widget-content .green {
|
||||
color: #00a32a;
|
||||
}
|
||||
.dup-dashboard-widget-content .gary {
|
||||
color: #646970;
|
||||
}
|
||||
.dup-dashboard-widget-content a.disabled {
|
||||
pointer-events: none;
|
||||
cursor: default;
|
||||
}
|
||||
.dup-dashboard-widget-content .separator {
|
||||
margin: 1em 0;
|
||||
}
|
||||
.dup-dashboard-widget-content .dup-packages-counts {
|
||||
text-align: right;
|
||||
}
|
||||
.dup-dashboard-widget-content .dup-section-last-packages ul,
|
||||
.dup-dashboard-widget-content .dup-section-sections ul {
|
||||
list-style: none;
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
}
|
||||
.dup-dashboard-widget-content .dup-section-last-packages ul li,
|
||||
.dup-dashboard-widget-content .dup-section-sections ul li {
|
||||
margin: 0 0 10px 0;
|
||||
}
|
||||
.dup-dashboard-widget-content .dup-section-last-packages ul li:last-child,
|
||||
.dup-dashboard-widget-content .dup-section-sections ul li:last-child {
|
||||
margin: 0;
|
||||
}
|
||||
.dup-dashboard-widget-content .dup-section-label-fixed-width {
|
||||
display: inline-block;
|
||||
min-width: 120px;
|
||||
}
|
||||
.dup-dashboard-widget-content .dup-section-sections .dashicons {
|
||||
margin-right: 5px;
|
||||
}
|
||||
.dup-dashboard-widget-content .dup-section-sections .dashicons-image-rotate {
|
||||
font-size: 16px;
|
||||
}
|
||||
.dup-dashboard-widget-content .spinner {
|
||||
float: none;
|
||||
visibility: visible;
|
||||
margin: 0;
|
||||
}
|
||||
.dup-dashboard-widget-content .dup-section-recommended {
|
||||
line-height: 20px;
|
||||
}
|
||||
.dup-dashboard-widget-content .dup-section-recommended .action-links a:after {
|
||||
content: "|";
|
||||
cursor: not-allowed;
|
||||
margin: 0 5px;
|
||||
color: #646970;
|
||||
}
|
||||
.dup-dashboard-widget-content .dup-section-recommended .action-links a:last-child:after {
|
||||
content: "";
|
||||
margin: 0;
|
||||
}
|
||||
.dup-dashboard-widget-content .dup-recommended-label {
|
||||
color: #787c82;
|
||||
}
|
||||
.dup-dashboard-widget-content #dup-dash-widget-section-recommended {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
border: 0 none;
|
||||
background: transparent;
|
||||
color: #787c82;
|
||||
cursor: pointer;
|
||||
}
|
||||
.dup-dashboard-widget-content .dup-flex-content {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
}
|
||||
.dup-dashboard-widget-content .dup-flex-content > * {
|
||||
padding-right: 5px;
|
||||
}
|
||||
.dup-dashboard-widget-content .dup-flex-content > *:last-child {
|
||||
padding-right: 0;
|
||||
}
|
||||
1
wp-content/plugins/duplicator-pro/assets/css/duplicator-global.min.css
vendored
Normal file
9228
wp-content/plugins/duplicator-pro/assets/css/duplicator.css
Normal file
1
wp-content/plugins/duplicator-pro/assets/css/duplicator.min.css
vendored
Normal file
8003
wp-content/plugins/duplicator-pro/assets/css/font-awesome/css/all.css
vendored
Normal file
9
wp-content/plugins/duplicator-pro/assets/css/font-awesome/css/all.min.css
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
<?php
|
||||
|
||||
//silent
|
||||
BIN
wp-content/plugins/duplicator-pro/assets/css/images/32px.png
Normal file
|
After Width: | Height: | Size: 5.5 KiB |
BIN
wp-content/plugins/duplicator-pro/assets/css/images/40px.png
Normal file
|
After Width: | Height: | Size: 2.2 KiB |
@@ -0,0 +1,3 @@
|
||||
<?php
|
||||
|
||||
//silent
|
||||
BIN
wp-content/plugins/duplicator-pro/assets/css/images/throbber.gif
Normal file
|
After Width: | Height: | Size: 1.4 KiB |
|
After Width: | Height: | Size: 180 B |
|
After Width: | Height: | Size: 178 B |
|
After Width: | Height: | Size: 120 B |
|
After Width: | Height: | Size: 105 B |
|
After Width: | Height: | Size: 111 B |
|
After Width: | Height: | Size: 110 B |
|
After Width: | Height: | Size: 149 B |
|
After Width: | Height: | Size: 101 B |
|
After Width: | Height: | Size: 4.3 KiB |
|
After Width: | Height: | Size: 5.2 KiB |
|
After Width: | Height: | Size: 4.3 KiB |
|
After Width: | Height: | Size: 4.3 KiB |
|
After Width: | Height: | Size: 4.3 KiB |
3
wp-content/plugins/duplicator-pro/assets/css/index.php
Normal file
@@ -0,0 +1,3 @@
|
||||
<?php
|
||||
|
||||
//silent
|
||||
@@ -0,0 +1,22 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generator: Adobe Illustrator 19.0.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||
viewBox="0 0 304 218" style="enable-background:new 0 0 304 182;" xml:space="preserve">
|
||||
<style type="text/css">
|
||||
.st0{fill:#252F3E;}
|
||||
.st1{fill-rule:evenodd;clip-rule:evenodd;fill:#FF9900;}
|
||||
</style>
|
||||
<g>
|
||||
<!-- Plug icon centered where AWS text was -->
|
||||
<g transform="translate(88, 0) scale(0.35)">
|
||||
<path d="M96 0C78.3 0 64 14.3 64 32l0 96 64 0 0-96c0-17.7-14.3-32-32-32zM288 0c-17.7 0-32 14.3-32 32l0 96 64 0 0-96c0-17.7-14.3-32-32-32zM32 160c-17.7 0-32 14.3-32 32s14.3 32 32 32l0 32c0 77.4 55 142 128 156.8l0 67.2c0 17.7 14.3 32 32 32s32-14.3 32-32l0-67.2C297 398 352 333.4 352 256l0-32c17.7 0 32-14.3 32-32s-14.3-32-32-32L32 160z" fill="#252F3E"/>
|
||||
</g>
|
||||
<!-- AWS smile only (yellow paths) -->
|
||||
<g transform="translate(0, 35)">
|
||||
<path class="st1" d="M273.5,143.7c-32.9,24.3-80.7,37.2-121.8,37.2c-57.6,0-109.5-21.3-148.7-56.7c-3.1-2.8-0.3-6.6,3.4-4.4
|
||||
c42.4,24.6,94.7,39.5,148.8,39.5c36.5,0,76.6-7.6,113.5-23.2C274.2,133.6,278.9,139.7,273.5,143.7z"/>
|
||||
<path class="st1" d="M287.2,128.1c-4.2-5.4-27.8-2.6-38.5-1.3c-3.2,0.4-3.7-2.4-0.8-4.5c18.8-13.2,49.7-9.4,53.3-5
|
||||
c3.6,4.5-1,35.4-18.6,50.2c-2.7,2.3-5.3,1.1-4.1-1.9C282.5,155.7,291.4,133.4,287.2,128.1z"/>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.4 KiB |
38
wp-content/plugins/duplicator-pro/assets/img/aws.svg
Normal file
@@ -0,0 +1,38 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generator: Adobe Illustrator 19.0.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||
viewBox="0 0 304 182" style="enable-background:new 0 0 304 182;" xml:space="preserve">
|
||||
<style type="text/css">
|
||||
.st0{fill:#252F3E;}
|
||||
.st1{fill-rule:evenodd;clip-rule:evenodd;fill:#FF9900;}
|
||||
</style>
|
||||
<g>
|
||||
<path class="st0" d="M86.4,66.4c0,3.7,0.4,6.7,1.1,8.9c0.8,2.2,1.8,4.6,3.2,7.2c0.5,0.8,0.7,1.6,0.7,2.3c0,1-0.6,2-1.9,3l-6.3,4.2
|
||||
c-0.9,0.6-1.8,0.9-2.6,0.9c-1,0-2-0.5-3-1.4C76.2,90,75,88.4,74,86.8c-1-1.7-2-3.6-3.1-5.9c-7.8,9.2-17.6,13.8-29.4,13.8
|
||||
c-8.4,0-15.1-2.4-20-7.2c-4.9-4.8-7.4-11.2-7.4-19.2c0-8.5,3-15.4,9.1-20.6c6.1-5.2,14.2-7.8,24.5-7.8c3.4,0,6.9,0.3,10.6,0.8
|
||||
c3.7,0.5,7.5,1.3,11.5,2.2v-7.3c0-7.6-1.6-12.9-4.7-16c-3.2-3.1-8.6-4.6-16.3-4.6c-3.5,0-7.1,0.4-10.8,1.3c-3.7,0.9-7.3,2-10.8,3.4
|
||||
c-1.6,0.7-2.8,1.1-3.5,1.3c-0.7,0.2-1.2,0.3-1.6,0.3c-1.4,0-2.1-1-2.1-3.1v-4.9c0-1.6,0.2-2.8,0.7-3.5c0.5-0.7,1.4-1.4,2.8-2.1
|
||||
c3.5-1.8,7.7-3.3,12.6-4.5c4.9-1.3,10.1-1.9,15.6-1.9c11.9,0,20.6,2.7,26.2,8.1c5.5,5.4,8.3,13.6,8.3,24.6V66.4z M45.8,81.6
|
||||
c3.3,0,6.7-0.6,10.3-1.8c3.6-1.2,6.8-3.4,9.5-6.4c1.6-1.9,2.8-4,3.4-6.4c0.6-2.4,1-5.3,1-8.7v-4.2c-2.9-0.7-6-1.3-9.2-1.7
|
||||
c-3.2-0.4-6.3-0.6-9.4-0.6c-6.7,0-11.6,1.3-14.9,4c-3.3,2.7-4.9,6.5-4.9,11.5c0,4.7,1.2,8.2,3.7,10.6
|
||||
C37.7,80.4,41.2,81.6,45.8,81.6z M126.1,92.4c-1.8,0-3-0.3-3.8-1c-0.8-0.6-1.5-2-2.1-3.9L96.7,10.2c-0.6-2-0.9-3.3-0.9-4
|
||||
c0-1.6,0.8-2.5,2.4-2.5h9.8c1.9,0,3.2,0.3,3.9,1c0.8,0.6,1.4,2,2,3.9l16.8,66.2l15.6-66.2c0.5-2,1.1-3.3,1.9-3.9c0.8-0.6,2.2-1,4-1
|
||||
h8c1.9,0,3.2,0.3,4,1c0.8,0.6,1.5,2,1.9,3.9l15.8,67l17.3-67c0.6-2,1.3-3.3,2-3.9c0.8-0.6,2.1-1,3.9-1h9.3c1.6,0,2.5,0.8,2.5,2.5
|
||||
c0,0.5-0.1,1-0.2,1.6c-0.1,0.6-0.3,1.4-0.7,2.5l-24.1,77.3c-0.6,2-1.3,3.3-2.1,3.9c-0.8,0.6-2.1,1-3.8,1h-8.6c-1.9,0-3.2-0.3-4-1
|
||||
c-0.8-0.7-1.5-2-1.9-4L156,23l-15.4,64.4c-0.5,2-1.1,3.3-1.9,4c-0.8,0.7-2.2,1-4,1H126.1z M254.6,95.1c-5.2,0-10.4-0.6-15.4-1.8
|
||||
c-5-1.2-8.9-2.5-11.5-4c-1.6-0.9-2.7-1.9-3.1-2.8c-0.4-0.9-0.6-1.9-0.6-2.8v-5.1c0-2.1,0.8-3.1,2.3-3.1c0.6,0,1.2,0.1,1.8,0.3
|
||||
c0.6,0.2,1.5,0.6,2.5,1c3.4,1.5,7.1,2.7,11,3.5c4,0.8,7.9,1.2,11.9,1.2c6.3,0,11.2-1.1,14.6-3.3c3.4-2.2,5.2-5.4,5.2-9.5
|
||||
c0-2.8-0.9-5.1-2.7-7c-1.8-1.9-5.2-3.6-10.1-5.2L246,52c-7.3-2.3-12.7-5.7-16-10.2c-3.3-4.4-5-9.3-5-14.5c0-4.2,0.9-7.9,2.7-11.1
|
||||
c1.8-3.2,4.2-6,7.2-8.2c3-2.3,6.4-4,10.4-5.2c4-1.2,8.2-1.7,12.6-1.7c2.2,0,4.5,0.1,6.7,0.4c2.3,0.3,4.4,0.7,6.5,1.1
|
||||
c2,0.5,3.9,1,5.7,1.6c1.8,0.6,3.2,1.2,4.2,1.8c1.4,0.8,2.4,1.6,3,2.5c0.6,0.8,0.9,1.9,0.9,3.3v4.7c0,2.1-0.8,3.2-2.3,3.2
|
||||
c-0.8,0-2.1-0.4-3.8-1.2c-5.7-2.6-12.1-3.9-19.2-3.9c-5.7,0-10.2,0.9-13.3,2.8c-3.1,1.9-4.7,4.8-4.7,8.9c0,2.8,1,5.2,3,7.1
|
||||
c2,1.9,5.7,3.8,11,5.5l14.2,4.5c7.2,2.3,12.4,5.5,15.5,9.6c3.1,4.1,4.6,8.8,4.6,14c0,4.3-0.9,8.2-2.6,11.6
|
||||
c-1.8,3.4-4.2,6.4-7.3,8.8c-3.1,2.5-6.8,4.3-11.1,5.6C264.4,94.4,259.7,95.1,254.6,95.1z"/>
|
||||
<g>
|
||||
<path class="st1" d="M273.5,143.7c-32.9,24.3-80.7,37.2-121.8,37.2c-57.6,0-109.5-21.3-148.7-56.7c-3.1-2.8-0.3-6.6,3.4-4.4
|
||||
c42.4,24.6,94.7,39.5,148.8,39.5c36.5,0,76.6-7.6,113.5-23.2C274.2,133.6,278.9,139.7,273.5,143.7z"/>
|
||||
<path class="st1" d="M287.2,128.1c-4.2-5.4-27.8-2.6-38.5-1.3c-3.2,0.4-3.7-2.4-0.8-4.5c18.8-13.2,49.7-9.4,53.3-5
|
||||
c3.6,4.5-1,35.4-18.6,50.2c-2.7,2.3-5.3,1.1-4.1-1.9C282.5,155.7,291.4,133.4,287.2,128.1z"/>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 3.4 KiB |
50
wp-content/plugins/duplicator-pro/assets/img/backblaze.svg
Normal file
@@ -0,0 +1,50 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
width="96"
|
||||
height="96"
|
||||
viewBox="0 0 96 96"
|
||||
fill="none"
|
||||
version="1.1"
|
||||
id="svg840"
|
||||
sodipodi:docname="backblaze1.svg"
|
||||
inkscape:version="1.1.2 (b8e25be8, 2022-02-05)"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:svg="http://www.w3.org/2000/svg">
|
||||
<defs
|
||||
id="defs844" />
|
||||
<sodipodi:namedview
|
||||
id="namedview842"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pagecheckerboard="0"
|
||||
showgrid="false"
|
||||
inkscape:zoom="7.7604167"
|
||||
inkscape:cx="47.226846"
|
||||
inkscape:cy="44.649664"
|
||||
inkscape:window-width="1920"
|
||||
inkscape:window-height="1027"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="25"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="svg840" />
|
||||
<path
|
||||
d="m 44.899278,9.3002091 c -3.022454,-3.807357 -6.073832,-5.812685 -6.073832,-5.812685 2.26687,4.795223 5.550807,14.6767489 -5.057042,25.8076229 -6.568328,6.829811 -11.131269,13.921164 -8.341038,21.739177 1.278609,4.039916 4.301122,9.096622 10.37529,10.113748 2.26687,0.261814 4.795559,0 6.33571,-0.493765 8.86434,-3.02279 7.585395,-12.380954 5.551143,-18.222563 -0.261552,-0.755584 -0.755643,-2.528353 -0.755643,-3.283996 -0.876974,-3.986536 0.76106,-7.02965 2.280215,-9.851593 0.695897,-1.292626 1.367002,-2.53891 1.759424,-3.80797 0,-0.13088 0.06544,-0.319667 0.13088,-0.508731 0.06544,-0.188651 0.130759,-0.377851 0.130759,-0.508395 0.261813,-0.755643 0.261813,-1.511563 0.261813,-2.267206 C 51.282432,16.81888 48.860172,13.97343 46.472908,11.168905 45.948604,10.5528 45.425909,9.9385351 44.928624,9.3002091 Z"
|
||||
fill="#e20626"
|
||||
id="path826"
|
||||
style="stroke-width:3.17769" />
|
||||
<path
|
||||
d="m 65.359787,81.375695 c -4.039916,1.2789 -12.642439,2.03457 -17.205437,-3.54554 -3.10632,-3.822217 -3.209284,-7.171035 -3.272826,-9.246943 -0.05002,-1.63323 -0.07651,-2.478492 -1.522397,-2.145761 -12.903979,3.022458 -18.978147,-5.31858 -19.966013,-7.58545 0,0 -0.49416,-1.511227 -0.755643,-0.261552 -0.494101,2.034311 -0.494101,6.568328 0.493765,10.607908 1.279004,5.318584 5.057101,14.153678 15.926492,18.454808 9.096622,3.80742 20.489374,2.03455 28.336311,-5.81233 1.628485,-1.62845 1.344444,-1.54046 -1.280843,-0.72702 -0.23255,0.072 -0.483603,0.14989 -0.753409,0.23299 z"
|
||||
fill="#e20626"
|
||||
id="path828"
|
||||
style="stroke-width:3.17769" />
|
||||
<path
|
||||
d="m 64.633068,43.942971 c 6.829811,8.108479 9.3585,12.409878 9.852324,17.960744 v -0.02851 c 0.75592,7.091308 -2.789895,13.65929 -10.375349,15.43235 -4.03958,1.01712 -8.341038,-0.52335 -10.869391,-3.545818 -2.557613,-3.28399 -3.051714,-8.602562 -1.278945,-12.642158 0.645028,-1.401613 1.157555,-2.295133 1.571922,-3.016757 0.556416,-0.969782 0.935158,-1.629762 1.21825,-2.795918 0.829347,-4.019924 -0.241151,-7.514565 -1.250634,-10.810626 -0.830019,-2.70886 -1.618659,-5.283617 -1.277719,-7.906047 0,-0.246932 0.06534,-0.50109 0.130759,-0.75561 0.06544,-0.254178 0.13088,-0.508418 0.13088,-0.755623 1.250978,-2.880124 2.48324,-4.245188 3.711363,-5.60646 0.284061,-0.314563 0.567818,-0.628833 0.851249,-0.961518 1.773074,-2.005342 4.301451,-3.284299 4.301451,-3.284299 0,0 -1.772763,2.266853 -2.266866,6.568286 -0.26155,3.545816 2.005333,8.108438 5.550847,12.148374 z"
|
||||
fill="#e20626"
|
||||
id="path830"
|
||||
style="stroke-width:3.17769" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 3.5 KiB |
@@ -0,0 +1 @@
|
||||
<svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 209.51 94.74"><defs><style>.cls-1{fill:#f4801f;}.cls-2{fill:#f9ab41;}</style></defs><path class="cls-1" d="M143.05,93.42l1.07-3.71c1.27-4.41.8-8.48-1.34-11.48-2-2.76-5.26-4.38-9.25-4.57L58,72.7a1.47,1.47,0,0,1-1.35-2,2,2,0,0,1,1.75-1.34l76.26-1c9-.41,18.84-7.75,22.27-16.71l4.34-11.36a2.68,2.68,0,0,0,.18-1,3.31,3.31,0,0,0-.06-.54,49.67,49.67,0,0,0-95.49-5.14,22.35,22.35,0,0,0-35,23.42A31.73,31.73,0,0,0,.34,93.45a1.47,1.47,0,0,0,1.45,1.27l139.49,0h0A1.83,1.83,0,0,0,143.05,93.42Z"/><path class="cls-2" d="M168.22,41.15q-1,0-2.1.06a.88.88,0,0,0-.32.07,1.17,1.17,0,0,0-.76.8l-3,10.26c-1.28,4.41-.81,8.48,1.34,11.48a11.65,11.65,0,0,0,9.24,4.57l16.11,1a1.44,1.44,0,0,1,1.14.62,1.5,1.5,0,0,1,.17,1.37,2,2,0,0,1-1.75,1.34l-16.73,1c-9.09.42-18.88,7.75-22.31,16.7l-1.21,3.16a.9.9,0,0,0,.79,1.22h57.63A1.55,1.55,0,0,0,208,93.63a41.34,41.34,0,0,0-39.76-52.48Z"/></svg>
|
||||
|
After Width: | Height: | Size: 946 B |
@@ -0,0 +1 @@
|
||||
<svg fill="none" height="24" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg"><g fill="#3387ff"><path d="m12.0164 19.3527v4.6473c7.8492 0 13.9573-7.5839 11.3885-15.82353-1.1417-3.59237-3.996-6.47196-7.5924-7.583886-8.22019-2.565974-15.8125 3.563856-15.8125 11.404316h4.65243c0-4.90384 4.88077-8.7243 10.07547-6.84258 1.9124.68426 3.4537 2.22385 4.1387 4.13408 1.8838 5.189-1.9124 10.0643-6.8502 10.0643z"/><path d="m7.3916 19.3811h4.6239v-4.6188h-4.6239z"/><path d="m7.39187 22.945h-3.56782v-3.5637l3.56755-.0002z"/><path d="m.828019 19.3813h2.968421v-2.9652h-2.968421z"/></g></svg>
|
||||
|
After Width: | Height: | Size: 599 B |
BIN
wp-content/plugins/duplicator-pro/assets/img/dpro-brand.png
Normal file
|
After Width: | Height: | Size: 23 KiB |
45
wp-content/plugins/duplicator-pro/assets/img/dreamhost.svg
Normal file
@@ -0,0 +1,45 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
width="250"
|
||||
height="250"
|
||||
viewBox="0 0 250 250"
|
||||
fill="none"
|
||||
version="1.1"
|
||||
id="svg828"
|
||||
sodipodi:docname="logo_mark_light.svg"
|
||||
inkscape:version="1.1.2 (b8e25be8, 2022-02-05)"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:svg="http://www.w3.org/2000/svg">
|
||||
<defs
|
||||
id="defs832" />
|
||||
<sodipodi:namedview
|
||||
id="namedview830"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pagecheckerboard="0"
|
||||
showgrid="false"
|
||||
inkscape:zoom="2.98"
|
||||
inkscape:cx="24.66443"
|
||||
inkscape:cy="129.02685"
|
||||
inkscape:window-width="1312"
|
||||
inkscape:window-height="969"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="25"
|
||||
inkscape:window-maximized="0"
|
||||
inkscape:current-layer="svg828" />
|
||||
<path
|
||||
d="M 239.91317,170.74462 C 220.33946,180.54317 197.96648,185.98681 173.99746,185.625 102.88666,184.17281 46.957576,132.27566 48.156027,69.127764 48.55557,47.715501 55.746454,27.755095 67.731325,11.060709 29.779362,30.295516 3.8120955,66.224381 3.0130101,107.96018 1.4150162,170.74462 57.743989,223.00523 128.45526,224.45742 c 47.14002,0.72526 88.28867,-20.6875 111.45791,-53.7128 z"
|
||||
fill="#000000"
|
||||
id="path824"
|
||||
style="stroke-width:1.70599" />
|
||||
<path
|
||||
d="m 136.04444,5.9798657 c -19.17555,0 -37.153215,4.3550783 -53.133141,12.3393073 C 72.92449,33.198736 67.331595,50.255922 66.532696,67.676079 65.334068,122.47711 114.47128,167.84188 175.59528,168.93061 c 18.37579,0 39.15094,-3.9931 55.13088,-11.97601 9.5869,-14.88038 15.18014,-32.30003 15.18014,-50.80841 C 246.70434,50.981687 197.16846,5.9798657 136.04444,5.9798657 Z"
|
||||
fill="#0073ec"
|
||||
id="path826"
|
||||
style="stroke-width:1.70599" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.9 KiB |
4
wp-content/plugins/duplicator-pro/assets/img/dropbox.svg
Normal file
@@ -0,0 +1,4 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg width="43px" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 43 40" version="1.1" height="40px">
|
||||
<path d="m12.5 0l-12.5 8.1 8.7 7 12.5-7.8-8.7-7.3zm-12.5 21.9l12.5 8.2 8.7-7.3-12.5-7.7-8.7 6.8zm21.2 0.9l8.8 7.3 12.4-8.1-8.6-6.9-12.6 7.7zm21.2-14.7l-12.4-8.1-8.8 7.3 12.6 7.8 8.6-7zm-21.1 16.3l-8.8 7.3-3.7-2.5v2.8l12.5 7.5 12.5-7.5v-2.8l-3.8 2.5-8.7-7.3z" fill="#007EE5"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 441 B |
|
After Width: | Height: | Size: 14 KiB |
|
After Width: | Height: | Size: 7.5 KiB |
|
After Width: | Height: | Size: 7.4 KiB |
|
After Width: | Height: | Size: 7.4 KiB |
BIN
wp-content/plugins/duplicator-pro/assets/img/email-logo.png
Normal file
|
After Width: | Height: | Size: 5.6 KiB |
@@ -0,0 +1,57 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
viewBox="0 0 35 28"
|
||||
version="1.1"
|
||||
id="svg848"
|
||||
sodipodi:docname="Google_Cloud_logo.svg"
|
||||
width="35"
|
||||
height="28"
|
||||
inkscape:version="1.1.2 (b8e25be8, 2022-02-05)"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:svg="http://www.w3.org/2000/svg">
|
||||
<sodipodi:namedview
|
||||
id="namedview850"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pagecheckerboard="0"
|
||||
showgrid="false"
|
||||
inkscape:zoom="6.4143646"
|
||||
inkscape:cx="-0.70155039"
|
||||
inkscape:cy="15.823859"
|
||||
inkscape:window-width="1312"
|
||||
inkscape:window-height="969"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="25"
|
||||
inkscape:window-maximized="0"
|
||||
inkscape:current-layer="svg848" />
|
||||
<defs
|
||||
id="defs826">
|
||||
<style
|
||||
id="style824">.cls-1{fill:#ea4335;}.cls-2{fill:#4285f4;}.cls-3{fill:#34a853;}.cls-4{fill:#fbbc05;}.cls-5{fill:#5f6368;}</style>
|
||||
</defs>
|
||||
<path
|
||||
class="cls-1"
|
||||
d="m 22.089802,7.89352 h 1.01902 L 26.013029,4.9761643 26.155692,3.7375676 A 13.053645,13.112746 0 0 0 4.9193175,10.135277 1.5794808,1.586632 0 0 1 5.9383374,10.073859 L 11.746751,9.1116442 c 0,0 0.295516,-0.491344 0.448369,-0.460635 A 7.2452313,7.2780347 0 0 1 22.110183,7.89352 Z"
|
||||
id="path828"
|
||||
style="stroke-width:1.02132" />
|
||||
<path
|
||||
class="cls-2"
|
||||
d="M 30.15025,10.135277 A 13.084215,13.143455 0 0 0 26.206643,3.747804 l -4.07608,4.0945343 a 7.2452313,7.2780347 0 0 1 2.659642,5.7732927 v 0.72678 a 3.6277107,3.6441355 0 1 1 0,7.288271 h -7.255421 l -0.723504,0.737017 v 4.370915 l 0.723504,0.72678 h 7.255421 A 9.436124,9.4788469 0 0 0 30.15025,10.135277 Z"
|
||||
id="path830"
|
||||
style="stroke-width:1.02132" />
|
||||
<path
|
||||
class="cls-3"
|
||||
d="m 10.269172,27.424448 h 7.255421 V 21.589737 H 10.269172 A 3.6073304,3.6236629 0 0 1 8.7712126,21.262174 L 7.7521928,21.579501 4.8276057,24.496856 4.5728508,25.52049 a 9.385173,9.4276652 0 0 0 5.6963212,1.903958 z"
|
||||
id="path832"
|
||||
style="stroke-width:1.02132" />
|
||||
<path
|
||||
class="cls-4"
|
||||
d="M 10.269172,8.4974642 A 9.436124,9.4788469 0 0 0 4.5728508,25.489781 l 4.208552,-4.227607 A 3.6277107,3.6441355 0 1 1 13.580987,16.44086 l 4.208552,-4.227607 A 9.4259338,9.4686106 0 0 0 10.269172,8.4974642 Z"
|
||||
id="path834"
|
||||
style="stroke-width:1.02132" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 2.5 KiB |
@@ -0,0 +1,8 @@
|
||||
<svg viewBox="0 0 87.3 78" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="m6.6 66.85 3.85 6.65c.8 1.4 1.95 2.5 3.3 3.3l13.75-23.8h-27.5c0 1.55.4 3.1 1.2 4.5z" fill="#0066da"/>
|
||||
<path d="m43.65 25-13.75-23.8c-1.35.8-2.5 1.9-3.3 3.3l-25.4 44a9.06 9.06 0 0 0 -1.2 4.5h27.5z" fill="#00ac47"/>
|
||||
<path d="m73.55 76.8c1.35-.8 2.5-1.9 3.3-3.3l1.6-2.75 7.65-13.25c.8-1.4 1.2-2.95 1.2-4.5h-27.502l5.852 11.5z" fill="#ea4335"/>
|
||||
<path d="m43.65 25 13.75-23.8c-1.35-.8-2.9-1.2-4.5-1.2h-18.5c-1.6 0-3.15.45-4.5 1.2z" fill="#00832d"/>
|
||||
<path d="m59.8 53h-32.3l-13.75 23.8c1.35.8 2.9 1.2 4.5 1.2h50.8c1.6 0 3.15-.45 4.5-1.2z" fill="#2684fc"/>
|
||||
<path d="m73.4 26.5-12.7-22c-.8-1.4-1.95-2.5-3.3-3.3l-13.75 23.8 16.15 28h27.45c0-1.55-.4-3.1-1.2-4.5z" fill="#ffba00"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 755 B |
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc. --><path d="M64 80c-8.8 0-16 7.2-16 16l0 162c5.1-1.3 10.5-2 16-2l384 0c5.5 0 10.9 .7 16 2l0-162c0-8.8-7.2-16-16-16L64 80zM48 320l0 96c0 8.8 7.2 16 16 16l384 0c8.8 0 16-7.2 16-16l0-96c0-8.8-7.2-16-16-16L64 304c-8.8 0-16 7.2-16 16zM0 320L0 96C0 60.7 28.7 32 64 32l384 0c35.3 0 64 28.7 64 64l0 224 0 96c0 35.3-28.7 64-64 64L64 480c-35.3 0-64-28.7-64-64l0-96zm280 48a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm120-24a24 24 0 1 1 0 48 24 24 0 1 1 0-48z"/></svg>
|
||||
|
After Width: | Height: | Size: 720 B |
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc. --><path d="M0 96C0 60.7 28.7 32 64 32l384 0c35.3 0 64 28.7 64 64l0 184.4c-17-15.2-39.4-24.4-64-24.4L64 256c-24.6 0-47 9.2-64 24.4L0 96zM64 288l384 0c35.3 0 64 28.7 64 64l0 64c0 35.3-28.7 64-64 64L64 480c-35.3 0-64-28.7-64-64l0-64c0-35.3 28.7-64 64-64zM320 416a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm128-32a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z"/></svg>
|
||||
|
After Width: | Height: | Size: 618 B |
3
wp-content/plugins/duplicator-pro/assets/img/index.php
Normal file
@@ -0,0 +1,3 @@
|
||||
<?php
|
||||
|
||||
//silent
|
||||
@@ -0,0 +1,8 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 512"><!--! Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc. -->
|
||||
<!-- Network wired icon -->
|
||||
<path d="M256 64l128 0 0 64-128 0 0-64zM240 0c-26.5 0-48 21.5-48 48l0 96c0 26.5 21.5 48 48 48l48 0 0 32L32 224c-17.7 0-32 14.3-32 32s14.3 32 32 32l96 0 0 32-48 0c-26.5 0-48 21.5-48 48l0 96c0 26.5 21.5 48 48 48l160 0c26.5 0 48-21.5 48-48l0-96c0-26.5-21.5-48-48-48l-48 0 0-32 256 0 0 32-48 0c-26.5 0-48 21.5-48 48l0 96c0 26.5 21.5 48 48 48l160 0c26.5 0 48-21.5 48-48l0-96c0-26.5-21.5-48-48-48l-48 0 0-32 96 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-256 0 0-32 48 0c26.5 0 48-21.5 48-48l0-96c0-26.5-21.5-48-48-48L240 0zM96 448l0-64 128 0 0 64L96 448zm320-64l128 0 0 64-128 0 0-64z" fill="currentColor"/>
|
||||
<!-- Lock icon overlay (scaled and positioned in top-left, colored with primary) -->
|
||||
<g transform="translate(10, 10) scale(0.32)">
|
||||
<path d="M144 144l0 48 160 0 0-48c0-44.2-35.8-80-80-80s-80 35.8-80 80zM80 192l0-48C80 64.5 144.5 0 224 0s144 64.5 144 144l0 48 16 0c35.3 0 64 28.7 64 64l0 192c0 35.3-28.7 64-64 64L64 512c-35.3 0-64-28.7-64-64L0 256c0-35.3 28.7-64 64-64l16 0z" fill="#fe4716"/>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.3 KiB |
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 512"><!--! Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc. --><path d="M256 64l128 0 0 64-128 0 0-64zM240 0c-26.5 0-48 21.5-48 48l0 96c0 26.5 21.5 48 48 48l48 0 0 32L32 224c-17.7 0-32 14.3-32 32s14.3 32 32 32l96 0 0 32-48 0c-26.5 0-48 21.5-48 48l0 96c0 26.5 21.5 48 48 48l160 0c26.5 0 48-21.5 48-48l0-96c0-26.5-21.5-48-48-48l-48 0 0-32 256 0 0 32-48 0c-26.5 0-48 21.5-48 48l0 96c0 26.5 21.5 48 48 48l160 0c26.5 0 48-21.5 48-48l0-96c0-26.5-21.5-48-48-48l-48 0 0-32 96 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-256 0 0-32 48 0c26.5 0 48-21.5 48-48l0-96c0-26.5-21.5-48-48-48L240 0zM96 448l0-64 128 0 0 64L96 448zm320-64l128 0 0 64-128 0 0-64z"/></svg>
|
||||
|
After Width: | Height: | Size: 857 B |
@@ -0,0 +1,3 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="15" height="17" fill="none">
|
||||
<path fill="#777" d="M7.68 16.56c1.14 0 2.04-.95 2.04-2.17h-4.1c0 1.22.9 2.17 2.06 2.17Zm6.96-5.06c-.62-.71-1.81-1.76-1.81-5.26A5.32 5.32 0 0 0 8.69.97H6.65A5.32 5.32 0 0 0 2.5 6.24c0 3.5-1.2 4.55-1.81 5.26a.9.9 0 0 0-.26.72c0 .57.39 1.08 1.04 1.08h12.38c.65 0 1.04-.5 1.07-1.08 0-.24-.1-.51-.3-.72Z"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 386 B |
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 5.5 32 20.5"><title>OfficeCore10_32x_24x_20x_16x_01-22-2019</title><g id="STYLE_COLOR"><path d="M12.20245,11.19292l.00031-.0011,6.71765,4.02379,4.00293-1.68451.00018.00068A6.4768,6.4768,0,0,1,25.5,13c.14764,0,.29358.0067.43878.01639a10.00075,10.00075,0,0,0-18.041-3.01381C7.932,10.00215,7.9657,10,8,10A7.96073,7.96073,0,0,1,12.20245,11.19292Z" fill="#0364b8"/><path d="M12.20276,11.19182l-.00031.0011A7.96073,7.96073,0,0,0,8,10c-.0343,0-.06805.00215-.10223.00258A7.99676,7.99676,0,0,0,1.43732,22.57277l5.924-2.49292,2.63342-1.10819,5.86353-2.46746,3.06213-1.28859Z" fill="#0078d4"/><path d="M25.93878,13.01639C25.79358,13.0067,25.64764,13,25.5,13a6.4768,6.4768,0,0,0-2.57648.53178l-.00018-.00068-4.00293,1.68451,1.16077.69528L23.88611,18.19l1.66009.99438,5.67633,3.40007a6.5002,6.5002,0,0,0-5.28375-9.56805Z" fill="#1490df"/><path d="M25.5462,19.18437,23.88611,18.19l-3.80493-2.2791-1.16077-.69528L15.85828,16.5042,9.99475,18.97166,7.36133,20.07985l-5.924,2.49292A7.98889,7.98889,0,0,0,8,26H25.5a6.49837,6.49837,0,0,0,5.72253-3.41556Z" fill="#28a8ea"/></g></svg>
|
||||
|
After Width: | Height: | Size: 1.1 KiB |
1
wp-content/plugins/duplicator-pro/assets/img/vultr.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg id="sygnet__on-white" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 42 36.09"><defs><style>.cls-1{fill:#c9f4ff;}.cls-2{fill:#51b9ff;}.cls-3{fill:#007bfc;}</style></defs><title>sygnet__on-white</title><path class="cls-1" d="M14.63,4a2.09,2.09,0,0,0-1.77-1H2.1A2.1,2.1,0,0,0,0,5.1,2.12,2.12,0,0,0,.32,6.22l2.77,4.07,13.85-3Z" transform="translate(0 -3)"/><path class="cls-2" d="M17,7.37a2.11,2.11,0,0,0-1.78-1H4.5A2.09,2.09,0,0,0,2.66,9.61l3.09,4.9,14.31-2.24Z" transform="translate(0 -3)"/><path class="cls-3" d="M5.62,14.31a2.14,2.14,0,0,1-.19-1.88,2.11,2.11,0,0,1,2-1.34H18.15a2.1,2.1,0,0,1,1.78,1l9.63,15.27a2.12,2.12,0,0,1,.32,1.12,2.15,2.15,0,0,1-.32,1.12l-5.38,8.53a2.11,2.11,0,0,1-3.56,0Z" transform="translate(0 -3)"/><path class="cls-3" d="M32.74,19.19a2.11,2.11,0,0,0,3.56,0l1.85-2.93,3.53-5.6A2.12,2.12,0,0,0,42,9.54a2.15,2.15,0,0,0-.32-1.12L38.88,4A2.11,2.11,0,0,0,37.1,3H26.34a2.1,2.1,0,0,0-2.1,2.1,2,2,0,0,0,.33,1.12Z" transform="translate(0 -3)"/></svg>
|
||||
|
After Width: | Height: | Size: 974 B |
BIN
wp-content/plugins/duplicator-pro/assets/img/warning.png
Normal file
|
After Width: | Height: | Size: 1.8 KiB |
79
wp-content/plugins/duplicator-pro/assets/img/wasabi.svg
Normal file
@@ -0,0 +1,79 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Generator: Adobe Illustrator 26.0.3, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
|
||||
<svg
|
||||
version="1.0"
|
||||
id="katman_1"
|
||||
x="0px"
|
||||
y="0px"
|
||||
viewBox="0 0 205 205"
|
||||
xml:space="preserve"
|
||||
sodipodi:docname="wasabi-cloud-storage-seeklogo.com 2.svg"
|
||||
width="205"
|
||||
height="205"
|
||||
inkscape:version="1.1.2 (b8e25be8, 2022-02-05)"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"><defs
|
||||
id="defs847" /><sodipodi:namedview
|
||||
id="namedview845"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pagecheckerboard="0"
|
||||
showgrid="false"
|
||||
inkscape:zoom="1.2416667"
|
||||
inkscape:cx="159.0604"
|
||||
inkscape:cy="309.66443"
|
||||
inkscape:window-width="1920"
|
||||
inkscape:window-height="1027"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="25"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="g842" />
|
||||
<style
|
||||
type="text/css"
|
||||
id="style824">
|
||||
.st0{clip-path:url(#SVGID_00000061464863754787056510000000905814910531898293_);fill:#00CE3E;}
|
||||
.st1{fill:#061F33;}
|
||||
</style>
|
||||
<g
|
||||
id="g842">
|
||||
<g
|
||||
id="g834"
|
||||
transform="translate(-84.974952,-193.999)">
|
||||
<defs
|
||||
id="defs827">
|
||||
<rect
|
||||
id="SVGID_1_"
|
||||
x="87"
|
||||
y="195.7"
|
||||
width="626"
|
||||
height="208.7" />
|
||||
</defs>
|
||||
<clipPath
|
||||
id="SVGID_00000083073068415055786330000014044562452968495528_">
|
||||
<use
|
||||
xlink:href="#SVGID_1_"
|
||||
style="overflow:visible"
|
||||
id="use829"
|
||||
x="0"
|
||||
y="0"
|
||||
width="100%"
|
||||
height="100%" />
|
||||
</clipPath>
|
||||
<path
|
||||
style="fill:#00ce3e"
|
||||
d="m 259.6,225.1 c -39.5,-39.4 -103.5,-39.3 -142.9,0.2 -39.5,39.5 -39.5,103.4 -0.2,142.9 19,19 44.7,29.6 71.5,29.6 26.8,0 52.6,-10.6 71.6,-29.6 19,-19 29.6,-44.7 29.6,-71.5 0,-26.8 -10.7,-52.6 -29.6,-71.6 z m 10.9,62.4 -43.5,-39.5 -44.6,42.1 -23.4,22 v -32.8 l 35.5,-33.7 26.5,-25.1 c 27.3,11.9 46.2,37.4 49.5,67 z m -0.8,23.9 c -1.5,8.7 -4.5,17.1 -8.7,24.8 l -24.8,-22.6 v -32.8 z m -69,-96.7 -18.7,17.7 -23.1,21.9 V 219 c 13.4,-5 27.8,-6.5 41.8,-4.3 z m -60,98 -34.4,-30.9 c 1.6,-8.9 4.7,-17.4 9,-25.2 l 25.4,22.7 z m 0,-84.2 v 26.3 L 126,241.6 c 4.4,-5 9.3,-9.4 14.7,-13.1 z m -35.2,76.9 44.6,40 68,-63.9 v 32.3 L 155.3,373 c -27.6,-11.9 -46.6,-37.7 -49.8,-67.6 z m 70.1,73.4 42.4,-40.1 v 35.4 c -9.6,3.7 -19.7,5.6 -30,5.6 -4.1,0 -8.3,-0.3 -12.4,-0.9 z m 60.6,-14.5 v -26.2 l 14.5,13.1 c -4.3,4.9 -9.2,9.4 -14.5,13.1 z m 0,0"
|
||||
clip-path="url(#SVGID_00000083073068415055786330000014044562452968495528_)"
|
||||
id="path832" />
|
||||
</g>
|
||||
|
||||
|
||||
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 2.7 KiB |
3
wp-content/plugins/duplicator-pro/assets/index.php
Normal file
@@ -0,0 +1,3 @@
|
||||
<?php
|
||||
|
||||
//silent
|
||||
@@ -0,0 +1,159 @@
|
||||
/**
|
||||
* Duplicator Pro Admin Notifications.
|
||||
*/
|
||||
|
||||
'use strict';
|
||||
|
||||
var DupAdminNotifications = window.DupAdminNotifications || (function (document, window, $) {
|
||||
/**
|
||||
* Elements holder.
|
||||
*
|
||||
* @type {object}
|
||||
*/
|
||||
var el = {
|
||||
$notifications: $('#dup-notifications'),
|
||||
$nextButton: $('#dup-notifications .navigation .next'),
|
||||
$prevButton: $('#dup-notifications .navigation .prev'),
|
||||
$adminBarCounter: $('#wp-admin-bar-dup-menu .dup-menu-notification-counter'),
|
||||
$adminBarMenuItem: $('#wp-admin-bar-dup-notifications'),
|
||||
|
||||
};
|
||||
|
||||
/**
|
||||
* Public functions and properties.
|
||||
*
|
||||
* @type {object}
|
||||
*/
|
||||
var app = {
|
||||
|
||||
/**
|
||||
* Start the engine.
|
||||
*/
|
||||
init: function () {
|
||||
app.updateNavigation();
|
||||
app.events();
|
||||
},
|
||||
|
||||
/**
|
||||
* Register JS events.
|
||||
*/
|
||||
events: function () {
|
||||
el.$notifications
|
||||
.on('click', '.dismiss', app.dismiss)
|
||||
.on('click', '.next', app.navNext)
|
||||
.on('click', '.prev', app.navPrev);
|
||||
},
|
||||
|
||||
/**
|
||||
* Click on the Dismiss notification button.
|
||||
*
|
||||
* @param {object} event Event object.
|
||||
*/
|
||||
dismiss: function (event) {
|
||||
if (el.$currentMessage.length === 0) {
|
||||
return;
|
||||
}
|
||||
|
||||
// Update counter.
|
||||
var count = parseInt(el.$adminBarCounter.text(), 10);
|
||||
if (count > 1) {
|
||||
--count;
|
||||
el.$adminBarCounter.html(count);
|
||||
} else {
|
||||
el.$adminBarCounter.remove();
|
||||
el.$adminBarMenuItem.remove();
|
||||
}
|
||||
|
||||
// Remove notification.
|
||||
var $nextMessage = el.$nextMessage.length < 1 ? el.$prevMessage : el.$nextMessage,
|
||||
messageId = el.$currentMessage.data('message-id');
|
||||
|
||||
if ($nextMessage.length === 0) {
|
||||
el.$notifications.fadeOut(300);
|
||||
} else {
|
||||
el.$currentMessage.remove();
|
||||
$nextMessage.addClass('current');
|
||||
app.updateNavigation();
|
||||
}
|
||||
|
||||
// AJAX call - update option.
|
||||
var data = {
|
||||
action: 'duplicator_notification_dismiss',
|
||||
nonce: dup_admin_notifications.nonce,
|
||||
id: messageId,
|
||||
};
|
||||
|
||||
$.post(dup_admin_notifications.ajax_url, data, function (res) {
|
||||
|
||||
if (!res.success) {
|
||||
console.log(res);
|
||||
}
|
||||
}).fail(function (xhr, textStatus, e) {
|
||||
|
||||
console.log(xhr.responseText);
|
||||
});
|
||||
},
|
||||
|
||||
/**
|
||||
* Click on the Next notification button.
|
||||
*
|
||||
* @param {object} event Event object.
|
||||
*/
|
||||
navNext: function (event) {
|
||||
if (el.$nextButton.hasClass('disabled')) {
|
||||
return;
|
||||
}
|
||||
|
||||
el.$currentMessage.removeClass('current');
|
||||
el.$nextMessage.addClass('current');
|
||||
|
||||
app.updateNavigation();
|
||||
},
|
||||
|
||||
/**
|
||||
* Click on the Previous notification button.
|
||||
*
|
||||
* @param {object} event Event object.
|
||||
*/
|
||||
navPrev: function (event) {
|
||||
if (el.$prevButton.hasClass('disabled')) {
|
||||
return;
|
||||
}
|
||||
|
||||
el.$currentMessage.removeClass('current');
|
||||
el.$prevMessage.addClass('current');
|
||||
|
||||
app.updateNavigation();
|
||||
},
|
||||
|
||||
/**
|
||||
* Update navigation buttons.
|
||||
*/
|
||||
updateNavigation: function () {
|
||||
if (el.$notifications.find('.dup-notifications-message.current').length === 0) {
|
||||
el.$notifications.find('.dup-notifications-message:first-child').addClass('current');
|
||||
}
|
||||
|
||||
el.$currentMessage = el.$notifications.find('.dup-notifications-message.current');
|
||||
el.$nextMessage = el.$currentMessage.next('.dup-notifications-message');
|
||||
el.$prevMessage = el.$currentMessage.prev('.dup-notifications-message');
|
||||
|
||||
if (el.$nextMessage.length === 0) {
|
||||
el.$nextButton.addClass('disabled');
|
||||
} else {
|
||||
el.$nextButton.removeClass('disabled');
|
||||
}
|
||||
|
||||
if (el.$prevMessage.length === 0) {
|
||||
el.$prevButton.addClass('disabled');
|
||||
} else {
|
||||
el.$prevButton.removeClass('disabled');
|
||||
}
|
||||
},
|
||||
};
|
||||
|
||||
return app;
|
||||
}(document, window, jQuery));
|
||||
|
||||
// Initialize.
|
||||
DupAdminNotifications.init();
|
||||
54
wp-content/plugins/duplicator-pro/assets/js/dp-kick.js
Normal file
@@ -0,0 +1,54 @@
|
||||
/*!
|
||||
* DP Kickoff Script
|
||||
*/
|
||||
|
||||
jQuery(document).ready(function () {
|
||||
// Start calling the thing every 15 seconds to ensure it runs in a decent amount of time
|
||||
|
||||
var data = {
|
||||
action: 'duplicator_process_worker',
|
||||
nonce: dp_gateway.duplicator_process_worker_nonce,
|
||||
}
|
||||
|
||||
dp_kickme = function () {
|
||||
console.log("dp_kick");
|
||||
jQuery.ajax({
|
||||
async: true,
|
||||
type: "POST",
|
||||
url: dp_gateway.ajaxurl,
|
||||
timeout: 10000000,
|
||||
data: data,
|
||||
complete: function () {
|
||||
|
||||
},
|
||||
success: function (respData) {
|
||||
if ('ok' != respData) {
|
||||
try {
|
||||
var data = DupliJs.parseJSON(respData);
|
||||
} catch (err) {
|
||||
console.error(err);
|
||||
console.error('JSON parse failed for response data: ' + respData);
|
||||
return false;
|
||||
}
|
||||
if (data['status'] == 0) {
|
||||
// DupliJs.Schedule.SetUpdateInterval(1);
|
||||
// alert("Process worker sent");
|
||||
} else {
|
||||
// alert("Process worker failed");
|
||||
console.log(data);
|
||||
}
|
||||
}
|
||||
},
|
||||
error: function (data) {
|
||||
// alert(data);
|
||||
console.log(data);
|
||||
|
||||
// console.log(data);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
dp_kickme();
|
||||
window.setInterval(dp_kickme, dp_gateway.client_call_frequency);
|
||||
|
||||
});
|
||||
@@ -0,0 +1,49 @@
|
||||
/**
|
||||
* Global Namespace Definitions
|
||||
*
|
||||
* This file defines the global JavaScript namespaces for the Duplicator plugin.
|
||||
*/
|
||||
|
||||
// Main namespace
|
||||
window.DupliJs = window.DupliJs || {};
|
||||
|
||||
// Package operations
|
||||
DupliJs.Pack = DupliJs.Pack || {};
|
||||
|
||||
// Schedule operations
|
||||
DupliJs.Schedule = DupliJs.Schedule || {};
|
||||
|
||||
// Settings operations
|
||||
DupliJs.Settings = DupliJs.Settings || {};
|
||||
DupliJs.Settings.Brand = DupliJs.Settings.Brand || {};
|
||||
|
||||
// Storage operations
|
||||
DupliJs.Storage = DupliJs.Storage || {};
|
||||
DupliJs.Storage.Dropbox = DupliJs.Storage.Dropbox || {};
|
||||
DupliJs.Storage.OneDrive = DupliJs.Storage.OneDrive || {};
|
||||
DupliJs.Storage.S3 = DupliJs.Storage.S3 || {};
|
||||
DupliJs.Storage.Local = DupliJs.Storage.Local || {};
|
||||
|
||||
// Support operations
|
||||
DupliJs.Support = DupliJs.Support || {};
|
||||
|
||||
// Template operations
|
||||
DupliJs.Template = DupliJs.Template || {};
|
||||
|
||||
// Tools operations
|
||||
DupliJs.Tools = DupliJs.Tools || {};
|
||||
|
||||
// UI utilities
|
||||
DupliJs.UI = DupliJs.UI || {};
|
||||
|
||||
// Utility functions
|
||||
DupliJs.Util = DupliJs.Util || {};
|
||||
|
||||
// Debug utilities
|
||||
DupliJs.Debug = DupliJs.Debug || {};
|
||||
|
||||
// Help system
|
||||
DupliJs.Help = DupliJs.Help || {};
|
||||
|
||||
// Staging operations
|
||||
DupliJs.Staging = DupliJs.Staging || {};
|
||||
@@ -0,0 +1,168 @@
|
||||
<?php
|
||||
|
||||
use Duplicator\Libs\WpUtils\WpDbUtils;
|
||||
|
||||
?>
|
||||
<script>
|
||||
/*! ============================================================================
|
||||
* UI NAMESPACE: All methods at the top of the Duplicator Namespace
|
||||
* =========================================================================== */
|
||||
(function($) {
|
||||
/**
|
||||
* Indicates if we have any form changes.
|
||||
* Primarily used to prevent the user from navigating away from a page with unsaved changes.
|
||||
* @type {boolean}
|
||||
*/
|
||||
DupliJs.UI.hasUnsavedChanges = false;
|
||||
|
||||
/* Stores the state of a view into the database */
|
||||
DupliJs.UI.SaveViewStateByPost = function(key, value) {
|
||||
if (key != undefined && value != undefined) {
|
||||
jQuery.ajax({
|
||||
type: "POST",
|
||||
url: ajaxurl,
|
||||
dataType: "json",
|
||||
data: {
|
||||
action: 'duplicator_view_state_update',
|
||||
key: key,
|
||||
value: value,
|
||||
nonce: '<?php echo esc_js(wp_create_nonce('duplicator_view_state_update')); ?>'
|
||||
},
|
||||
success: function(data) {},
|
||||
error: function(data) {}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
DupliJs.UI.SaveMulViewStatesByPost = function(states) {
|
||||
jQuery.ajax({
|
||||
type: "POST",
|
||||
url: ajaxurl,
|
||||
dataType: "json",
|
||||
data: {
|
||||
action: 'duplicator_view_state_update',
|
||||
states: states,
|
||||
nonce: '<?php echo esc_js(wp_create_nonce('duplicator_view_state_update')); ?>'
|
||||
},
|
||||
success: function(data) {},
|
||||
error: function(data) {}
|
||||
});
|
||||
}
|
||||
|
||||
DupliJs.UI.SetScanMode = function() {
|
||||
var scanMode = jQuery('#scan-mode').val();
|
||||
|
||||
if (scanMode == <?php echo (int) WpDbUtils::PHPDUMP_MODE_MULTI; ?>) {
|
||||
jQuery('#scan-multithread-size').show();
|
||||
jQuery('#scan-chunk-size-label').show();
|
||||
} else {
|
||||
jQuery('#scan-multithread-size').hide();
|
||||
jQuery('#scan-chunk-size-label').hide();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
DupliJs.UI.IsSaveViewState = true;
|
||||
/* Toggle MetaBoxes */
|
||||
DupliJs.UI.ToggleMetaBox = function() {
|
||||
var $title = jQuery(this);
|
||||
var $panel = $title.parent().find('.dup-box-panel');
|
||||
var $arrowParent = $title.parent().find('.dup-box-arrow');
|
||||
var $arrow = $title.parent().find('.dup-box-arrow i');
|
||||
var key = $panel.attr('id');
|
||||
var value = $panel.is(":visible") ? 0 : 1;
|
||||
|
||||
if (DupliJs.UI.IsSaveViewState) {
|
||||
DupliJs.UI.SaveViewStateByPost(key, value);
|
||||
}
|
||||
|
||||
if (value) {
|
||||
$panel.removeClass('no-display');
|
||||
$panel.show();
|
||||
$arrowParent.attr("aria-expanded", true);
|
||||
$arrow.removeClass().addClass('fa fa-caret-up');
|
||||
} else {
|
||||
$panel.hide();
|
||||
$arrowParent.attr("aria-expanded", false);
|
||||
$arrow.removeClass().addClass('fa fa-caret-down');
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
DupliJs.UI.ClearTraceLog = function(reload) {
|
||||
var reload = reload || 0;
|
||||
jQuery.ajax({
|
||||
type: "POST",
|
||||
url: ajaxurl,
|
||||
data: {
|
||||
action: 'duplicator_delete_trace_log',
|
||||
nonce: '<?php echo esc_js(wp_create_nonce('duplicator_delete_trace_log')); ?>'
|
||||
},
|
||||
success: function(respData) {
|
||||
if (reload && respData.success) {
|
||||
window.location.reload();
|
||||
}
|
||||
},
|
||||
error: function(data) {}
|
||||
});
|
||||
return false;
|
||||
}
|
||||
|
||||
/* Clock generator, used to show an active clock.
|
||||
* Intended use is to be called once per page load
|
||||
* such as:
|
||||
* <div id="dupli-clock-container"></div>
|
||||
* DupliJs.UI.Clock(DupliJs._WordPressInitTime); */
|
||||
DupliJs.UI.Clock = function() {
|
||||
var timeDiff;
|
||||
var timeout;
|
||||
|
||||
function addZ(n) {
|
||||
return (n < 10 ? '0' : '') + n;
|
||||
}
|
||||
|
||||
function formatTime(d) {
|
||||
return addZ(d.getHours()) + ':' + addZ(d.getMinutes()) + ':' + addZ(d.getSeconds());
|
||||
}
|
||||
|
||||
return function(s) {
|
||||
|
||||
var now = new Date();
|
||||
var then;
|
||||
// Set lag to just after next full second
|
||||
var lag = 1015 - now.getMilliseconds();
|
||||
|
||||
// Get the time difference when first run
|
||||
if (s) {
|
||||
s = s.split(':');
|
||||
then = new Date(now);
|
||||
then.setHours(+s[0], +s[1], +s[2], 0);
|
||||
timeDiff = now - then;
|
||||
}
|
||||
|
||||
now = new Date(now - timeDiff);
|
||||
jQuery('#dupli-clock-container').html(formatTime(now));
|
||||
timeout = setTimeout(DupliJs.UI.Clock, lag);
|
||||
};
|
||||
}();
|
||||
|
||||
/* Runs callback function when form values change */
|
||||
DupliJs.UI.formOnChangeValues = function(form, callback) {
|
||||
let previousValues = form.serialize();
|
||||
|
||||
$('form :input').on('change input', function() {
|
||||
if (previousValues !== form.serialize()) {
|
||||
previousValues = form.serialize();
|
||||
callback();
|
||||
}
|
||||
});
|
||||
|
||||
$('.dup-pseudo-checkbox, #dbnone, #dball').on('click', function() {
|
||||
// Since the pseudo checkbox is not a form input,
|
||||
// assume the state is changed on click
|
||||
callback();
|
||||
});
|
||||
};
|
||||
})(jQuery);
|
||||
</script>
|
||||
@@ -0,0 +1,159 @@
|
||||
<?php
|
||||
/*! ============================================================================
|
||||
* UTIL NAMESPACE: All methods at the top of the Duplicator Namespace
|
||||
* =========================================================================== */
|
||||
defined("ABSPATH") or die("");
|
||||
?>
|
||||
|
||||
<script>
|
||||
DupliJs.Util.ajaxProgress = null;
|
||||
|
||||
DupliJs.Util.ajaxProgressShow = function() {
|
||||
if (DupliJs.Util.ajaxProgress === null) {
|
||||
DupliJs.Util.ajaxProgress = jQuery('#dup-ajax-loader')
|
||||
}
|
||||
DupliJs.Util.ajaxProgress
|
||||
.stop(true, true)
|
||||
.css('display', 'block')
|
||||
.delay(1000)
|
||||
.animate({
|
||||
opacity: 1
|
||||
}, 500);
|
||||
}
|
||||
|
||||
DupliJs.Util.ajaxProgressHide = function() {
|
||||
if (DupliJs.Util.ajaxProgress === null) {
|
||||
return;
|
||||
}
|
||||
DupliJs.Util.ajaxProgress
|
||||
.stop(true, true)
|
||||
.delay(500)
|
||||
.animate({
|
||||
opacity: 0
|
||||
}, 300, function() {
|
||||
jQuery(this).css({
|
||||
'display': 'none'
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
DupliJs.Util.ajaxWrapper = function(ajaxData, callbackSuccess, callbackFail, options = {}) {
|
||||
let opts = jQuery.extend({
|
||||
showProgress: true, // Is true show the ajax loader, can be disabled for custom progress handling
|
||||
timeout: 30000
|
||||
}, options);
|
||||
|
||||
jQuery.ajax({
|
||||
type: "POST",
|
||||
url: ajaxurl,
|
||||
timeout: opts.timeout,
|
||||
dataType: "json",
|
||||
data: ajaxData,
|
||||
beforeSend: function(xhr) {
|
||||
if (opts.showProgress) {
|
||||
DupliJs.Util.ajaxProgressShow();
|
||||
}
|
||||
},
|
||||
success: function(result, textStatus, jqXHR) {
|
||||
var message = '';
|
||||
if (result.success) {
|
||||
if (typeof callbackSuccess === "function") {
|
||||
try {
|
||||
message = callbackSuccess(result, result.data, result.data.funcData, textStatus, jqXHR);
|
||||
} catch (error) {
|
||||
console.error(error);
|
||||
DupliJs.addAdminMessage(error.message, 'error');
|
||||
message = '';
|
||||
}
|
||||
} else {
|
||||
message = '<?php echo esc_js(__('RESPONSE SUCCESS', 'duplicator-pro')); ?>';
|
||||
}
|
||||
if (message != null && String(message).length) {
|
||||
DupliJs.addAdminMessage(message, 'notice');
|
||||
}
|
||||
} else {
|
||||
if (typeof callbackFail === "function") {
|
||||
try {
|
||||
message = callbackFail(result, result.data, result.data.funcData, textStatus, jqXHR);
|
||||
} catch (error) {
|
||||
console.error(error);
|
||||
message = error.message;
|
||||
}
|
||||
} else {
|
||||
message = '<?php echo esc_js(__('RESPONSE ERROR!', 'duplicator-pro')); ?>' + '<br><br>' + result.data.message;
|
||||
}
|
||||
if (message != null && String(message).length) {
|
||||
DupliJs.addAdminMessage(message, 'error');
|
||||
}
|
||||
}
|
||||
},
|
||||
error: function(result) {
|
||||
// Make sure the progress is hidden even if the request fails
|
||||
DupliJs.Util.ajaxProgressHide();
|
||||
DupliJs.addAdminMessage(
|
||||
<?php echo wp_json_encode(__('AJAX ERROR! <br> Ajax request error', 'duplicator-pro')); ?>,
|
||||
'error'
|
||||
);
|
||||
},
|
||||
complete: function() {
|
||||
if (opts.showProgress) {
|
||||
DupliJs.Util.ajaxProgressHide();
|
||||
}
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
* Get human size from bytes number.
|
||||
* Is size is -1 return unknown
|
||||
*
|
||||
* @param {size} int bytes size
|
||||
*/
|
||||
DupliJs.Util.humanFileSize = function(size) {
|
||||
if (size < 0) {
|
||||
return "unknown";
|
||||
} else if (size == 0) {
|
||||
return "0";
|
||||
} else {
|
||||
var i = Math.floor(Math.log(size) / Math.log(1024));
|
||||
return (size / Math.pow(1024, i)).toFixed(2) * 1 + ' ' + ['B', 'kB', 'MB', 'GB', 'TB'][i];
|
||||
}
|
||||
};
|
||||
|
||||
DupliJs.Util.isEmpty = function(val) {
|
||||
return (val === undefined || val == null || val.length <= 0) ? true : false;
|
||||
};
|
||||
|
||||
DupliJs.Util.toggleShow = function(selector, show = 'auto') {
|
||||
var element = jQuery(selector);
|
||||
if (show === 'auto') {
|
||||
show = !element.is(":visible");
|
||||
}
|
||||
|
||||
if (show) {
|
||||
element.hide().removeClass('no-display');
|
||||
element.fadeIn();
|
||||
} else {
|
||||
element.fadeOut();
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
DupliJs.Util.dynamicFormSubmit = function(url, method, params) {
|
||||
var form = jQuery('<form>', {
|
||||
method: method,
|
||||
action: url
|
||||
});
|
||||
|
||||
jQuery.each(params, function(key, value) {
|
||||
form.append(jQuery('<input>', {
|
||||
'type': 'hidden',
|
||||
'name': key,
|
||||
'value': value
|
||||
}));
|
||||
});
|
||||
|
||||
jQuery("body").append(form);
|
||||
form.submit();
|
||||
};
|
||||
</script>
|
||||
@@ -0,0 +1,67 @@
|
||||
/*! dup admin script */
|
||||
jQuery(document).ready(function ($) {
|
||||
$(document).on('click', '.dupli-admin-notice[data-to-dismiss] .notice-dismiss', function (event) {
|
||||
event.preventDefault();
|
||||
event.stopImmediatePropagation();
|
||||
var notice = $(this).closest('.dupli-admin-notice[data-to-dismiss]');
|
||||
$.post(ajaxurl, {
|
||||
action: 'duplicator_admin_notice_to_dismiss',
|
||||
notice: notice.data('to-dismiss'),
|
||||
nonce: dupli_global_data.nonce_admin_notice_to_dismiss
|
||||
});
|
||||
});
|
||||
|
||||
function dupDashboardUpdate() {
|
||||
jQuery.ajax({
|
||||
type: "POST",
|
||||
url: dupli_global_data.ajaxurl,
|
||||
dataType: "json",
|
||||
data: {
|
||||
action: 'duplicator_dashboad_widget_info',
|
||||
nonce: dupli_global_data.nonce_dashboard_widged_info
|
||||
},
|
||||
success: function (result, textStatus, jqXHR) {
|
||||
if (result.success) {
|
||||
$('#duplicator_dashboard_widget .dup-last-backup-info').html(result.data.funcData.lastBackupInfo);
|
||||
|
||||
if (result.data.funcData.isRunning) {
|
||||
$('#duplicator_dashboard_widget #dupli-create-new').addClass('disabled');
|
||||
} else {
|
||||
$('#duplicator_dashboard_widget #dupli-create-new').removeClass('disabled');
|
||||
}
|
||||
}
|
||||
},
|
||||
complete: function() {
|
||||
setTimeout(
|
||||
function(){
|
||||
dupDashboardUpdate();
|
||||
},
|
||||
5000
|
||||
);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
if ($('#duplicator_dashboard_widget').length) {
|
||||
dupDashboardUpdate();
|
||||
|
||||
$('#duplicator_dashboard_widget #dup-dash-widget-section-recommended').on('click', function (event) {
|
||||
event.stopPropagation();
|
||||
|
||||
$(this).closest('.dup-section-recommended').fadeOut();
|
||||
|
||||
jQuery.ajax({
|
||||
type: "POST",
|
||||
url: dupli_global_data.ajaxurl,
|
||||
dataType: "json",
|
||||
data: {
|
||||
action: 'duplicator_dismiss_recommended_plugin',
|
||||
nonce: dupli_global_data.nonce_dashboard_widged_dismiss_recommended
|
||||
},
|
||||
success: function (result, textStatus, jqXHR) {
|
||||
// do nothing
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
});
|
||||
@@ -0,0 +1,28 @@
|
||||
/*! dup import installer */
|
||||
(function ($) {
|
||||
DupliImportInstaller = {
|
||||
installerIframe: $('#dupli-import-installer-iframe'),
|
||||
init: function () {
|
||||
DupliImportInstaller.installerIframe.on("load", function () {
|
||||
DupliImportInstaller.installerIframe.contents()
|
||||
.find('#page-step1')
|
||||
.on('click', '> .ui-dialog #db-install-dialog-confirm-button', function () {
|
||||
$('#dupli-import-installer-modal').removeClass('no-display');
|
||||
});
|
||||
});
|
||||
},
|
||||
resizeIframe: function () {
|
||||
let height = DupliImportInstaller.installerIframe.contents()
|
||||
.find('html').css('overflow', 'hidden')
|
||||
.outerHeight(true);
|
||||
console.log('height', height);
|
||||
DupliImportInstaller.installerIframe.css({
|
||||
'height': height + 'px'
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
DupliImportInstaller.init();
|
||||
DuplicatorTooltip.load();
|
||||
|
||||
})(jQuery);
|
||||
3
wp-content/plugins/duplicator-pro/assets/js/index.php
Normal file
@@ -0,0 +1,3 @@
|
||||
<?php
|
||||
|
||||
//silent
|
||||
461
wp-content/plugins/duplicator-pro/assets/js/javascript.php
Normal file
@@ -0,0 +1,461 @@
|
||||
<?php
|
||||
defined("ABSPATH") or die("");
|
||||
?>
|
||||
<script>
|
||||
/*! ============================================================================
|
||||
* DESCRIPTION: Methods and Objects in this file are global and common in nature
|
||||
* use this file to place all shared methods and varibles
|
||||
* NAMESPACE: DupliJs (defined in dupli-namespace.js, loaded via main.js bundle)
|
||||
* ============================================================================ */
|
||||
|
||||
DupliJs.Pack.DownloadFile = function (url, fileName='') {
|
||||
var link = document.createElement('a');
|
||||
link.className = "dupli-dnload-menu-item";
|
||||
link.href = url;
|
||||
if (fileName !== '') {
|
||||
link.download = fileName;
|
||||
}
|
||||
document.body.appendChild(link);
|
||||
link.click();
|
||||
document.body.removeChild(link);
|
||||
return false;
|
||||
};
|
||||
|
||||
(function ($) {
|
||||
|
||||
/* ============================================================================
|
||||
* BASE NAMESPACE: All methods at the top of the Duplicator Namespace
|
||||
* ============================================================================ */
|
||||
|
||||
DupliJs._WordPressInitDateTime = '<?php echo esc_js(current_time("D M d Y H:i:s O")) ?>';
|
||||
DupliJs._WordPressInitTime = '<?php echo esc_js(current_time("H:i:s")) ?>';
|
||||
DupliJs._ServerInitDateTime = '<?php echo esc_js(date("D M d Y H:i:s O")) ?>';
|
||||
DupliJs._ClientInitDateTime = new Date();
|
||||
|
||||
DupliJs.parseJSON = function (mixData) {
|
||||
try {
|
||||
var parsed = JSON.parse(mixData);
|
||||
return parsed;
|
||||
} catch (e) {
|
||||
console.log("JSON parse failed - 1");
|
||||
console.log(mixData);
|
||||
}
|
||||
|
||||
if (mixData.indexOf('[') > -1 && mixData.indexOf('{') > -1) {
|
||||
if (mixData.indexOf('{') < mixData.indexOf('[')) {
|
||||
var startBracket = '{';
|
||||
var endBracket = '}';
|
||||
} else {
|
||||
var startBracket = '[';
|
||||
var endBracket = ']';
|
||||
}
|
||||
} else if (mixData.indexOf('[') > -1 && mixData.indexOf('{') === -1) {
|
||||
var startBracket = '[';
|
||||
var endBracket = ']';
|
||||
} else {
|
||||
var startBracket = '{';
|
||||
var endBracket = '}';
|
||||
}
|
||||
|
||||
var jsonStartPos = mixData.indexOf(startBracket);
|
||||
var jsonLastPos = mixData.lastIndexOf(endBracket);
|
||||
if (jsonStartPos > -1 && jsonLastPos > -1) {
|
||||
var expectedJsonStr = mixData.slice(jsonStartPos, jsonLastPos + 1);
|
||||
try {
|
||||
var parsed = JSON.parse(expectedJsonStr);
|
||||
return parsed;
|
||||
} catch (e) {
|
||||
console.log("JSON parse failed - 2");
|
||||
console.log(mixData);
|
||||
throw e;
|
||||
// errorCallback(xHr, textstatus, 'extract');
|
||||
return false;
|
||||
}
|
||||
}
|
||||
// errorCallback(xHr, textstatus, 'extract');
|
||||
throw "could not parse the JSON";
|
||||
return false;
|
||||
}
|
||||
|
||||
DupliJs.escapeHtml = function(str) {
|
||||
return str
|
||||
.replace(/&/g, "&")
|
||||
.replace(/</g, "<")
|
||||
.replace(/>/g, ">")
|
||||
.replace(/"/g, """)
|
||||
.replace(/'/g, "'");
|
||||
};
|
||||
|
||||
DupliJs.isInViewport = function ( $element ) {
|
||||
const rect = $element[ 0 ].getBoundingClientRect();
|
||||
|
||||
return (
|
||||
rect.top >= 0 &&
|
||||
rect.left >= 0 &&
|
||||
rect.bottom <= ( window.innerHeight || document.documentElement.clientHeight ) &&
|
||||
rect.right <= ( window.innerWidth || document.documentElement.clientWidth )
|
||||
);
|
||||
};
|
||||
|
||||
/**
|
||||
*
|
||||
* @param string message // html message conent
|
||||
* @param string errLevel // notice warning error
|
||||
* @param function updateCallback // called after message content is updated
|
||||
*
|
||||
* @returns void
|
||||
*/
|
||||
DupliJs.addAdminMessage = function (message, errLevel, options) {
|
||||
let settings = $.extend({}, {
|
||||
'isDismissible': true,
|
||||
'hideDelay': 0, // 0 no hide or millisec
|
||||
'updateCallback': false
|
||||
}, options);
|
||||
|
||||
var classErrLevel = 'notice';
|
||||
switch (errLevel) {
|
||||
case 'error':
|
||||
classErrLevel = 'notice-error';
|
||||
break;
|
||||
case 'warning':
|
||||
classErrLevel = 'update-nag';
|
||||
break;
|
||||
case 'notice':
|
||||
default:
|
||||
classErrLevel = 'updated notice-success';
|
||||
break;
|
||||
}
|
||||
|
||||
var noticeCLasses = 'dupli-admin-notice notice ' + classErrLevel + ' no-display';
|
||||
if (settings.isDismissible) {
|
||||
noticeCLasses += ' is-dismissible';
|
||||
}
|
||||
|
||||
var msgNode = $('<div class="' + noticeCLasses + '">' +
|
||||
'<div class="msg-content">' + message + '</div>' +
|
||||
'</div>');
|
||||
var dismissButton = $('<button type="button" class="notice-dismiss">' +
|
||||
'<span class="screen-reader-text">Dismiss this notice.</span>' +
|
||||
'</button>');
|
||||
|
||||
let anchor = $(".wp-header-end").first();
|
||||
msgNode.insertAfter(anchor);
|
||||
|
||||
if (settings.isDismissible) {
|
||||
dismissButton.appendTo(msgNode).click(function () {
|
||||
dismissButton.closest('.is-dismissible').fadeOut("slow", function () {
|
||||
$(this).remove();
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
if (typeof settings.updateCallback === "function") {
|
||||
settings.updateCallback(msgNode);
|
||||
}
|
||||
|
||||
$("body, html").animate({scrollTop: 0}, 500);
|
||||
$(msgNode).css('display', 'none').removeClass("no-display").fadeIn("slow", function () {
|
||||
if (settings.hideDelay > 0) {
|
||||
setTimeout(function () {
|
||||
dismissButton.closest('.is-dismissible').fadeOut("slow", function () {
|
||||
$(this).remove();
|
||||
});
|
||||
}, settings.hideDelay);
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
*
|
||||
* @param string filename
|
||||
* @param string content
|
||||
* @param string mimeType // text/html, text/plain
|
||||
* @returns {undefined}
|
||||
*/
|
||||
DupliJs.downloadContentAsfile = function (filename, content, mimeType) {
|
||||
mimeType = (typeof mimeType !== 'undefined') ? mimeType : 'text/plain';
|
||||
var element = document.createElement('a');
|
||||
element.setAttribute('href', 'data:' + mimeType + ';charset=utf-8,' + encodeURIComponent(content));
|
||||
element.setAttribute('download', filename);
|
||||
|
||||
element.style.display = 'none';
|
||||
document.body.appendChild(element);
|
||||
element.click();
|
||||
document.body.removeChild(element);
|
||||
}
|
||||
|
||||
|
||||
DupliJs.openWindow = function () {
|
||||
$("[data-dup-open-window]").each(function () {
|
||||
let url = $(this).data('dup-open-window');
|
||||
let name = $(this).data('dup-window-name');
|
||||
|
||||
$(this).click(function () {
|
||||
window.open(url, name);
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
DupliJs.passwordToggle = function () {
|
||||
$('.dup-password-toggle').each(function () {
|
||||
let inputElem = $(this).find('input');
|
||||
let buttonElem = $(this).find('button');
|
||||
let iconElem = $(this).find('button i');
|
||||
|
||||
buttonElem.click(function () {
|
||||
if (inputElem.attr('type') == 'password') {
|
||||
inputElem.attr('type','text');
|
||||
iconElem.removeClass('fa-eye').addClass('fa-eye-slash');
|
||||
} else {
|
||||
inputElem.attr('type','password');
|
||||
iconElem.removeClass('fa-eye-slash').addClass('fa-eye');
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
})(jQuery);
|
||||
</script>
|
||||
|
||||
<?php
|
||||
require_once(DUPLICATOR____PATH . '/assets/js/duplicator/dup.ui.php');
|
||||
require_once(DUPLICATOR____PATH . '/assets/js/duplicator/dup.util.php');
|
||||
?>
|
||||
<script>
|
||||
<?php
|
||||
require_once(DUPLICATOR____PATH . '/assets/js/modal-box.js');
|
||||
?>
|
||||
</script>
|
||||
|
||||
<script>
|
||||
//Init
|
||||
jQuery(document).ready(function ($)
|
||||
{
|
||||
DupliJs.openWindow();
|
||||
|
||||
//INIT: DupliJs Tabs
|
||||
$("div[data-dupli-tabs='true']").each(function ()
|
||||
{
|
||||
//Load Tab Setup
|
||||
var $root = $(this);
|
||||
var $lblRoot = $root.find('> ul:first-child')
|
||||
var $lblKids = $lblRoot.children('li');
|
||||
var $lblButton = $lblKids.find('button');
|
||||
var $pnls = $root.children('div');
|
||||
|
||||
//Apply Styles
|
||||
$root.addClass('categorydiv');
|
||||
$lblRoot.addClass('category-tabs');
|
||||
$pnls.addClass('tabs-panel').css('display', 'none');
|
||||
|
||||
//Init accessibility improvement
|
||||
$lblKids.each(function () {
|
||||
var $content = $(this).text();
|
||||
$(this).html("<button role='tabs' aria-selected='false'>" +
|
||||
"<span class='screen-reader-text'><?php esc_html_e('Toggle Tab: ', 'duplicator-pro') ?></span> "+$content+
|
||||
"</button>")
|
||||
})
|
||||
|
||||
//Activate first tab
|
||||
$lblKids.eq(0).addClass('tabs').css('font-weight', 'bold');
|
||||
$lblKids.eq(0).find('button').attr("aria-selected", true)
|
||||
$pnls.eq(0).show();
|
||||
|
||||
//Initialize tab click event
|
||||
var _clickEvt = function (evt)
|
||||
{
|
||||
var $target = $(evt.target);
|
||||
if (evt.target.nodeName === 'BUTTON') {
|
||||
$target = $(evt.target).parent();
|
||||
}
|
||||
var $lbls = $target.parent().children('li');
|
||||
var $pnls = $target.parent().parent().children('div');
|
||||
var index = $target.index();
|
||||
|
||||
$lbls.removeClass('tabs').css('font-weight', 'normal');
|
||||
$lbls.find("button").attr("aria-selected", false);
|
||||
|
||||
$lbls.eq(index).addClass('tabs').css('font-weight', 'bold');
|
||||
$lbls.eq(index).find("button").attr("aria-selected", true);
|
||||
|
||||
$pnls.hide();
|
||||
$pnls.eq(index).show();
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
//Attach Events
|
||||
$lblKids.click(_clickEvt);
|
||||
$lblButton.on("click", _clickEvt);
|
||||
});
|
||||
|
||||
//INIT: Toggle MetaBoxes
|
||||
$('div.dup-box div.dup-box-title').each(function () {
|
||||
var $title = $(this);
|
||||
var $panel = $title.parent().find('.dup-box-panel');
|
||||
var $arrow = $title.find('.dup-box-arrow');
|
||||
|
||||
$title.click(DupliJs.UI.ToggleMetaBox);
|
||||
//$arrow.on("keypress", DupliJs.UI.ToggleMetaBox)
|
||||
$arrow.attr("aria-haspopup", true);
|
||||
|
||||
if ($panel.is(":visible")) {
|
||||
$arrow.attr("aria-expanded", true);
|
||||
$arrow.append('<i class="fa fa-caret-up"></i>');
|
||||
} else {
|
||||
$arrow.attr("aria-expanded", false);
|
||||
$arrow.append('<i class="fa fa-caret-down"></i>')
|
||||
}
|
||||
});
|
||||
|
||||
DuplicatorTooltip.load();
|
||||
DupliJs.passwordToggle();
|
||||
|
||||
//HANDLEBARS HELPERS
|
||||
if (typeof (Handlebars) != "undefined") {
|
||||
|
||||
function _handleBarscheckCondition(v1, operator, v2) {
|
||||
switch (operator) {
|
||||
case '==':
|
||||
return (v1 == v2);
|
||||
case '===':
|
||||
return (v1 === v2);
|
||||
case '!==':
|
||||
return (v1 !== v2);
|
||||
case '<':
|
||||
return (v1 < v2);
|
||||
case '<=':
|
||||
return (v1 <= v2);
|
||||
case '>':
|
||||
return (v1 > v2);
|
||||
case '>=':
|
||||
return (v1 >= v2);
|
||||
case '&&':
|
||||
return (v1 && v2);
|
||||
case '||':
|
||||
return (v1 || v2);
|
||||
case 'obj||':
|
||||
v1 = typeof (v1) == 'object' ? v1.length : v1;
|
||||
v2 = typeof (v2) == 'object' ? v2.length : v2;
|
||||
return (v1 != 0 || v2 != 0);
|
||||
default:
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
Handlebars.registerHelper('ifCond', function (v1, operator, v2, options) {
|
||||
return _handleBarscheckCondition(v1, operator, v2)
|
||||
? options.fn(this)
|
||||
: options.inverse(this);
|
||||
});
|
||||
|
||||
Handlebars.registerHelper('if_eq', function (a, b, opts) {
|
||||
return (a == b) ? opts.fn(this) : opts.inverse(this);
|
||||
});
|
||||
Handlebars.registerHelper('if_neq', function (a, b, opts) {
|
||||
return (a != b) ? opts.fn(this) : opts.inverse(this);
|
||||
});
|
||||
}
|
||||
|
||||
$('.dup-pseudo-checkbox').each(function () {
|
||||
let checkbox = $(this);
|
||||
checkbox.attr("tabindex", 0);
|
||||
checkbox.attr("role", "checkbox")
|
||||
|
||||
checkbox.on('click', function(e) {
|
||||
e.stopPropagation();
|
||||
if (checkbox.hasClass('disabled')) {
|
||||
return;
|
||||
}
|
||||
checkbox.toggleClass('checked');
|
||||
});
|
||||
|
||||
checkbox.on('keypress', function(e) {
|
||||
e.stopPropagation();
|
||||
e.preventDefault();
|
||||
if (checkbox.hasClass('disabled')) {
|
||||
return;
|
||||
}
|
||||
checkbox.toggleClass('checked');
|
||||
});
|
||||
|
||||
checkbox.closest('label').on('click', function () {
|
||||
checkbox.trigger('click');
|
||||
});
|
||||
});
|
||||
|
||||
/**
|
||||
* Register a change event handler for all forms with the class 'dup-monitored-form'.
|
||||
* This will set a flag to indicate that the form has unsaved changes.
|
||||
*/
|
||||
$('form.dup-monitored-form').each(function (index, form) {
|
||||
DupliJs.UI.formOnChangeValues($(form), function() {
|
||||
DupliJs.UI.hasUnsavedChanges = true;
|
||||
});
|
||||
});
|
||||
|
||||
/**
|
||||
* Accordion
|
||||
*/
|
||||
$('.dup-accordion-wrapper .accordion-header').on('click', function () {
|
||||
let accordion = $(this).parent();
|
||||
let content = accordion.find('.accordion-content');
|
||||
if (accordion.hasClass('close')) {
|
||||
accordion.removeClass('close').addClass('open');
|
||||
content.css('opacity', 0).animate({
|
||||
opacity: 1
|
||||
}, 300);
|
||||
} else {
|
||||
content.animate({
|
||||
opacity: 0
|
||||
}, 300, function() {
|
||||
accordion.removeClass('open').addClass('close');
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
/**
|
||||
* Meta Screen
|
||||
*/
|
||||
if ($('#screen-meta-links').length && $('body').hasClass('duplicator-page')) {
|
||||
$('#wpcontent').css('position', 'relative');
|
||||
}
|
||||
|
||||
$('#screen-meta-links, #screen-meta').prependTo('#dup-meta-screen');
|
||||
$('#screen-meta-links').show();
|
||||
|
||||
/**
|
||||
* Header tabs scroll
|
||||
*/
|
||||
if($('.dup-nav-item:last-child').length > 0) {
|
||||
let $header = $('.dup-body-header').first();
|
||||
let $lastTab = $header.find('.dup-nav-item:last-child');
|
||||
if (!DupliJs.isInViewport($lastTab)) {
|
||||
$header.addClass('dup-scrollable-header');
|
||||
}
|
||||
|
||||
$header.on('scroll', function() {
|
||||
$header.toggleClass('dup-scrollable-header', !DupliJs.isInViewport($lastTab));
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* When a form is submitting, we want to clear the unsaved changes flag.
|
||||
* Otherwise, the user will be prompted to save changes when they are not actually leaving the page.
|
||||
*/
|
||||
window.addEventListener('submit', function (e) {
|
||||
DupliJs.UI.hasUnsavedChanges = false;
|
||||
});
|
||||
|
||||
/**
|
||||
* Check if we have unsaved changes, and if so, prevent the user from navigating away from the page.
|
||||
*/
|
||||
window.addEventListener('beforeunload', function (e) {
|
||||
if (DupliJs.UI.hasUnsavedChanges) {
|
||||
e.preventDefault();
|
||||
// Most browsers ignore the value, but historically some browsers are known to honor this value. So it's here as a backup
|
||||
e.returnValue = '<?php echo esc_js(__('Changes you made may not be saved.', 'duplicator-pro')) ?>';
|
||||
}
|
||||
});
|
||||
});
|
||||
</script>
|
||||
39
wp-content/plugins/duplicator-pro/assets/js/main.js
Normal file
@@ -0,0 +1,39 @@
|
||||
/**
|
||||
* Main script for Duplicator Plugin
|
||||
*/
|
||||
|
||||
// Import and initialize global namespace (must be first)
|
||||
import './dupli-namespace.js';
|
||||
|
||||
// Import jQuery and make it globally available
|
||||
import jquery from 'jquery';
|
||||
window.$ = window.jQuery = jquery;
|
||||
|
||||
// Import Tippy and make it globally available
|
||||
import tippy from 'tippy.js';
|
||||
window.tippy = tippy;
|
||||
|
||||
// Import Handlebars dist (browser-compatible) and make it globally available
|
||||
import Handlebars from 'handlebars/dist/handlebars';
|
||||
window.Handlebars = Handlebars;
|
||||
|
||||
/**
|
||||
* Scripts
|
||||
*/
|
||||
import "parsleyjs";
|
||||
import "@popperjs/core";
|
||||
import "select2";
|
||||
import "js-cookie";
|
||||
import "jstree";
|
||||
import "formstone";
|
||||
import "formstone/dist/js/upload.js";
|
||||
import "./duplicator-tooltip.js";
|
||||
import "./dynamic-help.js";
|
||||
|
||||
/**
|
||||
* Styles
|
||||
*/
|
||||
import "select2/dist/css/select2.css";
|
||||
import "jstree/dist/themes/default/style.css"
|
||||
|
||||
console.log('Duplicator Plugin vendor bundle loaded successfully');
|
||||
276
wp-content/plugins/duplicator-pro/assets/js/modal-box.js
Normal file
@@ -0,0 +1,276 @@
|
||||
/*! Duplicator iframe modal box */
|
||||
|
||||
class DuplicatorModalBox {
|
||||
#url;
|
||||
#modal;
|
||||
#iframe;
|
||||
#htmlContent;
|
||||
#canClose;
|
||||
#closeButton;
|
||||
#openCallack;
|
||||
#closeInContent;
|
||||
#fullscreen;
|
||||
#defaultOptions;
|
||||
#closeColor = '#fff';
|
||||
|
||||
constructor(options = {}) {
|
||||
this.#defaultOptions = {
|
||||
url: null,
|
||||
htmlContent: '',
|
||||
openCallback: null,
|
||||
closeColor: '#fff',
|
||||
closeInContent: false,
|
||||
fullscreen: false
|
||||
};
|
||||
|
||||
this.setOptions(options);
|
||||
|
||||
this.#modal = null;
|
||||
this.#iframe = null;
|
||||
this.#canClose = true;
|
||||
this.#closeButton = null;
|
||||
}
|
||||
|
||||
setOptions(options = {}) {
|
||||
if (options.url) {
|
||||
this.#url = options.url;
|
||||
this.#htmlContent = '';
|
||||
} else if (!options.url && !options.htmlContent) {
|
||||
this.#url = null;
|
||||
this.#htmlContent = '';
|
||||
} else {
|
||||
this.#url = null;
|
||||
this.#htmlContent = options.htmlContent;
|
||||
}
|
||||
|
||||
if (options.openCallback && typeof options.openCallback === 'function') {
|
||||
this.#openCallack = options.openCallback;
|
||||
} else {
|
||||
this.#openCallack = this.#defaultOptions.openCallback;
|
||||
}
|
||||
|
||||
if (options.closeColor) {
|
||||
this.#closeColor = options.closeColor;
|
||||
}
|
||||
|
||||
if (options.closeInContent) {
|
||||
this.#closeInContent = options.closeInContent;
|
||||
} else {
|
||||
this.#closeInContent = this.#defaultOptions.closeInContent;
|
||||
}
|
||||
|
||||
if (options.fullscreen) {
|
||||
this.#fullscreen = options.fullscreen;
|
||||
} else {
|
||||
this.#fullscreen = this.#defaultOptions.fullscreen;
|
||||
}
|
||||
|
||||
if (this.#modal !== null) {
|
||||
this.#updateContent();
|
||||
}
|
||||
}
|
||||
|
||||
open() {
|
||||
// If modal is already open, do nothing
|
||||
if (this.#modal !== null) {
|
||||
return;
|
||||
}
|
||||
|
||||
// Create modal element
|
||||
this.#modal = document.createElement('div');
|
||||
this.#modal.classList.add('dup-modal-wrapper');
|
||||
this.#modal.classList.add('dup-styles');
|
||||
|
||||
// Add modal styles
|
||||
this.#addModalStyles();
|
||||
|
||||
// Create close button
|
||||
this.#closeButton = document.createElement('div');
|
||||
this.#closeButton.classList.add('dup-modal-close-button');
|
||||
this.#closeButton.innerHTML = '<i class="fa-regular fa-circle-xmark"></i>';
|
||||
this.#closeButton.style.color = this.#closeColor;
|
||||
|
||||
// Add event listener to close button
|
||||
this.#closeButton.addEventListener('click', () => {
|
||||
this.close();
|
||||
});
|
||||
|
||||
// Update content
|
||||
this.#updateContent();
|
||||
|
||||
// Add close button to modal
|
||||
if (this.#closeInContent) {
|
||||
this.#modal.querySelector('.dup-modal-content').appendChild(this.#closeButton);
|
||||
} else {
|
||||
this.#modal.appendChild(this.#closeButton);
|
||||
}
|
||||
|
||||
// Set overflow property of body to hidden
|
||||
document.body.style.overflow = 'hidden';
|
||||
|
||||
// Add opacity animation
|
||||
this.#modal.animate([
|
||||
{ opacity: '0' },
|
||||
{ opacity: '1' }
|
||||
], {
|
||||
duration: 500,
|
||||
iterations: 1,
|
||||
});
|
||||
|
||||
// Add modal to document
|
||||
document.body.appendChild(this.#modal);
|
||||
}
|
||||
|
||||
close() {
|
||||
if (!this.#canClose || !this.#modal) {
|
||||
return;
|
||||
}
|
||||
|
||||
// Remove modal from document
|
||||
document.body.removeChild(this.#modal);
|
||||
// Set overflow property of body to hidden
|
||||
document.body.style.overflow = 'auto';
|
||||
|
||||
// Reset modal and iframe variables
|
||||
this.#modal = null;
|
||||
this.#iframe = null;
|
||||
}
|
||||
|
||||
enableClose() {
|
||||
this.#canClose = true;
|
||||
this.#closeButton.removeAttribute('disabled');
|
||||
}
|
||||
|
||||
disableClose() {
|
||||
this.#canClose = false;
|
||||
this.#closeButton.setAttribute('disabled', 'disabled');
|
||||
}
|
||||
|
||||
#insertContentAsHtml() {
|
||||
let content = document.createElement('div');
|
||||
content.classList.add('dup-modal-content');
|
||||
if (this.#fullscreen) {
|
||||
content.classList.add('fullscreen');
|
||||
}
|
||||
content.innerHTML = this.#htmlContent;
|
||||
|
||||
// Add content to modal
|
||||
this.#modal.appendChild(content);
|
||||
|
||||
if (typeof this.#openCallack == 'function') {
|
||||
this.#openCallack(content, this);
|
||||
}
|
||||
}
|
||||
|
||||
#insertContentAsIframe() {
|
||||
// Create iframe element
|
||||
this.#iframe = document.createElement('iframe');
|
||||
this.#iframe.classList.add('dup-modal-iframe');
|
||||
|
||||
// Add open callback function
|
||||
if (typeof this.#openCallack == 'function') {
|
||||
let openCallack = this.#openCallack;
|
||||
let iframe = this.#iframe;
|
||||
let modalObj = this;
|
||||
this.#iframe.onload = function () {
|
||||
openCallack(iframe, modalObj);
|
||||
};
|
||||
}
|
||||
|
||||
this.#iframe.src = this.#url;
|
||||
this.#iframe.setAttribute('frameborder', '0');
|
||||
this.#iframe.setAttribute('allowfullscreen', '');
|
||||
|
||||
// Add iframe to modal
|
||||
this.#modal.appendChild(this.#iframe);
|
||||
}
|
||||
|
||||
#updateContent() {
|
||||
if (!this.#modal) {
|
||||
return;
|
||||
}
|
||||
|
||||
// Remove existing content
|
||||
if (this.#iframe) {
|
||||
this.#modal.removeChild(this.#iframe);
|
||||
this.#iframe = null;
|
||||
} else {
|
||||
const existingContent = this.#modal.querySelector('.dup-modal-content');
|
||||
if (existingContent) {
|
||||
this.#modal.removeChild(existingContent);
|
||||
}
|
||||
}
|
||||
|
||||
// Update content
|
||||
if (this.#url) {
|
||||
this.#insertContentAsIframe();
|
||||
} else {
|
||||
this.#insertContentAsHtml();
|
||||
}
|
||||
}
|
||||
|
||||
#addModalStyles() {
|
||||
const style = document.createElement('style');
|
||||
style.innerHTML = `
|
||||
.dup-modal-wrapper {
|
||||
position: fixed;
|
||||
top: 0;
|
||||
left: 0;
|
||||
width: 100vw;
|
||||
height: 100vh;
|
||||
background-color: rgba(0, 0, 0, 0.7);
|
||||
z-index: 1000005;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.dup-styles.dup-modal-wrapper .dup-modal-iframe {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
.dup-styles.dup-modal-wrapper .dup-modal-close-button {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
right: 0;
|
||||
font-size: 23px;
|
||||
color: #fff;
|
||||
cursor: pointer;
|
||||
line-height: 0;
|
||||
text-align: center;
|
||||
z-index: 2;
|
||||
padding: 20px;
|
||||
}
|
||||
|
||||
.dup-styles.dup-modal-wrapper .dup-modal-close-button i {
|
||||
font-size: 23px;
|
||||
line-height: normal;
|
||||
}
|
||||
|
||||
.dup-styles.dup-modal-wrapper .dup-modal-close-button[disabled] {
|
||||
opacity: 0.5;
|
||||
cursor: not-allowed;
|
||||
}
|
||||
|
||||
.dup-styles.dup-modal-wrapper .dup-modal-content {
|
||||
position: relative;
|
||||
max-height: calc(100vh - 40px);
|
||||
max-width: calc(100vw - 40px);
|
||||
overflow: auto;
|
||||
}
|
||||
|
||||
.dup-styles.dup-modal-wrapper .dup-modal-content.fullscreen {
|
||||
width: 100vw!important;
|
||||
height: 100vh!important;
|
||||
max-width: none;
|
||||
max-height: none;
|
||||
}
|
||||
|
||||
.dup-styles.dup-modal-wrapper .dup-modal-content .dup-modal-close-button {
|
||||
padding: 9px;
|
||||
}
|
||||
`;
|
||||
document.head.appendChild(style);
|
||||
}
|
||||
}
|
||||