Version Description
Download this release
Release Info
Developer | cory@lamle.org |
Plugin | Duplicator – WordPress Migration Plugin |
Version | 1.4.4 |
Comparing to | |
See all releases |
Code changes from version 1.4.3 to 1.4.4
- assets/css/style.css +103 -100
- assets/img/logo-box.png +0 -0
- assets/img/logo-dpro-300x50.png +0 -0
- assets/img/logo.png +0 -0
- classes/package/class.pack.installer.php +2 -0
- classes/ui/class.ui.dialog.php +5 -1
- define.php +2 -2
- duplicator.php +2 -2
- installer/dup-installer/assets/inc.css.php +869 -834
- installer/dup-installer/classes/class.s3.func.php +6 -7
- installer/dup-installer/classes/utilities/class.u.php +3 -1
- installer/dup-installer/ctrls/classes/class.ctrl.extraction.php +2 -4
- installer/dup-installer/ctrls/ctrl.s2.base.php +23 -22
- installer/dup-installer/ctrls/ctrl.s2.dbinstall.php +30 -11
- installer/dup-installer/ctrls/ctrl.s2.dbtest.php +9 -9
- installer/dup-installer/favicon/android-chrome-192x192.png +0 -0
- installer/dup-installer/favicon/android-chrome-384x384.png +0 -0
- installer/dup-installer/favicon/apple-touch-icon.png +0 -0
- installer/dup-installer/favicon/browserconfig.xml +2 -2
- installer/dup-installer/favicon/favicon-16x16.png +0 -0
- installer/dup-installer/favicon/favicon-32x32.png +0 -0
- installer/dup-installer/favicon/favicon.ico +0 -0
- installer/dup-installer/favicon/lite01_android-chrome-192x192.png +0 -0
- installer/dup-installer/favicon/lite01_android-chrome-256x256.png +0 -0
- installer/dup-installer/favicon/lite01_apple-touch-icon.png +0 -0
- installer/dup-installer/favicon/lite01_favicon-16x16.png +0 -0
- installer/dup-installer/favicon/lite01_favicon-32x32.png +0 -0
- installer/dup-installer/favicon/lite01_favicon.ico +0 -0
- installer/dup-installer/favicon/lite01_mstile-150x150.png +0 -0
- installer/dup-installer/favicon/lite01_safari-pinned-tab.svg +0 -42
- installer/dup-installer/favicon/mstile-150x150.png +0 -0
- installer/dup-installer/favicon/site.webmanifest +3 -3
- installer/dup-installer/main.installer.php +11 -11
- installer/dup-installer/views/view.s1.base.php +692 -630
- installer/dup-installer/views/view.s2.base.php +1 -1
- installer/dup-installer/views/view.s2.basic.php +8 -11
- installer/dup-installer/views/view.s2.dbtest.php +1 -1
- installer/dup-installer/views/view.s3.php +20 -11
- installer/dup-installer/views/view.s4.php +18 -16
- installer/dup-installer/views/view.security.error.php +5 -5
- installer/installer.tpl +17 -14
- readme.txt +2 -2
- views/packages/details/detail.php +51 -36
- views/packages/main/controller.php +7 -7
- views/packages/main/packages.php +19 -22
- views/packages/main/s1.setup1.php +9 -11
- views/packages/main/s1.setup2.php +38 -21
- views/packages/main/s2.scan1.php +18 -16
- views/packages/main/s2.scan2.php +4 -4
- views/packages/main/s2.scan3.php +10 -9
- views/packages/main/s3.build.php +221 -131
- views/packages/screen.php +18 -4
- views/settings/gopro.php +4 -3
- views/settings/license.php +28 -13
- views/settings/storage.php +5 -3
- views/tools/diagnostics/logging.php +1 -1
- views/tools/diagnostics/main.php +1 -1
assets/css/style.css
CHANGED
@@ -12,30 +12,31 @@ label {font-size:13px}
|
|
12 |
hr {border:0; border-top:1px solid #cecece; border-bottom:1px solid #fafafa; margin:10px 0px 2px 0px;}
|
13 |
i[data-tooltip].fa-question-circle {cursor:pointer; color:#C3C3C3}
|
14 |
i[data-tooltip].fa-lightbulb-o {cursor:pointer; color:gray}
|
15 |
-
span.btn-separator {content:
|
16 |
a.grey-icon i.fa {color:#777}
|
17 |
i.grey-icon {color:#777}
|
18 |
|
19 |
-
.no-display {display:
|
20 |
-
.link-style {color
|
21 |
-
.link-style:hover {color
|
22 |
-
.no-decoration {text-decoration:
|
23 |
p.description {padding-top:3px}
|
|
|
24 |
|
25 |
/*TABS*/
|
26 |
-
ul.category-tabs li {cursor:
|
27 |
|
28 |
-
/*BOXES:
|
29 |
-
div.dup-box {padding:0px; display:
|
30 |
-
div.dup-box-title {font-size:
|
31 |
-
div.dup-box-title:hover {
|
32 |
-
div.dup-box-arrow {text-decoration:none!important; float:right; width:27px; height:30px; font-size:16px; cursor:pointer; padding:1px 0 0 0; white-space:
|
33 |
div.dup-box-panel {padding:10px 15px 10px 15px; border-top:1px solid #EEEEEE; margin:-1px 0 0 0;}
|
34 |
-
div.dup-redirect {font-size:16px; font-weight:
|
35 |
|
36 |
-
/*PANELS:
|
37 |
-
div.dup-panel {padding:0px; display:
|
38 |
-
div.dup-panel-title {font-size:
|
39 |
div.dup-panel-panel {padding:10px 15px 10px 15px; border-top:1px solid #EEEEEE; margin:-1px 0 0 0;}
|
40 |
|
41 |
/*INFO-BOX:Simple box with no title */
|
@@ -50,19 +51,19 @@ div#dup-progress-bar-area h2 {margin-bottom:15px}
|
|
50 |
div.dup-hdr-success {color:#23282d; font-size:22px; font-weight:bold}
|
51 |
div.dup-hdr-error {color:#A62426; font-size:22px; font-weight:bold}
|
52 |
|
53 |
-
/*DIALOGS:
|
54 |
-
#TB_title { padding-bottom:
|
55 |
div.dup-dlg-alert-txt {padding:10px 0; font-size:16px; line-height:22px}
|
56 |
div.dup-dlg-alert-btns {position:absolute; bottom:20px; right:20px;}
|
57 |
div.dup-dlg-confirm-txt {padding:10px 0; font-size:16px}
|
58 |
div.dup-dlg-confirm-btns {position:absolute; bottom:20px; right:20px;}
|
59 |
div.dup-dlg-confirm-progress {display:none}
|
60 |
|
61 |
-
/*ADMIN:
|
62 |
div.dup-global-error-reserved-files p {font-size:14px}
|
63 |
div.dup-global-error-reserved-files b.pass-msg {color:green; font-size:20px}
|
64 |
div.dup-global-error-reserved-files p.pass-lnks {line-height:24px; margin:-7px 0 0 5px}
|
65 |
-
div.dup-global-error-reserved-files div.pass-msg {padding:5px 0 0 10px; font-size:11px; color:#999; font-style:
|
66 |
div.dup-wpnotice-box {display:none;}
|
67 |
|
68 |
/*================================================
|
@@ -74,137 +75,137 @@ input.parsley-error, textarea.parsley-error {
|
|
74 |
}
|
75 |
div.qtip-content {line-height:16px}
|
76 |
ul.parsley-error-list {margin:1px 0px -7px 0px}
|
77 |
-
div.notice-safemode {color:
|
78 |
-
div.cleanup-notice b.title {color:
|
79 |
|
80 |
/*SCREEN TABS*/
|
81 |
div.dup-screen-hlp-info {line-height:26px; padding:10px 0 10px 0}
|
82 |
-
#screen-meta-links .button { font-size:13px !important; height:auto !important;font-weight:
|
83 |
|
84 |
/*= Duplicator Message
|
85 |
---------------------------------------*/
|
86 |
.notice.duplicator-message {
|
87 |
-
border:
|
88 |
-
padding:
|
89 |
}
|
90 |
|
91 |
.notice.duplicator-message .duplicator-message-inner {
|
92 |
-
display
|
93 |
-
display
|
94 |
-
display
|
95 |
-
display:
|
96 |
-
-webkit-box-align:
|
97 |
-
-webkit-align-items:
|
98 |
-
-ms-flex-align:
|
99 |
-
align-items:
|
100 |
}
|
101 |
|
102 |
.notice.duplicator-message .duplicator-message-icon {
|
103 |
-
font-size:
|
104 |
}
|
105 |
|
106 |
.notice.duplicator-message .duplicator-message-content {
|
107 |
-
padding:
|
108 |
}
|
109 |
|
110 |
.notice.duplicator-message p {
|
111 |
-
padding:
|
112 |
-
margin:
|
113 |
}
|
114 |
|
115 |
.notice.duplicator-message h3 {
|
116 |
-
margin:
|
117 |
}
|
118 |
|
119 |
.notice.duplicator-message .duplicator-message-action {
|
120 |
-
text-align:
|
121 |
-
display
|
122 |
-
display
|
123 |
-
display
|
124 |
-
display:
|
125 |
-
-webkit-box-orient:
|
126 |
-
-webkit-box-direction:
|
127 |
-
-webkit-flex-direction:
|
128 |
-
-ms-flex-direction:
|
129 |
-
flex-direction:
|
130 |
-
margin-left:
|
131 |
}
|
132 |
|
133 |
.notice.duplicator-message .duplicator-message-action .duplicator-button {
|
134 |
-
background-color
|
135 |
-
color
|
136 |
-
border-color
|
137 |
-
-webkit-box-shadow:
|
138 |
-
box-shadow:
|
139 |
-
padding:
|
140 |
-
height:
|
141 |
-
line-height:
|
142 |
-
text-transform:
|
143 |
}
|
144 |
|
145 |
.notice.duplicator-message .duplicator-message-action .duplicator-button i {
|
146 |
-
margin-right:
|
147 |
}
|
148 |
|
149 |
.notice.duplicator-message .duplicator-message-action .duplicator-button:hover {
|
150 |
-
background-color
|
151 |
}
|
152 |
|
153 |
.notice.duplicator-message .duplicator-message-action .duplicator-button:active {
|
154 |
-
-webkit-box-shadow:
|
155 |
-
box-shadow:
|
156 |
-
-webkit-transform:
|
157 |
-
-ms-transform:
|
158 |
-
transform:
|
159 |
}
|
160 |
|
161 |
.notice.duplicator-message .duplicator-message-action .duplicator-link {
|
162 |
-
padding-top:
|
163 |
}
|
164 |
|
165 |
.notice.duplicator-message .duplicator-message-actions {
|
166 |
-
margin-top:
|
167 |
}
|
168 |
|
169 |
.notice.duplicator-message .duplicator-message-actions .button.button-primary {
|
170 |
-
margin-right:
|
171 |
}
|
172 |
|
173 |
.notice.duplicator-message-announcement {
|
174 |
-
border-color
|
175 |
}
|
176 |
|
177 |
.notice.duplicator-message-announcement a {
|
178 |
-
color
|
179 |
}
|
180 |
|
181 |
-
@media (min-width:
|
182 |
.duplicator-message-action {
|
183 |
-
padding-right:
|
184 |
}
|
185 |
}
|
186 |
|
187 |
-
@media (max-width:
|
188 |
.notice.duplicator-message {
|
189 |
-
padding:
|
190 |
}
|
191 |
.notice.duplicator-message .duplicator-message-inner {
|
192 |
-
display:
|
193 |
-
text-align:
|
194 |
}
|
195 |
.notice.duplicator-message .duplicator-message-inner .duplicator-message-icon,
|
196 |
.notice.duplicator-message .duplicator-message-inner .duplicator-message-content,
|
197 |
.notice.duplicator-message .duplicator-message-inner .duplicator-message-action {
|
198 |
-
display:
|
199 |
}
|
200 |
.notice.duplicator-message .duplicator-message-inner .duplicator-message-action {
|
201 |
-
text-align:
|
202 |
}
|
203 |
.notice.duplicator-message .duplicator-message-inner .duplicator-message-icon {
|
204 |
-
width:
|
205 |
}
|
206 |
.notice.duplicator-message .duplicator-message-inner .duplicator-message-content {
|
207 |
-
padding:
|
208 |
}
|
209 |
}
|
210 |
|
@@ -214,19 +215,19 @@ div.dup-screen-hlp-info {line-height:26px; padding:10px 0 10px 0}
|
|
214 |
}
|
215 |
|
216 |
#dup-lite-inst-mode-details {
|
217 |
-
display:
|
218 |
max-width:825px;
|
219 |
padding-left:20px;
|
220 |
line-height:18px;
|
221 |
}
|
222 |
|
223 |
#dup-lite-inst-mode-details p {
|
224 |
-
margin:
|
225 |
}
|
226 |
|
227 |
.storage_pos_fixed_label {
|
228 |
-
display:
|
229 |
-
width:
|
230 |
}
|
231 |
|
232 |
/** Call to action **/
|
@@ -234,33 +235,33 @@ div.txt-call-action-title {
|
|
234 |
margin:40px auto 20px auto;
|
235 |
font-size:22px;
|
236 |
line-height:30px;
|
237 |
-
font-weight:
|
238 |
width:100%;
|
239 |
}
|
240 |
|
241 |
div.txt-call-action-sub {
|
242 |
-
font-size:16px; line-height:24px; font-weight:
|
243 |
margin:20px auto 40px auto;
|
244 |
}
|
245 |
|
246 |
a.dup-btn-call-action {
|
247 |
-
box-shadow:
|
248 |
-
background:
|
249 |
-
background-color
|
250 |
-
border-radius:
|
251 |
-
border:
|
252 |
-
display:
|
253 |
-
cursor:
|
254 |
-
color
|
255 |
-
font-family:
|
256 |
-
font-size:
|
257 |
-
font-weight:
|
258 |
-
padding:
|
259 |
-
text-decoration:
|
260 |
-
text-shadow:
|
261 |
width:150px;
|
262 |
margin:auto;
|
263 |
-
text-align:
|
264 |
}
|
265 |
|
266 |
a.dup-btn-call-action:hover {
|
@@ -272,3 +273,5 @@ a.dup-btn-call-action:hover {
|
|
272 |
.dup-btn-call-action:active {
|
273 |
color:#fff;
|
274 |
}
|
|
|
|
12 |
hr {border:0; border-top:1px solid #cecece; border-bottom:1px solid #fafafa; margin:10px 0px 2px 0px;}
|
13 |
i[data-tooltip].fa-question-circle {cursor:pointer; color:#C3C3C3}
|
14 |
i[data-tooltip].fa-lightbulb-o {cursor:pointer; color:gray}
|
15 |
+
span.btn-separator {content:''; display:inline-block; background:silver; margin:2px 3px; height:25px; width:1px; vertical-align:top;}
|
16 |
a.grey-icon i.fa {color:#777}
|
17 |
i.grey-icon {color:#777}
|
18 |
|
19 |
+
.no-display {display:none !important;}
|
20 |
+
.link-style {color:#0074ab; cursor:pointer; text-decoration:underline;}
|
21 |
+
.link-style:hover {color:#00a0d2;}
|
22 |
+
.no-decoration {text-decoration:none;}
|
23 |
p.description {padding-top:3px}
|
24 |
+
.dup-guide-txt-color {color:#b0b0b0;}
|
25 |
|
26 |
/*TABS*/
|
27 |
+
ul.category-tabs li {cursor:pointer}
|
28 |
|
29 |
+
/*BOXES:Expandable sections */
|
30 |
+
div.dup-box {padding:0px; display:block; background-color:#fff; border:1px solid #e5e5e5; box-shadow:0 1px 1px rgba(0,0,0,.04);}
|
31 |
+
div.dup-box-title {font-size:18px; padding:12px 0 3px 12px; font-weight:bold; cursor:pointer; height:30px; margin:0; color:#000; }
|
32 |
+
div.dup-box-title:hover {color:#555;}
|
33 |
+
div.dup-box-arrow {text-decoration:none!important; float:right; width:27px; height:30px; font-size:16px; cursor:pointer; padding:1px 0 0 0; white-space:nowrap}
|
34 |
div.dup-box-panel {padding:10px 15px 10px 15px; border-top:1px solid #EEEEEE; margin:-1px 0 0 0;}
|
35 |
+
div.dup-redirect {font-size:16px; font-weight:bold; padding:10px}
|
36 |
|
37 |
+
/*PANELS:Boxes that do not exapand */
|
38 |
+
div.dup-panel {padding:0px; display:block; background-color:#fff; border:1px solid #e5e5e5; box-shadow:0 1px 1px rgba(0,0,0,.04);}
|
39 |
+
div.dup-panel-title {font-size:14px; padding:10px 0 0 15px; font-weight:600; height:28px; margin:0px; color:#000; }
|
40 |
div.dup-panel-panel {padding:10px 15px 10px 15px; border-top:1px solid #EEEEEE; margin:-1px 0 0 0;}
|
41 |
|
42 |
/*INFO-BOX:Simple box with no title */
|
51 |
div.dup-hdr-success {color:#23282d; font-size:22px; font-weight:bold}
|
52 |
div.dup-hdr-error {color:#A62426; font-size:22px; font-weight:bold}
|
53 |
|
54 |
+
/*DIALOGS:THICKBOX */
|
55 |
+
#TB_title { padding-bottom:3px!important; margin-bottom:5px!important; font-size:16px!important;}
|
56 |
div.dup-dlg-alert-txt {padding:10px 0; font-size:16px; line-height:22px}
|
57 |
div.dup-dlg-alert-btns {position:absolute; bottom:20px; right:20px;}
|
58 |
div.dup-dlg-confirm-txt {padding:10px 0; font-size:16px}
|
59 |
div.dup-dlg-confirm-btns {position:absolute; bottom:20px; right:20px;}
|
60 |
div.dup-dlg-confirm-progress {display:none}
|
61 |
|
62 |
+
/*ADMIN:NOTICES */
|
63 |
div.dup-global-error-reserved-files p {font-size:14px}
|
64 |
div.dup-global-error-reserved-files b.pass-msg {color:green; font-size:20px}
|
65 |
div.dup-global-error-reserved-files p.pass-lnks {line-height:24px; margin:-7px 0 0 5px}
|
66 |
+
div.dup-global-error-reserved-files div.pass-msg {padding:5px 0 0 10px; font-size:11px; color:#999; font-style:italic}
|
67 |
div.dup-wpnotice-box {display:none;}
|
68 |
|
69 |
/*================================================
|
75 |
}
|
76 |
div.qtip-content {line-height:16px}
|
77 |
ul.parsley-error-list {margin:1px 0px -7px 0px}
|
78 |
+
div.notice-safemode {color:maroon;}
|
79 |
+
div.cleanup-notice b.title {color:green;font-size:20px;}
|
80 |
|
81 |
/*SCREEN TABS*/
|
82 |
div.dup-screen-hlp-info {line-height:26px; padding:10px 0 10px 0}
|
83 |
+
#screen-meta-links .button { font-size:13px !important; height:auto !important;font-weight:normal; padding:3px 6px 3px 16px !important;min-width:72px !important}
|
84 |
|
85 |
/*= Duplicator Message
|
86 |
---------------------------------------*/
|
87 |
.notice.duplicator-message {
|
88 |
+
border:none;
|
89 |
+
padding:20px;
|
90 |
}
|
91 |
|
92 |
.notice.duplicator-message .duplicator-message-inner {
|
93 |
+
display:-webkit-box;
|
94 |
+
display:-webkit-flex;
|
95 |
+
display:-ms-flexbox;
|
96 |
+
display:flex;
|
97 |
+
-webkit-box-align:center;
|
98 |
+
-webkit-align-items:center;
|
99 |
+
-ms-flex-align:center;
|
100 |
+
align-items:center;
|
101 |
}
|
102 |
|
103 |
.notice.duplicator-message .duplicator-message-icon {
|
104 |
+
font-size:20px;
|
105 |
}
|
106 |
|
107 |
.notice.duplicator-message .duplicator-message-content {
|
108 |
+
padding:0 20px;
|
109 |
}
|
110 |
|
111 |
.notice.duplicator-message p {
|
112 |
+
padding:0;
|
113 |
+
margin:0;
|
114 |
}
|
115 |
|
116 |
.notice.duplicator-message h3 {
|
117 |
+
margin:0 0 5px;
|
118 |
}
|
119 |
|
120 |
.notice.duplicator-message .duplicator-message-action {
|
121 |
+
text-align:center;
|
122 |
+
display:-webkit-box;
|
123 |
+
display:-webkit-flex;
|
124 |
+
display:-ms-flexbox;
|
125 |
+
display:flex;
|
126 |
+
-webkit-box-orient:vertical;
|
127 |
+
-webkit-box-direction:normal;
|
128 |
+
-webkit-flex-direction:column;
|
129 |
+
-ms-flex-direction:column;
|
130 |
+
flex-direction:column;
|
131 |
+
margin-left:auto;
|
132 |
}
|
133 |
|
134 |
.notice.duplicator-message .duplicator-message-action .duplicator-button {
|
135 |
+
background-color:#D30C5C;
|
136 |
+
color:#fff;
|
137 |
+
border-color:#7c1337;
|
138 |
+
-webkit-box-shadow:0 1px 0 #7c1337;
|
139 |
+
box-shadow:0 1px 0 #7c1337;
|
140 |
+
padding:5px 30px;
|
141 |
+
height:auto;
|
142 |
+
line-height:20px;
|
143 |
+
text-transform:capitalize;
|
144 |
}
|
145 |
|
146 |
.notice.duplicator-message .duplicator-message-action .duplicator-button i {
|
147 |
+
margin-right:5px;
|
148 |
}
|
149 |
|
150 |
.notice.duplicator-message .duplicator-message-action .duplicator-button:hover {
|
151 |
+
background-color:#a0124a;
|
152 |
}
|
153 |
|
154 |
.notice.duplicator-message .duplicator-message-action .duplicator-button:active {
|
155 |
+
-webkit-box-shadow:inset 0 1px 0 #7c1337;
|
156 |
+
box-shadow:inset 0 1px 0 #7c1337;
|
157 |
+
-webkit-transform:translateY(1px);
|
158 |
+
-ms-transform:translateY(1px);
|
159 |
+
transform:translateY(1px);
|
160 |
}
|
161 |
|
162 |
.notice.duplicator-message .duplicator-message-action .duplicator-link {
|
163 |
+
padding-top:5px;
|
164 |
}
|
165 |
|
166 |
.notice.duplicator-message .duplicator-message-actions {
|
167 |
+
margin-top:10px;
|
168 |
}
|
169 |
|
170 |
.notice.duplicator-message .duplicator-message-actions .button.button-primary {
|
171 |
+
margin-right:5px;
|
172 |
}
|
173 |
|
174 |
.notice.duplicator-message-announcement {
|
175 |
+
border-color:#D30C5C;
|
176 |
}
|
177 |
|
178 |
.notice.duplicator-message-announcement a {
|
179 |
+
color:#D30C5C;
|
180 |
}
|
181 |
|
182 |
+
@media (min-width:1200px) {
|
183 |
.duplicator-message-action {
|
184 |
+
padding-right:10px;
|
185 |
}
|
186 |
}
|
187 |
|
188 |
+
@media (max-width:600px) {
|
189 |
.notice.duplicator-message {
|
190 |
+
padding:20px;
|
191 |
}
|
192 |
.notice.duplicator-message .duplicator-message-inner {
|
193 |
+
display:block;
|
194 |
+
text-align:center;
|
195 |
}
|
196 |
.notice.duplicator-message .duplicator-message-inner .duplicator-message-icon,
|
197 |
.notice.duplicator-message .duplicator-message-inner .duplicator-message-content,
|
198 |
.notice.duplicator-message .duplicator-message-inner .duplicator-message-action {
|
199 |
+
display:block;
|
200 |
}
|
201 |
.notice.duplicator-message .duplicator-message-inner .duplicator-message-action {
|
202 |
+
text-align:center;
|
203 |
}
|
204 |
.notice.duplicator-message .duplicator-message-inner .duplicator-message-icon {
|
205 |
+
width:auto;
|
206 |
}
|
207 |
.notice.duplicator-message .duplicator-message-inner .duplicator-message-content {
|
208 |
+
padding:10px 0;
|
209 |
}
|
210 |
}
|
211 |
|
215 |
}
|
216 |
|
217 |
#dup-lite-inst-mode-details {
|
218 |
+
display:none;
|
219 |
max-width:825px;
|
220 |
padding-left:20px;
|
221 |
line-height:18px;
|
222 |
}
|
223 |
|
224 |
#dup-lite-inst-mode-details p {
|
225 |
+
margin:1em 0;
|
226 |
}
|
227 |
|
228 |
.storage_pos_fixed_label {
|
229 |
+
display:inline-block;
|
230 |
+
width:90px;
|
231 |
}
|
232 |
|
233 |
/** Call to action **/
|
235 |
margin:40px auto 20px auto;
|
236 |
font-size:22px;
|
237 |
line-height:30px;
|
238 |
+
font-weight:bold;
|
239 |
width:100%;
|
240 |
}
|
241 |
|
242 |
div.txt-call-action-sub {
|
243 |
+
font-size:16px; line-height:24px; font-weight:bold; width:100%;
|
244 |
margin:20px auto 40px auto;
|
245 |
}
|
246 |
|
247 |
a.dup-btn-call-action {
|
248 |
+
box-shadow:0px 10px 14px -7px #3e7327;
|
249 |
+
background:linear-gradient(to bottom, #5ca53a 5%, #72b352 100%);
|
250 |
+
background-color:#4f8e32;
|
251 |
+
border-radius:4px;
|
252 |
+
border:1px solid #4b8f29;
|
253 |
+
display:block;
|
254 |
+
cursor:pointer;
|
255 |
+
color:#ffffff;
|
256 |
+
font-family:Arial;
|
257 |
+
font-size:18px;
|
258 |
+
font-weight:bold;
|
259 |
+
padding:10px 30px;
|
260 |
+
text-decoration:none;
|
261 |
+
text-shadow:0px 1px 0px #5b8a3c;
|
262 |
width:150px;
|
263 |
margin:auto;
|
264 |
+
text-align:center;
|
265 |
}
|
266 |
|
267 |
a.dup-btn-call-action:hover {
|
273 |
.dup-btn-call-action:active {
|
274 |
color:#fff;
|
275 |
}
|
276 |
+
|
277 |
+
td.dup-store-promo-area {padding:7px 0 7px 7px; border-top:1px solid silver; background-color: #F0F0F1}
|
assets/img/logo-box.png
CHANGED
Binary file
|
assets/img/logo-dpro-300x50.png
CHANGED
Binary file
|
assets/img/logo.png
CHANGED
Binary file
|
classes/package/class.pack.installer.php
CHANGED
@@ -144,11 +144,13 @@ class DUP_Installer
|
|
144 |
$ac->version_db = $this->Package->VersionDB;
|
145 |
$ac->version_php = $this->Package->VersionPHP;
|
146 |
$ac->version_os = $this->Package->VersionOS;
|
|
|
147 |
$ac->dbInfo = $this->Package->Database->info;
|
148 |
|
149 |
//READ-ONLY: GENERAL
|
150 |
// $ac->installer_base_name = $global->installer_base_name;
|
151 |
$ac->installer_base_name = 'installer.php';
|
|
|
152 |
$ac->package_name = "{$this->Package->NameHash}_archive.{$extension}";
|
153 |
$ac->package_hash = $this->Package->getPackageHash();
|
154 |
$ac->package_notes = $this->Package->Notes;
|
144 |
$ac->version_db = $this->Package->VersionDB;
|
145 |
$ac->version_php = $this->Package->VersionPHP;
|
146 |
$ac->version_os = $this->Package->VersionOS;
|
147 |
+
$ac->dup_type = 'lite';
|
148 |
$ac->dbInfo = $this->Package->Database->info;
|
149 |
|
150 |
//READ-ONLY: GENERAL
|
151 |
// $ac->installer_base_name = $global->installer_base_name;
|
152 |
$ac->installer_base_name = 'installer.php';
|
153 |
+
$ac->installer_backup_name = $this->Package->NameHash.'_installer-backup.php';
|
154 |
$ac->package_name = "{$this->Package->NameHash}_archive.{$extension}";
|
155 |
$ac->package_hash = $this->Package->getPackageHash();
|
156 |
$ac->package_notes = $this->Package->Notes;
|
classes/ui/class.ui.dialog.php
CHANGED
@@ -132,6 +132,10 @@ class DUP_UI_Dialog
|
|
132 |
}
|
133 |
$onClickClose .= 'tb_remove();';
|
134 |
|
|
|
|
|
|
|
|
|
135 |
$html = '
|
136 |
<div id="'.esc_attr($this->id).'" style="display:none">
|
137 |
<div class="dup-dlg-alert-txt">
|
@@ -139,7 +143,7 @@ class DUP_UI_Dialog
|
|
139 |
<br/><br/>
|
140 |
</div>
|
141 |
<div class="dup-dlg-alert-btns">
|
142 |
-
<input type="button" class="button button-large" value="'.esc_attr($this->okText).'" onclick="'.$onClickClose.'" />
|
143 |
</div>
|
144 |
</div>';
|
145 |
|
132 |
}
|
133 |
$onClickClose .= 'tb_remove();';
|
134 |
|
135 |
+
if (strlen($this->okText) == 0) {
|
136 |
+
$hideButton = "style='display:none'";
|
137 |
+
}
|
138 |
+
|
139 |
$html = '
|
140 |
<div id="'.esc_attr($this->id).'" style="display:none">
|
141 |
<div class="dup-dlg-alert-txt">
|
143 |
<br/><br/>
|
144 |
</div>
|
145 |
<div class="dup-dlg-alert-btns">
|
146 |
+
<input type="button" class="button button-large" value="'.esc_attr($this->okText).'" onclick="'.$onClickClose.'" '. $hideButton . '/>
|
147 |
</div>
|
148 |
</div>';
|
149 |
|
define.php
CHANGED
@@ -5,8 +5,8 @@ defined('ABSPATH') || defined('DUPXABSPATH') || exit;
|
|
5 |
|
6 |
if (function_exists('plugin_dir_url'))
|
7 |
{
|
8 |
-
define('DUPLICATOR_VERSION', '1.4.
|
9 |
-
define('DUPLICATOR_VERSION_BUILD', '
|
10 |
define('DUPLICATOR_PLUGIN_URL', plugin_dir_url(__FILE__));
|
11 |
define('DUPLICATOR_SITE_URL', get_site_url());
|
12 |
|
5 |
|
6 |
if (function_exists('plugin_dir_url'))
|
7 |
{
|
8 |
+
define('DUPLICATOR_VERSION', '1.4.4');
|
9 |
+
define('DUPLICATOR_VERSION_BUILD', '2022-02-01_14:00');
|
10 |
define('DUPLICATOR_PLUGIN_URL', plugin_dir_url(__FILE__));
|
11 |
define('DUPLICATOR_SITE_URL', get_site_url());
|
12 |
|
duplicator.php
CHANGED
@@ -3,9 +3,9 @@
|
|
3 |
Plugin Name: Duplicator
|
4 |
Plugin URI: https://snapcreek.com/duplicator/duplicator-free/
|
5 |
Description: Migrate and backup a copy of your WordPress files and database. Duplicate and move a site from one location to another quickly.
|
6 |
-
Version: 1.4.
|
7 |
Requires at least: 4.0
|
8 |
-
Tested up to: 5.
|
9 |
Requires PHP: 5.3.8
|
10 |
Author: Snap Creek
|
11 |
Author URI: http://www.snapcreek.com/duplicator/
|
3 |
Plugin Name: Duplicator
|
4 |
Plugin URI: https://snapcreek.com/duplicator/duplicator-free/
|
5 |
Description: Migrate and backup a copy of your WordPress files and database. Duplicate and move a site from one location to another quickly.
|
6 |
+
Version: 1.4.4
|
7 |
Requires at least: 4.0
|
8 |
+
Tested up to: 5.9
|
9 |
Requires PHP: 5.3.8
|
10 |
Author: Snap Creek
|
11 |
Author URI: http://www.snapcreek.com/duplicator/
|
installer/dup-installer/assets/inc.css.php
CHANGED
@@ -5,184 +5,185 @@
|
|
5 |
*******/
|
6 |
|
7 |
.float-right {
|
8 |
-
float:
|
9 |
}
|
10 |
|
11 |
.float-left {
|
12 |
-
float:
|
13 |
}
|
14 |
|
15 |
.clearfix:before,
|
16 |
.clearfix:after {
|
17 |
-
content:
|
18 |
/* 1 */
|
19 |
-
display:
|
20 |
/* 2 */
|
21 |
}
|
22 |
|
23 |
.clearfix:after {
|
24 |
-
clear:
|
25 |
}
|
26 |
|
27 |
.no-display {
|
28 |
-
display:
|
29 |
}
|
30 |
|
31 |
.transparent {
|
32 |
-
opacity:
|
33 |
}
|
34 |
|
35 |
.monospace {
|
36 |
-
font-family:
|
37 |
}
|
38 |
|
39 |
.red {
|
40 |
-
color
|
41 |
}
|
42 |
|
43 |
.orangered {
|
44 |
-
color:
|
45 |
}
|
46 |
|
47 |
.green {
|
48 |
-
color
|
49 |
}
|
50 |
|
51 |
.maroon {
|
52 |
-
color:
|
53 |
}
|
54 |
|
55 |
.text-center {
|
56 |
-
text-align:
|
57 |
}
|
58 |
|
59 |
.text-right {
|
60 |
-
text-align:
|
61 |
}
|
62 |
|
63 |
.display-inline {
|
64 |
-
display:
|
65 |
}
|
66 |
|
67 |
.display-inline-block {
|
68 |
-
display:
|
69 |
}
|
70 |
|
71 |
.display-block {
|
72 |
-
display:
|
73 |
}
|
74 |
|
75 |
.margin-top-0 {
|
76 |
-
margin-top:
|
77 |
}
|
78 |
|
79 |
.margin-top-1 {
|
80 |
-
margin-top:
|
81 |
}
|
82 |
|
83 |
.margin-top-2 {
|
84 |
-
margin-top:
|
85 |
}
|
86 |
|
87 |
.margin-top-3 {
|
88 |
-
margin-top:
|
89 |
}
|
90 |
|
91 |
.margin-top-4 {
|
92 |
-
margin-top:
|
93 |
}
|
94 |
|
95 |
.margin-bottom-0 {
|
96 |
-
margin-bottom:
|
97 |
}
|
98 |
|
99 |
.margin-bottom-1 {
|
100 |
-
margin-bottom:
|
101 |
}
|
102 |
|
103 |
.margin-bottom-2 {
|
104 |
-
margin-bottom:
|
105 |
}
|
106 |
|
107 |
.margin-bottom-3 {
|
108 |
-
margin-bottom:
|
109 |
}
|
110 |
|
111 |
.margin-bottom-4 {
|
112 |
-
margin-bottom:
|
113 |
}
|
114 |
|
115 |
.margin-left-0 {
|
116 |
-
margin-left:
|
117 |
}
|
118 |
|
119 |
.margin-left-1 {
|
120 |
-
margin-left:
|
121 |
}
|
122 |
|
123 |
.margin-left-2 {
|
124 |
-
margin-left:
|
125 |
}
|
126 |
|
127 |
.margin-right-0 {
|
128 |
-
margin-right:
|
129 |
}
|
130 |
|
131 |
.margin-left-1 {
|
132 |
-
margin-right:
|
133 |
}
|
134 |
|
135 |
.margin-left-2 {
|
136 |
-
margin-right:
|
137 |
}
|
138 |
|
139 |
body {
|
140 |
-
font-family:
|
141 |
-
font-size:
|
142 |
}
|
143 |
|
144 |
fieldset {
|
145 |
-
border:
|
146 |
-
border-radius:
|
147 |
-
padding:
|
148 |
}
|
149 |
|
150 |
h3 {
|
151 |
-
margin:
|
152 |
-
padding:
|
153 |
-
font-size:
|
154 |
}
|
155 |
|
156 |
a {
|
157 |
-
color
|
158 |
}
|
159 |
|
160 |
a:hover {
|
161 |
-
color:
|
162 |
}
|
163 |
|
164 |
input:not([type=checkbox]):not([type=radio]):not([type=button]),
|
165 |
select {
|
166 |
-
width:
|
167 |
-
border-radius:
|
168 |
-
border:
|
169 |
-
padding:
|
170 |
-
padding-left:
|
171 |
-
font-family:
|
172 |
-
line-height:
|
173 |
-
height:
|
174 |
-
box-sizing:
|
175 |
-
background-color:
|
176 |
-
color:
|
177 |
-
border-radius:
|
178 |
}
|
179 |
|
180 |
input[readonly]:not([type="checkbox"]):not([type="radio"]):not([type="button"]),
|
181 |
select[readonly],
|
182 |
select[readonly] option {
|
183 |
-
background-color:
|
184 |
-
color:
|
185 |
cursor: not-allowed;
|
|
|
186 |
}
|
187 |
|
188 |
input:not([type=checkbox]):not([type=radio]):not([type=button]):disabled,
|
@@ -192,9 +193,9 @@
|
|
192 |
select:disabled option:focus,
|
193 |
select:disabled option:active,
|
194 |
select:disabled option:checked {
|
195 |
-
background
|
196 |
-
color
|
197 |
-
cursor:
|
198 |
}
|
199 |
|
200 |
select:disabled,
|
@@ -203,310 +204,312 @@
|
|
203 |
select:disabled option:focus,
|
204 |
select:disabled option:active,
|
205 |
select:disabled option:checked {
|
206 |
-
text-decoration:
|
207 |
}
|
208 |
|
209 |
select[size] {
|
210 |
-
height:
|
211 |
-
line-height:
|
212 |
}
|
213 |
|
214 |
select,
|
215 |
option {
|
216 |
-
color:
|
217 |
}
|
218 |
|
219 |
select {
|
220 |
-
padding-left:
|
221 |
}
|
222 |
|
223 |
select option {
|
224 |
-
padding:
|
225 |
}
|
226 |
|
227 |
select option:disabled {
|
228 |
-
text-decoration:
|
229 |
-
cursor:
|
230 |
-
color
|
231 |
}
|
232 |
|
233 |
select:disabled {
|
234 |
-
background
|
235 |
}
|
236 |
|
237 |
input.readonly {
|
238 |
-
background-color
|
239 |
}
|
240 |
/* ============================
|
241 |
COMMON VIEWS
|
242 |
============================ */
|
243 |
|
244 |
div#content {
|
245 |
-
border:
|
246 |
-
width:
|
247 |
-
min-height:
|
248 |
-
margin:
|
249 |
-
margin-top:
|
250 |
-
border-radius:
|
251 |
-
box-shadow:
|
252 |
-
font-size:
|
253 |
}
|
254 |
|
255 |
div#content-inner {
|
256 |
-
padding:
|
257 |
-
min-height:
|
258 |
}
|
259 |
|
260 |
form.content-form {
|
261 |
-
min-height:
|
262 |
-
position:
|
263 |
-
line-height:
|
264 |
}
|
265 |
|
266 |
div.logfile-link {
|
267 |
-
float:
|
268 |
-
font-weight:
|
269 |
-
font-size:
|
270 |
-
font-style:
|
271 |
}
|
272 |
|
273 |
span.sub-notes {
|
274 |
-
font-size:
|
275 |
}
|
276 |
/* Header */
|
277 |
|
278 |
table.header-wizard {
|
279 |
-
width:
|
280 |
-
box-shadow:
|
281 |
-
background-color
|
282 |
-
font-weight:
|
283 |
}
|
284 |
|
285 |
div.dupx-logfile-link {
|
286 |
-
float:
|
287 |
-
font-weight:
|
288 |
-
font-style:
|
289 |
-
font-size:
|
290 |
-
cursor:
|
291 |
}
|
292 |
|
293 |
.wiz-dupx-version {
|
294 |
-
white-space:
|
295 |
-
color
|
296 |
-
font-size:
|
297 |
-
font-style:
|
298 |
-
text-align:
|
299 |
-
padding:
|
300 |
-
line-height:
|
301 |
-
font-weight:
|
302 |
}
|
303 |
|
304 |
.wiz-dupx-version a {
|
305 |
-
color
|
306 |
}
|
307 |
|
308 |
div.dupx-debug-hdr {
|
309 |
-
padding:
|
310 |
-
font-size:
|
311 |
-
font-weight:
|
312 |
}
|
313 |
|
314 |
div.dupx-branding-header {
|
315 |
-
font-size:
|
316 |
-
padding:
|
317 |
}
|
318 |
|
319 |
.dupx-overwrite {
|
320 |
-
color
|
321 |
}
|
322 |
|
323 |
.dupx-pass {
|
324 |
-
display:
|
325 |
-
color:
|
326 |
}
|
327 |
|
328 |
.dupx-fail {
|
329 |
-
display:
|
330 |
-
color
|
331 |
}
|
332 |
|
333 |
.dupx-warn {
|
334 |
-
display:
|
335 |
-
color
|
336 |
}
|
337 |
|
338 |
.dupx-notice {
|
339 |
-
display:
|
340 |
-
color
|
341 |
}
|
342 |
|
343 |
i[data-tooltip].fa-question-circle {
|
344 |
-
cursor:
|
345 |
-
color
|
346 |
}
|
347 |
|
348 |
div.status-badge-pass {
|
349 |
-
background-color
|
350 |
}
|
351 |
|
352 |
div.status-badge-fail {
|
353 |
-
background-color:
|
354 |
}
|
355 |
|
356 |
div.status-badge-warn {
|
357 |
-
background-color
|
358 |
}
|
359 |
|
360 |
div.status-badge-pass,
|
361 |
div.status-badge-fail,
|
362 |
div.status-badge-warn {
|
363 |
-
float:
|
364 |
-
border-radius:
|
365 |
-
color
|
366 |
-
padding:
|
367 |
-
font-size:
|
368 |
-
min-width:
|
369 |
-
text-align:
|
370 |
-
font-weight:
|
371 |
}
|
372 |
|
373 |
button.default-btn,
|
374 |
.default-btn,
|
375 |
.default-btn:hover {
|
376 |
-
cursor:
|
377 |
-
color
|
378 |
-
font-size:
|
379 |
-
border-radius:
|
380 |
-
padding:
|
381 |
-
background-color
|
382 |
-
border:
|
383 |
-
text-decoration:
|
384 |
}
|
385 |
|
386 |
button.disabled,
|
387 |
input.disabled {
|
388 |
-
background-color
|
389 |
-
color:
|
390 |
-
border:
|
391 |
}
|
392 |
|
393 |
div.log-ui-error {
|
394 |
-
padding-top:
|
395 |
-
font-size:
|
396 |
}
|
397 |
|
398 |
div#progress-area {
|
399 |
-
padding:
|
400 |
-
margin:
|
401 |
-
text-align:
|
402 |
}
|
403 |
|
404 |
div#ajaxerr-data {
|
405 |
-
padding:
|
406 |
-
height:
|
407 |
-
width:
|
408 |
-
border:
|
409 |
-
border-radius:
|
410 |
-
background-color
|
411 |
-
font-size:
|
412 |
-
overflow-y:
|
413 |
-
line-height:
|
414 |
}
|
415 |
|
416 |
div.hdr-main {
|
417 |
-
font-size:
|
418 |
-
padding:
|
419 |
-
border-bottom:
|
420 |
-
font-weight:
|
421 |
-
margin:
|
422 |
}
|
423 |
|
424 |
div.hdr-main span.step {
|
425 |
-
color
|
426 |
}
|
427 |
|
428 |
div.sub-header {
|
429 |
-
font-size:
|
430 |
-
font-style:
|
431 |
-
font-weight:
|
432 |
-
margin:
|
433 |
}
|
434 |
|
435 |
div.hdr-sub1 {
|
436 |
-
font-size:
|
437 |
-
margin-bottom:
|
438 |
-
border:
|
439 |
-
padding:
|
440 |
-
background-color
|
441 |
-
font-weight:
|
442 |
-
border-radius:
|
443 |
}
|
444 |
|
445 |
div.hdr-sub1 a {
|
446 |
-
cursor:
|
447 |
-
text-decoration:
|
448 |
}
|
449 |
|
450 |
div.hdr-sub1 i.fa {
|
451 |
-
font-size:
|
452 |
-
display:
|
453 |
-
margin:
|
454 |
-
vertical-align:
|
455 |
}
|
456 |
|
457 |
div.hdr-sub1-area {
|
458 |
-
padding:
|
459 |
}
|
460 |
|
461 |
div.hdr-sub2 {
|
462 |
-
font-size:
|
463 |
-
padding:
|
464 |
-
font-weight:
|
465 |
-
margin-bottom:
|
466 |
-
border:
|
467 |
}
|
468 |
|
469 |
div.hdr-sub3 {
|
470 |
-
font-size:
|
471 |
-
padding:
|
472 |
-
border-bottom:
|
473 |
-
font-weight:
|
474 |
-
margin-bottom:
|
475 |
}
|
476 |
|
477 |
div.hdr-sub4 {
|
478 |
-
font-size:
|
479 |
-
padding:
|
480 |
-
border:
|
481 |
;
|
482 |
-
font-weight:
|
483 |
-
background-color
|
484 |
}
|
485 |
|
486 |
div.hdr-sub4:hover {
|
487 |
-
background-color
|
488 |
-
cursor:
|
489 |
}
|
490 |
|
491 |
div.toggle-hdr:hover {
|
492 |
-
cursor:
|
493 |
-
background-color
|
494 |
-
border:
|
495 |
}
|
496 |
|
497 |
div.toggle-hdr:hover a {
|
498 |
-
color
|
499 |
}
|
500 |
|
501 |
[data-type="toggle"]>i.fa,
|
502 |
i.fa.fa-toggle-empty {
|
503 |
-
min-width:
|
504 |
}
|
505 |
|
506 |
-
div#
|
507 |
-
|
508 |
-
|
509 |
-
|
|
|
|
|
510 |
}
|
511 |
/* ============================
|
512 |
NOTICES
|
@@ -514,348 +517,352 @@
|
|
514 |
/* step messages */
|
515 |
|
516 |
#step-messages {
|
517 |
-
padding:
|
518 |
}
|
519 |
|
520 |
.notice {
|
521 |
-
background
|
522 |
-
border:
|
523 |
-
border-left:
|
524 |
-
margin:
|
525 |
-
padding:
|
526 |
-
border-radius:
|
527 |
-
font-size:
|
528 |
}
|
529 |
|
530 |
.notice-report {
|
531 |
-
border-left:
|
532 |
-
padding-left:
|
533 |
-
padding-right:
|
534 |
-
margin-bottom:
|
535 |
}
|
536 |
|
537 |
.next-step .title-separator {
|
538 |
-
margin-top:
|
539 |
-
padding-top:
|
540 |
-
border-top:
|
541 |
}
|
542 |
|
543 |
.notice .info pre {
|
544 |
-
margin:
|
545 |
-
padding:
|
546 |
-
overflow:
|
547 |
}
|
548 |
|
549 |
.notice-report .title {
|
550 |
-
padding:
|
551 |
}
|
552 |
|
553 |
.notice-report .info {
|
554 |
-
border-top:
|
555 |
-
padding:
|
556 |
-
font-size:
|
557 |
-
background
|
558 |
-
word-wrap:
|
559 |
}
|
560 |
|
561 |
.notice.l-info,
|
562 |
.notice.l-notice {
|
563 |
-
border-left-color
|
564 |
}
|
565 |
|
566 |
.notice.l-swarning {
|
567 |
-
border-left-color
|
568 |
}
|
569 |
|
570 |
.notice.l-hwarning {
|
571 |
-
border-left-color
|
572 |
}
|
573 |
|
574 |
.notice.l-critical {
|
575 |
-
border-left-color:
|
576 |
}
|
577 |
|
578 |
.notice.l-fatal {
|
579 |
-
border-left-color
|
580 |
}
|
581 |
|
582 |
.report-sections-list .section {
|
583 |
-
border:
|
584 |
-
margin-bottom:
|
585 |
-
box-shadow:
|
586 |
}
|
587 |
|
588 |
.report-sections-list .section>.section-title {
|
589 |
-
background-color
|
590 |
-
padding:
|
591 |
-
font-weight:
|
592 |
-
text-align:
|
593 |
-
font-size:
|
594 |
}
|
595 |
|
596 |
.report-sections-list .section>.section-content {
|
597 |
-
padding:
|
598 |
}
|
599 |
|
600 |
.notice-level-status {
|
601 |
-
border-radius:
|
602 |
-
padding:
|
603 |
-
margin:
|
604 |
-
font-size:
|
605 |
-
display:
|
606 |
-
color
|
607 |
-
font-weight:
|
608 |
-
min-width:
|
609 |
}
|
610 |
|
611 |
.notice-level-status.l-info,
|
612 |
.notice-level-status.l-notice {
|
613 |
-
background
|
614 |
}
|
615 |
|
616 |
.notice-level-status.l-swarning {
|
617 |
-
background
|
618 |
}
|
619 |
|
620 |
.notice-level-status.l-hwarning {
|
621 |
-
background
|
622 |
}
|
623 |
|
624 |
.notice-level-status.l-critical {
|
625 |
-
background:
|
626 |
}
|
627 |
|
628 |
.notice-level-status.l-fatal {
|
629 |
-
background
|
630 |
}
|
631 |
|
632 |
.gray-panel {
|
633 |
-
border:
|
634 |
-
margin:
|
635 |
-
padding:
|
636 |
-
background
|
637 |
-
border-radius:
|
638 |
}
|
639 |
|
640 |
.gray-panel.warn-text,
|
641 |
.gray-panel .warn-text {
|
642 |
-
font-size:
|
643 |
-
color:
|
644 |
}
|
645 |
|
646 |
.gray-panel-overwrite {
|
647 |
-
font-size:
|
648 |
-
line-height:
|
649 |
}
|
650 |
/*Adv Opts */
|
651 |
|
652 |
table.dupx-opts {
|
653 |
-
width:
|
654 |
-
border:
|
655 |
}
|
656 |
|
657 |
table.dupx-opts td {
|
658 |
-
padding:
|
659 |
}
|
660 |
|
661 |
table.dupx-opts td:first-child {
|
662 |
-
width:
|
663 |
-
font-weight:
|
664 |
}
|
665 |
|
666 |
table.dupx-advopts td:first-child {
|
667 |
-
width:
|
668 |
}
|
669 |
|
670 |
table.dupx-advopts label.radio {
|
671 |
-
width:
|
672 |
-
display:
|
673 |
}
|
674 |
|
675 |
table.dupx-advopts label {
|
676 |
-
white-space:
|
677 |
-
cursor:
|
678 |
}
|
679 |
|
680 |
table.dupx-advopts-space {
|
681 |
-
line-height:
|
682 |
}
|
683 |
|
684 |
div.error-pane {
|
685 |
-
border:
|
686 |
-
border-left:
|
687 |
-
padding:
|
688 |
-
margin:
|
689 |
}
|
690 |
|
691 |
div.dupx-ui-error {
|
692 |
-
padding-top:
|
693 |
-
font-size:
|
694 |
-
line-height:
|
695 |
}
|
696 |
|
697 |
div.footer-buttons {
|
698 |
-
position:
|
699 |
-
bottom:
|
700 |
-
padding:
|
701 |
-
right:
|
702 |
-
width:
|
703 |
-
text-align:
|
704 |
}
|
705 |
|
706 |
div.footer-buttons input:hover,
|
707 |
button:hover {
|
708 |
-
border:
|
709 |
}
|
710 |
|
711 |
div.footer-buttons input[disabled=disabled],
|
712 |
button[disabled=disabled] {
|
713 |
-
background-color
|
714 |
-
color:
|
715 |
-
border:
|
716 |
}
|
717 |
|
718 |
form#form-debug {
|
719 |
-
display:
|
720 |
-
margin:
|
721 |
-
width:
|
722 |
}
|
723 |
|
724 |
form#form-debug a {
|
725 |
-
display:
|
726 |
}
|
727 |
|
728 |
form#form-debug pre {
|
729 |
-
margin-top
|
730 |
-
display:
|
731 |
}
|
732 |
/*Dialog Info */
|
733 |
|
734 |
div.dlg-serv-info {
|
735 |
-
line-height:
|
736 |
-
font-size:
|
737 |
}
|
738 |
|
739 |
div.dlg-serv-info label {
|
740 |
-
display:
|
741 |
-
width:
|
742 |
-
font-weight:
|
743 |
}
|
744 |
|
745 |
div.dlg-serv-info div.hdr {
|
746 |
-
font-weight:
|
747 |
-
margin-top:
|
748 |
-
padding:
|
749 |
-
border-bottom:
|
750 |
-
font-size:
|
751 |
}
|
752 |
|
753 |
div.dupx-modes {
|
754 |
-
color
|
755 |
-
font-weight:
|
756 |
-
font-style:
|
757 |
-
font-size:
|
758 |
-
padding:
|
759 |
-
text-align:
|
|
|
|
|
|
|
|
|
760 |
}
|
761 |
/* ============================
|
762 |
INIT 1:SECURE PASSWORD
|
763 |
============================ */
|
764 |
|
765 |
button.pass-toggle {
|
766 |
-
height:
|
767 |
-
width:
|
768 |
-
position:
|
769 |
-
top:
|
770 |
-
right:
|
771 |
-
border:
|
772 |
-
border-radius:
|
773 |
-
padding:
|
774 |
}
|
775 |
|
776 |
button.pass-toggle i {
|
777 |
-
padding:
|
778 |
-
display:
|
779 |
-
margin
|
780 |
}
|
781 |
|
782 |
div.i1-pass-area {
|
783 |
-
width:
|
784 |
-
text-align:
|
785 |
-
max-width:
|
786 |
-
margin:
|
787 |
-
position:
|
788 |
}
|
789 |
|
790 |
div.i1-pass-data table {
|
791 |
-
width:
|
792 |
-
border-collapse:
|
793 |
-
padding:
|
794 |
}
|
795 |
|
796 |
div.i1-pass-data label {
|
797 |
-
display:
|
798 |
-
margin-bottom:
|
799 |
-
font-weight:
|
800 |
}
|
801 |
|
802 |
div.i1-pass-errmsg {
|
803 |
-
color:
|
804 |
-
font-weight:
|
805 |
}
|
806 |
|
807 |
div#i1-pass-input {
|
808 |
-
position:
|
809 |
-
margin:
|
810 |
}
|
811 |
|
812 |
input#secure-pass {
|
813 |
-
border-radius:
|
814 |
-
width:
|
815 |
}
|
816 |
|
817 |
#body-secure .param-wrapper {
|
818 |
-
display:
|
819 |
}
|
820 |
|
821 |
#body-secure .param-wrapper > label {
|
822 |
-
min-width:
|
823 |
-
font-weight:
|
824 |
-
line-height:
|
825 |
}
|
826 |
|
827 |
#body-secure .param-wrapper > *:nth-child(2) {
|
828 |
-
width:
|
829 |
}
|
830 |
|
831 |
.param-wrapper .sub-note {
|
832 |
-
display:
|
833 |
-
font-size:
|
834 |
margin-top:6px;
|
835 |
}
|
836 |
|
837 |
#body-secure .param-wrapper .sub-note {
|
838 |
-
text-align:
|
839 |
}
|
840 |
|
841 |
.box {
|
842 |
-
border:
|
843 |
-
padding:
|
844 |
-
background
|
845 |
border-radius:2px;
|
846 |
}
|
847 |
|
848 |
.box *:first-child {
|
849 |
-
margin-top:
|
850 |
}
|
851 |
|
852 |
.box *:last-child {
|
853 |
-
margin-bottom:
|
854 |
}
|
855 |
|
856 |
.box.warning {
|
857 |
-
color:
|
858 |
-
border-color:
|
859 |
}
|
860 |
#pass-quick-help-info {
|
861 |
font-size:13px;
|
@@ -876,967 +883,995 @@
|
|
876 |
============================ */
|
877 |
|
878 |
div#s1-area-setup-type label {
|
879 |
-
cursor:
|
880 |
}
|
881 |
|
882 |
div.s1-setup-type-sub {
|
883 |
-
padding:
|
884 |
-
display:
|
|
|
|
|
|
|
|
|
|
|
|
|
885 |
}
|
886 |
|
887 |
-
div#
|
888 |
-
|
|
|
889 |
}
|
890 |
|
891 |
table.s1-archive-local {
|
892 |
-
width:
|
893 |
}
|
894 |
|
895 |
table.s1-archive-local td {
|
896 |
-
padding:
|
897 |
}
|
898 |
|
899 |
table.s1-archive-local td:first-child {
|
900 |
-
font-weight:
|
901 |
-
width:
|
902 |
}
|
903 |
|
904 |
div.s1-archive-failed-msg {
|
905 |
-
padding:
|
906 |
-
border:
|
907 |
-
font-size:
|
908 |
-
border-radius:
|
909 |
}
|
910 |
|
911 |
div.s1-err-msg {
|
912 |
-
padding:
|
913 |
-
line-height:
|
914 |
}
|
915 |
|
916 |
div.s1-err-msg i {
|
917 |
-
color:
|
918 |
}
|
919 |
|
920 |
.maroon {
|
921 |
-
color:
|
922 |
}
|
923 |
|
924 |
.green {
|
925 |
-
color:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
926 |
}
|
927 |
|
928 |
div#s1-area-sys-setup div.info-top {
|
929 |
-
text-align:
|
930 |
-
font-style:
|
931 |
-
font-size:
|
932 |
-
padding:
|
933 |
}
|
934 |
|
935 |
table.s1-checks-area {
|
936 |
-
width:
|
937 |
-
margin:
|
938 |
-
padding:
|
939 |
}
|
940 |
|
941 |
table.s1-checks-area td.title {
|
942 |
-
font-size:
|
943 |
-
width:
|
944 |
}
|
945 |
|
946 |
table.s1-checks-area td.title small {
|
947 |
-
font-size:
|
948 |
-
font-weight:
|
949 |
}
|
950 |
|
951 |
table.s1-checks-area td.toggle {
|
952 |
-
font-size:
|
953 |
-
margin-right:
|
954 |
-
font-weight:
|
955 |
}
|
956 |
|
957 |
div.s1-reqs {
|
958 |
-
background-color
|
959 |
-
border:
|
960 |
-
border-radius:
|
961 |
-
padding-bottom:
|
962 |
}
|
963 |
|
964 |
div.s1-reqs div.header {
|
965 |
-
background-color
|
966 |
-
color
|
967 |
-
border-bottom:
|
968 |
-
padding:
|
969 |
-
font-weight:
|
970 |
}
|
971 |
|
972 |
div.s1-reqs div.status {
|
973 |
-
float:
|
974 |
-
border-radius:
|
975 |
-
color
|
976 |
-
padding:
|
977 |
-
margin:
|
978 |
-
font-size:
|
979 |
-
min-width:
|
980 |
-
text-align:
|
981 |
}
|
982 |
|
983 |
div.s1-reqs div.pass {
|
984 |
-
background-color:
|
985 |
}
|
986 |
|
987 |
div.s1-reqs div.fail {
|
988 |
-
background-color:
|
989 |
}
|
990 |
|
991 |
div.s1-reqs div.title {
|
992 |
-
padding:
|
993 |
-
font-size:
|
994 |
}
|
995 |
|
996 |
div.s1-reqs div.title:hover {
|
997 |
-
background-color
|
998 |
-
cursor:
|
999 |
}
|
1000 |
|
1001 |
div.s1-reqs div.info {
|
1002 |
-
padding:
|
1003 |
-
background-color
|
1004 |
-
display:
|
1005 |
-
line-height:
|
1006 |
-
font-size:
|
1007 |
}
|
1008 |
|
1009 |
div.s1-reqs div.info a {
|
1010 |
-
color
|
1011 |
}
|
1012 |
|
1013 |
#archive_engine,
|
1014 |
#archive_action_input {
|
1015 |
-
|
1016 |
-
cursor: pointer
|
1017 |
}
|
1018 |
|
1019 |
.info>*:first-child {
|
1020 |
-
margin-top:
|
1021 |
}
|
1022 |
|
1023 |
.info>*:last-child {
|
1024 |
-
margin-bottom:
|
1025 |
}
|
1026 |
/*Terms and Notices*/
|
1027 |
|
1028 |
div#s1-warning-check label {
|
1029 |
-
cursor:
|
1030 |
}
|
1031 |
|
1032 |
div#s1-warning-msg {
|
1033 |
-
padding:
|
1034 |
-
font-size:
|
1035 |
-
color
|
1036 |
-
line-height:
|
1037 |
-
font-style:
|
1038 |
-
overflow-y:
|
1039 |
-
height:
|
1040 |
-
border:
|
1041 |
-
background
|
1042 |
-
border-radius:
|
1043 |
}
|
1044 |
|
1045 |
div#s1-warning-check {
|
1046 |
-
padding:
|
1047 |
-
font-size:
|
1048 |
-
font-weight:
|
1049 |
}
|
1050 |
|
1051 |
.s1-warning-check [type=checkbox] {
|
1052 |
-
height:
|
1053 |
-
width:
|
|
|
|
|
|
|
|
|
|
|
|
|
1054 |
}
|
|
|
1055 |
/* ============================
|
1056 |
STEP 2 VIEW
|
1057 |
============================ */
|
1058 |
|
1059 |
div.s2-opts label {
|
1060 |
-
cursor:
|
1061 |
}
|
1062 |
|
1063 |
textarea#debug-dbtest-json {
|
1064 |
-
width:
|
1065 |
-
height:
|
1066 |
}
|
1067 |
|
1068 |
div.php-chuncking-warning {
|
1069 |
-
font-style:
|
1070 |
-
font-size:
|
1071 |
-
color:
|
1072 |
-
white-space:
|
1073 |
-
line-height:
|
1074 |
-
padding-left:
|
1075 |
}
|
1076 |
/*Toggle Buttons */
|
1077 |
|
1078 |
div.s2-btngrp {
|
1079 |
-
text-align:
|
1080 |
-
margin:
|
1081 |
}
|
1082 |
|
1083 |
div.s2-btngrp input[type=button] {
|
1084 |
-
font-size:
|
1085 |
-
padding:
|
1086 |
-
width:
|
1087 |
-
border:
|
1088 |
-
cursor:
|
1089 |
}
|
1090 |
|
1091 |
div.s2-btngrp input[type=button]:first-child {
|
1092 |
-
border-radius:
|
1093 |
-
margin-right
|
1094 |
}
|
1095 |
|
1096 |
div.s2-btngrp input[type=button]:last-child {
|
1097 |
-
border-radius:
|
1098 |
-
margin-left
|
1099 |
}
|
1100 |
|
1101 |
div.s2-btngrp input[type=button].active {
|
1102 |
-
background-color
|
1103 |
-
color
|
1104 |
}
|
1105 |
|
1106 |
div.s2-btngrp input[type=button].in-active {
|
1107 |
-
background-color
|
1108 |
}
|
1109 |
|
1110 |
div.s2-btngrp input[type=button]:hover {
|
1111 |
-
border:
|
1112 |
}
|
1113 |
/*Basic DB */
|
1114 |
|
1115 |
select#dbname-select {
|
1116 |
-
width:
|
1117 |
-
border-radius:
|
1118 |
-
height:
|
1119 |
-
font-size:
|
1120 |
-
border:
|
1121 |
}
|
1122 |
|
1123 |
div#s2-dbrefresh-basic {
|
1124 |
-
float:
|
1125 |
-
font-size:
|
1126 |
-
display:
|
1127 |
-
font-weight:
|
1128 |
-
margin:
|
1129 |
}
|
1130 |
|
1131 |
div#s2-db-basic-overwrite div.warn-text {
|
1132 |
-
padding:
|
1133 |
}
|
1134 |
|
1135 |
div#s2-db-basic-overwrite div.btn-area {
|
1136 |
-
text-align:
|
1137 |
-
margin:
|
1138 |
-
}
|
1139 |
-
|
1140 |
-
div.s2-db-basic-title {
|
1141 |
-
margin: 4px;
|
1142 |
-
padding: 2px 0 2px 0;
|
1143 |
-
font-weight: bold;
|
1144 |
-
border-bottom: 1px solid silver
|
1145 |
}
|
1146 |
|
1147 |
input.overwrite-btn {
|
1148 |
-
cursor:
|
1149 |
-
color
|
1150 |
-
font-size:
|
1151 |
-
border-radius:
|
1152 |
-
padding:
|
1153 |
-
background-color
|
1154 |
-
border:
|
1155 |
}
|
1156 |
/*cPanel DB */
|
1157 |
|
1158 |
div.s2-cpnl-pane {
|
1159 |
-
margin-top:
|
1160 |
}
|
1161 |
|
1162 |
div.s2-gopro {
|
1163 |
-
color:
|
1164 |
-
margin-top:
|
1165 |
-
padding:
|
1166 |
-
border:
|
1167 |
-
background-color
|
1168 |
-
border-radius:
|
1169 |
}
|
1170 |
|
1171 |
div.s2-gopro h2 {
|
1172 |
-
text-align:
|
1173 |
-
margin:
|
1174 |
}
|
1175 |
|
1176 |
div.s2-gopro small {
|
1177 |
-
font-style:
|
1178 |
}
|
1179 |
|
1180 |
div.s2-cpanel-login {
|
1181 |
-
padding:
|
1182 |
-
color
|
1183 |
-
text-align:
|
1184 |
-
margin:
|
1185 |
-
border:
|
1186 |
-
border-radius:
|
1187 |
-
background-color
|
1188 |
-
font-size:
|
1189 |
-
line-height:
|
1190 |
}
|
1191 |
|
1192 |
div.s2-cpanel-off {
|
1193 |
-
padding:
|
1194 |
-
color
|
1195 |
-
text-align:
|
1196 |
-
margin:
|
1197 |
-
border:
|
1198 |
-
border-radius:
|
1199 |
-
background-color
|
1200 |
-
font-size:
|
1201 |
-
line-height:
|
1202 |
}
|
1203 |
|
1204 |
div.s2-cpnl-panel-no-support {
|
1205 |
-
text-align:
|
1206 |
-
font-size:
|
1207 |
-
font-weight:
|
1208 |
-
line-height:
|
1209 |
-
margin-top:
|
1210 |
}
|
1211 |
/*DATABASE CHECKS */
|
1212 |
|
|
|
|
|
|
|
1213 |
div.s2-dbtest-area {
|
1214 |
-
margin:
|
1215 |
-
margin:
|
1216 |
-
min-height:
|
1217 |
}
|
1218 |
|
1219 |
div.s2-dbtest-area input[type=button] {
|
1220 |
-
font-size:
|
1221 |
-
height:
|
1222 |
-
border:
|
1223 |
-
border-radius:
|
1224 |
-
cursor:
|
1225 |
}
|
1226 |
|
1227 |
div.s2-dbtest-area small.db-check {
|
1228 |
-
color
|
1229 |
-
text-align:
|
1230 |
-
padding:
|
1231 |
-
font-size:
|
1232 |
-
font-weight:
|
1233 |
}
|
1234 |
|
|
|
1235 |
div.s2-dbtest-area div.message {
|
1236 |
-
padding: 10px 10px 10px
|
1237 |
-
margin:
|
1238 |
-
text-align:
|
1239 |
-
font-
|
1240 |
-
|
1241 |
-
|
1242 |
-
width: 100%;
|
1243 |
}
|
1244 |
|
1245 |
div.s2-dbtest-area div.sub-message {
|
1246 |
-
padding: 5px;
|
1247 |
-
text-align:
|
1248 |
-
font-style:
|
1249 |
-
color:
|
1250 |
}
|
1251 |
|
1252 |
div.s2-dbtest-area div.error-msg {
|
1253 |
-
color:
|
1254 |
}
|
1255 |
|
1256 |
div.s2-dbtest-area div.success-msg {
|
1257 |
-
color:
|
1258 |
}
|
1259 |
|
1260 |
div.s2-dbtest-area pre {
|
1261 |
-
font-family:
|
1262 |
-
font-size:
|
1263 |
-
margin:
|
1264 |
-
white-space:
|
1265 |
}
|
1266 |
|
1267 |
div.s2-reqs-hdr {
|
1268 |
-
border-radius:
|
1269 |
-
border-bottom:
|
1270 |
}
|
1271 |
|
1272 |
div.s2-notices-hdr {
|
1273 |
-
border-radius:
|
1274 |
-
border-bottom:
|
1275 |
}
|
1276 |
|
1277 |
div#s2-reqs-all {
|
1278 |
-
display:
|
1279 |
}
|
1280 |
|
1281 |
div#s2-notices-all {
|
1282 |
-
display:
|
1283 |
}
|
1284 |
|
1285 |
div.s2-reqs {
|
1286 |
-
background-color
|
1287 |
-
border:
|
1288 |
-
border-top:
|
1289 |
}
|
1290 |
|
1291 |
div.s2-reqs div.status {
|
1292 |
-
float:
|
1293 |
-
border-radius:
|
1294 |
-
color
|
1295 |
-
padding:
|
1296 |
-
margin:
|
1297 |
-
font-size:
|
1298 |
-
min-width:
|
1299 |
-
text-align:
|
1300 |
}
|
1301 |
|
1302 |
div.s2-reqs div.title {
|
1303 |
-
padding:
|
1304 |
-
font-size:
|
1305 |
-
background-color
|
1306 |
-
border-top:
|
1307 |
}
|
1308 |
|
1309 |
div.s2-reqs div.title:hover {
|
1310 |
-
background-color
|
1311 |
-
cursor:
|
1312 |
}
|
1313 |
|
1314 |
div.s2-reqs div.info {
|
1315 |
-
padding:
|
1316 |
;
|
1317 |
-
background-color
|
1318 |
-
display:
|
1319 |
-
line-height:
|
1320 |
-
font-size:
|
1321 |
}
|
1322 |
|
1323 |
div.s2-reqs div.info a {
|
1324 |
-
color
|
1325 |
}
|
1326 |
|
1327 |
div.s2-reqs div.info ul {
|
1328 |
-
padding-left:
|
1329 |
}
|
1330 |
|
1331 |
div.s2-reqs div.info ul li {
|
1332 |
-
padding:
|
1333 |
}
|
1334 |
|
1335 |
div.s2-reqs div.info ul.vids {
|
1336 |
-
list-style-type:
|
1337 |
}
|
1338 |
|
1339 |
div.s2-reqs div.sub-title {
|
1340 |
-
border-bottom:
|
1341 |
-
font-weight:
|
1342 |
-
margin:
|
1343 |
}
|
1344 |
|
1345 |
div.s2-reqs10 table {
|
1346 |
-
margin-top:
|
1347 |
}
|
1348 |
|
1349 |
div.s2-reqs10 table td {
|
1350 |
-
padding:
|
1351 |
}
|
1352 |
|
1353 |
div.s2-reqs10 table td:first-child {
|
1354 |
-
font-weight:
|
1355 |
-
padding-right:
|
1356 |
}
|
1357 |
|
1358 |
div.s2-reqs40 div.db-list {
|
1359 |
-
height:
|
1360 |
-
width:
|
1361 |
-
overflow-y:
|
1362 |
-
padding:
|
1363 |
-
border:
|
1364 |
}
|
1365 |
|
1366 |
div.s2-reqs60 div.tbl-list {
|
1367 |
-
padding:
|
1368 |
-
border:
|
1369 |
}
|
1370 |
|
1371 |
div.s2-reqs60 div.tbl-list b {
|
1372 |
-
display:
|
1373 |
-
width:
|
1374 |
}
|
1375 |
|
1376 |
div.s2-notice20 table.collation-list table {
|
1377 |
-
padding:
|
1378 |
}
|
1379 |
|
1380 |
div.s2-notice20 table.collation-list td:first-child {
|
1381 |
-
font-weight:
|
1382 |
-
padding-right:
|
1383 |
}
|
1384 |
|
1385 |
textarea[readonly] {
|
1386 |
-
background-color
|
1387 |
}
|
1388 |
|
1389 |
.copy-to-clipboard-block textarea {
|
1390 |
-
width:
|
1391 |
-
height:
|
1392 |
}
|
1393 |
|
1394 |
.copy-to-clipboard-block button,
|
1395 |
.copy-to-clipboard-block button:hover {
|
1396 |
-
font-size:
|
1397 |
-
padding:
|
1398 |
-
margin-bottom:
|
1399 |
}
|
1400 |
/*Warning Area and Message */
|
1401 |
|
1402 |
div.s2-warning-emptydb {
|
1403 |
-
color:
|
1404 |
-
margin:
|
1405 |
-
font-size:
|
1406 |
-
display:
|
1407 |
-
white-space:
|
1408 |
-
width:
|
1409 |
}
|
1410 |
|
1411 |
div.s2-warning-manualdb {
|
1412 |
-
color
|
1413 |
-
margin:
|
1414 |
-
font-size:
|
1415 |
-
display:
|
1416 |
-
white-space:
|
1417 |
-
width:
|
1418 |
}
|
1419 |
|
1420 |
div.s2-warning-renamedb {
|
1421 |
-
color
|
1422 |
-
margin:
|
1423 |
-
font-size:
|
1424 |
-
display:
|
1425 |
-
white-space:
|
1426 |
-
width:
|
1427 |
}
|
1428 |
|
1429 |
div#s2-tryagain {
|
1430 |
-
padding-top:
|
1431 |
-
text-align:
|
1432 |
-
width:
|
1433 |
-
font-size:
|
1434 |
-
color
|
1435 |
-
font-weight:
|
1436 |
}
|
1437 |
/* ============================
|
1438 |
STEP 3 VIEW
|
1439 |
============================ */
|
1440 |
|
1441 |
table.s3-opts {
|
1442 |
-
width:
|
1443 |
-
border:
|
1444 |
}
|
1445 |
|
1446 |
table.s3-opts i.fa {
|
1447 |
-
font-size:
|
1448 |
}
|
1449 |
|
1450 |
table.s3-opts td {
|
1451 |
-
white-space:
|
1452 |
-
padding:
|
1453 |
}
|
1454 |
|
1455 |
table.s3-opts td:first-child {
|
1456 |
-
width:
|
1457 |
-
font-weight:
|
1458 |
}
|
1459 |
|
1460 |
div#s3-adv-opts {
|
1461 |
-
margin-top:
|
1462 |
}
|
1463 |
|
1464 |
div.s3-allnonelinks {
|
1465 |
-
font-size:
|
1466 |
-
float:
|
1467 |
}
|
1468 |
|
1469 |
div.s3-manaual-msg {
|
1470 |
-
font-style:
|
1471 |
-
margin
|
1472 |
}
|
1473 |
|
1474 |
small.s3-warn {
|
1475 |
-
color:
|
1476 |
-
font-style:
|
1477 |
}
|
1478 |
/* ============================
|
1479 |
STEP 4 VIEW
|
1480 |
============================ */
|
1481 |
|
1482 |
div.s4-final-msg {
|
1483 |
-
height:
|
1484 |
-
border:
|
1485 |
-
padding:
|
1486 |
-
font-size:
|
1487 |
-
border-radius:
|
1488 |
-
box-shadow:
|
1489 |
}
|
1490 |
|
1491 |
div.s4-final-title {
|
1492 |
-
color
|
1493 |
-
font-size:
|
1494 |
}
|
1495 |
|
1496 |
div.s4-connect {
|
1497 |
-
font-size:
|
1498 |
-
text-align:
|
1499 |
-
font-style:
|
1500 |
-
position:
|
1501 |
-
bottom:
|
1502 |
-
padding:
|
1503 |
-
width:
|
1504 |
-
margin-top:
|
1505 |
}
|
1506 |
|
1507 |
table.s4-report-results,
|
1508 |
table.s4-report-errs {
|
1509 |
-
border-collapse:
|
1510 |
-
box-shadow:
|
1511 |
}
|
1512 |
|
1513 |
table.s4-report-errs td {
|
1514 |
-
text-align:
|
1515 |
-
width:
|
1516 |
}
|
1517 |
|
1518 |
table.s4-report-results th,
|
1519 |
table.s4-report-errs th {
|
1520 |
-
background-color
|
1521 |
-
padding:
|
1522 |
-
font-size:
|
1523 |
}
|
1524 |
|
1525 |
table.s4-report-results td,
|
1526 |
table.s4-report-errs td {
|
1527 |
-
padding:
|
1528 |
-
white-space:
|
1529 |
-
border:
|
1530 |
-
text-align:
|
1531 |
-
font-size:
|
1532 |
}
|
1533 |
|
1534 |
table.s4-report-results td:first-child {
|
1535 |
-
text-align:
|
1536 |
-
font-weight:
|
1537 |
-
padding-left:
|
1538 |
}
|
1539 |
|
1540 |
div.s4-err-title {
|
1541 |
-
background-color
|
1542 |
-
font-weight:
|
1543 |
-
margin
|
1544 |
-
padding:
|
1545 |
-
border-radius:
|
1546 |
-
font-size:
|
1547 |
}
|
1548 |
|
1549 |
div.s4-err-msg {
|
1550 |
-
padding:
|
1551 |
-
display:
|
1552 |
-
border:
|
1553 |
-
margin:
|
1554 |
-
border-radius:
|
1555 |
}
|
1556 |
|
1557 |
div.s4-err-msg div.content {
|
1558 |
-
padding:
|
1559 |
-
font-size:
|
1560 |
-
line-height:
|
1561 |
-
max-height:
|
1562 |
-
overflow-y:
|
1563 |
-
border:
|
1564 |
-
margin:
|
1565 |
}
|
1566 |
|
1567 |
div.s4-err-msg div.info-error {
|
1568 |
-
padding:
|
1569 |
-
background-color
|
1570 |
-
border:
|
1571 |
-
border-radius:
|
1572 |
-
font-size:
|
1573 |
-
line-height:
|
1574 |
}
|
1575 |
|
1576 |
div.s4-err-msg div.info-notice {
|
1577 |
-
padding:
|
1578 |
-
background-color
|
1579 |
-
border:
|
1580 |
-
border-radius:
|
1581 |
-
font-size:
|
1582 |
-
line-height:
|
1583 |
}
|
1584 |
|
1585 |
table.s4-final-step {
|
1586 |
-
width:
|
1587 |
}
|
1588 |
|
1589 |
table.s4-final-step td {
|
1590 |
-
padding:
|
1591 |
-
font-size:
|
1592 |
}
|
1593 |
|
1594 |
table.s4-final-step td:first-child {
|
1595 |
-
white-space:
|
1596 |
-
width:
|
1597 |
}
|
1598 |
|
1599 |
div.s4-go-back {
|
1600 |
-
border-top:
|
1601 |
-
margin:
|
1602 |
-
font-size:
|
1603 |
-
color
|
1604 |
-
padding-top:
|
1605 |
}
|
1606 |
|
1607 |
div.s4-go-back ul {
|
1608 |
-
line-height:
|
1609 |
}
|
1610 |
|
1611 |
button.s4-final-btns {
|
1612 |
cursor: pointer;
|
1613 |
color: #fff;
|
1614 |
-
font-size:
|
1615 |
-
border-radius:
|
1616 |
-
padding:
|
1617 |
background-color: #13659C;
|
1618 |
border: 1px solid gray;
|
1619 |
-
width:
|
1620 |
}
|
1621 |
|
1622 |
button.s4-final-btns:hover {
|
1623 |
-
background-color
|
1624 |
}
|
1625 |
|
1626 |
div.s4-gopro-btn {
|
1627 |
-
text-align:
|
1628 |
-
font-size:
|
1629 |
-
margin:
|
1630 |
-
width:
|
1631 |
-
font-style:
|
1632 |
-
font-weight:
|
1633 |
}
|
1634 |
|
1635 |
div.s4-gopro-btn a {
|
1636 |
-
color:
|
1637 |
}
|
1638 |
|
1639 |
-
div.s4-
|
1640 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
1641 |
}
|
1642 |
-
|
1643 |
pre.s4-diff-viewer {
|
1644 |
-
line-height:
|
1645 |
}
|
1646 |
|
1647 |
div#s4-notice-reports div.section-content div.title {
|
1648 |
-
cursor:
|
1649 |
}
|
1650 |
/* ============================
|
1651 |
STEP 5 HELP
|
1652 |
============================ */
|
1653 |
|
1654 |
#body-help div#content {
|
1655 |
-
width:
|
1656 |
-
max-width:
|
1657 |
}
|
1658 |
|
1659 |
div.help-target {
|
1660 |
-
float:
|
1661 |
}
|
1662 |
|
1663 |
div.help-target a {
|
1664 |
-
float:
|
1665 |
-
font-size:
|
1666 |
-
color
|
1667 |
}
|
1668 |
|
1669 |
div#main-help sup {
|
1670 |
-
font-size:
|
1671 |
-
font-weight:
|
1672 |
-
font-style:
|
1673 |
-
color:
|
1674 |
}
|
1675 |
|
1676 |
div.help-online {
|
1677 |
-
text-align:
|
1678 |
-
font-size:
|
1679 |
-
padding:
|
1680 |
-
line-height:
|
1681 |
}
|
1682 |
|
1683 |
div.help {
|
1684 |
-
color
|
1685 |
-
font-style:
|
1686 |
-
font-size:
|
1687 |
-
padding:
|
1688 |
-
border-top:
|
1689 |
}
|
1690 |
|
1691 |
div.help-page fieldset {
|
1692 |
-
margin-bottom:
|
1693 |
}
|
1694 |
|
1695 |
div#main-help {
|
1696 |
-
font-size:
|
1697 |
-
line-height:
|
1698 |
}
|
1699 |
|
1700 |
div#main-help h3 {
|
1701 |
-
border-bottom:
|
1702 |
-
padding:
|
1703 |
-
margin:
|
1704 |
-
font-size:
|
1705 |
}
|
1706 |
|
1707 |
div#main-help span.step {
|
1708 |
-
color
|
1709 |
}
|
1710 |
|
1711 |
.help-opt {
|
1712 |
-
width:
|
1713 |
-
border:
|
1714 |
-
border-collapse:
|
1715 |
-
margin:
|
1716 |
}
|
1717 |
|
1718 |
.help-opt .col-opt {
|
1719 |
-
width:
|
1720 |
}
|
1721 |
|
1722 |
.help-opt td.section {
|
1723 |
-
background-color
|
1724 |
}
|
1725 |
|
1726 |
.help-opt td,
|
1727 |
.help-opt th {
|
1728 |
-
padding:
|
1729 |
-
border:
|
1730 |
}
|
1731 |
|
1732 |
.help-opt td:first-child {
|
1733 |
-
font-weight:
|
1734 |
-
padding-right:
|
1735 |
-
white-space:
|
1736 |
}
|
1737 |
|
1738 |
.help-opt th {
|
1739 |
-
background
|
1740 |
-
color
|
1741 |
-
border:
|
1742 |
}
|
1743 |
|
1744 |
#main-help section {
|
1745 |
-
border:
|
1746 |
-
margin-top:
|
1747 |
-
border-radius:
|
1748 |
-
overflow:
|
1749 |
}
|
1750 |
|
1751 |
#main-help section h2.header {
|
1752 |
-
background-color
|
1753 |
-
padding:
|
1754 |
-
margin:
|
1755 |
-
font-size:
|
1756 |
}
|
1757 |
|
1758 |
#main-help section .content {
|
1759 |
-
padding:
|
1760 |
}
|
1761 |
/* ============================
|
1762 |
Expandable section
|
1763 |
============================ */
|
1764 |
|
1765 |
.expandable.close .expand-header {
|
1766 |
-
cursor:
|
1767 |
}
|
1768 |
|
1769 |
.expandable.open .expand-header {
|
1770 |
-
cursor:
|
1771 |
}
|
1772 |
|
1773 |
.expandable .expand-header::before {
|
1774 |
-
font-family:
|
1775 |
-
margin-right:
|
1776 |
}
|
1777 |
|
1778 |
.expandable.close .expand-header::before {
|
1779 |
-
content:
|
1780 |
}
|
1781 |
|
1782 |
.expandable.open .expand-header::before {
|
1783 |
-
content:
|
1784 |
}
|
1785 |
|
1786 |
.expandable.close .content {
|
1787 |
-
display:
|
1788 |
}
|
1789 |
|
1790 |
.expandable.open .content {
|
1791 |
-
display:
|
1792 |
}
|
1793 |
/* ============================
|
1794 |
VIEW EXCEPTION
|
1795 |
============================ */
|
1796 |
|
1797 |
.exception-trace {
|
1798 |
-
overflow:
|
1799 |
-
border:
|
1800 |
-
padding:
|
1801 |
-
margin:
|
1802 |
}
|
1803 |
/*!
|
1804 |
* password indicator
|
1805 |
*/
|
1806 |
|
1807 |
.top_testresult {
|
1808 |
-
font-weight:
|
1809 |
-
font-size:
|
1810 |
-
color
|
1811 |
-
display:
|
1812 |
-
position:
|
1813 |
-
top:
|
1814 |
-
right:
|
1815 |
-
text-align:
|
1816 |
-
padding-right:
|
1817 |
-
box-sizing:
|
1818 |
-
width:
|
1819 |
-
height:
|
1820 |
-
line-height:
|
1821 |
}
|
1822 |
|
1823 |
.top_shortPass,
|
1824 |
.top_badPass {
|
1825 |
-
background
|
1826 |
-
background:
|
1827 |
-
display:
|
1828 |
}
|
1829 |
|
1830 |
.top_goodPass {
|
1831 |
-
background
|
1832 |
-
background:
|
1833 |
-
display:
|
1834 |
}
|
1835 |
|
1836 |
.top_strongPass {
|
1837 |
-
background
|
1838 |
-
background:
|
1839 |
-
display:
|
1840 |
}
|
1841 |
/*================================================
|
1842 |
LIB OVERIDES*/
|
@@ -1844,27 +1879,27 @@
|
|
1844 |
input.parsley-error,
|
1845 |
textarea.parsley-error,
|
1846 |
select.parsley-error {
|
1847 |
-
color
|
1848 |
-
background-color
|
1849 |
-
border:
|
1850 |
}
|
1851 |
|
1852 |
ul.parsley-errors-list {
|
1853 |
-
margin:
|
1854 |
-
list-style-type:
|
1855 |
-
font-size:
|
1856 |
}
|
1857 |
|
1858 |
.ui-widget {
|
1859 |
-
font-size:
|
1860 |
}
|
1861 |
|
1862 |
-
<?php if (DUPX_Log::isLevel(DUPX_Log::LV_DEBUG))
|
1863 |
.dupx-debug {display:block; margin:0 0 25px 0; font-size:11px; background-color:#f5dbda; padding:8px; border:1px solid silver; border-radius:2px}
|
1864 |
.dupx-debug label {font-weight:bold; display:block; margin:4px 0 1px 0}
|
1865 |
.dupx-debug textarea {width:95%; height:100px; font-size:11px}
|
1866 |
.dupx-debug input {font-size:11px; padding:3px}
|
1867 |
-
<?php else
|
1868 |
.dupx-debug {display:none}
|
1869 |
<?php endif; ?>
|
1870 |
|
5 |
*******/
|
6 |
|
7 |
.float-right {
|
8 |
+
float:right;
|
9 |
}
|
10 |
|
11 |
.float-left {
|
12 |
+
float:left;
|
13 |
}
|
14 |
|
15 |
.clearfix:before,
|
16 |
.clearfix:after {
|
17 |
+
content:" ";
|
18 |
/* 1 */
|
19 |
+
display:table;
|
20 |
/* 2 */
|
21 |
}
|
22 |
|
23 |
.clearfix:after {
|
24 |
+
clear:both;
|
25 |
}
|
26 |
|
27 |
.no-display {
|
28 |
+
display:none;
|
29 |
}
|
30 |
|
31 |
.transparent {
|
32 |
+
opacity:0;
|
33 |
}
|
34 |
|
35 |
.monospace {
|
36 |
+
font-family:monospace;
|
37 |
}
|
38 |
|
39 |
.red {
|
40 |
+
color:#AF0000;
|
41 |
}
|
42 |
|
43 |
.orangered {
|
44 |
+
color:orangered;
|
45 |
}
|
46 |
|
47 |
.green {
|
48 |
+
color:#008000;
|
49 |
}
|
50 |
|
51 |
.maroon {
|
52 |
+
color:maroon;
|
53 |
}
|
54 |
|
55 |
.text-center {
|
56 |
+
text-align:center;
|
57 |
}
|
58 |
|
59 |
.text-right {
|
60 |
+
text-align:right;
|
61 |
}
|
62 |
|
63 |
.display-inline {
|
64 |
+
display:inline;
|
65 |
}
|
66 |
|
67 |
.display-inline-block {
|
68 |
+
display:inline-block;
|
69 |
}
|
70 |
|
71 |
.display-block {
|
72 |
+
display:block;
|
73 |
}
|
74 |
|
75 |
.margin-top-0 {
|
76 |
+
margin-top:0;
|
77 |
}
|
78 |
|
79 |
.margin-top-1 {
|
80 |
+
margin-top:20px;
|
81 |
}
|
82 |
|
83 |
.margin-top-2 {
|
84 |
+
margin-top:40px;
|
85 |
}
|
86 |
|
87 |
.margin-top-3 {
|
88 |
+
margin-top:60px;
|
89 |
}
|
90 |
|
91 |
.margin-top-4 {
|
92 |
+
margin-top:80px;
|
93 |
}
|
94 |
|
95 |
.margin-bottom-0 {
|
96 |
+
margin-bottom:0;
|
97 |
}
|
98 |
|
99 |
.margin-bottom-1 {
|
100 |
+
margin-bottom:20px;
|
101 |
}
|
102 |
|
103 |
.margin-bottom-2 {
|
104 |
+
margin-bottom:40px;
|
105 |
}
|
106 |
|
107 |
.margin-bottom-3 {
|
108 |
+
margin-bottom:60px;
|
109 |
}
|
110 |
|
111 |
.margin-bottom-4 {
|
112 |
+
margin-bottom:80px;
|
113 |
}
|
114 |
|
115 |
.margin-left-0 {
|
116 |
+
margin-left:0;
|
117 |
}
|
118 |
|
119 |
.margin-left-1 {
|
120 |
+
margin-left:20px;
|
121 |
}
|
122 |
|
123 |
.margin-left-2 {
|
124 |
+
margin-left:40px;
|
125 |
}
|
126 |
|
127 |
.margin-right-0 {
|
128 |
+
margin-right:0;
|
129 |
}
|
130 |
|
131 |
.margin-left-1 {
|
132 |
+
margin-right:20px;
|
133 |
}
|
134 |
|
135 |
.margin-left-2 {
|
136 |
+
margin-right:40px;
|
137 |
}
|
138 |
|
139 |
body {
|
140 |
+
font-family:Verdana, Arial, sans-serif;
|
141 |
+
font-size:13px
|
142 |
}
|
143 |
|
144 |
fieldset {
|
145 |
+
border:1px solid silver;
|
146 |
+
border-radius:3px;
|
147 |
+
padding:10px
|
148 |
}
|
149 |
|
150 |
h3 {
|
151 |
+
margin:1px;
|
152 |
+
padding:1px;
|
153 |
+
font-size:13px;
|
154 |
}
|
155 |
|
156 |
a {
|
157 |
+
color:#222
|
158 |
}
|
159 |
|
160 |
a:hover {
|
161 |
+
color:gray
|
162 |
}
|
163 |
|
164 |
input:not([type=checkbox]):not([type=radio]):not([type=button]),
|
165 |
select {
|
166 |
+
width:100%;
|
167 |
+
border-radius:2px;
|
168 |
+
border:1px solid silver;
|
169 |
+
padding:4px;
|
170 |
+
padding-left:4px;
|
171 |
+
font-family:Verdana, Arial, sans-serif;
|
172 |
+
line-height:20px;
|
173 |
+
height:30px;
|
174 |
+
box-sizing:border-box;
|
175 |
+
background-color:white;
|
176 |
+
color:black;
|
177 |
+
border-radius:4px;
|
178 |
}
|
179 |
|
180 |
input[readonly]:not([type="checkbox"]):not([type="radio"]):not([type="button"]),
|
181 |
select[readonly],
|
182 |
select[readonly] option {
|
183 |
+
background-color: #f0f0f0;
|
184 |
+
color: #0c0c0c;
|
185 |
cursor: not-allowed;
|
186 |
+
border: 1px solid silver !important;
|
187 |
}
|
188 |
|
189 |
input:not([type=checkbox]):not([type=radio]):not([type=button]):disabled,
|
193 |
select:disabled option:focus,
|
194 |
select:disabled option:active,
|
195 |
select:disabled option:checked {
|
196 |
+
background:#EBEBE4;
|
197 |
+
color:#ccc;
|
198 |
+
cursor:not-allowed;
|
199 |
}
|
200 |
|
201 |
select:disabled,
|
204 |
select:disabled option:focus,
|
205 |
select:disabled option:active,
|
206 |
select:disabled option:checked {
|
207 |
+
text-decoration:line-through;
|
208 |
}
|
209 |
|
210 |
select[size] {
|
211 |
+
height:auto;
|
212 |
+
line-height:25px;
|
213 |
}
|
214 |
|
215 |
select,
|
216 |
option {
|
217 |
+
color:black;
|
218 |
}
|
219 |
|
220 |
select {
|
221 |
+
padding-left:0;
|
222 |
}
|
223 |
|
224 |
select option {
|
225 |
+
padding:2px 5px;
|
226 |
}
|
227 |
|
228 |
select option:disabled {
|
229 |
+
text-decoration:line-through;
|
230 |
+
cursor:not-allowed;
|
231 |
+
color:#A9A9A9;
|
232 |
}
|
233 |
|
234 |
select:disabled {
|
235 |
+
background:#EBEBE4
|
236 |
}
|
237 |
|
238 |
input.readonly {
|
239 |
+
background-color:#efefef;
|
240 |
}
|
241 |
/* ============================
|
242 |
COMMON VIEWS
|
243 |
============================ */
|
244 |
|
245 |
div#content {
|
246 |
+
border:1px solid #CDCDCD;
|
247 |
+
width:850px;
|
248 |
+
min-height:550px;
|
249 |
+
margin:auto;
|
250 |
+
margin-top:18px;
|
251 |
+
border-radius:2px;
|
252 |
+
box-shadow:0 8px 6px -6px #999;
|
253 |
+
font-size:13px
|
254 |
}
|
255 |
|
256 |
div#content-inner {
|
257 |
+
padding:10px 25px;
|
258 |
+
min-height:550px
|
259 |
}
|
260 |
|
261 |
form.content-form {
|
262 |
+
min-height:550px;
|
263 |
+
position:relative;
|
264 |
+
line-height:17px
|
265 |
}
|
266 |
|
267 |
div.logfile-link {
|
268 |
+
float:right;
|
269 |
+
font-weight:normal;
|
270 |
+
font-size:11px;
|
271 |
+
font-style:italic
|
272 |
}
|
273 |
|
274 |
span.sub-notes {
|
275 |
+
font-size:10px;
|
276 |
}
|
277 |
/* Header */
|
278 |
|
279 |
table.header-wizard {
|
280 |
+
width:100%;
|
281 |
+
box-shadow:0 5px 3px -3px #999;
|
282 |
+
background-color:#E0E0E0;
|
283 |
+
font-weight:bold
|
284 |
}
|
285 |
|
286 |
div.dupx-logfile-link {
|
287 |
+
float:right;
|
288 |
+
font-weight:normal;
|
289 |
+
font-style:italic;
|
290 |
+
font-size:11px;
|
291 |
+
cursor:pointer
|
292 |
}
|
293 |
|
294 |
.wiz-dupx-version {
|
295 |
+
white-space:nowrap;
|
296 |
+
color:#777;
|
297 |
+
font-size:11px;
|
298 |
+
font-style:italic;
|
299 |
+
text-align:right;
|
300 |
+
padding:3px 15px 5px 0;
|
301 |
+
line-height:14px;
|
302 |
+
font-weight:normal
|
303 |
}
|
304 |
|
305 |
.wiz-dupx-version a {
|
306 |
+
color:#777;
|
307 |
}
|
308 |
|
309 |
div.dupx-debug-hdr {
|
310 |
+
padding:5px 0 5px 0;
|
311 |
+
font-size:16px;
|
312 |
+
font-weight:bold
|
313 |
}
|
314 |
|
315 |
div.dupx-branding-header {
|
316 |
+
font-size:26px;
|
317 |
+
padding:10px 0 7px 15px;
|
318 |
}
|
319 |
|
320 |
.dupx-overwrite {
|
321 |
+
color:#AF0000;
|
322 |
}
|
323 |
|
324 |
.dupx-pass {
|
325 |
+
display:inline-block;
|
326 |
+
color:green;
|
327 |
}
|
328 |
|
329 |
.dupx-fail {
|
330 |
+
display:inline-block;
|
331 |
+
color:#AF0000;
|
332 |
}
|
333 |
|
334 |
.dupx-warn {
|
335 |
+
display:inline-block;
|
336 |
+
color:#555;
|
337 |
}
|
338 |
|
339 |
.dupx-notice {
|
340 |
+
display:inline-block;
|
341 |
+
color:#000;
|
342 |
}
|
343 |
|
344 |
i[data-tooltip].fa-question-circle {
|
345 |
+
cursor:pointer;
|
346 |
+
color:#C3C3C3
|
347 |
}
|
348 |
|
349 |
div.status-badge-pass {
|
350 |
+
background-color:#418446;
|
351 |
}
|
352 |
|
353 |
div.status-badge-fail {
|
354 |
+
background-color:maroon;
|
355 |
}
|
356 |
|
357 |
div.status-badge-warn {
|
358 |
+
background-color:#555;
|
359 |
}
|
360 |
|
361 |
div.status-badge-pass,
|
362 |
div.status-badge-fail,
|
363 |
div.status-badge-warn {
|
364 |
+
float:right;
|
365 |
+
border-radius:4px;
|
366 |
+
color:#fff;
|
367 |
+
padding:0 3px 0 3px;
|
368 |
+
font-size:11px !important;
|
369 |
+
min-width:30px;
|
370 |
+
text-align:center;
|
371 |
+
font-weight:normal;
|
372 |
}
|
373 |
|
374 |
button.default-btn,
|
375 |
.default-btn,
|
376 |
.default-btn:hover {
|
377 |
+
cursor:pointer;
|
378 |
+
color:#fff;
|
379 |
+
font-size:16px;
|
380 |
+
border-radius:5px;
|
381 |
+
padding:7px 25px 5px 25px;
|
382 |
+
background-color:#13659C;
|
383 |
+
border:1px solid gray;
|
384 |
+
text-decoration:none;
|
385 |
}
|
386 |
|
387 |
button.disabled,
|
388 |
input.disabled {
|
389 |
+
background-color:#F4F4F4;
|
390 |
+
color:silver;
|
391 |
+
border:1px solid silver;
|
392 |
}
|
393 |
|
394 |
div.log-ui-error {
|
395 |
+
padding-top:2px;
|
396 |
+
font-size:13px
|
397 |
}
|
398 |
|
399 |
div#progress-area {
|
400 |
+
padding:5px;
|
401 |
+
margin:150px 0 0 0;
|
402 |
+
text-align:center;
|
403 |
}
|
404 |
|
405 |
div#ajaxerr-data {
|
406 |
+
padding:6px;
|
407 |
+
height:425px;
|
408 |
+
width:99%;
|
409 |
+
border:1px solid silver;
|
410 |
+
border-radius:2px;
|
411 |
+
background-color:#F1F1F1;
|
412 |
+
font-size:13px;
|
413 |
+
overflow-y:scroll;
|
414 |
+
line-height:20px
|
415 |
}
|
416 |
|
417 |
div.hdr-main {
|
418 |
+
font-size:22px;
|
419 |
+
padding:0 0 5px 0;
|
420 |
+
border-bottom:1px solid #D3D3D3;
|
421 |
+
font-weight:bold;
|
422 |
+
margin:5px 0 20px 0;
|
423 |
}
|
424 |
|
425 |
div.hdr-main span.step {
|
426 |
+
color:#DB4B38
|
427 |
}
|
428 |
|
429 |
div.sub-header {
|
430 |
+
font-size:11px;
|
431 |
+
font-style:italic;
|
432 |
+
font-weight:normal;
|
433 |
+
margin:5px 0 -1px 0
|
434 |
}
|
435 |
|
436 |
div.hdr-sub1 {
|
437 |
+
font-size:18px;
|
438 |
+
margin-bottom:5px;
|
439 |
+
border:1px solid #D3D3D3;
|
440 |
+
padding:10px;
|
441 |
+
background-color:#E0E0E0;
|
442 |
+
font-weight:bold;
|
443 |
+
border-radius:2px
|
444 |
}
|
445 |
|
446 |
div.hdr-sub1 a {
|
447 |
+
cursor:pointer;
|
448 |
+
text-decoration:none !important
|
449 |
}
|
450 |
|
451 |
div.hdr-sub1 i.fa {
|
452 |
+
font-size:15px;
|
453 |
+
display:inline-block;
|
454 |
+
margin:2px 5px 0 0;
|
455 |
+
vertical-align:top
|
456 |
}
|
457 |
|
458 |
div.hdr-sub1-area {
|
459 |
+
padding:5px
|
460 |
}
|
461 |
|
462 |
div.hdr-sub2 {
|
463 |
+
font-size:15px;
|
464 |
+
padding:2px 2px 2px 0;
|
465 |
+
font-weight:bold;
|
466 |
+
margin-bottom:5px;
|
467 |
+
border:none
|
468 |
}
|
469 |
|
470 |
div.hdr-sub3 {
|
471 |
+
font-size:15px;
|
472 |
+
padding:2px 2px 2px 0;
|
473 |
+
border-bottom:1px solid #D3D3D3;
|
474 |
+
font-weight:bold;
|
475 |
+
margin-bottom:5px;
|
476 |
}
|
477 |
|
478 |
div.hdr-sub4 {
|
479 |
+
font-size:15px;
|
480 |
+
padding:7px;
|
481 |
+
border:1px solid #D3D3D3;
|
482 |
;
|
483 |
+
font-weight:bold;
|
484 |
+
background-color:#e9e9e9;
|
485 |
}
|
486 |
|
487 |
div.hdr-sub4:hover {
|
488 |
+
background-color:#dfdfdf;
|
489 |
+
cursor:pointer
|
490 |
}
|
491 |
|
492 |
div.toggle-hdr:hover {
|
493 |
+
cursor:pointer;
|
494 |
+
background-color:#f1f1f1;
|
495 |
+
border:1px solid #dcdcdc;
|
496 |
}
|
497 |
|
498 |
div.toggle-hdr:hover a {
|
499 |
+
color:#000
|
500 |
}
|
501 |
|
502 |
[data-type="toggle"]>i.fa,
|
503 |
i.fa.fa-toggle-empty {
|
504 |
+
min-width:8px;
|
505 |
}
|
506 |
|
507 |
+
div#tabs .ui-widget-header,
|
508 |
+
div#tabs-opts .ui-widget-header
|
509 |
+
{
|
510 |
+
border:none;
|
511 |
+
border-bottom:1px solid #D3D3D3 !important;
|
512 |
+
background:#fff
|
513 |
}
|
514 |
/* ============================
|
515 |
NOTICES
|
517 |
/* step messages */
|
518 |
|
519 |
#step-messages {
|
520 |
+
padding:10px 25px 0;
|
521 |
}
|
522 |
|
523 |
.notice {
|
524 |
+
background:#fff;
|
525 |
+
border:1px solid #dfdfdf;
|
526 |
+
border-left:4px solid #fff;
|
527 |
+
margin:4px;
|
528 |
+
padding:5px;
|
529 |
+
border-radius:2px;
|
530 |
+
font-size:12px;
|
531 |
}
|
532 |
|
533 |
.notice-report {
|
534 |
+
border-left:4px solid #fff;
|
535 |
+
padding-left:0;
|
536 |
+
padding-right:0;
|
537 |
+
margin-bottom:4px;
|
538 |
}
|
539 |
|
540 |
.next-step .title-separator {
|
541 |
+
margin-top:5px;
|
542 |
+
padding-top:5px;
|
543 |
+
border-top:1px solid lightgray;
|
544 |
}
|
545 |
|
546 |
.notice .info pre {
|
547 |
+
margin:0;
|
548 |
+
padding:0;
|
549 |
+
overflow:auto;
|
550 |
}
|
551 |
|
552 |
.notice-report .title {
|
553 |
+
padding:0 10px;
|
554 |
}
|
555 |
|
556 |
.notice-report .info {
|
557 |
+
border-top:1px solid #dedede;
|
558 |
+
padding:10px;
|
559 |
+
font-size:10px;
|
560 |
+
background:#FAFAFA;
|
561 |
+
word-wrap:break-word;
|
562 |
}
|
563 |
|
564 |
.notice.l-info,
|
565 |
.notice.l-notice {
|
566 |
+
border-left-color:#197b19;
|
567 |
}
|
568 |
|
569 |
.notice.l-swarning {
|
570 |
+
border-left-color:#636363;
|
571 |
}
|
572 |
|
573 |
.notice.l-hwarning {
|
574 |
+
border-left-color:#636363;
|
575 |
}
|
576 |
|
577 |
.notice.l-critical {
|
578 |
+
border-left-color:maroon;
|
579 |
}
|
580 |
|
581 |
.notice.l-fatal {
|
582 |
+
border-left-color:#000000;
|
583 |
}
|
584 |
|
585 |
.report-sections-list .section {
|
586 |
+
border:1px solid #DFDFDF;
|
587 |
+
margin-bottom:25px;
|
588 |
+
box-shadow:4px 8px 11px -8px rgba(0, 0, 0, 0.41);
|
589 |
}
|
590 |
|
591 |
.report-sections-list .section>.section-title {
|
592 |
+
background-color:#efefef;
|
593 |
+
padding:3px;
|
594 |
+
font-weight:bold;
|
595 |
+
text-align:center;
|
596 |
+
font-size:14px;
|
597 |
}
|
598 |
|
599 |
.report-sections-list .section>.section-content {
|
600 |
+
padding:5px;
|
601 |
}
|
602 |
|
603 |
.notice-level-status {
|
604 |
+
border-radius:2px;
|
605 |
+
padding:2px;
|
606 |
+
margin:1px;
|
607 |
+
font-size:10px;
|
608 |
+
display:inline-block;
|
609 |
+
color:#FFF;
|
610 |
+
font-weight:bold;
|
611 |
+
min-width:55px;
|
612 |
}
|
613 |
|
614 |
.notice-level-status.l-info,
|
615 |
.notice-level-status.l-notice {
|
616 |
+
background:#197b19;
|
617 |
}
|
618 |
|
619 |
.notice-level-status.l-swarning {
|
620 |
+
background:#636363;
|
621 |
}
|
622 |
|
623 |
.notice-level-status.l-hwarning {
|
624 |
+
background:#636363;
|
625 |
}
|
626 |
|
627 |
.notice-level-status.l-critical {
|
628 |
+
background:maroon;
|
629 |
}
|
630 |
|
631 |
.notice-level-status.l-fatal {
|
632 |
+
background:#000000;
|
633 |
}
|
634 |
|
635 |
.gray-panel {
|
636 |
+
border:1px solid silver;
|
637 |
+
margin:5px 0;
|
638 |
+
padding:10px;
|
639 |
+
background:#f9f9f9;
|
640 |
+
border-radius:2px
|
641 |
}
|
642 |
|
643 |
.gray-panel.warn-text,
|
644 |
.gray-panel .warn-text {
|
645 |
+
font-size:12px;
|
646 |
+
color:maroon
|
647 |
}
|
648 |
|
649 |
.gray-panel-overwrite {
|
650 |
+
font-size:14px !important;
|
651 |
+
line-height:25px;
|
652 |
}
|
653 |
/*Adv Opts */
|
654 |
|
655 |
table.dupx-opts {
|
656 |
+
width:100%;
|
657 |
+
border:0px;
|
658 |
}
|
659 |
|
660 |
table.dupx-opts td {
|
661 |
+
padding:5px;
|
662 |
}
|
663 |
|
664 |
table.dupx-opts td:first-child {
|
665 |
+
width:125px;
|
666 |
+
font-weight:bold
|
667 |
}
|
668 |
|
669 |
table.dupx-advopts td:first-child {
|
670 |
+
width:125px;
|
671 |
}
|
672 |
|
673 |
table.dupx-advopts label.radio {
|
674 |
+
width:50px;
|
675 |
+
display:inline-block
|
676 |
}
|
677 |
|
678 |
table.dupx-advopts label {
|
679 |
+
white-space:nowrap;
|
680 |
+
cursor:pointer
|
681 |
}
|
682 |
|
683 |
table.dupx-advopts-space {
|
684 |
+
line-height:24px
|
685 |
}
|
686 |
|
687 |
div.error-pane {
|
688 |
+
border:1px solid #efefef;
|
689 |
+
border-left:4px solid maroon;
|
690 |
+
padding:0 0 0 10px;
|
691 |
+
margin:2px 0 10px 0
|
692 |
}
|
693 |
|
694 |
div.dupx-ui-error {
|
695 |
+
padding-top:2px;
|
696 |
+
font-size:13px;
|
697 |
+
line-height:20px
|
698 |
}
|
699 |
|
700 |
div.footer-buttons {
|
701 |
+
position:absolute;
|
702 |
+
bottom:10px;
|
703 |
+
padding:10px;
|
704 |
+
right:0;
|
705 |
+
width:100%;
|
706 |
+
text-align:right
|
707 |
}
|
708 |
|
709 |
div.footer-buttons input:hover,
|
710 |
button:hover {
|
711 |
+
border:1px solid #000
|
712 |
}
|
713 |
|
714 |
div.footer-buttons input[disabled=disabled],
|
715 |
button[disabled=disabled] {
|
716 |
+
background-color:#F4F4F4;
|
717 |
+
color:silver;
|
718 |
+
border:1px solid silver;
|
719 |
}
|
720 |
|
721 |
form#form-debug {
|
722 |
+
display:block;
|
723 |
+
margin:10px auto;
|
724 |
+
width:750px;
|
725 |
}
|
726 |
|
727 |
form#form-debug a {
|
728 |
+
display:inline-block;
|
729 |
}
|
730 |
|
731 |
form#form-debug pre {
|
732 |
+
margin-top:-2px;
|
733 |
+
display:none
|
734 |
}
|
735 |
/*Dialog Info */
|
736 |
|
737 |
div.dlg-serv-info {
|
738 |
+
line-height:22px;
|
739 |
+
font-size:12px
|
740 |
}
|
741 |
|
742 |
div.dlg-serv-info label {
|
743 |
+
display:inline-block;
|
744 |
+
width:200px;
|
745 |
+
font-weight:bold
|
746 |
}
|
747 |
|
748 |
div.dlg-serv-info div.hdr {
|
749 |
+
font-weight:bold;
|
750 |
+
margin-top:5px;
|
751 |
+
padding:2px 5px 2px 0;
|
752 |
+
border-bottom:1px solid #777;
|
753 |
+
font-size:14px
|
754 |
}
|
755 |
|
756 |
div.dupx-modes {
|
757 |
+
color:#999;
|
758 |
+
font-weight:normal;
|
759 |
+
font-style:italic;
|
760 |
+
font-size:11px;
|
761 |
+
padding:5px 10px 0 0;
|
762 |
+
text-align:right
|
763 |
+
}
|
764 |
+
|
765 |
+
div.dupx-panel-area {
|
766 |
+
padding:1em 1.4em;
|
767 |
}
|
768 |
/* ============================
|
769 |
INIT 1:SECURE PASSWORD
|
770 |
============================ */
|
771 |
|
772 |
button.pass-toggle {
|
773 |
+
height:26px;
|
774 |
+
width:26px;
|
775 |
+
position:absolute;
|
776 |
+
top:0px;
|
777 |
+
right:0px;
|
778 |
+
border:1px solid silver;
|
779 |
+
border-radius:0 4px 4px 0;
|
780 |
+
padding:2px 0 0 3px;
|
781 |
}
|
782 |
|
783 |
button.pass-toggle i {
|
784 |
+
padding:0;
|
785 |
+
display:block;
|
786 |
+
margin:-4px 0 0 -5px
|
787 |
}
|
788 |
|
789 |
div.i1-pass-area {
|
790 |
+
width:100%;
|
791 |
+
text-align:center;
|
792 |
+
max-width:300px;
|
793 |
+
margin:auto;
|
794 |
+
position:relative;
|
795 |
}
|
796 |
|
797 |
div.i1-pass-data table {
|
798 |
+
width:100%;
|
799 |
+
border-collapse:collapse;
|
800 |
+
padding:0
|
801 |
}
|
802 |
|
803 |
div.i1-pass-data label {
|
804 |
+
display:block;
|
805 |
+
margin-bottom:10px;
|
806 |
+
font-weight:bold;
|
807 |
}
|
808 |
|
809 |
div.i1-pass-errmsg {
|
810 |
+
color:maroon;
|
811 |
+
font-weight:bold
|
812 |
}
|
813 |
|
814 |
div#i1-pass-input {
|
815 |
+
position:relative;
|
816 |
+
margin:2px 0 15px 0
|
817 |
}
|
818 |
|
819 |
input#secure-pass {
|
820 |
+
border-radius:4px 0 0 4px;
|
821 |
+
width:250px
|
822 |
}
|
823 |
|
824 |
#body-secure .param-wrapper {
|
825 |
+
display:flex;
|
826 |
}
|
827 |
|
828 |
#body-secure .param-wrapper > label {
|
829 |
+
min-width:150px;
|
830 |
+
font-weight:bold;
|
831 |
+
line-height:27px;
|
832 |
}
|
833 |
|
834 |
#body-secure .param-wrapper > *:nth-child(2) {
|
835 |
+
width:100%;
|
836 |
}
|
837 |
|
838 |
.param-wrapper .sub-note {
|
839 |
+
display:block;
|
840 |
+
font-size:11px;
|
841 |
margin-top:6px;
|
842 |
}
|
843 |
|
844 |
#body-secure .param-wrapper .sub-note {
|
845 |
+
text-align:right;
|
846 |
}
|
847 |
|
848 |
.box {
|
849 |
+
border:1px solid silver;
|
850 |
+
padding:10px;
|
851 |
+
background:#f9f9f9;
|
852 |
border-radius:2px;
|
853 |
}
|
854 |
|
855 |
.box *:first-child {
|
856 |
+
margin-top:0;
|
857 |
}
|
858 |
|
859 |
.box *:last-child {
|
860 |
+
margin-bottom:0;
|
861 |
}
|
862 |
|
863 |
.box.warning {
|
864 |
+
color:maroon;
|
865 |
+
border-color:maroon;
|
866 |
}
|
867 |
#pass-quick-help-info {
|
868 |
font-size:13px;
|
883 |
============================ */
|
884 |
|
885 |
div#s1-area-setup-type label {
|
886 |
+
cursor:pointer
|
887 |
}
|
888 |
|
889 |
div.s1-setup-type-sub {
|
890 |
+
padding:5px 0 0 25px;
|
891 |
+
display:none
|
892 |
+
}
|
893 |
+
|
894 |
+
|
895 |
+
div#tabs,
|
896 |
+
div#tabs-opts {
|
897 |
+
border:0 !important;
|
898 |
}
|
899 |
|
900 |
+
div#tabs-opts-1,
|
901 |
+
div#tabs-opts-2 {
|
902 |
+
min-height:250px;
|
903 |
}
|
904 |
|
905 |
table.s1-archive-local {
|
906 |
+
width:100%
|
907 |
}
|
908 |
|
909 |
table.s1-archive-local td {
|
910 |
+
padding:4px 4px 4px 4px
|
911 |
}
|
912 |
|
913 |
table.s1-archive-local td:first-child {
|
914 |
+
font-weight:bold;
|
915 |
+
width:55px
|
916 |
}
|
917 |
|
918 |
div.s1-archive-failed-msg {
|
919 |
+
padding:15px;
|
920 |
+
border:1px dashed maroon;
|
921 |
+
font-size:12px;
|
922 |
+
border-radius:2px;
|
923 |
}
|
924 |
|
925 |
div.s1-err-msg {
|
926 |
+
padding:0 0 80px 0;
|
927 |
+
line-height:20px
|
928 |
}
|
929 |
|
930 |
div.s1-err-msg i {
|
931 |
+
color:maroon
|
932 |
}
|
933 |
|
934 |
.maroon {
|
935 |
+
color:maroon
|
936 |
}
|
937 |
|
938 |
.green {
|
939 |
+
color:green
|
940 |
+
}
|
941 |
+
|
942 |
+
div.s1-hdr-sys-setup-hdr {
|
943 |
+
margin-bottom:0;
|
944 |
+
}
|
945 |
+
|
946 |
+
div#s1-area-sys-setup,
|
947 |
+
div#s2-dbtest-area-basic {
|
948 |
+
border: 2px dashed #D0D0D0;
|
949 |
+
border-top:none;
|
950 |
+
padding:10px 20px 20px 20px;
|
951 |
+
border-radius:2px;
|
952 |
+
margin-top:-4px;
|
953 |
}
|
954 |
|
955 |
div#s1-area-sys-setup div.info-top {
|
956 |
+
text-align:center;
|
957 |
+
font-style:italic;
|
958 |
+
font-size:11px;
|
959 |
+
padding:0 5px 5px 5px
|
960 |
}
|
961 |
|
962 |
table.s1-checks-area {
|
963 |
+
width:100%;
|
964 |
+
margin:0;
|
965 |
+
padding:0
|
966 |
}
|
967 |
|
968 |
table.s1-checks-area td.title {
|
969 |
+
font-size:16px;
|
970 |
+
width:100%
|
971 |
}
|
972 |
|
973 |
table.s1-checks-area td.title small {
|
974 |
+
font-size:11px;
|
975 |
+
font-weight:normal
|
976 |
}
|
977 |
|
978 |
table.s1-checks-area td.toggle {
|
979 |
+
font-size:11px;
|
980 |
+
margin-right:7px;
|
981 |
+
font-weight:normal
|
982 |
}
|
983 |
|
984 |
div.s1-reqs {
|
985 |
+
background-color:#efefef;
|
986 |
+
border:1px solid silver;
|
987 |
+
border-radius:2px;
|
988 |
+
padding-bottom:4px
|
989 |
}
|
990 |
|
991 |
div.s1-reqs div.header {
|
992 |
+
background-color:#E0E0E0;
|
993 |
+
color:#000;
|
994 |
+
border-bottom:1px solid silver;
|
995 |
+
padding:2px;
|
996 |
+
font-weight:bold
|
997 |
}
|
998 |
|
999 |
div.s1-reqs div.status {
|
1000 |
+
float:right;
|
1001 |
+
border-radius:2px;
|
1002 |
+
color:#fff;
|
1003 |
+
padding:0 3px 0 3px;
|
1004 |
+
margin:4px 5px 0 0;
|
1005 |
+
font-size:11px;
|
1006 |
+
min-width:30px;
|
1007 |
+
text-align:center;
|
1008 |
}
|
1009 |
|
1010 |
div.s1-reqs div.pass {
|
1011 |
+
background-color:green;
|
1012 |
}
|
1013 |
|
1014 |
div.s1-reqs div.fail {
|
1015 |
+
background-color:maroon;
|
1016 |
}
|
1017 |
|
1018 |
div.s1-reqs div.title {
|
1019 |
+
padding:3px 3px 3px 5px;
|
1020 |
+
font-size:13px;
|
1021 |
}
|
1022 |
|
1023 |
div.s1-reqs div.title:hover {
|
1024 |
+
background-color:#dfdfdf;
|
1025 |
+
cursor:pointer
|
1026 |
}
|
1027 |
|
1028 |
div.s1-reqs div.info {
|
1029 |
+
padding:8px 8px 20px 8px;
|
1030 |
+
background-color:#fff;
|
1031 |
+
display:none;
|
1032 |
+
line-height:18px;
|
1033 |
+
font-size:12px
|
1034 |
}
|
1035 |
|
1036 |
div.s1-reqs div.info a {
|
1037 |
+
color:#485AA3;
|
1038 |
}
|
1039 |
|
1040 |
#archive_engine,
|
1041 |
#archive_action_input {
|
1042 |
+
cursor:pointer
|
|
|
1043 |
}
|
1044 |
|
1045 |
.info>*:first-child {
|
1046 |
+
margin-top:0;
|
1047 |
}
|
1048 |
|
1049 |
.info>*:last-child {
|
1050 |
+
margin-bottom:0;
|
1051 |
}
|
1052 |
/*Terms and Notices*/
|
1053 |
|
1054 |
div#s1-warning-check label {
|
1055 |
+
cursor:pointer;
|
1056 |
}
|
1057 |
|
1058 |
div#s1-warning-msg {
|
1059 |
+
padding:5px;
|
1060 |
+
font-size:12px;
|
1061 |
+
color:#333;
|
1062 |
+
line-height:14px;
|
1063 |
+
font-style:italic;
|
1064 |
+
overflow-y:scroll;
|
1065 |
+
height:460px;
|
1066 |
+
border:1px solid #dfdfdf;
|
1067 |
+
background:#fff;
|
1068 |
+
border-radius:2px
|
1069 |
}
|
1070 |
|
1071 |
div#s1-warning-check {
|
1072 |
+
padding:3px;
|
1073 |
+
font-size:14px;
|
1074 |
+
font-weight:normal;
|
1075 |
}
|
1076 |
|
1077 |
.s1-warning-check [type=checkbox] {
|
1078 |
+
height:17px;
|
1079 |
+
width:17px;
|
1080 |
+
}
|
1081 |
+
|
1082 |
+
.config-files-helper{
|
1083 |
+
font-size:10px;
|
1084 |
+
display:block;
|
1085 |
+
margin:4px 0 4px 0;
|
1086 |
}
|
1087 |
+
|
1088 |
/* ============================
|
1089 |
STEP 2 VIEW
|
1090 |
============================ */
|
1091 |
|
1092 |
div.s2-opts label {
|
1093 |
+
cursor:pointer
|
1094 |
}
|
1095 |
|
1096 |
textarea#debug-dbtest-json {
|
1097 |
+
width:98%;
|
1098 |
+
height:200px
|
1099 |
}
|
1100 |
|
1101 |
div.php-chuncking-warning {
|
1102 |
+
font-style:italic;
|
1103 |
+
font-size:11px;
|
1104 |
+
color:maroon;
|
1105 |
+
white-space:normal;
|
1106 |
+
line-height:16px;
|
1107 |
+
padding-left:20px
|
1108 |
}
|
1109 |
/*Toggle Buttons */
|
1110 |
|
1111 |
div.s2-btngrp {
|
1112 |
+
text-align:center;
|
1113 |
+
margin:0 auto 10px auto
|
1114 |
}
|
1115 |
|
1116 |
div.s2-btngrp input[type=button] {
|
1117 |
+
font-size:14px;
|
1118 |
+
padding:6px;
|
1119 |
+
width:120px;
|
1120 |
+
border:1px solid silver;
|
1121 |
+
cursor:pointer
|
1122 |
}
|
1123 |
|
1124 |
div.s2-btngrp input[type=button]:first-child {
|
1125 |
+
border-radius:5px 0 0 5px;
|
1126 |
+
margin-right:-2px
|
1127 |
}
|
1128 |
|
1129 |
div.s2-btngrp input[type=button]:last-child {
|
1130 |
+
border-radius:0 5px 5px 0;
|
1131 |
+
margin-left:-4px
|
1132 |
}
|
1133 |
|
1134 |
div.s2-btngrp input[type=button].active {
|
1135 |
+
background-color:#13659C;
|
1136 |
+
color:#fff;
|
1137 |
}
|
1138 |
|
1139 |
div.s2-btngrp input[type=button].in-active {
|
1140 |
+
background-color:#E4E4E4;
|
1141 |
}
|
1142 |
|
1143 |
div.s2-btngrp input[type=button]:hover {
|
1144 |
+
border:1px solid #999
|
1145 |
}
|
1146 |
/*Basic DB */
|
1147 |
|
1148 |
select#dbname-select {
|
1149 |
+
width:100%;
|
1150 |
+
border-radius:3px;
|
1151 |
+
height:20px;
|
1152 |
+
font-size:12px;
|
1153 |
+
border:1px solid silver;
|
1154 |
}
|
1155 |
|
1156 |
div#s2-dbrefresh-basic {
|
1157 |
+
float:right;
|
1158 |
+
font-size:12px;
|
1159 |
+
display:none;
|
1160 |
+
font-weight:bold;
|
1161 |
+
margin:5px 5px 1px 0
|
1162 |
}
|
1163 |
|
1164 |
div#s2-db-basic-overwrite div.warn-text {
|
1165 |
+
padding:5px 0 5px 0;
|
1166 |
}
|
1167 |
|
1168 |
div#s2-db-basic-overwrite div.btn-area {
|
1169 |
+
text-align:right;
|
1170 |
+
margin:5px 0
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1171 |
}
|
1172 |
|
1173 |
input.overwrite-btn {
|
1174 |
+
cursor:pointer;
|
1175 |
+
color:#fff;
|
1176 |
+
font-size:13px;
|
1177 |
+
border-radius:5px;
|
1178 |
+
padding:5px 20px 4px 20px;
|
1179 |
+
background-color:#989898;
|
1180 |
+
border:1px solid #777;
|
1181 |
}
|
1182 |
/*cPanel DB */
|
1183 |
|
1184 |
div.s2-cpnl-pane {
|
1185 |
+
margin-top:5px
|
1186 |
}
|
1187 |
|
1188 |
div.s2-gopro {
|
1189 |
+
color:black;
|
1190 |
+
margin-top:10px;
|
1191 |
+
padding:0 20px 10px 20px;
|
1192 |
+
border:1px solid silver;
|
1193 |
+
background-color:#F6F6F6;
|
1194 |
+
border-radius:2px
|
1195 |
}
|
1196 |
|
1197 |
div.s2-gopro h2 {
|
1198 |
+
text-align:center;
|
1199 |
+
margin:10px
|
1200 |
}
|
1201 |
|
1202 |
div.s2-gopro small {
|
1203 |
+
font-style:italic
|
1204 |
}
|
1205 |
|
1206 |
div.s2-cpanel-login {
|
1207 |
+
padding:15px;
|
1208 |
+
color:#fff;
|
1209 |
+
text-align:center;
|
1210 |
+
margin:15px 5px 15px 5px;
|
1211 |
+
border:1px solid silver;
|
1212 |
+
border-radius:2px;
|
1213 |
+
background-color:#13659C;
|
1214 |
+
font-size:14px;
|
1215 |
+
line-height:22px
|
1216 |
}
|
1217 |
|
1218 |
div.s2-cpanel-off {
|
1219 |
+
padding:15px;
|
1220 |
+
color:#fff;
|
1221 |
+
text-align:center;
|
1222 |
+
margin:15px 5px 15px 5px;
|
1223 |
+
border:1px solid silver;
|
1224 |
+
border-radius:2px;
|
1225 |
+
background-color:#b54949;
|
1226 |
+
font-size:14px;
|
1227 |
+
line-height:22px
|
1228 |
}
|
1229 |
|
1230 |
div.s2-cpnl-panel-no-support {
|
1231 |
+
text-align:center;
|
1232 |
+
font-size:18px;
|
1233 |
+
font-weight:bold;
|
1234 |
+
line-height:30px;
|
1235 |
+
margin-top:40px
|
1236 |
}
|
1237 |
/*DATABASE CHECKS */
|
1238 |
|
1239 |
+
div#s2-dbtest-area-basic {
|
1240 |
+
margin-top:-8px;
|
1241 |
+
}
|
1242 |
div.s2-dbtest-area {
|
1243 |
+
margin:auto;
|
1244 |
+
margin:5px 0 15px 0;
|
1245 |
+
min-height:110px
|
1246 |
}
|
1247 |
|
1248 |
div.s2-dbtest-area input[type=button] {
|
1249 |
+
font-size:11px;
|
1250 |
+
height:20px;
|
1251 |
+
border:1px solid gray;
|
1252 |
+
border-radius:3px;
|
1253 |
+
cursor:pointer
|
1254 |
}
|
1255 |
|
1256 |
div.s2-dbtest-area small.db-check {
|
1257 |
+
color:#000;
|
1258 |
+
text-align:center;
|
1259 |
+
padding:3px;
|
1260 |
+
font-size:11px;
|
1261 |
+
font-weight:normal
|
1262 |
}
|
1263 |
|
1264 |
+
|
1265 |
div.s2-dbtest-area div.message {
|
1266 |
+
padding:25px 10px 10px 10px;
|
1267 |
+
margin:5px auto 5px auto;
|
1268 |
+
text-align:center;
|
1269 |
+
font-size:15px;
|
1270 |
+
line-height:22px;
|
1271 |
+
width:100%;
|
|
|
1272 |
}
|
1273 |
|
1274 |
div.s2-dbtest-area div.sub-message {
|
1275 |
+
padding:15px 5px 15px 5px;
|
1276 |
+
text-align:center;
|
1277 |
+
font-style:italic;
|
1278 |
+
color:maroon
|
1279 |
}
|
1280 |
|
1281 |
div.s2-dbtest-area div.error-msg {
|
1282 |
+
color:maroon
|
1283 |
}
|
1284 |
|
1285 |
div.s2-dbtest-area div.success-msg {
|
1286 |
+
color:green
|
1287 |
}
|
1288 |
|
1289 |
div.s2-dbtest-area pre {
|
1290 |
+
font-family:Verdana, Arial, sans-serif;
|
1291 |
+
font-size:13px;
|
1292 |
+
margin:0;
|
1293 |
+
white-space:normal;
|
1294 |
}
|
1295 |
|
1296 |
div.s2-reqs-hdr {
|
1297 |
+
border-radius:2px 2px 0 0;
|
1298 |
+
border-bottom:none
|
1299 |
}
|
1300 |
|
1301 |
div.s2-notices-hdr {
|
1302 |
+
border-radius:0;
|
1303 |
+
border-bottom:1px solid #D3D3D3;
|
1304 |
}
|
1305 |
|
1306 |
div#s2-reqs-all {
|
1307 |
+
display:none
|
1308 |
}
|
1309 |
|
1310 |
div#s2-notices-all {
|
1311 |
+
display:none
|
1312 |
}
|
1313 |
|
1314 |
div.s2-reqs {
|
1315 |
+
background-color:#efefef;
|
1316 |
+
border:1px solid #D3D3D3;
|
1317 |
+
border-top:none
|
1318 |
}
|
1319 |
|
1320 |
div.s2-reqs div.status {
|
1321 |
+
float:right;
|
1322 |
+
border-radius:2px;
|
1323 |
+
color:#fff;
|
1324 |
+
padding:0 4px 0 4px;
|
1325 |
+
margin:4px 7px 0 0;
|
1326 |
+
font-size:12px;
|
1327 |
+
min-width:30px;
|
1328 |
+
text-align:center;
|
1329 |
}
|
1330 |
|
1331 |
div.s2-reqs div.title {
|
1332 |
+
padding:3px 8px 3px 20px;
|
1333 |
+
font-size:13px;
|
1334 |
+
background-color:#f1f1f1;
|
1335 |
+
border-top:1px solid #D3D3D3;
|
1336 |
}
|
1337 |
|
1338 |
div.s2-reqs div.title:hover {
|
1339 |
+
background-color:#dfdfdf;
|
1340 |
+
cursor:pointer
|
1341 |
}
|
1342 |
|
1343 |
div.s2-reqs div.info {
|
1344 |
+
padding:4px 12px 15px 12px;
|
1345 |
;
|
1346 |
+
background-color:#fff;
|
1347 |
+
display:none;
|
1348 |
+
line-height:18px;
|
1349 |
+
font-size:12px
|
1350 |
}
|
1351 |
|
1352 |
div.s2-reqs div.info a {
|
1353 |
+
color:#485AA3;
|
1354 |
}
|
1355 |
|
1356 |
div.s2-reqs div.info ul {
|
1357 |
+
padding-left:25px
|
1358 |
}
|
1359 |
|
1360 |
div.s2-reqs div.info ul li {
|
1361 |
+
padding:2px
|
1362 |
}
|
1363 |
|
1364 |
div.s2-reqs div.info ul.vids {
|
1365 |
+
list-style-type:none;
|
1366 |
}
|
1367 |
|
1368 |
div.s2-reqs div.sub-title {
|
1369 |
+
border-bottom:1px solid #d3d3d3;
|
1370 |
+
font-weight:bold;
|
1371 |
+
margin:7px 0 3px 0
|
1372 |
}
|
1373 |
|
1374 |
div.s2-reqs10 table {
|
1375 |
+
margin-top:5px;
|
1376 |
}
|
1377 |
|
1378 |
div.s2-reqs10 table td {
|
1379 |
+
padding:1px;
|
1380 |
}
|
1381 |
|
1382 |
div.s2-reqs10 table td:first-child {
|
1383 |
+
font-weight:bold;
|
1384 |
+
padding-right:10px
|
1385 |
}
|
1386 |
|
1387 |
div.s2-reqs40 div.db-list {
|
1388 |
+
height:70px;
|
1389 |
+
width:95%;
|
1390 |
+
overflow-y:scroll;
|
1391 |
+
padding:2px 5px 5px 5px;
|
1392 |
+
border:1px solid #d3d3d3;
|
1393 |
}
|
1394 |
|
1395 |
div.s2-reqs60 div.tbl-list {
|
1396 |
+
padding:2px 5px 5px 5px;
|
1397 |
+
border:0
|
1398 |
}
|
1399 |
|
1400 |
div.s2-reqs60 div.tbl-list b {
|
1401 |
+
display:inline-block;
|
1402 |
+
width:55px;
|
1403 |
}
|
1404 |
|
1405 |
div.s2-notice20 table.collation-list table {
|
1406 |
+
padding:2px;
|
1407 |
}
|
1408 |
|
1409 |
div.s2-notice20 table.collation-list td:first-child {
|
1410 |
+
font-weight:bold;
|
1411 |
+
padding-right:5px
|
1412 |
}
|
1413 |
|
1414 |
textarea[readonly] {
|
1415 |
+
background-color:#efefef;
|
1416 |
}
|
1417 |
|
1418 |
.copy-to-clipboard-block textarea {
|
1419 |
+
width:100%;
|
1420 |
+
height:100px;
|
1421 |
}
|
1422 |
|
1423 |
.copy-to-clipboard-block button,
|
1424 |
.copy-to-clipboard-block button:hover {
|
1425 |
+
font-size:14px;
|
1426 |
+
padding:5px 8px;
|
1427 |
+
margin-bottom:15px;
|
1428 |
}
|
1429 |
/*Warning Area and Message */
|
1430 |
|
1431 |
div.s2-warning-emptydb {
|
1432 |
+
color:maroon;
|
1433 |
+
margin:2px 0 0 0;
|
1434 |
+
font-size:11px;
|
1435 |
+
display:none;
|
1436 |
+
white-space:normal;
|
1437 |
+
width:550px
|
1438 |
}
|
1439 |
|
1440 |
div.s2-warning-manualdb {
|
1441 |
+
color:#1B67FF;
|
1442 |
+
margin:2px 0 0 0;
|
1443 |
+
font-size:11px;
|
1444 |
+
display:none;
|
1445 |
+
white-space:normal;
|
1446 |
+
width:550px
|
1447 |
}
|
1448 |
|
1449 |
div.s2-warning-renamedb {
|
1450 |
+
color:#1B67FF;
|
1451 |
+
margin:2px 0 0 0;
|
1452 |
+
font-size:11px;
|
1453 |
+
display:none;
|
1454 |
+
white-space:normal;
|
1455 |
+
width:550px
|
1456 |
}
|
1457 |
|
1458 |
div#s2-tryagain {
|
1459 |
+
padding-top:50px;
|
1460 |
+
text-align:center;
|
1461 |
+
width:100%;
|
1462 |
+
font-size:16px;
|
1463 |
+
color:#444;
|
1464 |
+
font-weight:bold;
|
1465 |
}
|
1466 |
/* ============================
|
1467 |
STEP 3 VIEW
|
1468 |
============================ */
|
1469 |
|
1470 |
table.s3-opts {
|
1471 |
+
width:96%;
|
1472 |
+
border:0;
|
1473 |
}
|
1474 |
|
1475 |
table.s3-opts i.fa {
|
1476 |
+
font-size:16px
|
1477 |
}
|
1478 |
|
1479 |
table.s3-opts td {
|
1480 |
+
white-space:nowrap;
|
1481 |
+
padding:3px;
|
1482 |
}
|
1483 |
|
1484 |
table.s3-opts td:first-child {
|
1485 |
+
width:90px;
|
1486 |
+
font-weight:bold
|
1487 |
}
|
1488 |
|
1489 |
div#s3-adv-opts {
|
1490 |
+
margin-top:5px;
|
1491 |
}
|
1492 |
|
1493 |
div.s3-allnonelinks {
|
1494 |
+
font-size:11px;
|
1495 |
+
float:right;
|
1496 |
}
|
1497 |
|
1498 |
div.s3-manaual-msg {
|
1499 |
+
font-style:italic;
|
1500 |
+
margin:-2px 0 5px 0
|
1501 |
}
|
1502 |
|
1503 |
small.s3-warn {
|
1504 |
+
color:maroon;
|
1505 |
+
font-style:italic
|
1506 |
}
|
1507 |
/* ============================
|
1508 |
STEP 4 VIEW
|
1509 |
============================ */
|
1510 |
|
1511 |
div.s4-final-msg {
|
1512 |
+
height:110px;
|
1513 |
+
border:1px solid #CDCDCD;
|
1514 |
+
padding:8px;
|
1515 |
+
font-size:12px;
|
1516 |
+
border-radius:2px;
|
1517 |
+
box-shadow:0 4px 2px -2px #777;
|
1518 |
}
|
1519 |
|
1520 |
div.s4-final-title {
|
1521 |
+
color:#BE2323;
|
1522 |
+
font-size:18px
|
1523 |
}
|
1524 |
|
1525 |
div.s4-connect {
|
1526 |
+
font-size:12px;
|
1527 |
+
text-align:center;
|
1528 |
+
font-style:italic;
|
1529 |
+
position:absolute;
|
1530 |
+
bottom:10px;
|
1531 |
+
padding:10px;
|
1532 |
+
width:100%;
|
1533 |
+
margin-top:20px
|
1534 |
}
|
1535 |
|
1536 |
table.s4-report-results,
|
1537 |
table.s4-report-errs {
|
1538 |
+
border-collapse:collapse;
|
1539 |
+
box-shadow:4px 8px 11px -8px rgba(0, 0, 0, 0.41);
|
1540 |
}
|
1541 |
|
1542 |
table.s4-report-errs td {
|
1543 |
+
text-align:center;
|
1544 |
+
width:33%
|
1545 |
}
|
1546 |
|
1547 |
table.s4-report-results th,
|
1548 |
table.s4-report-errs th {
|
1549 |
+
background-color:#d0d0d0;
|
1550 |
+
padding:3px;
|
1551 |
+
font-size:14px;
|
1552 |
}
|
1553 |
|
1554 |
table.s4-report-results td,
|
1555 |
table.s4-report-errs td {
|
1556 |
+
padding:3px;
|
1557 |
+
white-space:nowrap;
|
1558 |
+
border:1px solid #dfdfdf;
|
1559 |
+
text-align:center;
|
1560 |
+
font-size:11px
|
1561 |
}
|
1562 |
|
1563 |
table.s4-report-results td:first-child {
|
1564 |
+
text-align:left;
|
1565 |
+
font-weight:bold;
|
1566 |
+
padding-left:3px
|
1567 |
}
|
1568 |
|
1569 |
div.s4-err-title {
|
1570 |
+
background-color:#dfdfdf;
|
1571 |
+
font-weight:bold;
|
1572 |
+
margin:-3px 0 15px 0;
|
1573 |
+
padding:5px;
|
1574 |
+
border-radius:2px;
|
1575 |
+
font-size:13px
|
1576 |
}
|
1577 |
|
1578 |
div.s4-err-msg {
|
1579 |
+
padding:8px;
|
1580 |
+
display:none;
|
1581 |
+
border:1px dashed #999;
|
1582 |
+
margin:10px 0 20px 0;
|
1583 |
+
border-radius:2px;
|
1584 |
}
|
1585 |
|
1586 |
div.s4-err-msg div.content {
|
1587 |
+
padding:5px;
|
1588 |
+
font-size:11px;
|
1589 |
+
line-height:17px;
|
1590 |
+
max-height:125px;
|
1591 |
+
overflow-y:scroll;
|
1592 |
+
border:1px solid silver;
|
1593 |
+
margin:3px;
|
1594 |
}
|
1595 |
|
1596 |
div.s4-err-msg div.info-error {
|
1597 |
+
padding:7px;
|
1598 |
+
background-color:#f9c9c9;
|
1599 |
+
border:1px solid silver;
|
1600 |
+
border-radius:2px;
|
1601 |
+
font-size:12px;
|
1602 |
+
line-height:16px
|
1603 |
}
|
1604 |
|
1605 |
div.s4-err-msg div.info-notice {
|
1606 |
+
padding:7px;
|
1607 |
+
background-color:#FCFEC5;
|
1608 |
+
border:1px solid silver;
|
1609 |
+
border-radius:2px;
|
1610 |
+
font-size:12px;
|
1611 |
+
line-height:16px;
|
1612 |
}
|
1613 |
|
1614 |
table.s4-final-step {
|
1615 |
+
width:100%;
|
1616 |
}
|
1617 |
|
1618 |
table.s4-final-step td {
|
1619 |
+
padding:5px 15px 5px 5px;
|
1620 |
+
font-size:13px;
|
1621 |
}
|
1622 |
|
1623 |
table.s4-final-step td:first-child {
|
1624 |
+
white-space:nowrap;
|
1625 |
+
width:165px
|
1626 |
}
|
1627 |
|
1628 |
div.s4-go-back {
|
1629 |
+
border-top:1px dotted #dfdfdf;
|
1630 |
+
margin:auto;
|
1631 |
+
font-size:11px;
|
1632 |
+
color:#333;
|
1633 |
+
padding-top:4px
|
1634 |
}
|
1635 |
|
1636 |
div.s4-go-back ul {
|
1637 |
+
line-height:18px
|
1638 |
}
|
1639 |
|
1640 |
button.s4-final-btns {
|
1641 |
cursor: pointer;
|
1642 |
color: #fff;
|
1643 |
+
font-size: 17px;
|
1644 |
+
border-radius:4px;
|
1645 |
+
padding:8px;
|
1646 |
background-color: #13659C;
|
1647 |
border: 1px solid gray;
|
1648 |
+
width: 175px;
|
1649 |
}
|
1650 |
|
1651 |
button.s4-final-btns:hover {
|
1652 |
+
background-color:#bdbdbd;
|
1653 |
}
|
1654 |
|
1655 |
div.s4-gopro-btn {
|
1656 |
+
text-align:center;
|
1657 |
+
font-size:14px;
|
1658 |
+
margin:auto;
|
1659 |
+
width:200px;
|
1660 |
+
font-style:italic;
|
1661 |
+
font-weight:bold
|
1662 |
}
|
1663 |
|
1664 |
div.s4-gopro-btn a {
|
1665 |
+
color:green
|
1666 |
}
|
1667 |
|
1668 |
+
div.s4-final-steps {
|
1669 |
+
border:1px solid #cdcdcd;
|
1670 |
+
border-radius:3px;
|
1671 |
+
padding:15px;
|
1672 |
+
color:maroon;
|
1673 |
+
font-size:12px;
|
1674 |
+
font-style:italic;
|
1675 |
+
margin:5px 0 10px 0;
|
1676 |
}
|
1677 |
+
|
1678 |
pre.s4-diff-viewer {
|
1679 |
+
line-height:11px
|
1680 |
}
|
1681 |
|
1682 |
div#s4-notice-reports div.section-content div.title {
|
1683 |
+
cursor:pointer
|
1684 |
}
|
1685 |
/* ============================
|
1686 |
STEP 5 HELP
|
1687 |
============================ */
|
1688 |
|
1689 |
#body-help div#content {
|
1690 |
+
width:100%;
|
1691 |
+
max-width:1024px;
|
1692 |
}
|
1693 |
|
1694 |
div.help-target {
|
1695 |
+
float:right;
|
1696 |
}
|
1697 |
|
1698 |
div.help-target a {
|
1699 |
+
float:right;
|
1700 |
+
font-size:16px;
|
1701 |
+
color:#13659C
|
1702 |
}
|
1703 |
|
1704 |
div#main-help sup {
|
1705 |
+
font-size:11px;
|
1706 |
+
font-weight:normal;
|
1707 |
+
font-style:italic;
|
1708 |
+
color:blue
|
1709 |
}
|
1710 |
|
1711 |
div.help-online {
|
1712 |
+
text-align:center;
|
1713 |
+
font-size:18px;
|
1714 |
+
padding:10px 0 0 0;
|
1715 |
+
line-height:24px
|
1716 |
}
|
1717 |
|
1718 |
div.help {
|
1719 |
+
color:#555;
|
1720 |
+
font-style:italic;
|
1721 |
+
font-size:11px;
|
1722 |
+
padding:4px;
|
1723 |
+
border-top:1px solid #dfdfdf
|
1724 |
}
|
1725 |
|
1726 |
div.help-page fieldset {
|
1727 |
+
margin-bottom:25px
|
1728 |
}
|
1729 |
|
1730 |
div#main-help {
|
1731 |
+
font-size:13px;
|
1732 |
+
line-height:17px
|
1733 |
}
|
1734 |
|
1735 |
div#main-help h3 {
|
1736 |
+
border-bottom:1px solid silver;
|
1737 |
+
padding:8px;
|
1738 |
+
margin:4px 0 8px 0;
|
1739 |
+
font-size:20px
|
1740 |
}
|
1741 |
|
1742 |
div#main-help span.step {
|
1743 |
+
color:#DB4B38
|
1744 |
}
|
1745 |
|
1746 |
.help-opt {
|
1747 |
+
width:100%;
|
1748 |
+
border:none;
|
1749 |
+
border-collapse:collapse;
|
1750 |
+
margin:5px 0 0 0;
|
1751 |
}
|
1752 |
|
1753 |
.help-opt .col-opt {
|
1754 |
+
width:250px;
|
1755 |
}
|
1756 |
|
1757 |
.help-opt td.section {
|
1758 |
+
background-color:#dfdfdf;
|
1759 |
}
|
1760 |
|
1761 |
.help-opt td,
|
1762 |
.help-opt th {
|
1763 |
+
padding:15px 10px;
|
1764 |
+
border:1px solid silver;
|
1765 |
}
|
1766 |
|
1767 |
.help-opt td:first-child {
|
1768 |
+
font-weight:bold;
|
1769 |
+
padding-right:10px;
|
1770 |
+
white-space:nowrap
|
1771 |
}
|
1772 |
|
1773 |
.help-opt th {
|
1774 |
+
background:#333;
|
1775 |
+
color:#fff;
|
1776 |
+
border:1px solid #333
|
1777 |
}
|
1778 |
|
1779 |
#main-help section {
|
1780 |
+
border:1px solid silver;
|
1781 |
+
margin-top:28px;
|
1782 |
+
border-radius:2px;
|
1783 |
+
overflow:hidden;
|
1784 |
}
|
1785 |
|
1786 |
#main-help section h2.header {
|
1787 |
+
background-color:#F1F1F1;
|
1788 |
+
padding:15px;
|
1789 |
+
margin:0;
|
1790 |
+
font-size:20px;
|
1791 |
}
|
1792 |
|
1793 |
#main-help section .content {
|
1794 |
+
padding:10px;
|
1795 |
}
|
1796 |
/* ============================
|
1797 |
Expandable section
|
1798 |
============================ */
|
1799 |
|
1800 |
.expandable.close .expand-header {
|
1801 |
+
cursor:pointer;
|
1802 |
}
|
1803 |
|
1804 |
.expandable.open .expand-header {
|
1805 |
+
cursor:pointer;
|
1806 |
}
|
1807 |
|
1808 |
.expandable .expand-header::before {
|
1809 |
+
font-family:'Font Awesome 5 Free';
|
1810 |
+
margin-right:10px;
|
1811 |
}
|
1812 |
|
1813 |
.expandable.close .expand-header::before {
|
1814 |
+
content:"\f0fe";
|
1815 |
}
|
1816 |
|
1817 |
.expandable.open .expand-header::before {
|
1818 |
+
content:"\f146";
|
1819 |
}
|
1820 |
|
1821 |
.expandable.close .content {
|
1822 |
+
display:none;
|
1823 |
}
|
1824 |
|
1825 |
.expandable.open .content {
|
1826 |
+
display:block;
|
1827 |
}
|
1828 |
/* ============================
|
1829 |
VIEW EXCEPTION
|
1830 |
============================ */
|
1831 |
|
1832 |
.exception-trace {
|
1833 |
+
overflow:auto;
|
1834 |
+
border:1px solid lightgray;
|
1835 |
+
padding:10px;
|
1836 |
+
margin:0;
|
1837 |
}
|
1838 |
/*!
|
1839 |
* password indicator
|
1840 |
*/
|
1841 |
|
1842 |
.top_testresult {
|
1843 |
+
font-weight:bold;
|
1844 |
+
font-size:11px;
|
1845 |
+
color:#222;
|
1846 |
+
display:block;
|
1847 |
+
position:absolute;
|
1848 |
+
top:0;
|
1849 |
+
right:30px;
|
1850 |
+
text-align:right;
|
1851 |
+
padding-right:20px;
|
1852 |
+
box-sizing:border-box;
|
1853 |
+
width:40%;
|
1854 |
+
height:30px;
|
1855 |
+
line-height:30px;
|
1856 |
}
|
1857 |
|
1858 |
.top_shortPass,
|
1859 |
.top_badPass {
|
1860 |
+
background:#edabab;
|
1861 |
+
background:transparent linear-gradient(90deg, transparent 20%, #edabab);
|
1862 |
+
display:block;
|
1863 |
}
|
1864 |
|
1865 |
.top_goodPass {
|
1866 |
+
background:#ffffe0;
|
1867 |
+
background:transparent linear-gradient(90deg, transparent 20%, #ffffe0);
|
1868 |
+
display:block;
|
1869 |
}
|
1870 |
|
1871 |
.top_strongPass {
|
1872 |
+
background:#d3edab;
|
1873 |
+
background:transparent linear-gradient(90deg, transparent 20%, #d3edab);
|
1874 |
+
display:block;
|
1875 |
}
|
1876 |
/*================================================
|
1877 |
LIB OVERIDES*/
|
1879 |
input.parsley-error,
|
1880 |
textarea.parsley-error,
|
1881 |
select.parsley-error {
|
1882 |
+
color:#B94A48 !important;
|
1883 |
+
background-color:#F2DEDE !important;
|
1884 |
+
border:1px solid #EED3D7 !important;
|
1885 |
}
|
1886 |
|
1887 |
ul.parsley-errors-list {
|
1888 |
+
margin:1px 0 0 -40px;
|
1889 |
+
list-style-type:none;
|
1890 |
+
font-size:10px
|
1891 |
}
|
1892 |
|
1893 |
.ui-widget {
|
1894 |
+
font-size:13px
|
1895 |
}
|
1896 |
|
1897 |
+
<?php if (DUPX_Log::isLevel(DUPX_Log::LV_DEBUG)):?>
|
1898 |
.dupx-debug {display:block; margin:0 0 25px 0; font-size:11px; background-color:#f5dbda; padding:8px; border:1px solid silver; border-radius:2px}
|
1899 |
.dupx-debug label {font-weight:bold; display:block; margin:4px 0 1px 0}
|
1900 |
.dupx-debug textarea {width:95%; height:100px; font-size:11px}
|
1901 |
.dupx-debug input {font-size:11px; padding:3px}
|
1902 |
+
<?php else :?>
|
1903 |
.dupx-debug {display:none}
|
1904 |
<?php endif; ?>
|
1905 |
|
installer/dup-installer/classes/class.s3.func.php
CHANGED
@@ -13,7 +13,7 @@ defined('ABSPATH') || defined('DUPXABSPATH') || exit;
|
|
13 |
|
14 |
/**
|
15 |
* Step 3 functions
|
16 |
-
*
|
17 |
*/
|
18 |
final class DUPX_S3_Funcs
|
19 |
{
|
@@ -223,7 +223,7 @@ final class DUPX_S3_Funcs
|
|
223 |
}
|
224 |
|
225 |
/**
|
226 |
-
* get
|
227 |
*
|
228 |
* @param string $key
|
229 |
* @return mixed
|
@@ -1042,16 +1042,15 @@ LONGMSG;
|
|
1042 |
$reactivate_plugins_after_installation_str)."','duplicator_reactivate_plugins_after_installation')");
|
1043 |
}
|
1044 |
|
1045 |
-
//
|
1046 |
-
// Force Duplicator active so we the security cleanup will be available
|
1047 |
if (!in_array('duplicator/duplicator.php', $plugin_list)) {
|
1048 |
$plugin_list[] = 'duplicator/duplicator.php';
|
1049 |
}
|
1050 |
$serial_plugin_list = @serialize($plugin_list);
|
1051 |
-
// End
|
1052 |
|
1053 |
mysqli_query($this->dbh,
|
1054 |
-
"UPDATE `".mysqli_real_escape_string($this->dbh, $GLOBALS['DUPX_AC']->wp_tableprefix)."options`
|
|
|
1055 |
}
|
1056 |
|
1057 |
/**
|
@@ -1094,7 +1093,7 @@ LONGMSG;
|
|
1094 |
'reactivate' => true
|
1095 |
);
|
1096 |
|
1097 |
-
DUPX_Log::info('Deactivated plugins list here: '.DUPX_Log::varToString(array_keys($excludePlugins)));
|
1098 |
return $excludePlugins;
|
1099 |
}
|
1100 |
|
13 |
|
14 |
/**
|
15 |
* Step 3 functions
|
16 |
+
* Singleton
|
17 |
*/
|
18 |
final class DUPX_S3_Funcs
|
19 |
{
|
223 |
}
|
224 |
|
225 |
/**
|
226 |
+
* get value post if the post isn't initialized initialize it
|
227 |
*
|
228 |
* @param string $key
|
229 |
* @return mixed
|
1042 |
$reactivate_plugins_after_installation_str)."','duplicator_reactivate_plugins_after_installation')");
|
1043 |
}
|
1044 |
|
1045 |
+
// Force Duplicator active so the security cleanup will be available
|
|
|
1046 |
if (!in_array('duplicator/duplicator.php', $plugin_list)) {
|
1047 |
$plugin_list[] = 'duplicator/duplicator.php';
|
1048 |
}
|
1049 |
$serial_plugin_list = @serialize($plugin_list);
|
|
|
1050 |
|
1051 |
mysqli_query($this->dbh,
|
1052 |
+
"UPDATE `".mysqli_real_escape_string($this->dbh, $GLOBALS['DUPX_AC']->wp_tableprefix)."options` "
|
1053 |
+
. "SET option_value = '".mysqli_real_escape_string($this->dbh, $serial_plugin_list)."' WHERE option_name = 'active_plugins' ");
|
1054 |
}
|
1055 |
|
1056 |
/**
|
1093 |
'reactivate' => true
|
1094 |
);
|
1095 |
|
1096 |
+
DUPX_Log::info('Auto Deactivated plugins list here: '.DUPX_Log::varToString(array_keys($excludePlugins)));
|
1097 |
return $excludePlugins;
|
1098 |
}
|
1099 |
|
installer/dup-installer/classes/utilities/class.u.php
CHANGED
@@ -425,8 +425,10 @@ class DUPX_U
|
|
425 |
$table = "options";
|
426 |
$where = "option_name = 'active_plugins'";
|
427 |
|
|
|
|
|
|
|
428 |
|
429 |
-
$query = @mysqli_query($dbh, "SELECT {$select} FROM `".mysqli_real_escape_string($dbh, $GLOBALS['DUPX_AC']->wp_tableprefix).mysqli_real_escape_string($dbh, $table)."` WHERE {$where} ");
|
430 |
if ($query) {
|
431 |
$row = @mysqli_fetch_array($query);
|
432 |
$plugins_ser_str = stripslashes($row[0]);
|
425 |
$table = "options";
|
426 |
$where = "option_name = 'active_plugins'";
|
427 |
|
428 |
+
$query = @mysqli_query($dbh, "SELECT {$select} "
|
429 |
+
. " FROM `".mysqli_real_escape_string($dbh, $GLOBALS['DUPX_AC']->wp_tableprefix) . mysqli_real_escape_string($dbh, $table)
|
430 |
+
. "` WHERE {$where} ");
|
431 |
|
|
|
432 |
if ($query) {
|
433 |
$row = @mysqli_fetch_array($query);
|
434 |
$plugins_ser_str = stripslashes($row[0]);
|
installer/dup-installer/ctrls/classes/class.ctrl.extraction.php
CHANGED
@@ -35,7 +35,7 @@ class DUP_LITE_Extraction
|
|
35 |
}
|
36 |
|
37 |
/**
|
38 |
-
*
|
39 |
*/
|
40 |
public function initData()
|
41 |
{
|
@@ -199,8 +199,6 @@ class DUP_LITE_Extraction
|
|
199 |
unset($POST_LOG['dbpass']);
|
200 |
ksort($POST_LOG);
|
201 |
|
202 |
-
|
203 |
-
|
204 |
//ACTION VARS
|
205 |
$ajax1_start = DUPX_U::getMicrotime();
|
206 |
$root_path = $GLOBALS['DUPX_ROOT'];
|
@@ -249,7 +247,7 @@ class DUP_LITE_Extraction
|
|
249 |
}
|
250 |
|
251 |
DUPX_Log::info("********************************************************************************");
|
252 |
-
DUPX_Log::info('* DUPLICATOR-
|
253 |
DUPX_Log::info('* STEP-1 START @ '.@date('h:i:s'));
|
254 |
DUPX_Log::info("* VERSION: {$GLOBALS['DUPX_AC']->version_dup}");
|
255 |
DUPX_Log::info('* NOTICE: Do NOT post to public sites or forums!!');
|
35 |
}
|
36 |
|
37 |
/**
|
38 |
+
* initialize extraction data
|
39 |
*/
|
40 |
public function initData()
|
41 |
{
|
199 |
unset($POST_LOG['dbpass']);
|
200 |
ksort($POST_LOG);
|
201 |
|
|
|
|
|
202 |
//ACTION VARS
|
203 |
$ajax1_start = DUPX_U::getMicrotime();
|
204 |
$root_path = $GLOBALS['DUPX_ROOT'];
|
247 |
}
|
248 |
|
249 |
DUPX_Log::info("********************************************************************************");
|
250 |
+
DUPX_Log::info('* DUPLICATOR-LITE: Install-Log');
|
251 |
DUPX_Log::info('* STEP-1 START @ '.@date('h:i:s'));
|
252 |
DUPX_Log::info("* VERSION: {$GLOBALS['DUPX_AC']->version_dup}");
|
253 |
DUPX_Log::info('* NOTICE: Do NOT post to public sites or forums!!');
|
installer/dup-installer/ctrls/ctrl.s2.base.php
CHANGED
@@ -146,23 +146,24 @@ if ($_POST['dbaction'] != 'manual') {
|
|
146 |
$dbinstall->prepareDB();
|
147 |
}
|
148 |
}
|
|
|
149 |
if($not_yet_logged) {
|
150 |
|
151 |
-
|
152 |
-
|
153 |
-
|
154 |
-
|
155 |
-
|
156 |
-
|
157 |
-
|
158 |
-
|
159 |
-
|
160 |
-
|
161 |
-
|
162 |
-
|
163 |
-
|
164 |
-
|
165 |
-
|
166 |
|
167 |
DUPX_Log::info("--------------------------------------");
|
168 |
DUPX_Log::info("DATABASE RESULTS");
|
@@ -170,17 +171,17 @@ if($not_yet_logged) {
|
|
170 |
}
|
171 |
|
172 |
if ($_POST['dbaction'] == 'manual') {
|
173 |
-
|
174 |
-
|
175 |
-
|
176 |
} elseif(!isset($_POST['continue_chunking'])) {
|
177 |
$dbinstall->writeInDB();
|
178 |
$rowCountMisMatchTables = $dbinstall->getRowCountMisMatchTables();
|
179 |
$JSON['pass'] = 1;
|
180 |
if (!empty($rowCountMisMatchTables)) {
|
181 |
-
|
182 |
-
|
183 |
-
|
184 |
}
|
185 |
|
186 |
$dbinstall->profile_end = DUPX_U::getMicrotime();
|
@@ -194,4 +195,4 @@ DUPX_Log::info("\nINSERT DATA RUNTIME: " . DUPX_U::elapsedTime($dbinstall->profi
|
|
194 |
DUPX_Log::info('STEP-2 COMPLETE @ '.@date('h:i:s')." - RUNTIME: {$ajax1_sum}");
|
195 |
|
196 |
error_reporting($ajax2_error_level);
|
197 |
-
die(DupLiteSnapJsonU::wp_json_encode($JSON));
|
146 |
$dbinstall->prepareDB();
|
147 |
}
|
148 |
}
|
149 |
+
|
150 |
if($not_yet_logged) {
|
151 |
|
152 |
+
//Fatal Memory errors from file_get_contents is not catchable.
|
153 |
+
//Try to warn ahead of time with a check on buffer in memory difference
|
154 |
+
$current_php_mem = DUPX_U::returnBytes($GLOBALS['PHP_MEMORY_LIMIT']);
|
155 |
+
$current_php_mem = is_numeric($current_php_mem) ? $current_php_mem : null;
|
156 |
+
|
157 |
+
if ($current_php_mem != null && $dbinstall->dbFileSize > $current_php_mem) {
|
158 |
+
$readable_size = DUPX_U::readableByteSize($dbinstall->dbFileSize);
|
159 |
+
$msg = "\nWARNING: The database script is '".DUPX_U::sanitize_text_field($readable_size)."' in size. The PHP memory allocation is set\n";
|
160 |
+
$msg .= "at '".DUPX_U::sanitize_text_field($GLOBALS['PHP_MEMORY_LIMIT'])."'. There is a high possibility that the installer script will fail with\n";
|
161 |
+
$msg .= "a memory allocation error when trying to load the database.sql file. It is\n";
|
162 |
+
$msg .= "recommended to increase the 'memory_limit' setting in the php.ini config file.\n";
|
163 |
+
$msg .= "see: ".DUPX_U::esc_url($faq_url.'#faq-trouble-056-q')." \n";
|
164 |
+
DUPX_Log::info($msg);
|
165 |
+
unset($msg);
|
166 |
+
}
|
167 |
|
168 |
DUPX_Log::info("--------------------------------------");
|
169 |
DUPX_Log::info("DATABASE RESULTS");
|
171 |
}
|
172 |
|
173 |
if ($_POST['dbaction'] == 'manual') {
|
174 |
+
DUPX_Log::info("\n** SQL EXECUTION IS IN MANUAL MODE **");
|
175 |
+
DUPX_Log::info("- No SQL script has been executed -");
|
176 |
+
$JSON['pass'] = 1;
|
177 |
} elseif(!isset($_POST['continue_chunking'])) {
|
178 |
$dbinstall->writeInDB();
|
179 |
$rowCountMisMatchTables = $dbinstall->getRowCountMisMatchTables();
|
180 |
$JSON['pass'] = 1;
|
181 |
if (!empty($rowCountMisMatchTables)) {
|
182 |
+
$errMsg = 'ERROR: Database Table row count verification was failed for table(s): '.implode(', ', $rowCountMisMatchTables);
|
183 |
+
DUPX_Log::info($errMsg);
|
184 |
+
}
|
185 |
}
|
186 |
|
187 |
$dbinstall->profile_end = DUPX_U::getMicrotime();
|
195 |
DUPX_Log::info('STEP-2 COMPLETE @ '.@date('h:i:s')." - RUNTIME: {$ajax1_sum}");
|
196 |
|
197 |
error_reporting($ajax2_error_level);
|
198 |
+
die(DupLiteSnapJsonU::wp_json_encode($JSON));
|
installer/dup-installer/ctrls/ctrl.s2.dbinstall.php
CHANGED
@@ -54,7 +54,7 @@ class DUPX_DBInstall
|
|
54 |
$this->root_path = $GLOBALS['DUPX_ROOT'];
|
55 |
$this->sql_file_path = "{$GLOBALS['DUPX_INIT']}/dup-database__{$GLOBALS['DUPX_AC']->package_hash}.sql";
|
56 |
$this->sql_result_file_path = "{$GLOBALS['DUPX_INIT']}/{$GLOBALS['SQL_FILE_NAME']}";
|
57 |
-
|
58 |
|
59 |
//ESTABLISH CONNECTION
|
60 |
$this->dbh = DUPX_DB::connect($post['dbhost'], $post['dbuser'], $post['dbpass']);
|
@@ -64,9 +64,17 @@ class DUPX_DBInstall
|
|
64 |
or DUPX_Log::error(sprintf(ERR_DBCREATE, $post['dbname']));
|
65 |
}
|
66 |
|
67 |
-
|
68 |
-
|
69 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
70 |
|
71 |
$this->profile_start = isset($post['profile_start']) ? DUPX_U::sanitize_text_field($post['profile_start']) : DUPX_U::getMicrotime();
|
72 |
$this->start_microtime = isset($post['start_microtime']) ? DUPX_U::sanitize_text_field($post['start_microtime']) : $start_microtime;
|
@@ -94,8 +102,18 @@ class DUPX_DBInstall
|
|
94 |
public function prepareDB()
|
95 |
{
|
96 |
//RUN DATABASE SCRIPT
|
97 |
-
|
98 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
99 |
DUPX_DB::setCharset($this->dbh, $this->post['dbcharset'], $this->post['dbcollate']);
|
100 |
|
101 |
//Will set mode to null only for this db handle session
|
@@ -116,7 +134,6 @@ class DUPX_DBInstall
|
|
116 |
break;
|
117 |
}
|
118 |
|
119 |
-
|
120 |
//Set defaults incase the variable could not be read
|
121 |
$this->drop_tbl_log = 0;
|
122 |
$this->rename_tbl_log = 0;
|
@@ -179,6 +196,7 @@ class DUPX_DBInstall
|
|
179 |
}
|
180 |
break;
|
181 |
}
|
|
|
182 |
}
|
183 |
|
184 |
public function getRowCountMisMatchTables()
|
@@ -237,12 +255,13 @@ class DUPX_DBInstall
|
|
237 |
|
238 |
@mysqli_autocommit($this->dbh, false);
|
239 |
|
240 |
-
$query =
|
241 |
$delimiter = ';';
|
|
|
242 |
while (($line = fgets($handle)) !== false) {
|
243 |
if ('DELIMITER ;' == trim($query)) {
|
244 |
$delimiter = ';';
|
245 |
-
$query =
|
246 |
continue;
|
247 |
}
|
248 |
$query .= $line;
|
@@ -277,7 +296,7 @@ class DUPX_DBInstall
|
|
277 |
}
|
278 |
|
279 |
DUPX_Log::info("Skipping delimiter query");
|
280 |
-
$query =
|
281 |
continue;
|
282 |
}
|
283 |
|
@@ -340,7 +359,7 @@ class DUPX_DBInstall
|
|
340 |
$this->dbquery_rows++;
|
341 |
}
|
342 |
}
|
343 |
-
$query =
|
344 |
$counter++;
|
345 |
}
|
346 |
}
|
54 |
$this->root_path = $GLOBALS['DUPX_ROOT'];
|
55 |
$this->sql_file_path = "{$GLOBALS['DUPX_INIT']}/dup-database__{$GLOBALS['DUPX_AC']->package_hash}.sql";
|
56 |
$this->sql_result_file_path = "{$GLOBALS['DUPX_INIT']}/{$GLOBALS['SQL_FILE_NAME']}";
|
57 |
+
$this->dbFileSize = @filesize($this->sql_file_path);
|
58 |
|
59 |
//ESTABLISH CONNECTION
|
60 |
$this->dbh = DUPX_DB::connect($post['dbhost'], $post['dbuser'], $post['dbpass']);
|
64 |
or DUPX_Log::error(sprintf(ERR_DBCREATE, $post['dbname']));
|
65 |
}
|
66 |
|
67 |
+
//PHP 8.1 throws exceptions vs pre 8.1 which silently fails
|
68 |
+
try {
|
69 |
+
@mysqli_query($this->dbh, "SET wait_timeout = ".mysqli_real_escape_string($this->dbh, $GLOBALS['DB_MAX_TIME']));
|
70 |
+
$qryResult = @mysqli_query($this->dbh, "SET GLOBAL max_allowed_packet = ".mysqli_real_escape_string($this->dbh, $GLOBALS['DB_MAX_PACKETS']));
|
71 |
+
if ($qryResult === false) {
|
72 |
+
@mysqli_query($this->dbh, "SET max_allowed_packet = ".mysqli_real_escape_string($this->dbh, $GLOBALS['DB_MAX_PACKETS']));
|
73 |
+
}
|
74 |
+
}
|
75 |
+
catch (Exception $ex) {
|
76 |
+
DUPX_Log::info("SQL ERROR:" . $ex->getMessage() . "\n" . $ex->getTraceAsString());
|
77 |
+
}
|
78 |
|
79 |
$this->profile_start = isset($post['profile_start']) ? DUPX_U::sanitize_text_field($post['profile_start']) : DUPX_U::getMicrotime();
|
80 |
$this->start_microtime = isset($post['start_microtime']) ? DUPX_U::sanitize_text_field($post['start_microtime']) : $start_microtime;
|
102 |
public function prepareDB()
|
103 |
{
|
104 |
//RUN DATABASE SCRIPT
|
105 |
+
//PHP 8.1 throws exceptions vs pre-8.1 which silently fails
|
106 |
+
try {
|
107 |
+
@mysqli_query($this->dbh, "SET wait_timeout = ".mysqli_real_escape_string($this->dbh, $GLOBALS['DB_MAX_TIME']));
|
108 |
+
$qryResult = @mysqli_query($this->dbh, "SET GLOBAL max_allowed_packet = ".mysqli_real_escape_string($this->dbh, $GLOBALS['DB_MAX_PACKETS']));
|
109 |
+
if ($qryResult === false) {
|
110 |
+
@mysqli_query($this->dbh, "SET max_allowed_packet = ".mysqli_real_escape_string($this->dbh, $GLOBALS['DB_MAX_PACKETS']));
|
111 |
+
}
|
112 |
+
}
|
113 |
+
catch (Exception $ex) {
|
114 |
+
DUPX_Log::info("SQL ERROR:" . $ex->getMessage() . "\n" . $ex->getTraceAsString());
|
115 |
+
}
|
116 |
+
|
117 |
DUPX_DB::setCharset($this->dbh, $this->post['dbcharset'], $this->post['dbcollate']);
|
118 |
|
119 |
//Will set mode to null only for this db handle session
|
134 |
break;
|
135 |
}
|
136 |
|
|
|
137 |
//Set defaults incase the variable could not be read
|
138 |
$this->drop_tbl_log = 0;
|
139 |
$this->rename_tbl_log = 0;
|
196 |
}
|
197 |
break;
|
198 |
}
|
199 |
+
|
200 |
}
|
201 |
|
202 |
public function getRowCountMisMatchTables()
|
255 |
|
256 |
@mysqli_autocommit($this->dbh, false);
|
257 |
|
258 |
+
$query = '';
|
259 |
$delimiter = ';';
|
260 |
+
|
261 |
while (($line = fgets($handle)) !== false) {
|
262 |
if ('DELIMITER ;' == trim($query)) {
|
263 |
$delimiter = ';';
|
264 |
+
$query = '';
|
265 |
continue;
|
266 |
}
|
267 |
$query .= $line;
|
296 |
}
|
297 |
|
298 |
DUPX_Log::info("Skipping delimiter query");
|
299 |
+
$query = '';
|
300 |
continue;
|
301 |
}
|
302 |
|
359 |
$this->dbquery_rows++;
|
360 |
}
|
361 |
}
|
362 |
+
$query = '';
|
363 |
$counter++;
|
364 |
}
|
365 |
}
|
installer/dup-installer/ctrls/ctrl.s2.dbtest.php
CHANGED
@@ -70,17 +70,17 @@ class DUPX_DBTest
|
|
70 |
//REQUIRMENTS
|
71 |
//Pass States: skipped = -1 failed = 0 passed = 1 warned = 2
|
72 |
$this->reqs[5] = array('title' => "Create Database User", 'info' => "{$default_msg}", 'pass' => -1);
|
73 |
-
$this->reqs[10] = array('title' => "
|
74 |
-
$this->reqs[20] = array('title' => "
|
75 |
-
$this->reqs[30] = array('title' => "Create New
|
76 |
-
$this->reqs[40] = array('title' => "
|
77 |
$this->reqs[50] = array('title' => "Manual Table Check", 'info' => "{$default_msg}", 'pass' => -1);
|
78 |
-
$this->reqs[60] = array('title' => "
|
79 |
$this->reqs[70] = array('title' => "Check Collation Capability", 'info' => "{$default_msg}", 'pass' => -1);
|
80 |
-
$this->reqs[80] = array('title' => "
|
81 |
//NOTICES
|
82 |
$this->notices[10] = array('title' => "Table Case Sensitivity", 'info' => "{$default_msg}", 'pass' => -1);
|
83 |
-
$this->notices[20] = array('title' => "Source
|
84 |
}
|
85 |
|
86 |
public function run()
|
@@ -224,7 +224,7 @@ class DUPX_DBTest
|
|
224 |
|
225 |
/**
|
226 |
* Create New Database Basic Test
|
227 |
-
* Use selects: 'Create New Database
|
228 |
*
|
229 |
* @return null
|
230 |
*/
|
@@ -354,7 +354,7 @@ class DUPX_DBTest
|
|
354 |
|
355 |
if ($this->tblPerms['all']) {
|
356 |
$test['pass'] = 1;
|
357 |
-
$test['info'] = "The user <b>[".htmlentities($this->in->dbuser)."]</b> the correct privileges on the database <b>[".htmlentities($this->in->dbname)."]</b>";
|
358 |
} else {
|
359 |
$list = array();
|
360 |
$test['pass'] = 0;
|
70 |
//REQUIRMENTS
|
71 |
//Pass States: skipped = -1 failed = 0 passed = 1 warned = 2
|
72 |
$this->reqs[5] = array('title' => "Create Database User", 'info' => "{$default_msg}", 'pass' => -1);
|
73 |
+
$this->reqs[10] = array('title' => "Host Connection", 'info' => "{$default_msg}", 'pass' => -1);
|
74 |
+
$this->reqs[20] = array('title' => "Database Version", 'info' => "{$default_msg}", 'pass' => -1);
|
75 |
+
$this->reqs[30] = array('title' => "Database Create New Tests", 'info' => "{$default_msg}", 'pass' => -1);
|
76 |
+
$this->reqs[40] = array('title' => "Privileges: User Visibility", 'info' => "{$default_msg}", 'pass' => -1);
|
77 |
$this->reqs[50] = array('title' => "Manual Table Check", 'info' => "{$default_msg}", 'pass' => -1);
|
78 |
+
$this->reqs[60] = array('title' => "Privileges: User Resources", 'info' => "{$default_msg}", 'pass' => -1);
|
79 |
$this->reqs[70] = array('title' => "Check Collation Capability", 'info' => "{$default_msg}", 'pass' => -1);
|
80 |
+
$this->reqs[80] = array('title' => "Database GTID mode", 'info' => "{$default_msg}", 'pass' => -1);
|
81 |
//NOTICES
|
82 |
$this->notices[10] = array('title' => "Table Case Sensitivity", 'info' => "{$default_msg}", 'pass' => -1);
|
83 |
+
$this->notices[20] = array('title' => "Source Database Triggers", 'info' => "{$default_msg}", 'pass' => -1);
|
84 |
}
|
85 |
|
86 |
public function run()
|
224 |
|
225 |
/**
|
226 |
* Create New Database Basic Test
|
227 |
+
* Use selects: 'Create New Database for basic
|
228 |
*
|
229 |
* @return null
|
230 |
*/
|
354 |
|
355 |
if ($this->tblPerms['all']) {
|
356 |
$test['pass'] = 1;
|
357 |
+
$test['info'] = "The user <b>[".htmlentities($this->in->dbuser)."]</b> has the correct privileges on the database <b>[".htmlentities($this->in->dbname)."]</b>";
|
358 |
} else {
|
359 |
$list = array();
|
360 |
$test['pass'] = 0;
|
installer/dup-installer/favicon/android-chrome-192x192.png
ADDED
Binary file
|
installer/dup-installer/favicon/android-chrome-384x384.png
ADDED
Binary file
|
installer/dup-installer/favicon/apple-touch-icon.png
ADDED
Binary file
|
installer/dup-installer/favicon/browserconfig.xml
CHANGED
@@ -2,8 +2,8 @@
|
|
2 |
<browserconfig>
|
3 |
<msapplication>
|
4 |
<tile>
|
5 |
-
<square150x150logo src="/
|
6 |
-
<TileColor>#
|
7 |
</tile>
|
8 |
</msapplication>
|
9 |
</browserconfig>
|
2 |
<browserconfig>
|
3 |
<msapplication>
|
4 |
<tile>
|
5 |
+
<square150x150logo src="/mstile-150x150.png"/>
|
6 |
+
<TileColor>#da532c</TileColor>
|
7 |
</tile>
|
8 |
</msapplication>
|
9 |
</browserconfig>
|
installer/dup-installer/favicon/favicon-16x16.png
ADDED
Binary file
|
installer/dup-installer/favicon/favicon-32x32.png
ADDED
Binary file
|
installer/dup-installer/favicon/favicon.ico
ADDED
Binary file
|
installer/dup-installer/favicon/lite01_android-chrome-192x192.png
DELETED
Binary file
|
installer/dup-installer/favicon/lite01_android-chrome-256x256.png
DELETED
Binary file
|
installer/dup-installer/favicon/lite01_apple-touch-icon.png
DELETED
Binary file
|
installer/dup-installer/favicon/lite01_favicon-16x16.png
DELETED
Binary file
|
installer/dup-installer/favicon/lite01_favicon-32x32.png
DELETED
Binary file
|
installer/dup-installer/favicon/lite01_favicon.ico
DELETED
Binary file
|
installer/dup-installer/favicon/lite01_mstile-150x150.png
DELETED
Binary file
|
installer/dup-installer/favicon/lite01_safari-pinned-tab.svg
DELETED
@@ -1,42 +0,0 @@
|
|
1 |
-
<?xml version="1.0" standalone="no"?>
|
2 |
-
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20010904//EN"
|
3 |
-
"http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
|
4 |
-
<svg version="1.0" xmlns="http://www.w3.org/2000/svg"
|
5 |
-
width="256.000000pt" height="256.000000pt" viewBox="0 0 256.000000 256.000000"
|
6 |
-
preserveAspectRatio="xMidYMid meet">
|
7 |
-
<metadata>
|
8 |
-
Created by potrace 1.11, written by Peter Selinger 2001-2013
|
9 |
-
</metadata>
|
10 |
-
<g transform="translate(0.000000,256.000000) scale(0.100000,-0.100000)"
|
11 |
-
fill="#000000" stroke="none">
|
12 |
-
<path d="M945 2506 c-38 -11 -72 -21 -74 -23 -4 -3 -10 -69 -16 -163 -1 -30
|
13 |
-
-3 -63 -4 -72 0 -9 -11 -20 -23 -24 -12 -3 -50 -24 -85 -45 -35 -22 -67 -39
|
14 |
-
-72 -39 -5 0 -53 23 -107 50 -54 28 -103 50 -108 50 -6 0 -38 -28 -73 -62
|
15 |
-
l-62 -61 56 -111 c43 -86 53 -113 44 -126 -6 -8 -29 -48 -52 -87 -22 -40 -46
|
16 |
-
-73 -52 -74 -7 0 -23 -2 -37 -4 -14 -2 -62 -4 -108 -5 -45 -2 -85 -7 -89 -13
|
17 |
-
-4 -6 -16 -46 -28 -89 -26 -90 -35 -75 94 -159 l86 -56 0 -105 1 -105 -103
|
18 |
-
-68 c-113 -75 -109 -65 -77 -160 8 -22 14 -48 14 -57 0 -26 12 -29 123 -34 56
|
19 |
-
-3 107 -7 114 -9 7 -2 20 28 33 78 12 45 28 103 36 128 8 25 16 56 19 68 2 12
|
20 |
-
7 31 10 42 4 11 7 57 7 102 0 286 134 547 367 719 59 43 193 106 277 130 67
|
21 |
-
19 102 23 229 22 133 -1 160 -4 238 -27 49 -15 107 -37 129 -48 l41 -21 -586
|
22 |
-
-586 c-322 -322 -588 -584 -590 -582 -3 3 -8 50 -11 105 -8 110 -17 199 -20
|
23 |
-
202 -1 2 -44 -150 -95 -336 -51 -187 -99 -361 -107 -387 l-14 -48 41 39 c23
|
24 |
-
22 401 399 840 838 l799 799 -37 27 c-21 15 -69 46 -108 69 -96 57 -95 55 -96
|
25 |
-
120 0 88 -8 165 -16 172 -7 6 -75 26 -155 45 -12 2 -35 -25 -83 -98 l-68 -102
|
26 |
-
-103 1 c-58 1 -106 3 -108 5 -2 2 -31 48 -65 101 -41 63 -68 96 -79 95 -9 -1
|
27 |
-
-48 -10 -87 -21z"/>
|
28 |
-
<path d="M1452 1307 l-833 -833 23 -20 c26 -24 154 -104 165 -104 5 0 17 -7
|
29 |
-
27 -15 20 -15 23 -31 26 -157 2 -42 6 -81 10 -88 4 -6 45 -22 91 -34 l84 -23
|
30 |
-
67 101 68 101 102 0 103 0 64 -95 c35 -52 66 -98 70 -102 8 -10 170 35 179 49
|
31 |
-
4 6 9 58 10 114 4 104 12 139 35 139 7 0 44 20 82 44 l70 43 104 -54 c57 -29
|
32 |
-
108 -53 112 -53 5 0 37 28 73 62 l64 62 -55 111 -56 112 47 76 c25 42 46 81
|
33 |
-
46 87 0 5 3 10 8 11 30 3 89 8 161 13 46 3 85 6 86 8 5 5 45 154 45 166 0 7
|
34 |
-
-45 42 -100 78 l-100 67 0 102 0 102 104 69 103 68 -23 84 c-13 47 -25 87 -28
|
35 |
-
89 -2 3 -35 7 -73 9 -37 3 -89 6 -115 8 l-48 3 -19 -66 c-61 -206 -74 -269
|
36 |
-
-76 -366 -4 -126 -9 -158 -47 -272 -84 -255 -290 -461 -548 -546 -100 -33
|
37 |
-
-126 -38 -250 -42 -113 -5 -226 14 -338 55 -116 43 -166 -22 492 636 322 323
|
38 |
-
587 583 587 578 1 -5 2 -22 4 -39 5 -59 17 -191 20 -230 2 -22 4 -42 5 -45 1
|
39 |
-
-4 73 244 85 295 11 49 25 101 70 259 45 164 58 216 53 216 -2 0 -378 -375
|
40 |
-
-836 -833z"/>
|
41 |
-
</g>
|
42 |
-
</svg>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
installer/dup-installer/favicon/mstile-150x150.png
ADDED
Binary file
|
installer/dup-installer/favicon/site.webmanifest
CHANGED
@@ -3,13 +3,13 @@
|
|
3 |
"short_name": "",
|
4 |
"icons": [
|
5 |
{
|
6 |
-
"src": "/
|
7 |
"sizes": "192x192",
|
8 |
"type": "image/png"
|
9 |
},
|
10 |
{
|
11 |
-
"src": "/
|
12 |
-
"sizes": "
|
13 |
"type": "image/png"
|
14 |
}
|
15 |
],
|
3 |
"short_name": "",
|
4 |
"icons": [
|
5 |
{
|
6 |
+
"src": "/android-chrome-192x192.png",
|
7 |
"sizes": "192x192",
|
8 |
"type": "image/png"
|
9 |
},
|
10 |
{
|
11 |
+
"src": "/android-chrome-384x384.png",
|
12 |
+
"sizes": "384x384",
|
13 |
"type": "image/png"
|
14 |
}
|
15 |
],
|
installer/dup-installer/main.installer.php
CHANGED
@@ -4,7 +4,7 @@
|
|
4 |
* Copyright (C) 2020, Snap Creek LLC
|
5 |
* website: snapcreek.com
|
6 |
*
|
7 |
-
* Duplicator
|
8 |
* June 2007. Copyright (C) 2007 Free Software Foundation, Inc., 51 Franklin
|
9 |
* St, Fifth Floor, Boston, MA 02110, USA
|
10 |
*
|
@@ -285,12 +285,12 @@ if ($exceptionError != false) {
|
|
285 |
<title>Duplicator</title>
|
286 |
<link rel='stylesheet' href='assets/font-awesome/css/all.min.css' type='text/css' media='all' />
|
287 |
|
288 |
-
<link rel="apple-touch-icon" sizes="180x180" href="favicon/
|
289 |
-
<link rel="icon" type="image/png" sizes="32x32" href="favicon/
|
290 |
-
<link rel="icon" type="image/png" sizes="16x16" href="favicon/
|
291 |
<link rel="manifest" href="favicon/site.webmanifest">
|
292 |
-
<link rel="mask-icon" href="favicon/
|
293 |
-
<link rel="shortcut icon" href="favicon/
|
294 |
<meta name="msapplication-TileColor" content="#da532c">
|
295 |
<meta name="msapplication-config" content="favicon/browserconfig.xml">
|
296 |
<meta name="theme-color" content="#ffffff">
|
@@ -316,7 +316,7 @@ if ($exceptionError != false) {
|
|
316 |
</td>
|
317 |
<td class="wiz-dupx-version">
|
318 |
<?php if ($GLOBALS["VIEW"] !== 'help') { ?>
|
319 |
-
<a href="javascript:void(0)" onclick="DUPX.openServerDetails()">version
|
320 |
<?php DUPX_View_Funcs::helpLockLink(); ?>
|
321 |
<div style="padding: 6px 0">
|
322 |
<?php DUPX_View_Funcs::helpLink($GLOBALS["VIEW"]); ?>
|
@@ -329,15 +329,15 @@ if ($exceptionError != false) {
|
|
329 |
<div class="dupx-modes">
|
330 |
<?php
|
331 |
$php_enforced_txt = ($GLOBALS['DUPX_ENFORCE_PHP_INI']) ? '<i style="color:red"><br/>*PHP ini enforced*</i>' : '';
|
332 |
-
$db_only_txt = ($GLOBALS['DUPX_AC']->exportOnlyDB) ? ' - Database Only' : '';
|
333 |
$db_only_txt = $db_only_txt . $php_enforced_txt;
|
334 |
|
335 |
if ($GLOBALS['DUPX_AC']->installSiteOverwriteOn) {
|
336 |
echo ($GLOBALS['DUPX_STATE']->mode === DUPX_InstallerMode::OverwriteInstall)
|
337 |
-
? "<span class='dupx-overwrite'>
|
338 |
-
: "
|
339 |
} else {
|
340 |
-
echo "
|
341 |
}
|
342 |
?>
|
343 |
</div>
|
4 |
* Copyright (C) 2020, Snap Creek LLC
|
5 |
* website: snapcreek.com
|
6 |
*
|
7 |
+
* Duplicator Plugin is distributed under the GNU General Public License, Version 3,
|
8 |
* June 2007. Copyright (C) 2007 Free Software Foundation, Inc., 51 Franklin
|
9 |
* St, Fifth Floor, Boston, MA 02110, USA
|
10 |
*
|
285 |
<title>Duplicator</title>
|
286 |
<link rel='stylesheet' href='assets/font-awesome/css/all.min.css' type='text/css' media='all' />
|
287 |
|
288 |
+
<link rel="apple-touch-icon" sizes="180x180" href="favicon/apple-touch-icon.png">
|
289 |
+
<link rel="icon" type="image/png" sizes="32x32" href="favicon/favicon-32x32.png">
|
290 |
+
<link rel="icon" type="image/png" sizes="16x16" href="favicon/favicon-16x16.png">
|
291 |
<link rel="manifest" href="favicon/site.webmanifest">
|
292 |
+
<link rel="mask-icon" href="favicon/safari-pinned-tab.svg">
|
293 |
+
<link rel="shortcut icon" href="favicon/favicon.ico">
|
294 |
<meta name="msapplication-TileColor" content="#da532c">
|
295 |
<meta name="msapplication-config" content="favicon/browserconfig.xml">
|
296 |
<meta name="theme-color" content="#ffffff">
|
316 |
</td>
|
317 |
<td class="wiz-dupx-version">
|
318 |
<?php if ($GLOBALS["VIEW"] !== 'help') { ?>
|
319 |
+
<a href="javascript:void(0)" onclick="DUPX.openServerDetails()">version: <?php echo DUPX_U::esc_html($GLOBALS['DUPX_AC']->version_dup); ?></a>
|
320 |
<?php DUPX_View_Funcs::helpLockLink(); ?>
|
321 |
<div style="padding: 6px 0">
|
322 |
<?php DUPX_View_Funcs::helpLink($GLOBALS["VIEW"]); ?>
|
329 |
<div class="dupx-modes">
|
330 |
<?php
|
331 |
$php_enforced_txt = ($GLOBALS['DUPX_ENFORCE_PHP_INI']) ? '<i style="color:red"><br/>*PHP ini enforced*</i>' : '';
|
332 |
+
$db_only_txt = ($GLOBALS['DUPX_AC']->exportOnlyDB) ? ' - Database Only]' : ']';
|
333 |
$db_only_txt = $db_only_txt . $php_enforced_txt;
|
334 |
|
335 |
if ($GLOBALS['DUPX_AC']->installSiteOverwriteOn) {
|
336 |
echo ($GLOBALS['DUPX_STATE']->mode === DUPX_InstallerMode::OverwriteInstall)
|
337 |
+
? "<span class='dupx-overwrite'>[Overwrite Install{$db_only_txt}</span>"
|
338 |
+
: "[Standard Install{$db_only_txt}";
|
339 |
} else {
|
340 |
+
echo "[Standard Install{$db_only_txt}";
|
341 |
}
|
342 |
?>
|
343 |
</div>
|
installer/dup-installer/views/view.s1.base.php
CHANGED
@@ -10,7 +10,7 @@ require_once($GLOBALS['DUPX_INIT'].'/ctrls/classes/class.ctrl.extraction.php');
|
|
10 |
|
11 |
$is_wpconfarc_present = file_exists(DUPX_Package::getWpconfigArkPath());
|
12 |
//ARCHIVE FILE
|
13 |
-
if (file_exists($GLOBALS['FW_PACKAGE_PATH'])) {
|
14 |
$arcCheck = 'Pass';
|
15 |
} else {
|
16 |
if ($is_wpconfarc_present) {
|
@@ -31,6 +31,7 @@ $managed_host = $mh_manager->isManaged();
|
|
31 |
|
32 |
//REQUIRMENTS
|
33 |
$req = array();
|
|
|
34 |
$req['10'] = DUPX_Server::is_dir_writable($GLOBALS['DUPX_ROOT']) ? 'Pass' : 'Fail';
|
35 |
$req['20'] = function_exists('mysqli_connect') ? 'Pass' : 'Fail';
|
36 |
$req['30'] = DUPX_Server::$php_version_safe ? 'Pass' : 'Fail';
|
@@ -94,696 +95,750 @@ $archive_config = DUPX_ArchiveConfig::getInstance();
|
|
94 |
?>
|
95 |
|
96 |
<form id="s1-input-form" method="post" class="content-form" autocomplete="off">
|
97 |
-
|
98 |
-
|
99 |
-
|
100 |
-
|
101 |
-
|
102 |
-
|
103 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
104 |
|
105 |
-
|
106 |
-
|
107 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
108 |
</div><br/>
|
109 |
|
110 |
-
<!--
|
111 |
-
|
112 |
-
|
113 |
-
<
|
114 |
-
|
115 |
-
|
116 |
-
<div
|
117 |
-
|
118 |
-
|
119 |
-
|
120 |
-
|
121 |
-
|
122 |
-
|
123 |
-
|
124 |
-
|
125 |
-
|
126 |
-
|
127 |
-
|
128 |
-
|
129 |
-
|
130 |
-
|
131 |
-
|
132 |
-
|
133 |
-
|
134 |
-
<
|
135 |
-
|
136 |
-
|
137 |
-
|
138 |
-
|
139 |
-
|
140 |
-
|
141 |
-
|
142 |
-
|
143 |
-
|
144 |
-
|
145 |
-
|
146 |
-
|
147 |
-
|
148 |
-
|
149 |
-
|
150 |
-
|
151 |
-
|
152 |
-
|
153 |
-
|
154 |
-
|
155 |
-
|
156 |
-
|
|
|
|
|
157 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
158 |
</div>
|
159 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
160 |
|
161 |
-
<!-- ====================================
|
162 |
-
ARCHIVE
|
163 |
-
==================================== -->
|
164 |
-
<div class="hdr-sub1 toggle-hdr" data-status="<?php echo strtolower($arcCheck); ?>" data-type="toggle auto" data-target="#s1-area-archive-file">
|
165 |
-
<a id="s1-area-archive-file-link"><i class="fa fa-plus-square"></i>Overview</a>
|
166 |
-
<?php
|
167 |
-
$badge = DUPX_View_Funcs::getBadgeClassFromCheckStatus($arcCheck);
|
168 |
-
?>
|
169 |
-
<div class="<?php echo $badge; ?>">
|
170 |
-
<?php echo $arcCheck; ?>
|
171 |
</div>
|
172 |
-
|
173 |
-
|
174 |
-
<div id="tabs">
|
175 |
-
<ul>
|
176 |
-
<li><a href="#tabs-1">Archive</a></li>
|
177 |
-
</ul>
|
178 |
-
<div id="tabs-1">
|
179 |
|
180 |
-
|
181 |
-
|
182 |
-
|
183 |
-
|
184 |
-
<
|
185 |
-
<
|
186 |
-
|
187 |
-
|
188 |
-
|
189 |
-
|
190 |
-
|
191 |
-
|
192 |
-
|
193 |
-
|
194 |
-
|
195 |
-
|
196 |
-
</
|
197 |
-
|
198 |
-
|
199 |
-
|
200 |
-
<
|
201 |
-
<
|
202 |
-
|
203 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
204 |
<tr>
|
205 |
-
<td
|
206 |
<td>
|
207 |
-
|
208 |
-
|
209 |
-
<?php
|
210 |
-
if ($arcCheck == 'Warn') {
|
211 |
-
?>
|
212 |
-
An archive/installer mismatch has been detected. Be sure to download the installer.php and archive.zip/daf files from the same
|
213 |
-
package line in your WordPress Admin. The correct installer can also be found inside of the archive.zip/daf file named
|
214 |
-
"installer-backup.php". Users can still proceed with the install by choosing Manual Archive Extraction to ignore this message,
|
215 |
-
but must manually extract the archive themselves.
|
216 |
-
<?php
|
217 |
-
} else {
|
218 |
-
?>
|
219 |
-
An archive/installer mismatch has been detected. Be sure to download the installer.php and archive.zip/daf files from the same
|
220 |
-
package line in your WordPress Admin. The correct installer can also be found inside of the archive.zip/daf file named
|
221 |
-
"installer-backup.php". <br/><br/>
|
222 |
-
|
223 |
-
If the contents of the archive were manually transferred to this location without the archive file then simply create a temp file named with
|
224 |
-
the exact name of the archive see WordPress Admin > Duplicator > Package Line > Details > Archive Name and place the file in the same directory
|
225 |
-
as the installer.php file. The temp file will not need to contain any data. Afterward, refresh this page and continue with the install process.
|
226 |
-
<?php
|
227 |
-
}
|
228 |
-
?>
|
229 |
-
</span>
|
230 |
-
<?php else : ?>
|
231 |
-
<span class="dupx-pass">Archive file successfully detected.</span>
|
232 |
-
<?php endif; ?>
|
233 |
</td>
|
234 |
</tr>
|
235 |
-
|
236 |
-
|
237 |
-
|
238 |
-
|
239 |
-
|
240 |
-
|
241 |
-
|
242 |
-
|
243 |
-
|
244 |
-
|
245 |
-
|
246 |
-
|
|
|
|
|
|
|
|
|
|
|
247 |
</div>
|
248 |
-
</div
|
|
|
249 |
|
250 |
|
251 |
-
|
252 |
-
|
253 |
-
|
254 |
-
|
255 |
-
|
|
|
|
|
256 |
</div>
|
257 |
-
|
258 |
-
|
259 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
260 |
</div>
|
261 |
-
|
262 |
-
|
263 |
-
|
264 |
-
|
265 |
-
|
266 |
-
|
267 |
-
|
268 |
-
|
269 |
-
|
270 |
-
|
271 |
-
|
272 |
-
|
273 |
-
|
274 |
-
|
275 |
-
|
276 |
-
//SHELL-EXEC UNZIP
|
277 |
-
$extra_attr = ('Pass' != $arcCheck || !$shell_exec_zip_enabled) ? ' disabled="disabled"' : '';
|
278 |
-
$extra_attr .= ('Pass' == $arcCheck && $shell_exec_zip_enabled) ? ' selected="selected"' : '';
|
279 |
-
$options[] = '<option value="shellexec_unzip"'.$extra_attr.'>Shell Exec Unzip</option>';
|
280 |
-
} else { // DUPARCHIVE
|
281 |
-
$extra_attr = ('Pass' == $arcCheck) ? ' selected="selected"' : 'disabled="disabled"';
|
282 |
-
$options[] = '<option value="duparchive"'.$extra_attr.'>DupArchive</option>';
|
283 |
-
}
|
284 |
-
$num_selections = count($options);
|
285 |
-
?>
|
286 |
-
<select id="archive_engine" name="archive_engine" size="<?php echo DUPX_U::esc_attr($num_selections); ?>">
|
287 |
-
<?php echo implode('', $options); ?>
|
288 |
-
</select><br/>
|
289 |
-
<?php if (!$is_wpconfarc_present): ?>
|
290 |
-
<span class="sub-notes">
|
291 |
-
*Option enabled when archive has been pre-extracted
|
292 |
-
<a href="https://snapcreek.com/duplicator/docs/faqs-tech/#faq-installer-015-q" target="_blank">[more info]</a>
|
293 |
-
</span>
|
294 |
-
<?php endif; ?>
|
295 |
-
</td>
|
296 |
-
</tr>
|
297 |
-
<tr>
|
298 |
-
<td style="vertical-align: top;padding-top: 10px;" >Archive Action:</td>
|
299 |
-
<td id="archive_action_wrapper">
|
300 |
-
<select id="archive_action_input" name="<?php echo DUP_LITE_Extraction::INPUT_NAME_ARCHIVE_ACTION; ?>" class="input-item" >
|
301 |
-
<option value="<?php echo DUP_LITE_Extraction::ACTION_DO_NOTHING; ?>" selected="selected">
|
302 |
-
Extract files over current files
|
303 |
-
</option>
|
304 |
-
<option value="<?php echo DUP_LITE_Extraction::ACTION_REMOVE_WP_FILES; ?>">
|
305 |
-
Remove WP core and content and extract
|
306 |
-
</option>
|
307 |
-
<option value="<?php echo DUP_LITE_Extraction::ACTION_REMOVE_ALL_FILES; ?>">
|
308 |
-
Remove all files and extract
|
309 |
-
</option>
|
310 |
-
</select>
|
311 |
-
<div class="sub-note" style="margin-top:5px; max-width:90%; font-size:10px">
|
312 |
-
<div class="archive-action-note archive-action-<?php echo DUP_LITE_Extraction::ACTION_DO_NOTHING; ?>">
|
313 |
-
Note: <b>Files are extracted over existing files.</b> After install, the destination folder will contain a combination of the old site files and
|
314 |
-
the files extracted from the archive. This option is the most conservative option for those who want to make sure they do not want to lose data.
|
315 |
-
</div>
|
316 |
-
<div class="archive-action-note archive-action-<?php echo DUP_LITE_Extraction::ACTION_REMOVE_ALL_FILES; ?> no-display">
|
317 |
-
Note: Before extracting the package files, <b>all files and folders in the installation folder will be removed</b> except for folders that contain
|
318 |
-
WordPress installations or Duplicator backup folders. This option is recommended for those who want to delete all files related to old installations
|
319 |
-
or external applications.
|
320 |
-
</div>
|
321 |
-
<div class="archive-action-note archive-action-<?php echo DUP_LITE_Extraction::ACTION_REMOVE_WP_FILES; ?> no-display">
|
322 |
-
Note: Before extracting the package files, <b>all current WordPress core and content files and folders will be removed</b> (wp-include, wp-content ... )
|
323 |
-
This option is for those who want to avoid having old site media mixed with new but have other files/folders in the home path that they don't want to
|
324 |
-
delete.
|
325 |
-
</div>
|
326 |
-
</div>
|
327 |
-
</td>
|
328 |
-
</tr>
|
329 |
-
</table><br/><br/>
|
330 |
-
|
331 |
-
<div class="hdr-sub3">Advanced</div>
|
332 |
-
<table class="dupx-opts dupx-advopts">
|
333 |
-
<tr>
|
334 |
-
<td>Permissions:</td>
|
335 |
-
<td>
|
336 |
-
<input type="checkbox" name="set_file_perms" id="set_file_perms" value="1" onclick="jQuery('#file_perms_value').prop('disabled', !jQuery(this).is(':checked'));"/>
|
337 |
-
<label for="set_file_perms">All Files</label><input name="file_perms_value" id="file_perms_value" style="width:45px; margin-left:7px;" value="644" disabled>
|
338 |
-
<input type="checkbox" name="set_dir_perms" id="set_dir_perms" value="1" onclick="jQuery('#dir_perms_value').prop('disabled', !jQuery(this).is(':checked'));"/>
|
339 |
-
<label for="set_dir_perms">All Directories</label><input name="dir_perms_value" id="dir_perms_value" style="width:45px; margin-left:7px;" value="755" disabled>
|
340 |
-
</td>
|
341 |
-
</tr>
|
342 |
-
<tr>
|
343 |
-
<td>Safe Mode:</td>
|
344 |
-
<td>
|
345 |
-
<select name="exe_safe_mode" id="exe_safe_mode" onchange="DUPX.onSafeModeSwitch();" style="width:250px;">
|
346 |
-
<option value="0">Off</option>
|
347 |
-
<option value="1">Basic</option>
|
348 |
-
<option value="2">Advanced</option>
|
349 |
-
</select>
|
350 |
-
</td>
|
351 |
-
</tr>
|
352 |
-
<tr>
|
353 |
-
<td>Config Files:</td>
|
354 |
-
<td>
|
355 |
-
<select name="config_mode" id="config_mode" style="width:250px;">
|
356 |
-
<option value="NEW">Create New (recommended)</option>
|
357 |
-
<optgroup label="Advanced">
|
358 |
-
<option value="RESTORE">Restore Original</option>
|
359 |
-
<option value="IGNORE">Ignore All</option>
|
360 |
-
</optgroup>
|
361 |
-
</select> <br/>
|
362 |
-
<span class="sub-notes" style="font-weight: normal">
|
363 |
-
Controls how .htaccess, .user.ini and web.config are used.<br/>
|
364 |
-
These options are not applied until step 3 is ran.
|
365 |
-
<?php DUPX_View_Funcs::helpLink('step1', '[more info]'); ?>
|
366 |
-
</span>
|
367 |
-
</td>
|
368 |
-
</tr>
|
369 |
-
<tr>
|
370 |
-
<td>File Times:</td>
|
371 |
-
<td>
|
372 |
-
<input type="radio" name="zip_filetime" id="zip_filetime_now" value="current" checked="checked" />
|
373 |
-
<label class="radio" for="zip_filetime_now" title='Set the files current date time to now'>Current</label>
|
374 |
-
<input type="radio" name="zip_filetime" id="zip_filetime_orginal" value="original" />
|
375 |
-
<label class="radio" for="zip_filetime_orginal" title="Keep the files date time the same">Original</label>
|
376 |
-
</td>
|
377 |
-
</tr>
|
378 |
-
<tr>
|
379 |
-
<td>Logging:</td>
|
380 |
-
<td>
|
381 |
-
<input type="radio" name="logging" id="logging-light" value="<?php echo DUPX_Log::LV_DEFAULT; ?>" checked="true"> <label for="logging-light" class="radio">Light</label>
|
382 |
-
<input type="radio" name="logging" id="logging-detailed" value="<?php echo DUPX_Log::LV_DETAILED; ?>"> <label for="logging-detailed" class="radio">Detailed</label>
|
383 |
-
<input type="radio" name="logging" id="logging-debug" value="<?php echo DUPX_Log::LV_DEBUG; ?>"> <label for="logging-debug" class="radio">Debug</label>
|
384 |
-
<input type="radio" name="logging" id="logging-h-debug" value="<?php echo DUPX_Log::LV_HARD_DEBUG; ?>"> <label for="logging-h-debug" class="radio">Hard debug</label>
|
385 |
-
</td>
|
386 |
-
</tr>
|
387 |
-
<?php if (!$archive_config->isZipArchive()): ?>
|
388 |
<tr>
|
389 |
-
<td>
|
390 |
<td>
|
391 |
-
<
|
392 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
393 |
</td>
|
394 |
</tr>
|
395 |
-
|
396 |
-
|
397 |
-
|
398 |
-
|
399 |
-
|
400 |
-
|
401 |
-
|
402 |
-
|
403 |
-
|
404 |
-
|
405 |
|
406 |
-
|
407 |
-
|
408 |
-
|
409 |
-
|
410 |
-
<
|
411 |
-
<div class="<?php echo (
|
412 |
-
|
413 |
</div>
|
414 |
-
|
415 |
-
|
416 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
417 |
|
418 |
-
|
419 |
-
|
420 |
-
<
|
421 |
-
|
422 |
-
|
423 |
-
|
424 |
-
<td class="toggle"><a href="javascript:void(0)" onclick="DUPX.toggleAllReqs('#s1-reqs-all')">[toggle]</a></td>
|
425 |
-
</tr>
|
426 |
-
</table>
|
427 |
-
</div>
|
428 |
|
429 |
-
|
430 |
-
|
431 |
-
|
432 |
-
|
433 |
-
|
434 |
-
|
435 |
-
|
436 |
-
|
437 |
-
<tr>
|
438 |
-
<td><b>Deployment Path:</b> </td>
|
439 |
-
<td><i><?php echo "{$GLOBALS['DUPX_ROOT']}"; ?></i> </td>
|
440 |
-
</tr>
|
441 |
-
<tr>
|
442 |
-
<td><b>Suhosin Extension:</b> </td>
|
443 |
-
<td><?php echo extension_loaded('suhosin') ? "<i class='dupx-fail'>Enabled</i>" : "<i class='dupx-pass'>Disabled</i>"; ?> </td>
|
444 |
-
</tr>
|
445 |
-
<tr>
|
446 |
-
<td><b>PHP Safe Mode:</b> </td>
|
447 |
-
<td><?php echo (DUPX_Server::$php_safe_mode_on) ? "<i class='dupx-fail'>Enabled</i>" : "<i class='dupx-pass'>Disabled</i>"; ?> </td>
|
448 |
-
</tr>
|
449 |
-
</table><br/>
|
450 |
|
451 |
-
|
452 |
-
|
453 |
-
|
454 |
-
|
455 |
-
|
456 |
-
|
457 |
|
458 |
-
|
459 |
-
<
|
460 |
-
|
461 |
-
<div class="info" id="s1-reqs20">
|
462 |
-
Support for the PHP <a href='http://us2.php.net/manual/en/mysqli.installation.php' target='_blank'>mysqli extension</a> is required.
|
463 |
-
Please contact your hosting provider or server administrator to enable the mysqli extension. <i>The detection for this call uses
|
464 |
-
the function_exists('mysqli_connect') call.</i>
|
465 |
-
</div>
|
466 |
|
467 |
-
|
468 |
-
|
469 |
-
|
470 |
-
<
|
471 |
-
|
472 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
473 |
|
474 |
-
|
475 |
-
|
476 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
477 |
|
478 |
-
|
479 |
-
|
480 |
-
<div class="
|
481 |
-
<div class="
|
482 |
-
|
483 |
-
<?php if ($
|
484 |
-
|
485 |
-
|
486 |
-
|
487 |
-
|
488 |
-
|
|
|
|
|
|
|
489 |
</p>
|
490 |
-
|
491 |
-
<
|
492 |
-
|
493 |
-
|
494 |
-
|
495 |
-
</li>
|
496 |
-
<li>
|
497 |
-
<b>Configuration file: </b><?php echo $mh_manager->wpConfigIsNotWriteable()
|
498 |
-
? "<span class='maroon'>The WordPress configuration file (wp-config.php) must be accessible and writeable to the installer</span>"
|
499 |
-
: "<span class='green'>The wp-config.php is accessible to the installer.</span>" ?>
|
500 |
-
</li>
|
501 |
-
<li>
|
502 |
-
<b>Core Directories: </b><?php echo $mh_manager->notAccessibleCoreDirPresent() > 0
|
503 |
-
? "<span class='maroon'>The WordPress core directories wp-admin, wp-content and wp-includes must be accessible and writeable to the installer</span>"
|
504 |
-
: "<span class='green'>The WordPress core directories are accessible to the installer</span>"; ?>
|
505 |
-
</li>
|
506 |
-
</ul>
|
507 |
-
</div>
|
508 |
-
</div><br/>
|
509 |
-
|
510 |
-
<!-- ====================================
|
511 |
-
NOTICES -->
|
512 |
-
<div class="s1-reqs" id="s1-notice-all">
|
513 |
-
<div class="header">
|
514 |
-
<table class="s1-checks-area">
|
515 |
-
<tr>
|
516 |
-
<td class="title">Notices <small>(optional)</small></td>
|
517 |
-
<td class="toggle"><a href="javascript:void(0)" onclick="DUPX.toggleAllNotices('#s1-notice-all')">[toggle]</a></td>
|
518 |
-
</tr>
|
519 |
-
</table>
|
520 |
-
</div>
|
521 |
-
|
522 |
-
<!-- NOTICE 10: OVERWRITE INSTALL -->
|
523 |
-
<?php if ($is_overwrite_mode && $is_wordpress) : ?>
|
524 |
-
<div class="status fail">Warn</div>
|
525 |
-
<div class="title" data-status="warn" data-type="toggle auto" data-target="#s1-notice10"><i class="fa fa-caret-right"></i> Overwrite Install (Beta)</div>
|
526 |
-
<div class="info" id="s1-notice10">
|
527 |
-
<?php if ($GLOBALS['DUPX_AC']->installSiteOverwriteOn || $is_dbonly) { ?>
|
528 |
-
<div class="gray-panel warn-text gray-panel-overwrite" >
|
529 |
-
<i class="fas fa-exclamation-triangle fa-lg"></i> WARNING: The Duplicator installer file is currently placed in a location that has an existing WordPress site!
|
530 |
-
Continuing with this install process will <u>overwrite</u> all existing files and the database associated with this WordPress site. Only continue
|
531 |
-
with this process if this site is no longer needed.<br/>
|
532 |
-
</div>
|
533 |
-
<?php } ?>
|
534 |
-
<p style="font-size:14px">
|
535 |
-
<b><i class="fas fa-folder-open"></i> Deployment Path:</b> <i><?php echo "{$GLOBALS['DUPX_ROOT']}"; ?></i>
|
536 |
</p>
|
537 |
-
<?php if ($GLOBALS['DUPX_AC']->installSiteOverwriteOn || $is_dbonly) { ?>
|
538 |
-
<p>
|
539 |
-
Duplicator is in "Overwrite Install (Beta)" mode because it has detected an existing WordPress site at the deployment path above. This mode allows for the installer
|
540 |
-
to be dropped directly into an existing WordPress site and overwrite its contents. Any content inside of the archive file
|
541 |
-
will <u>overwrite</u> the existing contents in the deployment path above. To continue choose one of these options:
|
542 |
-
</p>
|
543 |
-
|
544 |
-
<ol>
|
545 |
-
<li>Ignore this notice and continue with the install to overwrite this WordPress site.</li>
|
546 |
-
<li>Move the installer and archive to an <u>empty directory</u>. Then install from there to keep this site intact.</li>
|
547 |
-
</ol>
|
548 |
-
|
549 |
-
<p style="color:maroon">
|
550 |
-
<b>Notice:</b> Existing content such as plugin/themes/images will still show-up after the install is complete if they did not already exist in
|
551 |
-
the archive file. For example, if plugin X is in the current site but that same plugin X <u>does not exist</u> in the archive file
|
552 |
-
then that plugin will display as a disabled plugin after the install is completed. The same concept with themes, images and files apply.
|
553 |
-
This will not impact the site's operation, and the behavior is expected since the install process only extracts the archive files to the deployment
|
554 |
-
path.
|
555 |
-
</p>
|
556 |
-
|
557 |
-
<p>
|
558 |
-
<b>Recommendation:</b> It is recommended you only overwrite WordPress sites that have no value, such as a temporary staging site. On step 2
|
559 |
-
of this installer you will be given the option to change the database if needed. However, by default the current sites database will be
|
560 |
-
replaced with the one in this Duplicator package.
|
561 |
-
</p>
|
562 |
-
<?php
|
563 |
-
} else {
|
564 |
-
?>
|
565 |
-
<p>
|
566 |
-
Duplicator works best by placing the installer and archive files into an empty directory. If a wp-config.php file is found in the extraction
|
567 |
-
directory it might indicate that a pre-existing WordPress site exists which can lead to a bad install.
|
568 |
-
</p>
|
569 |
-
<b>Options:</b>
|
570 |
-
<ul style="margin-bottom: 0">
|
571 |
-
<li>If the archive was already manually extracted then <a href="javascript:void(0)" onclick="DUPX.getManaualArchiveOpt()">[Enable Manual Archive Extraction]</a></li>
|
572 |
-
<li>Empty the directory of all files, except for the installer.php and archive.zip/daf files.</li>
|
573 |
-
<li>Advanced Users: Can attempt to manually remove the wp-config file only if the archive was manually extracted.</li>
|
574 |
-
</ul>
|
575 |
-
<?php
|
576 |
-
}
|
577 |
-
?>
|
578 |
-
</div>
|
579 |
-
|
580 |
-
<!-- NOTICE 20: ARCHIVE EXTRACTED -->
|
581 |
-
<?php elseif ($is_wpconfarc_present && file_exists("{$root_path}/dup-installer")) : ?>
|
582 |
-
<div class="status fail">Warn</div>
|
583 |
-
<div class="title" data-type="toggle" data-target="#s1-notice20"><i class="fa fa-caret-right"></i> Archive Extracted</div>
|
584 |
-
<div class="info" id="s1-notice20">
|
585 |
-
<b>Deployment Path:</b> <i><?php echo "{$GLOBALS['DUPX_ROOT']}"; ?></i>
|
586 |
-
<br/><br/>
|
587 |
-
|
588 |
-
The installer has detected that the archive file has been extracted to the deployment path above. To continue choose one of these options:
|
589 |
|
590 |
<ol>
|
591 |
-
<li>
|
592 |
-
<li>
|
593 |
</ol>
|
594 |
|
595 |
-
<
|
596 |
-
|
597 |
-
|
598 |
-
|
599 |
-
|
600 |
-
|
601 |
-
|
602 |
-
<?php if ($is_dbonly && !$is_wordpress) : ?>
|
603 |
-
<div class="status fail">Warn</div>
|
604 |
-
<div class="title" data-type="toggle" data-target="#s1-notice25"><i class="fa fa-caret-right"></i> Database Only</div>
|
605 |
-
<div class="info" id="s1-notice25">
|
606 |
-
<b>Deployment Path:</b> <i><?php echo "{$GLOBALS['DUPX_ROOT']}"; ?></i>
|
607 |
-
<br/><br/>
|
608 |
|
609 |
-
|
610 |
-
|
611 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
612 |
|
613 |
-
|
614 |
-
|
615 |
-
|
616 |
-
|
617 |
-
|
|
|
|
|
618 |
|
619 |
-
|
620 |
-
deployment path above then this notice is shown.</small>
|
621 |
|
622 |
-
|
623 |
-
|
|
|
|
|
624 |
|
625 |
-
|
626 |
-
|
627 |
-
|
628 |
-
<div class="info" id="s1-notice30">
|
629 |
-
This package is <?php echo "{$fulldays}"; ?> day(s) old. Packages older than 180 days might be considered stale. It is recommended to build a new
|
630 |
-
package unless your aware of the content and its data. This is message is simply a recommendation.
|
631 |
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
632 |
|
|
|
|
|
|
|
633 |
|
634 |
-
|
635 |
-
|
|
|
|
|
|
|
636 |
|
|
|
|
|
637 |
|
638 |
-
<!-- NOTICE 45 -->
|
639 |
-
<div class="status <?php echo ($notice['45'] == 'Good') ? 'pass' : 'fail' ?>"><?php echo $notice['45']; ?></div>
|
640 |
-
<div class="title" data-type="toggle" data-target="#s1-notice45"><i class="fa fa-caret-right"></i> PHP Version Mismatch</div>
|
641 |
-
<div class="info" id="s1-notice45">
|
642 |
-
<?php
|
643 |
-
$cssStyle = $notice['45'] == 'Good' ? 'color:green' : 'color:red';
|
644 |
-
echo "<b style='{$cssStyle}'>You are migrating site from the PHP {$packagePHP} to the PHP {$currentPHP}</b>.<br/>"
|
645 |
-
."If this servers PHP version is different from the PHP version of where the package was created it might cause problems with various parts of your website
|
646 |
-
and/or plugins and themes. It is highly recommended to try and use the same version of PHP if you are able to do so. This is simply a warning
|
647 |
-
and in the event no problems arise then you can igonre this message.<br/>";
|
648 |
-
?>
|
649 |
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
650 |
|
651 |
-
<!-- NOTICE 50 -->
|
652 |
-
<div class="status <?php echo ($notice['50'] == 'Good') ? 'pass' : 'fail' ?>"><?php echo DUPX_U::esc_html($notice['50']); ?></div>
|
653 |
-
<div class="title" data-type="toggle" data-target="#s1-notice50"><i class="fa fa-caret-right"></i> PHP Open Base</div>
|
654 |
-
<div class="info" id="s1-notice50">
|
655 |
-
<b>Open BaseDir:</b> <i><?php echo $notice['50'] == 'Good' ? "<i class='dupx-pass'>Disabled</i>" : "<i class='dupx-fail'>Enabled</i>"; ?></i>
|
656 |
-
<br/><br/>
|
657 |
|
658 |
-
|
659 |
-
|
660 |
-
<ol style="margin:7px; line-height:19px">
|
661 |
-
<li>Disable the open_basedir setting in the php.ini file</li>
|
662 |
-
<li>If the host will not disable, then add the path below to the open_basedir setting in the php.ini<br/>
|
663 |
-
<i style="color:maroon">"<?php echo str_replace('\\', '/', dirname(__FILE__)); ?>"</i>
|
664 |
-
</li>
|
665 |
-
<li>Save the settings and restart the web server</li>
|
666 |
-
</ol>
|
667 |
-
Note: This warning will still show if you choose option #2 and open_basedir is enabled, but should allow the installer to run properly. Please work with your
|
668 |
-
hosting provider or server administrator to set this up correctly.
|
669 |
-
</div>
|
670 |
|
671 |
-
<!-- NOTICE 60 -->
|
672 |
-
<div class="status <?php echo ($notice['60'] == 'Good') ? 'pass' : 'fail' ?>"><?php echo DUPX_U::esc_html($notice['60']); ?></div>
|
673 |
-
<div class="title" data-type="toggle" data-target="#s1-notice60"><i class="fa fa-caret-right"></i> PHP Timeout</div>
|
674 |
-
<div class="info" id="s1-notice60">
|
675 |
-
<b>Archive Size:</b> <?php echo DUPX_U::readableByteSize($arcSize) ?> <small>(detection limit is set at <?php echo DUPX_U::readableByteSize($max_time_size) ?>) </small><br/>
|
676 |
-
<b>PHP max_execution_time:</b> <?php echo "{$max_time_ini}"; ?> <small>(zero means not limit)</small> <br/>
|
677 |
-
<b>PHP set_time_limit:</b> <?php echo ($max_time_zero) ? '<i style="color:green">Success</i>' : '<i style="color:maroon">Failed</i>' ?>
|
678 |
-
<br/><br/>
|
679 |
|
680 |
-
|
681 |
-
|
682 |
-
|
683 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
684 |
|
685 |
-
|
686 |
-
|
687 |
-
|
688 |
-
|
689 |
-
|
690 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
691 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
692 |
|
693 |
-
<!-- NOTICE 8 -->
|
694 |
-
<div class="status <?php echo ($notice['70'] == 'Good') ? 'pass' : 'fail' ?>"><?php echo DUPX_U::esc_html($notice['70']); ?></div>
|
695 |
-
<div class="title" data-type="toggle" data-target="#s1-notice70"><i class="fa fa-caret-right"></i> WordPress Multisite</div>
|
696 |
-
<div class="info" id="s1-notice70">
|
697 |
-
<b>Status:</b> <?php echo $notice['70'] == 'Good' ? 'This archive is not a Multisite' : 'This is an unsupported Multisite archive'; ?>
|
698 |
-
<br/><br/>
|
699 |
|
700 |
-
|
701 |
-
|
702 |
-
|
703 |
-
|
704 |
-
|
|
|
705 |
|
706 |
-
|
707 |
-
|
|
|
|
|
|
|
708 |
|
709 |
-
|
710 |
-
|
711 |
-
<div class="title" data-type="toggle" data-target="#s1-notice80"><i class="fa fa-caret-right"></i> WordPress wp-config Location</div>
|
712 |
-
<div class="info" id="s1-notice80">
|
713 |
-
If the wp-config.php file was moved up one level and out of the WordPress root folder in the package creation site then this test will show a warning.
|
714 |
-
<br/><br/>
|
715 |
-
This Duplicator installer will place this wp-config.php file in the WordPress setup root folder of this installation site to help stabilize the install process.
|
716 |
-
This process will not break anything in your installation site, but the details are here for your information.
|
717 |
-
</div>
|
718 |
|
719 |
-
|
720 |
-
|
721 |
-
|
722 |
-
|
723 |
-
|
724 |
-
|
725 |
-
|
726 |
-
|
727 |
-
|
728 |
|
729 |
-
|
730 |
-
|
731 |
-
|
732 |
-
|
733 |
-
|
734 |
-
|
735 |
-
|
736 |
-
|
|
|
737 |
|
738 |
-
|
739 |
-
|
740 |
-
|
741 |
-
|
742 |
-
|
743 |
-
|
744 |
-
|
745 |
-
|
746 |
-
because of which it might fail. We recommend turning off the Wordfence firewall of the WordPress instance located at the mentioned path.
|
747 |
-
</p>
|
748 |
-
</div>
|
749 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
750 |
</div>
|
751 |
|
752 |
</div>
|
753 |
-
<br/><br/>
|
754 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
755 |
|
756 |
-
|
757 |
-
|
758 |
-
|
759 |
-
|
760 |
-
|
761 |
-
|
762 |
-
|
763 |
-
<
|
764 |
-
|
765 |
-
|
766 |
-
<br/><br/>
|
767 |
-
<br/><br/>
|
768 |
-
<?php endif; ?>
|
769 |
-
|
770 |
-
|
771 |
-
<?php if (!$req_success || $arcCheck == 'Fail') : ?>
|
772 |
-
<div class="s1-err-msg">
|
773 |
-
<i>
|
774 |
-
This installation will not be able to proceed until the setup and validation sections above both pass. Please adjust your servers settings or contact your
|
775 |
-
server administrator, hosting provider or visit the resources below for additional help.
|
776 |
-
</i>
|
777 |
-
<div style="padding:10px">
|
778 |
-
» <a href="https://snapcreek.com/duplicator/docs/faqs-tech/" target="_blank">Technical FAQs</a> <br/>
|
779 |
-
» <a href="https://snapcreek.com/support/docs/" target="_blank">Online Documentation</a> <br/>
|
780 |
-
</div>
|
781 |
-
</div>
|
782 |
-
<?php else : ?>
|
783 |
-
<div class="footer-buttons" >
|
784 |
-
<button id="s1-deploy-btn" type="button" title="<?php echo DUPX_U::esc_attr($agree_msg); ?>" onclick="DUPX.processNext()" class="default-btn"> Next <i class="fa fa-caret-right"></i> </button>
|
785 |
</div>
|
786 |
-
|
|
|
|
|
|
|
|
|
|
|
787 |
|
788 |
</form>
|
789 |
|
@@ -1081,7 +1136,7 @@ Auto Posts to view.step2.php
|
|
1081 |
$('#s1-result-form').submit();
|
1082 |
}, 500);
|
1083 |
<?php endif; ?>
|
1084 |
-
|
1085 |
//Failures aren't necessarily fatal - just record them for later display
|
1086 |
|
1087 |
$("#ajax-json-debug").val(dataJSON);
|
@@ -1297,7 +1352,7 @@ Auto Posts to view.step2.php
|
|
1297 |
$('#s1-result-form').submit();
|
1298 |
}, 500);
|
1299 |
<?php endif; ?>
|
1300 |
-
|
1301 |
} else {
|
1302 |
$('#ajaxerr-data').html('Error Processing Step 1');
|
1303 |
DUPX.hideProgressBar();
|
@@ -1400,6 +1455,15 @@ Auto Posts to view.step2.php
|
|
1400 |
$('#s1-input-form').show(200);
|
1401 |
}
|
1402 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1403 |
/**
|
1404 |
* Accetps Usage Warning */
|
1405 |
DUPX.acceptWarning = function ()
|
@@ -1445,18 +1509,16 @@ Auto Posts to view.step2.php
|
|
1445 |
//INIT Routines
|
1446 |
DUPX.initToggle();
|
1447 |
$("#tabs").tabs();
|
|
|
1448 |
DUPX.acceptWarning();
|
1449 |
|
1450 |
-
// <td id="archive_action_wrapper" >
|
1451 |
-
// <select id="archive_action_input"
|
1452 |
-
|
1453 |
$('#archive_action_wrapper').each(function () {
|
1454 |
let paramWrapper = $(this);
|
1455 |
let noteWrapper = paramWrapper.find('.sub-note');
|
1456 |
|
1457 |
paramWrapper.find('.input-item').change(function () {
|
1458 |
-
noteWrapper.find('.archive-action-note').
|
1459 |
-
noteWrapper.find('.archive-action-' + $(this).val()).
|
1460 |
});
|
1461 |
});
|
1462 |
<?php
|
10 |
|
11 |
$is_wpconfarc_present = file_exists(DUPX_Package::getWpconfigArkPath());
|
12 |
//ARCHIVE FILE
|
13 |
+
if ( file_exists($GLOBALS['FW_PACKAGE_PATH']) ) {
|
14 |
$arcCheck = 'Pass';
|
15 |
} else {
|
16 |
if ($is_wpconfarc_present) {
|
31 |
|
32 |
//REQUIRMENTS
|
33 |
$req = array();
|
34 |
+
$req['05'] = $arcCheck;
|
35 |
$req['10'] = DUPX_Server::is_dir_writable($GLOBALS['DUPX_ROOT']) ? 'Pass' : 'Fail';
|
36 |
$req['20'] = function_exists('mysqli_connect') ? 'Pass' : 'Fail';
|
37 |
$req['30'] = DUPX_Server::$php_version_safe ? 'Pass' : 'Fail';
|
95 |
?>
|
96 |
|
97 |
<form id="s1-input-form" method="post" class="content-form" autocomplete="off">
|
98 |
+
<input type="hidden" name="view" value="step1" />
|
99 |
+
<input type="hidden" name="csrf_token" value="<?php echo DUPX_CSRF::generate('step1'); ?>">
|
100 |
+
<input type="hidden" name="ctrl_action" value="ctrl-step1" />
|
101 |
+
<input type="hidden" name="ctrl_csrf_token" value="<?php echo DUPX_U::esc_attr(DUPX_CSRF::generate('ctrl-step1')); ?>">
|
102 |
+
<input type="hidden" name="secure-pass" value="<?php echo DUPX_U::esc_html($_POST['secure-pass']); ?>" />
|
103 |
+
<input type="hidden" name="secure-archive" value="<?php echo DUPX_U::esc_html($_POST['secure-archive']); ?>" />
|
104 |
+
<input type="hidden" id="s1-input-form-extra-data" name="extra_data" />
|
105 |
+
|
106 |
+
<div class="hdr-main">
|
107 |
+
Step <span class="step">1</span> of 4: Deployment
|
108 |
+
<div class="sub-header">This step will extract the archive file contents.</div>
|
109 |
+
</div>
|
110 |
+
|
111 |
+
<!-- ====================================
|
112 |
+
SETUP TYPE:
|
113 |
+
==================================== -->
|
114 |
+
<div class="hdr-sub1 toggle-hdr" data-type="toggle" data-target="#s1-area-setup-type" style="display:none">
|
115 |
+
<a id="s1-area-setup-type-link"><i class="fa fa-plus-square"></i>Overview</a>
|
116 |
+
</div>
|
117 |
+
<div id="s1-area-setup-type" style="display:none">
|
118 |
+
|
119 |
+
<!-- STANDARD INSTALL -->
|
120 |
+
<input type="radio" id="setup-type-fresh" name="setup_type" value="1" checked="true" onclick="DUPX.toggleSetupType()" />
|
121 |
+
<label for="setup-type-fresh"><b>Standard Install</b></label>
|
122 |
+
<i class="fas fa-question-circle fa-sm"
|
123 |
+
data-tooltip-title="Standard Install"
|
124 |
+
data-tooltip="A standard install is the default way Duplicator has always worked. Setup your package in an empty directory and run the installer."></i>
|
125 |
+
<br/>
|
126 |
+
<div class="s1-setup-type-sub" id="s1-setup-type-sub-1">
|
127 |
+
<input type="checkbox" name="setup-backup-files" id="setup-backup-files-fresh" />
|
128 |
+
<label for="setup-backup-files-fresh">Backup Existing Files</label><br/>
|
129 |
+
<input type="checkbox" name="setup-remove-files" id="setup-remove-files-fresh" />
|
130 |
+
<label for="setup-remove-files-fresh">Remove Existing Files</label><br/>
|
131 |
+
</div><br/>
|
132 |
|
133 |
+
<!-- OVERWRITE INSTALL -->
|
134 |
+
<input type="radio" id="setup-type-overwrite" name="setup_type" value="2" onclick="DUPX.toggleSetupType()" />
|
135 |
+
<label for="setup-type-overwrite"><b>Overwrite Install</b></label>
|
136 |
+
<i class="fas fa-question-circle fa-sm"
|
137 |
+
data-tooltip-title="Overwrite Install"
|
138 |
+
data-tooltip="An Overwrite Install allows Duplicator to overwrite an existing WordPress Site."></i><br/>
|
139 |
+
<div class="s1-setup-type-sub" id="s1-setup-type-sub-2">
|
140 |
+
<input type="checkbox" name="setup-backup-files" id="setup-backup-files-overwrite" />
|
141 |
+
<label for="setup-backup-files-overwrite">Backup Existing Files</label><br/>
|
142 |
+
<input type="checkbox" name="setup-remove-files" id="setup-remove-files-overwrite" />
|
143 |
+
<label for="setup-remove-files-overwrite">Remove Existing Files</label><br/>
|
144 |
+
<input type="checkbox" name="setup-backup-database" id="setup-backup-database-overwrite" />
|
145 |
+
<label for="setup-backup-database-overwrite">Backup Existing Database</label> <br/>
|
146 |
</div><br/>
|
147 |
|
148 |
+
<!-- DB-ONLY INSTALL -->
|
149 |
+
<input type="radio" id="setup-type-db" name="setup_type" value="3" onclick="DUPX.toggleSetupType()" />
|
150 |
+
<label for="setup-type-db"><b>Database Only Install</b></label>
|
151 |
+
<i class="fas fa-question-circle fa-sm"
|
152 |
+
data-tooltip-title="Database Only"
|
153 |
+
data-tooltip="A database only install allows Duplicator to connect to a database and install only the database."></i><br/>
|
154 |
+
<div class="s1-setup-type-sub" id="s1-setup-type-sub-3">
|
155 |
+
<input type="checkbox" name="setup-backup-database" id="setup-backup-database-db" />
|
156 |
+
<label for="setup-backup-database-db">Backup Existing Database</label> <br/>
|
157 |
+
</div><br/>
|
158 |
+
</div>
|
159 |
+
|
160 |
+
|
161 |
+
<!-- ====================================
|
162 |
+
ARCHIVE
|
163 |
+
==================================== -->
|
164 |
+
<div class="hdr-sub1 toggle-hdr" data-type="toggle auto" data-target="#s1-area-archive-file">
|
165 |
+
<a id="s1-area-archive-file-link"><i class="fa fa-plus-square"></i>Overview</a>
|
166 |
+
</div>
|
167 |
+
<div id="s1-area-archive-file" style="display:none" class="hdr-sub1-area">
|
168 |
+
<div id="tabs">
|
169 |
+
<ul>
|
170 |
+
<li><a href="#tabs-1">Package Details</a></li>
|
171 |
+
</ul>
|
172 |
+
<div id="tabs-1">
|
173 |
+
|
174 |
+
<table class="s1-archive-local">
|
175 |
+
<tr>
|
176 |
+
<td colspan="2"><div class="hdr-sub3">Site Details</div></td>
|
177 |
+
</tr>
|
178 |
+
<tr>
|
179 |
+
<td>Site:</td>
|
180 |
+
<td><?php echo DUPX_U::esc_html($GLOBALS['DUPX_AC']->blogname); ?> </td>
|
181 |
+
</tr>
|
182 |
+
<tr>
|
183 |
+
<td>Url:</td>
|
184 |
+
<td><?php echo DUPX_U::esc_html($GLOBALS['DUPX_AC']->url_old); ?> </td>
|
185 |
+
</tr>
|
186 |
+
<tr>
|
187 |
+
<td>Notes:</td>
|
188 |
+
<td><?php echo strlen($GLOBALS['DUPX_AC']->package_notes) ? DUPX_U::esc_html($GLOBALS['DUPX_AC']->package_notes) : " - no notes - "; ?></td>
|
189 |
+
</tr>
|
190 |
+
<?php if ($GLOBALS['DUPX_AC']->exportOnlyDB) : ?>
|
191 |
+
<tr>
|
192 |
+
<td>Mode:</td>
|
193 |
+
<td>Archive only database was enabled during package package creation.</td>
|
194 |
+
</tr>
|
195 |
+
<?php endif; ?>
|
196 |
+
</table>
|
197 |
|
198 |
+
<table class="s1-archive-local">
|
199 |
+
<tr>
|
200 |
+
<td colspan="2"><div class="hdr-sub3">Archive Details</div></td>
|
201 |
+
</tr>
|
202 |
+
<tr>
|
203 |
+
<td style="vertical-align:top">Status:</td>
|
204 |
+
<td>
|
205 |
+
<?php if ($req['05'] == 'Fail' || $req['05'] == 'Warn') : ?>
|
206 |
+
<span class="dupx-fail" style="font-style:italic">
|
207 |
+
Archive validation issue detected. <br/>
|
208 |
+
<small>Please see validation section below for full details.</small>
|
209 |
+
</span>
|
210 |
+
<?php else : ?>
|
211 |
+
<span class="dupx-pass">Archive file successfully detected.</span>
|
212 |
+
<?php endif; ?>
|
213 |
+
</td>
|
214 |
+
</tr>
|
215 |
+
<tr>
|
216 |
+
<td>Path:</td>
|
217 |
+
<td><?php echo DUPX_U::esc_html($root_path); ?> </td>
|
218 |
+
</tr>
|
219 |
+
<tr>
|
220 |
+
<td>Size:</td>
|
221 |
+
<td><?php echo DUPX_U::readableByteSize($arcSize); ?> </td>
|
222 |
+
</tr>
|
223 |
+
</table>
|
224 |
+
</div>
|
225 |
+
<!--div id="tabs-2"><p>Content Here</p></div-->
|
226 |
+
</div>
|
227 |
+
</div><br/>
|
228 |
+
|
229 |
+
|
230 |
+
<!-- ====================================
|
231 |
+
OPTIONS
|
232 |
+
==================================== -->
|
233 |
+
<div class="hdr-sub1 toggle-hdr" data-type="toggle" data-target="#s1-area-adv-opts">
|
234 |
+
<a href="javascript:void(0)"><i class="fa fa-plus-square"></i>Options</a>
|
235 |
+
</div>
|
236 |
+
<div id="s1-area-adv-opts" class="hdr-sub1-area" style="display:none">
|
237 |
+
<div class="help-target">
|
238 |
+
<?php DUPX_View_Funcs::helpIconLink('step1'); ?>
|
239 |
</div>
|
240 |
|
241 |
+
<div id="tabs-opts">
|
242 |
+
<ul>
|
243 |
+
<li><a href="#tabs-opts-1">General</a></li>
|
244 |
+
<li><a href="#tabs-opts-2">Advanced</a></li>
|
245 |
+
</ul>
|
246 |
+
<div id="tabs-opts-1">
|
247 |
+
|
248 |
+
<div class="hdr-sub3">Extraction Settings</div>
|
249 |
+
<table class="dupx-opts dupx-advopts">
|
250 |
+
<tr>
|
251 |
+
<td>Extraction:</td>
|
252 |
+
<td>
|
253 |
+
<?php
|
254 |
+
$options = array();
|
255 |
+
$extra_attr = ($arcCheck == 'Warn' && $is_wpconfarc_present) ? ' selected="selected"' : '';
|
256 |
+
$options[] = '<option '.($is_wpconfarc_present ? '' : 'disabled').$extra_attr.' value="manual">Manual Archive Extraction '.($is_wpconfarc_present ? '' : '*').'</option>';
|
257 |
+
if ($archive_config->isZipArchive()) {
|
258 |
+
//ZIP-ARCHIVE
|
259 |
+
$extra_attr = ('Pass' == $arcCheck && $zip_archive_enabled && !$shell_exec_zip_enabled) ? ' selected="selected"' : '';
|
260 |
+
$extra_attr .= ('Pass' != $arcCheck || !$zip_archive_enabled) ? ' disabled="disabled"' : '';
|
261 |
+
$options[] = '<option value="ziparchive"'.$extra_attr.'>PHP ZipArchive</option>';
|
262 |
+
|
263 |
+
//SHELL-EXEC UNZIP
|
264 |
+
$extra_attr = ('Pass' != $arcCheck || !$shell_exec_zip_enabled) ? ' disabled="disabled"' : '';
|
265 |
+
$extra_attr .= ('Pass' == $arcCheck && $shell_exec_zip_enabled) ? ' selected="selected"' : '';
|
266 |
+
$options[] = '<option value="shellexec_unzip"'.$extra_attr.'>Shell Exec Unzip</option>';
|
267 |
+
} else { // DUPARCHIVE
|
268 |
+
$extra_attr = ('Pass' == $arcCheck) ? ' selected="selected"' : 'disabled="disabled"';
|
269 |
+
$options[] = '<option value="duparchive"'.$extra_attr.'>DupArchive</option>';
|
270 |
+
}
|
271 |
+
$num_selections = count($options);
|
272 |
+
?>
|
273 |
+
<select id="archive_engine" name="archive_engine" size="<?php echo DUPX_U::esc_attr($num_selections); ?>">
|
274 |
+
<?php echo implode('', $options); ?>
|
275 |
+
</select><br/>
|
276 |
+
<?php if (!$is_wpconfarc_present): ?>
|
277 |
+
<span class="sub-notes">
|
278 |
+
*Option enabled when archive has been pre-extracted
|
279 |
+
<a href="https://snapcreek.com/duplicator/docs/faqs-tech/#faq-installer-015-q" target="_blank">[more info]</a>
|
280 |
+
</span>
|
281 |
+
<?php endif; ?>
|
282 |
+
</td>
|
283 |
+
</tr>
|
284 |
+
<tr>
|
285 |
+
<td style="vertical-align: top;padding-top: 10px;">Archive Action:</td>
|
286 |
+
<td id="archive_action_wrapper">
|
287 |
+
<select id="archive_action_input" name="<?php echo DUP_LITE_Extraction::INPUT_NAME_ARCHIVE_ACTION; ?>" class="input-item">
|
288 |
+
<option value="<?php echo DUP_LITE_Extraction::ACTION_DO_NOTHING; ?>" selected="selected">
|
289 |
+
Extract files over current files
|
290 |
+
</option>
|
291 |
+
<option value="<?php echo DUP_LITE_Extraction::ACTION_REMOVE_WP_FILES; ?>">
|
292 |
+
Remove WP core and content and extract
|
293 |
+
</option>
|
294 |
+
<option value="<?php echo DUP_LITE_Extraction::ACTION_REMOVE_ALL_FILES; ?>">
|
295 |
+
Remove all files and extract
|
296 |
+
</option>
|
297 |
+
</select>
|
298 |
+
<div class="sub-note" style="margin-top:5px; max-width:98%; font-size:10px">
|
299 |
+
<div class="archive-action-note archive-action-<?php echo DUP_LITE_Extraction::ACTION_DO_NOTHING; ?>">
|
300 |
+
Note: <b>Files are extracted over existing files.</b> After install, the destination folder will contain a combination of the old
|
301 |
+
site files and the files extracted from the archive. This option is the most conservative option for those who want to make sure
|
302 |
+
they do not want to lose data.
|
303 |
+
</div>
|
304 |
+
<div class="archive-action-note archive-action-<?php echo DUP_LITE_Extraction::ACTION_REMOVE_ALL_FILES; ?> no-display">
|
305 |
+
Note: Before extracting the package files, <b>all files and folders in the installation folder will be removed</b> except for folders
|
306 |
+
that contain WordPress installations or Duplicator backup folders. This option is recommended for those who want to delete all files
|
307 |
+
related to old installations or external applications.
|
308 |
+
</div>
|
309 |
+
<div class="archive-action-note archive-action-<?php echo DUP_LITE_Extraction::ACTION_REMOVE_WP_FILES; ?> no-display">
|
310 |
+
Note: Before extracting the package files, <b>all current WordPress core and content files and folders will be removed</b>
|
311 |
+
(wp-include, wp-content ... ) This option is for those who want to avoid having old site media mixed with new but have other
|
312 |
+
files/folders in the home path that they don't want to delete.
|
313 |
+
</div>
|
314 |
+
</div>
|
315 |
+
</td>
|
316 |
+
</tr>
|
317 |
+
</table><br/><br/>
|
318 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
319 |
</div>
|
320 |
+
<!-- ================
|
321 |
+
TAB 2 -->
|
322 |
+
<div id="tabs-opts-2">
|
|
|
|
|
|
|
|
|
323 |
|
324 |
+
<div class="hdr-sub3">File Settings</div>
|
325 |
+
<table class="dupx-opts dupx-advopts">
|
326 |
+
<tr>
|
327 |
+
<td valign="top">Config Files:</td>
|
328 |
+
<td>
|
329 |
+
<select name="config_mode" id="config_mode" onchange="DUPX.toggleConfigMode(this)">
|
330 |
+
<option value="NEW" data-title="Details: Ceates new config files streamlined to ensure no conflicts are created.">Create New (recommended)</option>
|
331 |
+
<optgroup label="Advanced">
|
332 |
+
<option value="RESTORE" data-title="Details: Retains old config files from the server where the package was created.">Restore Original from Archive.zip/daf</option>
|
333 |
+
<option value="IGNORE" data-title="Details: This option does not create or import any config files.">Ignore All</option>
|
334 |
+
</optgroup>
|
335 |
+
</select> <br/>
|
336 |
+
<span class="config-files-helper">
|
337 |
+
This option creates new streamlined config files to help ensure no conflicts are created. It also controls how
|
338 |
+
the htaccess, user.ini and web.config are applied in step 3 of this installer.
|
339 |
+
<?php DUPX_View_Funcs::helpLink('step1', '[more info]'); ?>
|
340 |
+
</span>
|
341 |
+
|
342 |
+
</td>
|
343 |
+
</tr>
|
344 |
+
<tr>
|
345 |
+
<td>Permissions:</td>
|
346 |
+
<td>
|
347 |
+
<input type="checkbox" name="set_file_perms" id="set_file_perms" value="1" onclick="jQuery('#file_perms_value').prop('disabled', !jQuery(this).is(':checked'));"/>
|
348 |
+
<label for="set_file_perms">All Files</label><input name="file_perms_value" id="file_perms_value" style="width:45px; margin-left:7px;" value="644" disabled>
|
349 |
+
<input type="checkbox" name="set_dir_perms" id="set_dir_perms" value="1" onclick="jQuery('#dir_perms_value').prop('disabled', !jQuery(this).is(':checked'));"/>
|
350 |
+
<label for="set_dir_perms">All Directories</label><input name="dir_perms_value" id="dir_perms_value" style="width:45px; margin-left:7px;" value="755" disabled>
|
351 |
+
</td>
|
352 |
+
</tr>
|
353 |
+
<tr>
|
354 |
+
<td>File Times:</td>
|
355 |
+
<td>
|
356 |
+
<input type="radio" name="zip_filetime" id="zip_filetime_now" value="current" checked="checked" />
|
357 |
+
<label class="radio" for="zip_filetime_now" title='Set the files current date time to now'>Current</label>
|
358 |
+
<input type="radio" name="zip_filetime" id="zip_filetime_orginal" value="original" />
|
359 |
+
<label class="radio" for="zip_filetime_orginal" title="Keep the files date time the same">Original</label>
|
360 |
+
</td>
|
361 |
+
</tr>
|
362 |
+
</table><br/>
|
363 |
+
|
364 |
+
|
365 |
+
<div class="hdr-sub3">Utilities</div>
|
366 |
+
<table class="dupx-opts dupx-advopts">
|
367 |
+
<tr>
|
368 |
+
<td>Safe Mode:</td>
|
369 |
+
<td>
|
370 |
+
<select name="exe_safe_mode" id="exe_safe_mode" onchange="DUPX.onSafeModeSwitch();">
|
371 |
+
<option value="0">Off</option>
|
372 |
+
<option value="1">Basic</option>
|
373 |
+
<option value="2">Advanced</option>
|
374 |
+
</select>
|
375 |
+
</td>
|
376 |
+
</tr>
|
377 |
+
<?php if (!$archive_config->isZipArchive()): ?>
|
378 |
<tr>
|
379 |
+
<td>Client-Kickoff:</td>
|
380 |
<td>
|
381 |
+
<input type="checkbox" name="clientside_kickoff" id="clientside_kickoff" value="1" checked/>
|
382 |
+
<label for="clientside_kickoff" style="font-weight: normal">Browser drives the archive engine.</label>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
383 |
</td>
|
384 |
</tr>
|
385 |
+
<?php endif; ?>
|
386 |
+
<tr>
|
387 |
+
<td>Testing:</td>
|
388 |
+
<td>
|
389 |
+
<a href="javascript:void(0)" target="db-test" onclick="DUPX.openDBValidationWindow(); return false;">[Perform Quick Database Connection Test]</a>
|
390 |
+
</td>
|
391 |
+
</tr>
|
392 |
+
<tr>
|
393 |
+
<td>Logging:</td>
|
394 |
+
<td>
|
395 |
+
<input type="radio" name="logging" id="logging-light" value="<?php echo DUPX_Log::LV_DEFAULT; ?>" checked="true"> <label for="logging-light" class="radio">Light</label>
|
396 |
+
<input type="radio" name="logging" id="logging-detailed" value="<?php echo DUPX_Log::LV_DETAILED; ?>"> <label for="logging-detailed" class="radio">Detailed</label>
|
397 |
+
<input type="radio" name="logging" id="logging-debug" value="<?php echo DUPX_Log::LV_DEBUG; ?>"> <label for="logging-debug" class="radio">Debug</label>
|
398 |
+
<input type="radio" name="logging" id="logging-h-debug" value="<?php echo DUPX_Log::LV_HARD_DEBUG; ?>"> <label for="logging-h-debug" class="radio">Verbose Debug</label>
|
399 |
+
</td>
|
400 |
+
</tr>
|
401 |
+
</table>
|
402 |
</div>
|
403 |
+
</div>
|
404 |
+
</div><br/>
|
405 |
|
406 |
|
407 |
+
<!-- ====================================
|
408 |
+
VALIDATION
|
409 |
+
==================================== -->
|
410 |
+
<div class="hdr-sub1 toggle-hdr s1-hdr-sys-setup-hdr" data-type="toggle" data-target="#s1-area-sys-setup">
|
411 |
+
<a id="s1-area-sys-setup-link"><i class="fa fa-plus-square"></i>Validation</a>
|
412 |
+
<div class="<?php echo ( $req_success) ? 'status-badge-pass' : 'status-badge-fail'; ?> ">
|
413 |
+
<?php echo ( $req_success) ? 'Pass' : 'Fail'; ?>
|
414 |
</div>
|
415 |
+
</div>
|
416 |
+
<div id="s1-area-sys-setup" style="display:none" class="hdr-sub1-area">
|
417 |
+
<div class='info-top'>The system validation checks help to make sure the system is ready for install.</div>
|
418 |
+
|
419 |
+
<!-- REQUIREMENTS -->
|
420 |
+
<div class="s1-reqs" id="s1-reqs-all">
|
421 |
+
<div class="header">
|
422 |
+
<table class="s1-checks-area">
|
423 |
+
<tr>
|
424 |
+
<td class="title">Requirements <small>(must pass)</small></td>
|
425 |
+
<td class="toggle"><a href="javascript:void(0)" onclick="DUPX.toggleAllReqs('#s1-reqs-all')">[toggle]</a></td>
|
426 |
+
</tr>
|
427 |
+
</table>
|
428 |
</div>
|
429 |
+
|
430 |
+
<!-- REQ 05 -->
|
431 |
+
<?php
|
432 |
+
$status = strtolower($req['05']);
|
433 |
+
?>
|
434 |
+
<div class="status <?php echo DUPX_U::esc_attr($status); ?>"><?php echo DUPX_U::esc_html($req['05']); ?></div>
|
435 |
+
<div class="title" data-status="<?php echo DUPX_U::esc_attr($status); ?>" data-type="toggle auto" data-target="#s1-reqs05">
|
436 |
+
<i class="fa fa-caret-right"></i> Archive Check
|
437 |
+
</div>
|
438 |
+
<div class="info" id="s1-reqs05">
|
439 |
+
<table class="s1-archive-local">
|
440 |
+
<tr>
|
441 |
+
<td colspan="2"><div class="hdr-sub3">Archive Details</div></td>
|
442 |
+
</tr>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
443 |
<tr>
|
444 |
+
<td style="vertical-align:top">Status:</td>
|
445 |
<td>
|
446 |
+
<span class="dupx-fail">
|
447 |
+
<?php if ($arcCheck == 'Fail' || $arcCheck == 'Warn') : ?>
|
448 |
+
An archive/installer mismatch has been detected. Each archive file has a unique installer file associated with it for security reasons.
|
449 |
+
Be sure to download the installer.php and archive.zip/daf files from the same package line in the Duplicator Packages screen
|
450 |
+
located in the WordPress admin. The correct installer can also be found inside of the archive.zip/daf file named "installer-backup.php".
|
451 |
+
<br/><br/>
|
452 |
+
<?php if ($arcCheck == 'Warn') : ?>
|
453 |
+
Users can still proceed with the install by choosing Manual Archive Extraction to ignore this message, but must manually
|
454 |
+
extract the archive themselves.
|
455 |
+
<?php else : ?>
|
456 |
+
If the contents of the archive were manually transferred to this location without the archive.zip/daf file (e.g. FTP). Then
|
457 |
+
simply create a temp archive.zip/daf file named with the correct archive name. To get the original archive name go to WordPress
|
458 |
+
Admin ❯ Duplicator ❯ Package Line ❯ Details ❯ Archive Name and place the file in the same directory as the installer.php file.
|
459 |
+
The temp file will not need to contain any data. Afterward, refresh this page and continue with the install process.
|
460 |
+
<?php endif; ?>
|
461 |
+
</span>
|
462 |
+
<?php else : ?>
|
463 |
+
<span class="dupx-pass">Archive file successfully detected.</span>
|
464 |
+
<?php endif; ?>
|
465 |
</td>
|
466 |
</tr>
|
467 |
+
<tr>
|
468 |
+
<td>Path:</td>
|
469 |
+
<td><?php echo DUPX_U::esc_html($root_path); ?> </td>
|
470 |
+
</tr>
|
471 |
+
<tr>
|
472 |
+
<td>Size:</td>
|
473 |
+
<td><?php echo DUPX_U::readableByteSize($arcSize); ?> </td>
|
474 |
+
</tr>
|
475 |
+
</table>
|
476 |
+
</div>
|
477 |
|
478 |
+
<!-- REQ 10 -->
|
479 |
+
<?php
|
480 |
+
$status = strtolower($req['10']);
|
481 |
+
?>
|
482 |
+
<div class="status <?php echo DUPX_U::esc_attr($status); ?>"><?php echo DUPX_U::esc_html($req['10']); ?></div>
|
483 |
+
<div class="title" data-status="<?php echo DUPX_U::esc_attr($status); ?>" data-type="toggle auto" data-target="#s1-reqs10">
|
484 |
+
<i class="fa fa-caret-right"></i> Permissions
|
485 |
</div>
|
486 |
+
<div class="info" id="s1-reqs10">
|
487 |
+
<table>
|
488 |
+
<tr>
|
489 |
+
<td><b>Deployment Path:</b> </td>
|
490 |
+
<td><i><?php echo "{$GLOBALS['DUPX_ROOT']}"; ?></i> </td>
|
491 |
+
</tr>
|
492 |
+
<tr>
|
493 |
+
<td><b>Suhosin Extension:</b> </td>
|
494 |
+
<td><?php echo extension_loaded('suhosin') ? "<i class='dupx-fail'>Enabled</i>" : "<i class='dupx-pass'>Disabled</i>"; ?> </td>
|
495 |
+
</tr>
|
496 |
+
<tr>
|
497 |
+
<td><b>PHP Safe Mode:</b> </td>
|
498 |
+
<td><?php echo (DUPX_Server::$php_safe_mode_on) ? "<i class='dupx-fail'>Enabled</i>" : "<i class='dupx-pass'>Disabled</i>"; ?> </td>
|
499 |
+
</tr>
|
500 |
+
</table><br/>
|
501 |
|
502 |
+
The deployment path must be writable by PHP in order to extract the archive file. Incorrect permissions and extension such as
|
503 |
+
<a href="https://suhosin.org/stories/index.html" target="_blank">suhosin</a> can sometimes interfere with PHP being able to write/extract files.
|
504 |
+
Please see the <a href="https://snapcreek.com/duplicator/docs/faqs-tech/#faq-trouble-055-q" target="_blank">FAQ permission</a> help link for complete details.
|
505 |
+
PHP with <a href='http://php.net/manual/en/features.safe-mode.php' target='_blank'>safe mode</a> should be disabled. If Safe Mode is enabled then
|
506 |
+
please contact your hosting provider or server administrator to disable PHP safe mode.
|
507 |
+
</div>
|
|
|
|
|
|
|
|
|
508 |
|
509 |
+
<!-- REQ 20 -->
|
510 |
+
<div class="status <?php echo strtolower($req['20']); ?>"><?php echo DUPX_U::esc_html($req['20']); ?></div>
|
511 |
+
<div class="title" data-status="<?php echo strtolower($req['20']); ?>" data-type="toggle auto" data-target="#s1-reqs20"><i class="fa fa-caret-right"></i> PHP Mysqli</div>
|
512 |
+
<div class="info" id="s1-reqs20">
|
513 |
+
Support for the PHP <a href='http://us2.php.net/manual/en/mysqli.installation.php' target='_blank'>mysqli extension</a> is required.
|
514 |
+
Please contact your hosting provider or server administrator to enable the mysqli extension. <i>The detection for this call uses
|
515 |
+
the function_exists('mysqli_connect') call.</i>
|
516 |
+
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
517 |
|
518 |
+
<!-- REQ 30 -->
|
519 |
+
<div class="status <?php echo strtolower($req['30']); ?>"><?php echo DUPX_U::esc_html($req['30']); ?></div>
|
520 |
+
<div class="title" data-status="<?php echo strtolower($req['30']); ?>" data-type="toggle auto" data-target="#s1-reqs30"><i class="fa fa-caret-right"></i> PHP Version</div>
|
521 |
+
<div class="info" id="s1-reqs30">
|
522 |
+
This server is running: <b>PHP <?php echo DUPX_Server::$php_version ?></b>. <i>A minimum of PHP 5.3.8+ is required. PHP 7.0+ is recommended.</i>
|
523 |
+
<br/><br/>
|
524 |
|
525 |
+
If this requirement fails contact your host or server administrator and let them know you would like to upgrade your PHP version.
|
526 |
+
For more information on this topic see the FAQ titled <a href="https://snapcreek.com/duplicator/docs/faqs-tech/#faq-licensing-017-q" target="_blank">What version of PHP Does Duplicator Support?</a>
|
527 |
+
</div>
|
|
|
|
|
|
|
|
|
|
|
528 |
|
529 |
+
<!-- REQ 40 -->
|
530 |
+
<div class="status <?php echo strtolower($req['40']); ?>"><?php echo DUPX_U::esc_html($req['40']); ?></div>
|
531 |
+
<div class="title" data-status="<?php echo strtolower($req['40']); ?>" data-type="toggle auto" data-target="#s1-reqs40">
|
532 |
+
<i class="fa fa-caret-right"></i> Managed Hosts
|
533 |
+
</div>
|
534 |
+
<div class="info" id="s1-reqs40">
|
535 |
+
<p>
|
536 |
+
<?php if ($managed_host !== false): ?>
|
537 |
+
The installer has detected that this server is possibly in a managed hosting setup. The followings checks
|
538 |
+
have been made which will not allow the installer to continue.
|
539 |
+
<?php else: ?>
|
540 |
+
Current host is not managed.
|
541 |
+
<?php endif; ?>
|
542 |
+
</p>
|
543 |
+
<ul>
|
544 |
+
<li>
|
545 |
+
<b>Managed system: </b> <?php echo is_string($managed_host)
|
546 |
+
? '<span class="maroon">It appears the installer is being executed on "' . $mh_manager->getHosting($managed_host)->getLabel() . '". Managed hosting is not presently supported in Duplicator Lite.</span>'
|
547 |
+
: "<span class='green'>No restrictions have been found for this host.</span>" ?>
|
548 |
+
</li>
|
549 |
+
<li>
|
550 |
+
<b>Configuration file: </b><?php echo $mh_manager->wpConfigIsNotWriteable()
|
551 |
+
? "<span class='maroon'>The WordPress configuration file (wp-config.php) must be accessible and writeable to the installer</span>"
|
552 |
+
: "<span class='green'>The wp-config.php is accessible to the installer.</span>" ?>
|
553 |
+
</li>
|
554 |
+
<li>
|
555 |
+
<b>Core Directories: </b><?php echo $mh_manager->notAccessibleCoreDirPresent() > 0
|
556 |
+
? "<span class='maroon'>The WordPress core directories wp-admin, wp-content and wp-includes must be accessible and writeable to the installer</span>"
|
557 |
+
: "<span class='green'>The WordPress core directories are accessible to the installer</span>"; ?>
|
558 |
+
</li>
|
559 |
+
</ul>
|
560 |
+
</div>
|
561 |
+
</div><br/>
|
562 |
|
563 |
+
<!-- ====================================
|
564 |
+
NOTICES -->
|
565 |
+
<div class="s1-reqs" id="s1-notice-all">
|
566 |
+
<div class="header">
|
567 |
+
<table class="s1-checks-area">
|
568 |
+
<tr>
|
569 |
+
<td class="title">Notices <small>(optional)</small></td>
|
570 |
+
<td class="toggle"><a href="javascript:void(0)" onclick="DUPX.toggleAllNotices('#s1-notice-all')">[toggle]</a></td>
|
571 |
+
</tr>
|
572 |
+
</table>
|
573 |
+
</div>
|
574 |
|
575 |
+
<!-- NOTICE 10: OVERWRITE INSTALL -->
|
576 |
+
<?php if ($is_overwrite_mode && $is_wordpress) : ?>
|
577 |
+
<div class="status fail">Warn</div>
|
578 |
+
<div class="title" data-status="warn" data-type="toggle auto" data-target="#s1-notice10"><i class="fa fa-caret-right"></i> Overwrite Install</div>
|
579 |
+
<div class="info" id="s1-notice10">
|
580 |
+
<?php if ($GLOBALS['DUPX_AC']->installSiteOverwriteOn || $is_dbonly) { ?>
|
581 |
+
<div class="gray-panel warn-text gray-panel-overwrite">
|
582 |
+
<i class="fas fa-exclamation-triangle fa-lg"></i> WARNING: The Duplicator installer file is currently placed in a location that has an existing WordPress site!
|
583 |
+
Continuing with this install process will <u>overwrite</u> all existing files and the database associated with this WordPress site. Only continue
|
584 |
+
with this process if this site is no longer needed.<br/>
|
585 |
+
</div>
|
586 |
+
<?php } ?>
|
587 |
+
<p style="font-size:14px">
|
588 |
+
<b><i class="fas fa-folder-open"></i> Deployment Path:</b> <i><?php echo "{$GLOBALS['DUPX_ROOT']}"; ?></i>
|
589 |
</p>
|
590 |
+
<?php if ($GLOBALS['DUPX_AC']->installSiteOverwriteOn || $is_dbonly) { ?>
|
591 |
+
<p>
|
592 |
+
Duplicator is in "Overwrite Install " mode because it has detected an existing WordPress site at the deployment path above. This mode allows for the installer
|
593 |
+
to be dropped directly into an existing WordPress site and overwrite its contents. Any content inside of the archive file
|
594 |
+
will <u>overwrite</u> the existing contents in the deployment path above. To continue choose one of these options:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
595 |
</p>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
596 |
|
597 |
<ol>
|
598 |
+
<li>Ignore this notice and continue with the install to overwrite this WordPress site.</li>
|
599 |
+
<li>Move the installer and archive to an <u>empty directory</u>. Then install from there to keep this site intact.</li>
|
600 |
</ol>
|
601 |
|
602 |
+
<p style="color:maroon">
|
603 |
+
<b>Notice:</b> Existing content such as plugin/themes/images will still show-up after the install is complete if they did not already exist in
|
604 |
+
the archive file. For example, if plugin X is in the current site but that same plugin X <u>does not exist</u> in the archive file
|
605 |
+
then that plugin will display as a disabled plugin after the install is completed. The same concept with themes, images and files apply.
|
606 |
+
This will not impact the site's operation, and the behavior is expected since the install process only extracts the archive files to the deployment
|
607 |
+
path.
|
608 |
+
</p>
|
|
|
|
|
|
|
|
|
|
|
|
|
609 |
|
610 |
+
<p>
|
611 |
+
<b>Recommendation:</b> It is recommended you only overwrite WordPress sites that have no value, such as a temporary staging site. On step 2
|
612 |
+
of this installer you will be given the option to change the database if needed. However, by default the current sites database will be
|
613 |
+
replaced with the one in this Duplicator package.
|
614 |
+
</p>
|
615 |
+
<?php
|
616 |
+
} else {
|
617 |
+
?>
|
618 |
+
<p>
|
619 |
+
Duplicator works best by placing the installer and archive files into an empty directory. If a wp-config.php file is found in the extraction
|
620 |
+
directory it might indicate that a pre-existing WordPress site exists which can lead to a bad install.
|
621 |
+
</p>
|
622 |
+
<b>Options:</b>
|
623 |
+
<ul style="margin-bottom: 0">
|
624 |
+
<li>If the archive was already manually extracted then <a href="javascript:void(0)" onclick="DUPX.getManaualArchiveOpt()">[Enable Manual Archive Extraction]</a></li>
|
625 |
+
<li>Empty the directory of all files, except for the installer.php and archive.zip/daf files.</li>
|
626 |
+
<li>Advanced Users: Can attempt to manually remove the wp-config file only if the archive was manually extracted.</li>
|
627 |
+
</ul>
|
628 |
+
<?php
|
629 |
+
}
|
630 |
+
?>
|
631 |
+
</div>
|
632 |
|
633 |
+
<!-- NOTICE 20: ARCHIVE EXTRACTED -->
|
634 |
+
<?php elseif ($is_wpconfarc_present && file_exists("{$root_path}/dup-installer")) : ?>
|
635 |
+
<div class="status fail">Warn</div>
|
636 |
+
<div class="title" data-type="toggle" data-target="#s1-notice20"><i class="fa fa-caret-right"></i> Archive Extracted</div>
|
637 |
+
<div class="info" id="s1-notice20">
|
638 |
+
<b>Deployment Path:</b> <i><?php echo "{$GLOBALS['DUPX_ROOT']}"; ?></i>
|
639 |
+
<br/><br/>
|
640 |
|
641 |
+
The installer has detected that the archive file has been extracted to the deployment path above. To continue choose one of these options:
|
|
|
642 |
|
643 |
+
<ol>
|
644 |
+
<li>Skip the extraction process by <a href="javascript:void(0)" onclick="DUPX.getManaualArchiveOpt()">[enabling manual archive extraction]</a> </li>
|
645 |
+
<li>Ignore this message and continue with the install process to re-extract the archive file.</li>
|
646 |
+
</ol>
|
647 |
|
648 |
+
<small>Note: This test looks for a file named <i>dup-wp-config-arc__[HASH].txt</i> in the dup-installer directory. If the file exists then this notice is shown.
|
649 |
+
The <i>dup-wp-config-arc__[HASH].txt</i> file is created with every archive and removed once the install is complete. For more details on this process see the
|
650 |
+
<a href="https://snapcreek.com/duplicator/docs/faqs-tech/#faq-installer-015-q" target="_blank">manual extraction FAQ</a>.</small>
|
|
|
|
|
|
|
651 |
</div>
|
652 |
+
<?php endif; ?>
|
653 |
+
|
654 |
+
<!-- NOTICE 25: DATABASE ONLY -->
|
655 |
+
<?php if ($is_dbonly && !$is_wordpress) : ?>
|
656 |
+
<div class="status fail">Warn</div>
|
657 |
+
<div class="title" data-type="toggle" data-target="#s1-notice25"><i class="fa fa-caret-right"></i> Database Only</div>
|
658 |
+
<div class="info" id="s1-notice25">
|
659 |
+
<b>Deployment Path:</b> <i><?php echo "{$GLOBALS['DUPX_ROOT']}"; ?></i>
|
660 |
+
<br/><br/>
|
661 |
|
662 |
+
The installer has detected that a WordPress site does not exist at the deployment path above. This installer is currently in 'Database Only' mode because that is
|
663 |
+
how the archive was created. If core WordPress site files do not exist at the path above then they will need to be placed there in order for a WordPress site
|
664 |
+
to properly work. To continue choose one of these options:
|
665 |
|
666 |
+
<ol>
|
667 |
+
<li>Place this installer and archive at a path where core WordPress files already exist to hide this message. </li>
|
668 |
+
<li>Create a new package that includes both the database and the core WordPress files.</li>
|
669 |
+
<li>Ignore this message and install only the database (for advanced users only).</li>
|
670 |
+
</ol>
|
671 |
|
672 |
+
<small>Note: This test simply looks for the directories <?php echo DUPX_Server::$wpCoreDirsList; ?> and a wp-config.php file. If they are not found in the
|
673 |
+
deployment path above then this notice is shown.</small>
|
674 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
675 |
</div>
|
676 |
+
<?php endif; ?>
|
677 |
+
|
678 |
+
<!-- NOTICE 30 -->
|
679 |
+
<div class="status <?php echo ($notice['30'] == 'Good') ? 'pass' : 'fail' ?>"><?php echo DUPX_U::esc_html($notice['30']); ?></div>
|
680 |
+
<div class="title" data-type="toggle" data-target="#s1-notice30"><i class="fa fa-caret-right"></i> Package Age</div>
|
681 |
+
<div class="info" id="s1-notice30">
|
682 |
+
This package is <?php echo "{$fulldays}"; ?> day(s) old. Packages older than 180 days might be considered stale. It is recommended to build a new
|
683 |
+
package unless your aware of the content and its data. This is message is simply a recommendation.
|
684 |
+
</div>
|
685 |
|
|
|
|
|
|
|
|
|
|
|
|
|
686 |
|
687 |
+
<!-- NOTICE 40:
|
688 |
+
Legacy PHP 5.2 Version check (Removed) -->
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
689 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
690 |
|
691 |
+
<!-- NOTICE 45 -->
|
692 |
+
<div class="status <?php echo ($notice['45'] == 'Good') ? 'pass' : 'fail' ?>"><?php echo $notice['45']; ?></div>
|
693 |
+
<div class="title" data-type="toggle" data-target="#s1-notice45"><i class="fa fa-caret-right"></i> PHP Version Mismatch</div>
|
694 |
+
<div class="info" id="s1-notice45">
|
695 |
+
<?php
|
696 |
+
$cssStyle = $notice['45'] == 'Good' ? 'color:green' : 'color:red';
|
697 |
+
echo "<b style='{$cssStyle}'>You are migrating site from the PHP {$packagePHP} to the PHP {$currentPHP}</b>.<br/>"
|
698 |
+
."If this servers PHP version is different from the PHP version of where the package was created it might cause problems with various parts of your website
|
699 |
+
and/or plugins and themes. It is highly recommended to try and use the same version of PHP if you are able to do so. This is simply a warning
|
700 |
+
and in the event no problems arise then you can igonre this message.<br/>";
|
701 |
+
?>
|
702 |
+
</div>
|
703 |
|
704 |
+
<!-- NOTICE 50 -->
|
705 |
+
<div class="status <?php echo ($notice['50'] == 'Good') ? 'pass' : 'fail' ?>"><?php echo DUPX_U::esc_html($notice['50']); ?></div>
|
706 |
+
<div class="title" data-type="toggle" data-target="#s1-notice50"><i class="fa fa-caret-right"></i> PHP Open Base</div>
|
707 |
+
<div class="info" id="s1-notice50">
|
708 |
+
<b>Open BaseDir:</b> <i><?php echo $notice['50'] == 'Good' ? "<i class='dupx-pass'>Disabled</i>" : "<i class='dupx-fail'>Enabled</i>"; ?></i>
|
709 |
+
<br/><br/>
|
710 |
+
|
711 |
+
If <a href="http://php.net/manual/en/ini.core.php#ini.open-basedir" target="_blank">open_basedir</a> is enabled and your
|
712 |
+
having issues getting your site to install properly; please work with your host and follow these steps to prevent issues:
|
713 |
+
<ol style="margin:7px; line-height:19px">
|
714 |
+
<li>Disable the open_basedir setting in the php.ini file</li>
|
715 |
+
<li>If the host will not disable, then add the path below to the open_basedir setting in the php.ini<br/>
|
716 |
+
<i style="color:maroon">"<?php echo str_replace('\\', '/', dirname(__FILE__)); ?>"</i>
|
717 |
+
</li>
|
718 |
+
<li>Save the settings and restart the web server</li>
|
719 |
+
</ol>
|
720 |
+
Note: This warning will still show if you choose option #2 and open_basedir is enabled, but should allow the installer to run properly. Please work with your
|
721 |
+
hosting provider or server administrator to set this up correctly.
|
722 |
+
</div>
|
723 |
|
724 |
+
<!-- NOTICE 60 -->
|
725 |
+
<div class="status <?php echo ($notice['60'] == 'Good') ? 'pass' : 'fail' ?>"><?php echo DUPX_U::esc_html($notice['60']); ?></div>
|
726 |
+
<div class="title" data-type="toggle" data-target="#s1-notice60"><i class="fa fa-caret-right"></i> PHP Timeout</div>
|
727 |
+
<div class="info" id="s1-notice60">
|
728 |
+
<b>Archive Size:</b> <?php echo DUPX_U::readableByteSize($arcSize) ?> <small>(detection limit is set at <?php echo DUPX_U::readableByteSize($max_time_size) ?>) </small><br/>
|
729 |
+
<b>PHP max_execution_time:</b> <?php echo "{$max_time_ini}"; ?> <small>(zero means not limit)</small> <br/>
|
730 |
+
<b>PHP set_time_limit:</b> <?php echo ($max_time_zero) ? '<i style="color:green">Success</i>' : '<i style="color:maroon">Failed</i>' ?>
|
731 |
+
<br/><br/>
|
732 |
+
|
733 |
+
The PHP <a href="http://php.net/manual/en/info.configuration.php#ini.max-execution-time" target="_blank">max_execution_time</a> setting is used to
|
734 |
+
determine how long a PHP process is allowed to run. If the setting is too small and the archive file size is too large then PHP may not have enough
|
735 |
+
time to finish running before the process is killed causing a timeout.
|
736 |
+
<br/><br/>
|
737 |
+
|
738 |
+
Duplicator attempts to turn off the timeout by using the
|
739 |
+
<a href="http://php.net/manual/en/function.set-time-limit.php" target="_blank">set_time_limit</a> setting. If this notice shows as a warning then it is
|
740 |
+
still safe to continue with the install. However, if a timeout occurs then you will need to consider working with the max_execution_time setting or extracting the
|
741 |
+
archive file using the 'Manual Archive Extraction' method.
|
742 |
+
Please see the <a href="https://snapcreek.com/duplicator/docs/faqs-tech/#faq-trouble-100-q" target="_blank">FAQ timeout</a> help link for more details.
|
743 |
+
</div>
|
744 |
|
|
|
|
|
|
|
|
|
|
|
|
|
745 |
|
746 |
+
<!-- NOTICE 8 -->
|
747 |
+
<div class="status <?php echo ($notice['70'] == 'Good') ? 'pass' : 'fail' ?>"><?php echo DUPX_U::esc_html($notice['70']); ?></div>
|
748 |
+
<div class="title" data-type="toggle" data-target="#s1-notice70"><i class="fa fa-caret-right"></i> WordPress Multisite</div>
|
749 |
+
<div class="info" id="s1-notice70">
|
750 |
+
<b>Status:</b> <?php echo $notice['70'] == 'Good' ? 'This archive is not a Multisite' : 'This is an unsupported Multisite archive'; ?>
|
751 |
+
<br/><br/>
|
752 |
|
753 |
+
Duplicator does not support WordPress Multisite (MU) migrations. We recommend using Duplicator Pro which currently supports full Multisite migrations and
|
754 |
+
subsite to standalone site migrations.
|
755 |
+
<br/><br/>
|
756 |
+
While it is not recommended you can still continue with the build of this package. Please note that after the install the site may not be working correctly.
|
757 |
+
Additional manual custom configurations will need to be made to finalize this Multisite migration.
|
758 |
|
759 |
+
<i><a href='https://snapcreek.com/duplicator/?utm_source=duplicator_free&utm_medium=wordpress_plugin&utm_content=free_is_mu_warn_exe&utm_campaign=duplicator_pro' target='_blank'>[upgrade to pro]</a></i>
|
760 |
+
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
761 |
|
762 |
+
<!-- NOTICE 80 -->
|
763 |
+
<div class="status <?php echo ($notice['80'] == 'Good') ? 'pass' : 'fail' ?>"><?php echo DUPX_U::esc_html($notice['80']); ?></div>
|
764 |
+
<div class="title" data-type="toggle" data-target="#s1-notice80"><i class="fa fa-caret-right"></i> WordPress wp-config Location</div>
|
765 |
+
<div class="info" id="s1-notice80">
|
766 |
+
If the wp-config.php file was moved up one level and out of the WordPress root folder in the package creation site then this test will show a warning.
|
767 |
+
<br/><br/>
|
768 |
+
This Duplicator installer will place this wp-config.php file in the WordPress setup root folder of this installation site to help stabilize the install process.
|
769 |
+
This process will not break anything in your installation site, but the details are here for your information.
|
770 |
+
</div>
|
771 |
|
772 |
+
<!-- NOTICE 90 -->
|
773 |
+
<div class="status <?php echo ($notice['90'] == 'Good') ? 'pass' : 'fail' ?>"><?php echo DUPX_U::esc_html($notice['90']); ?></div>
|
774 |
+
<div class="title" data-type="toggle" data-target="#s1-notice90"><i class="fa fa-caret-right"></i> WordPress wp-content Location</div>
|
775 |
+
<div class="info" id="s1-notice90">
|
776 |
+
If the wp-content directory was moved and not located at the WordPress root folder in the package creation site then this test will show a warning.
|
777 |
+
<br/><br/>
|
778 |
+
Duplicator Installer will place this wp-content directory in the WordPress setup root folder of this installation site. It will not break anything in your installation
|
779 |
+
site. It is just for your information.
|
780 |
+
</div>
|
781 |
|
782 |
+
<!-- NOTICE 100 -->
|
783 |
+
<div class="status <?php echo ($notice['100'] == 'Good') ? 'pass' : 'fail' ?>"><?php echo DUPX_U::esc_html($notice['100']); ?></div>
|
784 |
+
<div class="title" data-type="toggle" data-target="#s1-notice100"><i class="fa fa-caret-right"></i> Sufficient Disk Space</div>
|
785 |
+
<div class="info" id="s1-notice100">
|
786 |
+
<?php
|
787 |
+
echo ($notice['100'] == 'Good') ? 'You have sufficient disk space in your machine to extract the archive.' : 'You don’t have sufficient disk space in your machine to extract the archive. Ask your host to increase disk space.'
|
788 |
+
?>
|
789 |
+
</div>
|
|
|
|
|
|
|
790 |
|
791 |
+
<!-- NOTICE 110 -->
|
792 |
+
<div class="status <?php echo ($notice['110'] == 'Good') ? 'pass' : 'fail' ?>"><?php echo DUPX_U::esc_html($notice['110']); ?></div>
|
793 |
+
<div class="title" data-type="toggle" data-target="#s1-notice110"><i class="fa fa-caret-right"></i> Wordfence</div>
|
794 |
+
<div class="info" id="s1-notice110">
|
795 |
+
<b>Wordfence Firewall:</b> <?php echo ($notice['110'] == 'Warn') ? "<span style='color:red;'>detected at {$parentWordFencePath}</span>" : "<span style='color:green;'>not detected</span>"; ?>
|
796 |
+
<p>
|
797 |
+
The Wordfence Web Application Firewall is a PHP based, application level firewall that filters out malicious
|
798 |
+
requests to your site. Sometimes Wordfence returns false positives on requests done during the installation process,
|
799 |
+
because of which it might fail. We recommend turning off the Wordfence firewall of the WordPress instance located at the mentioned path.
|
800 |
+
</p>
|
801 |
</div>
|
802 |
|
803 |
</div>
|
|
|
804 |
|
805 |
+
</div>
|
806 |
+
<br/><br/>
|
807 |
+
|
808 |
+
|
809 |
+
<?php if ($req_success && $arcCheck != 'Fail') : ?>
|
810 |
+
<div id="s1-warning-check">
|
811 |
+
<?php if ($is_overwrite_mode && $is_wordpress) { ?>
|
812 |
+
<input id="accept-overwrite" name="accept-overwrite" type="checkbox" onclick="DUPX.acceptWarning()" />
|
813 |
+
<label for="accept-overwrite">Continue with site overwrite mode*</label><br/>
|
814 |
+
<?php } ?>
|
815 |
+
<input id="accept-warnings" name="accpet-warnings" type="checkbox" onclick="DUPX.acceptWarning()" />
|
816 |
+
<label for="accept-warnings">I have read and accept all <a href="javascript:void(0)" onclick="DUPX.viewTerms()">terms & notices</a>*<br/>
|
817 |
+
<small style="font-style:italic">* required to continue</small>
|
818 |
+
</label><br/>
|
819 |
+
</div>
|
820 |
+
<?php include ('view.s1.terms.php'); ?>
|
821 |
+
<br/><br/>
|
822 |
+
<br/><br/>
|
823 |
+
<?php endif; ?>
|
824 |
|
825 |
+
|
826 |
+
<?php if (!$req_success || $arcCheck == 'Fail') : ?>
|
827 |
+
<div class="s1-err-msg">
|
828 |
+
<i>
|
829 |
+
This installation will not be able to proceed until the setup and validation sections above both pass. Please adjust your servers settings or contact your
|
830 |
+
server administrator, hosting provider or visit the resources below for additional help.
|
831 |
+
</i>
|
832 |
+
<div style="padding:10px">
|
833 |
+
» <a href="https://snapcreek.com/duplicator/docs/faqs-tech/" target="_blank">Technical FAQs</a> <br/>
|
834 |
+
» <a href="https://snapcreek.com/support/docs/" target="_blank">Online Documentation</a> <br/>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
835 |
</div>
|
836 |
+
</div>
|
837 |
+
<?php else : ?>
|
838 |
+
<div class="footer-buttons">
|
839 |
+
<button id="s1-deploy-btn" type="button" title="<?php echo DUPX_U::esc_attr($agree_msg); ?>" onclick="DUPX.processNext()" class="default-btn"> Next <i class="fa fa-caret-right"></i> </button>
|
840 |
+
</div>
|
841 |
+
<?php endif; ?>
|
842 |
|
843 |
</form>
|
844 |
|
1136 |
$('#s1-result-form').submit();
|
1137 |
}, 500);
|
1138 |
<?php endif; ?>
|
1139 |
+
//$('#progress-area').fadeOut(1000);
|
1140 |
//Failures aren't necessarily fatal - just record them for later display
|
1141 |
|
1142 |
$("#ajax-json-debug").val(dataJSON);
|
1352 |
$('#s1-result-form').submit();
|
1353 |
}, 500);
|
1354 |
<?php endif; ?>
|
1355 |
+
// $('#progress-area').fadeOut(1000);
|
1356 |
} else {
|
1357 |
$('#ajaxerr-data').html('Error Processing Step 1');
|
1358 |
DUPX.hideProgressBar();
|
1455 |
$('#s1-input-form').show(200);
|
1456 |
}
|
1457 |
|
1458 |
+
/** Config Mode Changes */
|
1459 |
+
DUPX.toggleConfigMode = function(select)
|
1460 |
+
{
|
1461 |
+
var $notes = $('.config-files-helper');
|
1462 |
+
var $data = $(select).find('option:selected').attr('data-title');
|
1463 |
+
$notes.html($data).hide();
|
1464 |
+
$notes.html($data).show(400);
|
1465 |
+
}
|
1466 |
+
|
1467 |
/**
|
1468 |
* Accetps Usage Warning */
|
1469 |
DUPX.acceptWarning = function ()
|
1509 |
//INIT Routines
|
1510 |
DUPX.initToggle();
|
1511 |
$("#tabs").tabs();
|
1512 |
+
$("#tabs-opts").tabs();
|
1513 |
DUPX.acceptWarning();
|
1514 |
|
|
|
|
|
|
|
1515 |
$('#archive_action_wrapper').each(function () {
|
1516 |
let paramWrapper = $(this);
|
1517 |
let noteWrapper = paramWrapper.find('.sub-note');
|
1518 |
|
1519 |
paramWrapper.find('.input-item').change(function () {
|
1520 |
+
noteWrapper.find('.archive-action-note').hide();
|
1521 |
+
noteWrapper.find('.archive-action-' + $(this).val()).show(500);
|
1522 |
});
|
1523 |
});
|
1524 |
<?php
|
installer/dup-installer/views/view.s2.base.php
CHANGED
@@ -320,7 +320,7 @@ Auto Posts to view.step3.php -->
|
|
320 |
<?php if (!DUPX_Log::isLevel(DUPX_Log::LV_DEBUG)) : ?>
|
321 |
setTimeout(function () {$formResult.submit();}, 1000);
|
322 |
<?php endif; ?>
|
323 |
-
|
324 |
} else {
|
325 |
if (data.error_message) {
|
326 |
$('#ajaxerr-data').html(data.error_message);
|
320 |
<?php if (!DUPX_Log::isLevel(DUPX_Log::LV_DEBUG)) : ?>
|
321 |
setTimeout(function () {$formResult.submit();}, 1000);
|
322 |
<?php endif; ?>
|
323 |
+
//$('#progress-area').fadeOut(1500);
|
324 |
} else {
|
325 |
if (data.error_message) {
|
326 |
$('#ajaxerr-data').html(data.error_message);
|
installer/dup-installer/views/view.s2.basic.php
CHANGED
@@ -54,10 +54,9 @@ BASIC PANEL -->
|
|
54 |
<div class="hdr-sub1 toggle-hdr" data-type="toggle" data-target="#s2-db-basic">
|
55 |
<a href="javascript:void(0)"><i class="fa fa-minus-square"></i>Setup</a>
|
56 |
</div>
|
57 |
-
<div id="s2-db-basic">
|
58 |
-
<div class="
|
59 |
-
|
60 |
-
</div>
|
61 |
<?php if ($is_overwrite_mode) : ?>
|
62 |
<div id="s2-db-basic-overwrite" class="gray-panel" >
|
63 |
<b style='color:maroon'>Ready to connect to existing sites database? </b><br/>
|
@@ -134,11 +133,11 @@ BASIC PANEL -->
|
|
134 |
<div class="hdr-sub1 toggle-hdr" id="s2-opts-hdr-basic" data-type="toggle" data-target="#s2-opts-basic">
|
135 |
<a href="javascript:void(0)"><i class="fa fa-plus-square"></i>Options</a>
|
136 |
</div>
|
137 |
-
<div id="s2-opts-basic" class="s2-opts hdr-sub1-area" style="display:none;
|
138 |
<div class="help-target">
|
139 |
<?php DUPX_View_Funcs::helpIconLink('step2'); ?>
|
140 |
</div>
|
141 |
-
|
142 |
<table class="dupx-opts dupx-advopts dupx-advopts-space">
|
143 |
<tr>
|
144 |
<td>Legacy:</td>
|
@@ -213,14 +212,12 @@ BASIC: DB VALIDATION -->
|
|
213 |
<div style="clear:both"></div>
|
214 |
<div id="s2-dbtest-hb-basic" class="s2-dbtest-hb">
|
215 |
<div class="message">
|
216 |
-
|
217 |
-
|
218 |
</div>
|
219 |
</div>
|
220 |
</div>
|
221 |
|
222 |
-
|
223 |
-
|
224 |
<br/><br/><br/>
|
225 |
<br/><br/><br/>
|
226 |
|
@@ -234,7 +231,7 @@ BASIC: DB VALIDATION -->
|
|
234 |
</div>
|
235 |
<?php else : ?>
|
236 |
<button id="s2-dbtest-btn-basic" type="button" onclick="DUPX.testDBConnect()" class="default-btn" /><i class="fas fa-database fa-sm"></i> Test Database</button>
|
237 |
-
|
238 |
title="The 'Test Database' connectivity requirements must pass to continue with install!">
|
239 |
Next <i class="fa fa-caret-right"></i>
|
240 |
</button>
|
54 |
<div class="hdr-sub1 toggle-hdr" data-type="toggle" data-target="#s2-db-basic">
|
55 |
<a href="javascript:void(0)"><i class="fa fa-minus-square"></i>Setup</a>
|
56 |
</div>
|
57 |
+
<div id="s2-db-basic" class="dupx-panel-area">
|
58 |
+
<div class="hdr-sub3">Database Connection</div>
|
59 |
+
|
|
|
60 |
<?php if ($is_overwrite_mode) : ?>
|
61 |
<div id="s2-db-basic-overwrite" class="gray-panel" >
|
62 |
<b style='color:maroon'>Ready to connect to existing sites database? </b><br/>
|
133 |
<div class="hdr-sub1 toggle-hdr" id="s2-opts-hdr-basic" data-type="toggle" data-target="#s2-opts-basic">
|
134 |
<a href="javascript:void(0)"><i class="fa fa-plus-square"></i>Options</a>
|
135 |
</div>
|
136 |
+
<div id="s2-opts-basic" class="s2-opts hdr-sub1-area dupx-panel-area" style="display:none;">
|
137 |
<div class="help-target">
|
138 |
<?php DUPX_View_Funcs::helpIconLink('step2'); ?>
|
139 |
</div>
|
140 |
+
<div class="hdr-sub3">Database Configuration</div>
|
141 |
<table class="dupx-opts dupx-advopts dupx-advopts-space">
|
142 |
<tr>
|
143 |
<td>Legacy:</td>
|
212 |
<div style="clear:both"></div>
|
213 |
<div id="s2-dbtest-hb-basic" class="s2-dbtest-hb">
|
214 |
<div class="message">
|
215 |
+
<b><i class="far fa-check-circle"></i> Please validate database setup by clicking the 'Test Database' button.</b><br/>
|
216 |
+
<i>This test checks to make sure the database is ready for install.</i>
|
217 |
</div>
|
218 |
</div>
|
219 |
</div>
|
220 |
|
|
|
|
|
221 |
<br/><br/><br/>
|
222 |
<br/><br/><br/>
|
223 |
|
231 |
</div>
|
232 |
<?php else : ?>
|
233 |
<button id="s2-dbtest-btn-basic" type="button" onclick="DUPX.testDBConnect()" class="default-btn" /><i class="fas fa-database fa-sm"></i> Test Database</button>
|
234 |
+
<button id="s2-next-btn-basic" type="button" onclick="DUPX.confirmDeployment()" class="default-btn disabled" disabled="true"
|
235 |
title="The 'Test Database' connectivity requirements must pass to continue with install!">
|
236 |
Next <i class="fa fa-caret-right"></i>
|
237 |
</button>
|
installer/dup-installer/views/view.s2.dbtest.php
CHANGED
@@ -561,6 +561,6 @@ DUPX.resetDBTest = function(e)
|
|
561 |
|
562 |
$btnTestDB.removeAttr('disabled').removeClass('disabled');
|
563 |
$btnNext.addClass('disabled').attr('disabled', 'true');
|
564 |
-
$divTestArea.html("<div class='sub-message'>To continue click the 'Test Database'
|
565 |
}
|
566 |
</script>
|
561 |
|
562 |
$btnTestDB.removeAttr('disabled').removeClass('disabled');
|
563 |
$btnNext.addClass('disabled').attr('disabled', 'true');
|
564 |
+
$divTestArea.html("<div class='sub-message'>To continue click the 'Test Database' button to retest the database setup.</div>");
|
565 |
}
|
566 |
</script>
|
installer/dup-installer/views/view.s3.php
CHANGED
@@ -233,37 +233,46 @@ VIEW: STEP 3- INPUT -->
|
|
233 |
</tr>
|
234 |
</table><br/>
|
235 |
|
236 |
-
<table>
|
237 |
<tr>
|
238 |
-
<td style="padding-right:10px">
|
239 |
<b>Scan Tables:</b>
|
240 |
<div class="s3-allnonelinks">
|
241 |
<a href="javascript:void(0)" onclick="$('#tables option').prop('selected',true);">[All]</a>
|
242 |
<a href="javascript:void(0)" onclick="$('#tables option').prop('selected',false);">[None]</a>
|
243 |
</div><br style="clear:both" />
|
244 |
-
<select id="tables" name="tables[]" multiple="multiple" style="width:
|
245 |
<?php
|
246 |
foreach( $all_tables as $table ) {
|
247 |
echo '<option selected="selected" value="' . DUPX_U::esc_attr( $table ) . '">' . DUPX_U::esc_html($table) . '</option>';
|
248 |
}
|
249 |
?>
|
250 |
</select>
|
251 |
-
|
252 |
</td>
|
253 |
-
<td
|
254 |
<b>Activate Plugins:</b>
|
255 |
<?php echo ($_POST['exe_safe_mode'] > 0) ? '<small class="s3-warn">Safe Mode Enabled</small>' : '' ; ?>
|
256 |
<div class="s3-allnonelinks" style="<?php echo ($_POST['exe_safe_mode']>0)? 'display:none':''; ?>">
|
257 |
<a href="javascript:void(0)" onclick="$('#plugins option').prop('selected',true);">[All]</a>
|
258 |
<a href="javascript:void(0)" onclick="$('#plugins option').prop('selected',false);">[None]</a>
|
259 |
</div><br style="clear:both" />
|
260 |
-
<select id="plugins" name="plugins[]" multiple="multiple" style="width:
|
261 |
<?php
|
262 |
$selected_string = 'selected="selected"';
|
263 |
-
|
264 |
-
|
265 |
-
|
266 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
267 |
?>
|
268 |
</select>
|
269 |
</td>
|
@@ -516,7 +525,7 @@ DUPX.runUpdate = function()
|
|
516 |
<?php if (!DUPX_Log::isLevel(DUPX_Log::LV_DEBUG)) : ?>
|
517 |
setTimeout(function(){$('#s3-result-form').submit();}, 1000);
|
518 |
<?php endif; ?>
|
519 |
-
|
520 |
} else {
|
521 |
DUPX.hideProgressBar();
|
522 |
}
|
233 |
</tr>
|
234 |
</table><br/>
|
235 |
|
236 |
+
<table style="width:100%">
|
237 |
<tr>
|
238 |
+
<td style="padding-right:10px;width:50%">
|
239 |
<b>Scan Tables:</b>
|
240 |
<div class="s3-allnonelinks">
|
241 |
<a href="javascript:void(0)" onclick="$('#tables option').prop('selected',true);">[All]</a>
|
242 |
<a href="javascript:void(0)" onclick="$('#tables option').prop('selected',false);">[None]</a>
|
243 |
</div><br style="clear:both" />
|
244 |
+
<select id="tables" name="tables[]" multiple="multiple" style="width:100%;" size="10">
|
245 |
<?php
|
246 |
foreach( $all_tables as $table ) {
|
247 |
echo '<option selected="selected" value="' . DUPX_U::esc_attr( $table ) . '">' . DUPX_U::esc_html($table) . '</option>';
|
248 |
}
|
249 |
?>
|
250 |
</select>
|
|
|
251 |
</td>
|
252 |
+
<td style="width:50%">
|
253 |
<b>Activate Plugins:</b>
|
254 |
<?php echo ($_POST['exe_safe_mode'] > 0) ? '<small class="s3-warn">Safe Mode Enabled</small>' : '' ; ?>
|
255 |
<div class="s3-allnonelinks" style="<?php echo ($_POST['exe_safe_mode']>0)? 'display:none':''; ?>">
|
256 |
<a href="javascript:void(0)" onclick="$('#plugins option').prop('selected',true);">[All]</a>
|
257 |
<a href="javascript:void(0)" onclick="$('#plugins option').prop('selected',false);">[None]</a>
|
258 |
</div><br style="clear:both" />
|
259 |
+
<select id="plugins" name="plugins[]" multiple="multiple" style="width:100%;" size="10">
|
260 |
<?php
|
261 |
$selected_string = 'selected="selected"';
|
262 |
+
if ($_POST['exe_safe_mode'] > 0) {
|
263 |
+
foreach ($active_plugins as $plugin) {
|
264 |
+
if (strpos($plugin, '/duplicator.php') !== false) {
|
265 |
+
$label = dirname($plugin) == '.' ? $plugin : dirname($plugin);
|
266 |
+
echo "<option {$selected_string} value='" . DUPX_U::esc_attr( $plugin ) . "'>" . DUPX_U::esc_html($label) . '</option>';
|
267 |
+
break;
|
268 |
+
}
|
269 |
+
}
|
270 |
+
} else {
|
271 |
+
foreach ($active_plugins as $plugin) {
|
272 |
+
$label = dirname($plugin) == '.' ? $plugin : dirname($plugin);
|
273 |
+
echo "<option {$selected_string} value='" . DUPX_U::esc_attr( $plugin ) . "'>" . DUPX_U::esc_html($label) . '</option>';
|
274 |
+
}
|
275 |
+
}
|
276 |
?>
|
277 |
</select>
|
278 |
</td>
|
525 |
<?php if (!DUPX_Log::isLevel(DUPX_Log::LV_DEBUG)) : ?>
|
526 |
setTimeout(function(){$('#s3-result-form').submit();}, 1000);
|
527 |
<?php endif; ?>
|
528 |
+
//$('#progress-area').fadeOut(1500);
|
529 |
} else {
|
530 |
DUPX.hideProgressBar();
|
531 |
}
|
installer/dup-installer/views/view.s4.php
CHANGED
@@ -58,9 +58,9 @@ if ($json_decode == NULL || $json_decode == FALSE) {
|
|
58 |
{
|
59 |
if ($('input#auto-delete').is(':checked')) {
|
60 |
var action = encodeURIComponent('&action=installer');
|
61 |
-
window.open(
|
62 |
} else {
|
63 |
-
window.open(
|
64 |
}
|
65 |
};
|
66 |
</script>
|
@@ -86,29 +86,31 @@ VIEW: STEP 4- INPUT -->
|
|
86 |
<table class="s4-final-step">
|
87 |
<tr style="vertical-align: top">
|
88 |
<td style="padding-top:10px">
|
89 |
-
<button type="button" class="s4-final-btns" onclick="DUPX.getAdminLogin()"
|
|
|
|
|
90 |
</td>
|
91 |
<td>
|
92 |
Login to the WordPress Admin to finalize this install.<br/>
|
93 |
<input type="checkbox" name="auto-delete" id="auto-delete" checked="true"/>
|
94 |
<label for="auto-delete">Auto delete installer files after login <small>(recommended)</small></label>
|
95 |
-
<br/><br/>
|
96 |
-
|
97 |
-
<!-- WARN: SAFE MODE MESSAGES -->
|
98 |
-
<div class="s4-warn" style="display:<?php echo ($safe_mode > 0 ? 'block' : 'none')?>">
|
99 |
-
<b>Safe Mode</b><br/>
|
100 |
-
Safe mode has <u>deactivated</u> all plugins. Please be sure to enable your plugins after logging in. <i>If you notice that problems arise when activating
|
101 |
-
the plugins then active them one-by-one to isolate the plugin that could be causing the issue.</i>
|
102 |
-
</div>
|
103 |
</td>
|
104 |
</tr>
|
105 |
</table>
|
106 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
107 |
<b><i class="fa fa-exclamation-triangle"></i> IMPORTANT FINAL STEPS:</b> Login into the WordPress Admin to remove all <?php
|
108 |
-
DUPX_View_Funcs::helpLink('step4', 'installation files'); ?> and finalize the install process. This install is <u>NOT</u> complete until all installer
|
109 |
-
|
110 |
-
</div
|
111 |
-
<br/><br/><br/>
|
112 |
|
113 |
<?php
|
114 |
$nManager = DUPX_NOTICE_MANAGER::getInstance();
|
58 |
{
|
59 |
if ($('input#auto-delete').is(':checked')) {
|
60 |
var action = encodeURIComponent('&action=installer');
|
61 |
+
window.open(<?php echo str_replace('\\/', '/', json_encode($admin_login)); ?> + action, '_blank');
|
62 |
} else {
|
63 |
+
window.open(<?php echo str_replace('\\/', '/', json_encode($admin_login)); ?>, '_blank');
|
64 |
}
|
65 |
};
|
66 |
</script>
|
86 |
<table class="s4-final-step">
|
87 |
<tr style="vertical-align: top">
|
88 |
<td style="padding-top:10px">
|
89 |
+
<button type="button" class="s4-final-btns" onclick="DUPX.getAdminLogin()">
|
90 |
+
<i class="fab fa-wordpress fa-lg"></i> Admin Login
|
91 |
+
</button>
|
92 |
</td>
|
93 |
<td>
|
94 |
Login to the WordPress Admin to finalize this install.<br/>
|
95 |
<input type="checkbox" name="auto-delete" id="auto-delete" checked="true"/>
|
96 |
<label for="auto-delete">Auto delete installer files after login <small>(recommended)</small></label>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
97 |
</td>
|
98 |
</tr>
|
99 |
</table>
|
100 |
+
|
101 |
+
<!-- WARN: SAFE MODE MESSAGES -->
|
102 |
+
<div class="s4-final-steps" style="display:<?php echo ($safe_mode > 0 ? 'block' : 'none')?>">
|
103 |
+
<b><i class="fa fa-exclamation-triangle"></i> SAFE MODE:</b>
|
104 |
+
Safe mode has <u>deactivated</u> all plugins except for Duplicator. Please be sure to enable your plugins after logging in. If you notice that problems
|
105 |
+
arise when activating more than one plugin at a time, then it is recommended to active them one-by-one to isolate the plugin that could be causing the issue.
|
106 |
+
</div>
|
107 |
+
|
108 |
+
<!-- WARN: FINAL STEPS -->
|
109 |
+
<div class="s4-final-steps">
|
110 |
<b><i class="fa fa-exclamation-triangle"></i> IMPORTANT FINAL STEPS:</b> Login into the WordPress Admin to remove all <?php
|
111 |
+
DUPX_View_Funcs::helpLink('step4', 'installation files'); ?> and finalize the install process. This install is <u>NOT</u> complete until all installer
|
112 |
+
files have been completely removed. Leaving any of the installer files on this server can lead to security issues.
|
113 |
+
</div><br/>
|
|
|
114 |
|
115 |
<?php
|
116 |
$nManager = DUPX_NOTICE_MANAGER::getInstance();
|
installer/dup-installer/views/view.security.error.php
CHANGED
@@ -12,12 +12,12 @@ defined('ABSPATH') || defined('DUPXABSPATH') || exit;
|
|
12 |
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
13 |
<meta name="robots" content="noindex,nofollow">
|
14 |
<title>Duplicator</title>
|
15 |
-
<link rel="apple-touch-icon" sizes="180x180" href="favicon/
|
16 |
-
<link rel="icon" type="image/png" sizes="32x32" href="favicon/
|
17 |
-
<link rel="icon" type="image/png" sizes="16x16" href="favicon/
|
18 |
<link rel="manifest" href="favicon/site.webmanifest">
|
19 |
-
<link rel="mask-icon" href="favicon/
|
20 |
-
<link rel="shortcut icon" href="favicon/
|
21 |
<meta name="msapplication-TileColor" content="#da532c">
|
22 |
<meta name="msapplication-config" content="favicon/browserconfig.xml">
|
23 |
<meta name="theme-color" content="#ffffff">
|
12 |
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
13 |
<meta name="robots" content="noindex,nofollow">
|
14 |
<title>Duplicator</title>
|
15 |
+
<link rel="apple-touch-icon" sizes="180x180" href="favicon/apple-touch-icon.png">
|
16 |
+
<link rel="icon" type="image/png" sizes="32x32" href="favicon/favicon-32x32.png">
|
17 |
+
<link rel="icon" type="image/png" sizes="16x16" href="favicon/favicon-16x16.png">
|
18 |
<link rel="manifest" href="favicon/site.webmanifest">
|
19 |
+
<link rel="mask-icon" href="favicon/safari-pinned-tab.svg">
|
20 |
+
<link rel="shortcut icon" href="favicon/favicon.ico">
|
21 |
<meta name="msapplication-TileColor" content="#da532c">
|
22 |
<meta name="msapplication-config" content="favicon/browserconfig.xml">
|
23 |
<meta name="theme-color" content="#ffffff">
|
installer/installer.tpl
CHANGED
@@ -193,17 +193,20 @@ class DUPX_Bootstrap
|
|
193 |
//MANUAL EXTRACTION NOT FOUND
|
194 |
if (! $manual_extract_found) {
|
195 |
|
196 |
-
//MISSING ARCHIVE FILE
|
197 |
if (! file_exists($archive_filepath)) {
|
198 |
self::log("[ERROR] Archive file not found!");
|
199 |
-
|
200 |
-
. "<b>Archive not found!</b> The
|
201 |
-
|
202 |
-
|
203 |
-
|
204 |
-
|
205 |
-
|
206 |
-
|
|
|
|
|
|
|
207 |
|
208 |
return $error;
|
209 |
}
|
@@ -214,7 +217,7 @@ class DUPX_Bootstrap
|
|
214 |
if (!empty($archive_size) && !self::checkInputVaslidInt($archive_size)) {
|
215 |
$no_of_bits = PHP_INT_SIZE * 8;
|
216 |
$error = 'Current is a '.$no_of_bits.'-bit SO. This archive is too large for '.$no_of_bits.'-bit PHP.'.'<br>';
|
217 |
-
|
218 |
$error .= 'Possibibles solutions:<br>';
|
219 |
$error .= '- Use the file filters to get your package lower to support this server or try the package on a Linux server.'.'<br>';
|
220 |
$error .= '- Perform a <a target="_blank" href="https://snapcreek.com/duplicator/docs/faqs-tech/#faq-installer-015-q">Manual Extract Install</a>'.'<br>';
|
@@ -237,8 +240,8 @@ class DUPX_Bootstrap
|
|
237 |
|
238 |
//SIZE CHECK ERROR
|
239 |
if (($this->archiveRatio < 90) && ($this->archiveActualSize > 0) && ($this->archiveExpectedSize > 0)) {
|
240 |
-
|
241 |
-
|
242 |
$percent = round($this->archiveRatio);
|
243 |
|
244 |
$autochecked = isset($_POST['auto-fresh']) ? "checked='true'" : '';
|
@@ -1702,7 +1705,7 @@ try {
|
|
1702 |
<body>
|
1703 |
<?php
|
1704 |
$id = uniqid();
|
1705 |
-
$html = "<form id='{$id}' method='post' action='
|
1706 |
$data = array(
|
1707 |
'csrf_token' => $step1_csrf_token,
|
1708 |
);
|
@@ -1719,7 +1722,7 @@ try {
|
|
1719 |
<style>
|
1720 |
body {font-family:Verdana,Arial,sans-serif; line-height:18px; font-size: 12px}
|
1721 |
h2 {font-size:20px; margin:5px 0 5px 0; border-bottom:1px solid #dfdfdf; padding:3px}
|
1722 |
-
div#content {border:1px solid #CDCDCD; width:750px; min-height:550px; margin:auto; margin-top:18px; border-radius:
|
1723 |
div#content-inner {padding:10px 30px; min-height:550px}
|
1724 |
|
1725 |
/* Header */
|
193 |
//MANUAL EXTRACTION NOT FOUND
|
194 |
if (! $manual_extract_found) {
|
195 |
|
196 |
+
//MISSING ARCHIVE FILE
|
197 |
if (! file_exists($archive_filepath)) {
|
198 |
self::log("[ERROR] Archive file not found!");
|
199 |
+
$error = "<style>.diff-list font { font-weight: bold; }</style>"
|
200 |
+
. "<b>Archive not found!</b> The required archive file must be present in the <i>'Extraction Path'</i> below. When the archive file name was created "
|
201 |
+
. "it was given a secure hashed file name. This file name must be the <i>exact same</i> name as when it was created character for character. "
|
202 |
+
. "Each archive file has a unique installer associated with it and must be used together. See the list below for more options:<br/>"
|
203 |
+
. "<ul>"
|
204 |
+
. "<li>If the archive is not finished downloading please wait for it to complete.</li>"
|
205 |
+
. "<li>Rename the file to it original hash name. See WordPress-Admin ❯ Packages ❯ Details. </li>"
|
206 |
+
. "<li>When downloading, both files both should be from the same package line. </li>"
|
207 |
+
. "<li>Also see: <a href='https://snapcreek.com/duplicator/docs/faqs-tech/#faq-installer-050-q' target='_blank'>How to fix various errors that show up before step-1 of the installer?</a></li>"
|
208 |
+
. "</ul><br/>"
|
209 |
+
."<b>Extraction Path:</b> <span class='file-info'>{$this->installerExtractPath}/</span><br/>";
|
210 |
|
211 |
return $error;
|
212 |
}
|
217 |
if (!empty($archive_size) && !self::checkInputVaslidInt($archive_size)) {
|
218 |
$no_of_bits = PHP_INT_SIZE * 8;
|
219 |
$error = 'Current is a '.$no_of_bits.'-bit SO. This archive is too large for '.$no_of_bits.'-bit PHP.'.'<br>';
|
220 |
+
self::log('[ERROR] '.$error);
|
221 |
$error .= 'Possibibles solutions:<br>';
|
222 |
$error .= '- Use the file filters to get your package lower to support this server or try the package on a Linux server.'.'<br>';
|
223 |
$error .= '- Perform a <a target="_blank" href="https://snapcreek.com/duplicator/docs/faqs-tech/#faq-installer-015-q">Manual Extract Install</a>'.'<br>';
|
240 |
|
241 |
//SIZE CHECK ERROR
|
242 |
if (($this->archiveRatio < 90) && ($this->archiveActualSize > 0) && ($this->archiveExpectedSize > 0)) {
|
243 |
+
self::log("ERROR: The expected archive size should be around [{$archiveExpectedEasy}]. The actual size is currently [{$archiveActualEasy}].");
|
244 |
+
self::log("ERROR: The archive file may not have fully been downloaded to the server");
|
245 |
$percent = round($this->archiveRatio);
|
246 |
|
247 |
$autochecked = isset($_POST['auto-fresh']) ? "checked='true'" : '';
|
1705 |
<body>
|
1706 |
<?php
|
1707 |
$id = uniqid();
|
1708 |
+
$html = "<form id='{$id}' method='post' action=".str_replace('\\/', '/', json_encode($boot->mainInstallerURL))." />\n";
|
1709 |
$data = array(
|
1710 |
'csrf_token' => $step1_csrf_token,
|
1711 |
);
|
1722 |
<style>
|
1723 |
body {font-family:Verdana,Arial,sans-serif; line-height:18px; font-size: 12px}
|
1724 |
h2 {font-size:20px; margin:5px 0 5px 0; border-bottom:1px solid #dfdfdf; padding:3px}
|
1725 |
+
div#content {border:1px solid #CDCDCD; width:750px; min-height:550px; margin:auto; margin-top:18px; border-radius:3px; box-shadow:0 8px 6px -6px #333; font-size:13px}
|
1726 |
div#content-inner {padding:10px 30px; min-height:550px}
|
1727 |
|
1728 |
/* Header */
|
readme.txt
CHANGED
@@ -2,9 +2,9 @@
|
|
2 |
Contributors: corylamleorg, bobriley
|
3 |
Tags: migration, backup, duplicate, move, migrate, restore, transfer, clone, automate, copy site, migrator
|
4 |
Requires at least: 4.0
|
5 |
-
Tested up to: 5.
|
6 |
Requires PHP: 5.3.8
|
7 |
-
Stable tag: 1.4.
|
8 |
License: GPLv2
|
9 |
|
10 |
WordPress migration and backups are much easier with Duplicator! Clone, backup, move and transfer an entire site from one location to another.
|
2 |
Contributors: corylamleorg, bobriley
|
3 |
Tags: migration, backup, duplicate, move, migrate, restore, transfer, clone, automate, copy site, migrator
|
4 |
Requires at least: 4.0
|
5 |
+
Tested up to: 5.9
|
6 |
Requires PHP: 5.3.8
|
7 |
+
Stable tag: 1.4.4
|
8 |
License: GPLv2
|
9 |
|
10 |
WordPress migration and backups are much easier with Duplicator! Clone, backup, move and transfer an entire site from one location to another.
|
views/packages/details/detail.php
CHANGED
@@ -194,43 +194,58 @@ STORAGE -->
|
|
194 |
<div class="dup-box-arrow"></div>
|
195 |
</div>
|
196 |
<div class="dup-box-panel" id="dup-package-dtl-storage-panel" style="<?php echo esc_attr($ui_css_storage); ?>">
|
197 |
-
<table class="widefat package-tbl">
|
198 |
-
<thead>
|
199 |
-
<tr>
|
200 |
-
<th style='width:150px'><?php esc_html_e('Name', 'duplicator') ?></th>
|
201 |
-
<th style='width:100px'><?php esc_html_e('Type', 'duplicator') ?></th>
|
202 |
-
<th style="white-space: nowrap"><?php esc_html_e('Location', 'duplicator') ?></th>
|
203 |
-
</tr>
|
204 |
-
</thead>
|
205 |
-
<tbody>
|
206 |
-
<tr class="package-row">
|
207 |
-
<td><i class="fa fa-server"></i> <?php esc_html_e('Default', 'duplicator');?></td>
|
208 |
-
<td><?php esc_html_e("Local", 'duplicator'); ?></td>
|
209 |
-
<td><?php echo esc_html(DUP_Settings::getSsdirPath()); ?></td>
|
210 |
-
</tr>
|
211 |
-
<tr>
|
212 |
-
<td colspan="4">
|
213 |
-
<div class="dup-store-pro">
|
214 |
-
<img src="<?php echo esc_url(DUPLICATOR_PLUGIN_URL."assets/img/amazon-64.png"); ?>" />
|
215 |
-
<img src="<?php echo esc_url(DUPLICATOR_PLUGIN_URL."assets/img/dropbox-64.png"); ?>" />
|
216 |
-
<img src="<?php echo esc_url(DUPLICATOR_PLUGIN_URL."assets/img/google_drive_64px.png"); ?>" />
|
217 |
-
<img src="<?php echo esc_url(DUPLICATOR_PLUGIN_URL."assets/img/onedrive-48px.png"); ?>" />
|
218 |
-
<img src="<?php echo esc_url(DUPLICATOR_PLUGIN_URL."assets/img/ftp-64.png"); ?>" />
|
219 |
-
<?php echo sprintf(esc_html__('%1$s, %2$s, %3$s, %4$s, %5$s and other storage options available in', 'duplicator'), 'Amazon', 'Dropbox', 'Google Drive', 'OneDrive', 'FTP/SFTP'); ?>
|
220 |
-
<a href="https://snapcreek.com/duplicator/?utm_source=duplicator_free&utm_medium=wordpress_plugin&utm_content=free_storage_detail&utm_campaign=duplicator_pro" target="_blank"><?php esc_html_e('Duplicator Pro', 'duplicator');?></a>
|
221 |
-
<i class="far fa-lightbulb"
|
222 |
-
data-tooltip-title="<?php esc_attr_e('Additional Storage:', 'duplicator'); ?>"
|
223 |
-
data-tooltip="<?php esc_attr_e('Duplicator Pro allows you to create a package and then store it at a custom location on this server or to a cloud '
|
224 |
-
. 'based location such as Google Drive, Amazon, Dropbox or FTP.', 'duplicator'); ?>">
|
225 |
-
</i>
|
226 |
-
</div>
|
227 |
-
</td>
|
228 |
-
</tr>
|
229 |
-
</tbody>
|
230 |
-
</table>
|
231 |
-
</div>
|
232 |
-
</div>
|
233 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
234 |
|
235 |
<!-- ===============================
|
236 |
ARCHIVE -->
|
194 |
<div class="dup-box-arrow"></div>
|
195 |
</div>
|
196 |
<div class="dup-box-panel" id="dup-package-dtl-storage-panel" style="<?php echo esc_attr($ui_css_storage); ?>">
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
197 |
|
198 |
+
<table class="widefat package-tbl" style="margin-bottom:15px" >
|
199 |
+
<thead>
|
200 |
+
<tr>
|
201 |
+
<th style='width:200px'><?php esc_html_e("Name", 'duplicator'); ?></th>
|
202 |
+
<th style='width:100px'><?php esc_html_e("Type", 'duplicator'); ?></th>
|
203 |
+
<th style="white-space:nowrap"><?php esc_html_e("Location", 'duplicator'); ?></th>
|
204 |
+
</tr>
|
205 |
+
</thead>
|
206 |
+
<tbody>
|
207 |
+
<tr class="dup-store-path">
|
208 |
+
<td>
|
209 |
+
<?php esc_html_e('Default', 'duplicator');?>
|
210 |
+
<i>
|
211 |
+
<?php
|
212 |
+
if ($storage_position === DUP_Settings::STORAGE_POSITION_LECAGY) {
|
213 |
+
esc_html_e("(Legacy Path)", 'duplicator');
|
214 |
+
} else {
|
215 |
+
esc_html_e("(Contents Path)", 'duplicator');
|
216 |
+
}
|
217 |
+
?>
|
218 |
+
</i>
|
219 |
+
</td>
|
220 |
+
<td><i class="fas fa-server fa-fw"></i> <?php esc_html_e("Local", 'duplicator'); ?></td>
|
221 |
+
<td><?php echo DUP_Settings::getSsdirPath(); ?></td>
|
222 |
+
</tr>
|
223 |
+
<tr>
|
224 |
+
<td colspan="4" class="dup-store-promo-area">
|
225 |
+
<div class="dup-store-pro">
|
226 |
+
<span class="dup-pro-text">
|
227 |
+
<?php echo sprintf(__('Back up this site to %1$s, %2$s, %3$s, %4$s, %5$s and other locations with ', 'duplicator'),
|
228 |
+
'<i class="fab fa-aws fa-fw"></i> ' .'Amazon',
|
229 |
+
'<i class="fab fa-dropbox fa-fw"></i> ' . 'Dropbox',
|
230 |
+
'<i class="fab fa-google-drive fa-fw"></i> ' . 'Google Drive',
|
231 |
+
'<i class="fas fa-cloud fa-fw"></i> ' . 'OneDrive',
|
232 |
+
'<i class="fas fa-network-wired fa-fw"></i> ' . 'FTP/SFTP');
|
233 |
+
?>
|
234 |
+
<a href="https://snapcreek.com/duplicator/?utm_source=duplicator_free&utm_medium=wordpress_plugin&utm_content=free_storage_detail_bw&utm_campaign=duplicator_pro" target="_blank"><?php esc_html_e('Duplicator Pro', 'duplicator');?></a>
|
235 |
+
<i class="fas fa-question-circle"
|
236 |
+
data-tooltip-title="<?php esc_attr_e("Additional Storage:", 'duplicator'); ?>"
|
237 |
+
data-tooltip="<?php esc_attr_e('Duplicator Pro allows you to create a package and store it at a custom location on this server or to a remote '
|
238 |
+
. 'cloud location such as Google Drive, Amazon, Dropbox and many more.', 'duplicator'); ?>">
|
239 |
+
</i>
|
240 |
+
</span>
|
241 |
+
</div>
|
242 |
+
</td>
|
243 |
+
</tr>
|
244 |
+
</tbody>
|
245 |
+
</table>
|
246 |
+
|
247 |
+
</div>
|
248 |
+
</div>
|
249 |
|
250 |
<!-- ===============================
|
251 |
ARCHIVE -->
|
views/packages/main/controller.php
CHANGED
@@ -34,18 +34,18 @@ switch ($current_tab) {
|
|
34 |
table#dup-toolbar td {white-space: nowrap !important; padding:10px 0 0 0}
|
35 |
table#dup-toolbar td .button {box-shadow: none !important;}
|
36 |
table#dup-toolbar {width:100%; border:0 solid red; padding: 0; margin:8px 0 4px 0; height: 35px}
|
37 |
-
table#dup-toolbar td:last-child {font-size:16px; width:100%; text-align: right; vertical-align: bottom;white-space:nowrap;}
|
38 |
-
table#dup-toolbar td:last-child a {top:0; margin-top:10px;
|
39 |
-
table#dup-toolbar td:last-child span {display:inline-block;
|
40 |
hr.dup-toolbar-line {margin:2px 0 10px 0}
|
41 |
|
42 |
/*WIZARD TABS */
|
43 |
div#dup-wiz {padding:0px; margin:0; }
|
44 |
div#dup-wiz-steps {margin:10px 0px 0px 10px; padding:0px; clear:both; font-size:13px; min-width:350px;}
|
45 |
-
div#dup-wiz-title {padding:
|
46 |
-
#dup-wiz a { position:relative; display:block; width:auto; min-width:
|
47 |
-
color:#000; background:#E4E4E4; border-radius:
|
48 |
-
#dup-wiz .active-step a {color:#fff; background:#ACACAC; font-weight: bold; border:1px solid #888}
|
49 |
#dup-wiz .completed-step a {color:#E1E1E1; background:#BBBBBB; }
|
50 |
|
51 |
/*Footer */
|
34 |
table#dup-toolbar td {white-space: nowrap !important; padding:10px 0 0 0}
|
35 |
table#dup-toolbar td .button {box-shadow: none !important;}
|
36 |
table#dup-toolbar {width:100%; border:0 solid red; padding: 0; margin:8px 0 4px 0; height: 35px}
|
37 |
+
table#dup-toolbar td:last-child {font-size:16px; width:100%; text-align: right; vertical-align: bottom;white-space:nowrap; padding:0}
|
38 |
+
table#dup-toolbar td:last-child a {top:0; margin-top:10px; }
|
39 |
+
table#dup-toolbar td:last-child span {display:inline-block; padding:0 5px 5px 5px; color:#000;}
|
40 |
hr.dup-toolbar-line {margin:2px 0 10px 0}
|
41 |
|
42 |
/*WIZARD TABS */
|
43 |
div#dup-wiz {padding:0px; margin:0; }
|
44 |
div#dup-wiz-steps {margin:10px 0px 0px 10px; padding:0px; clear:both; font-size:13px; min-width:350px;}
|
45 |
+
div#dup-wiz-title {padding:8px 0 0 15px; clear:both;}
|
46 |
+
#dup-wiz a { position:relative; display:block; width:auto; min-width:80px; height:25px; margin-right:12px; padding:0px 10px 0px 10px; float:left; line-height:24px;
|
47 |
+
color:#000; background:#E4E4E4; border-radius:2px; letter-spacing:1px; border:1px solid #E4E4E4; text-align: center }
|
48 |
+
#dup-wiz .active-step a {color:#fff; background:#ACACAC; font-weight: bold; border:1px solid #888; box-shadow: 3px 3px 3px 0 #999}
|
49 |
#dup-wiz .completed-step a {color:#E1E1E1; background:#BBBBBB; }
|
50 |
|
51 |
/*Footer */
|
views/packages/main/packages.php
CHANGED
@@ -26,14 +26,14 @@ if (DUP_Settings::Get('installer_name_mode') == DUP_Settings::INSTALLER_NAME_MOD
|
|
26 |
|
27 |
<style>
|
28 |
div#dup-list-alert-nodata {padding:70px 20px;text-align:center; font-size:20px; line-height:26px}
|
29 |
-
div.dup-notice-msg {border:1px solid silver; padding: 10px; border-radius:
|
30 |
margin:40px auto 0px auto; font-size:12px; text-align: left; word-break:normal;
|
31 |
background: #fefcea;
|
32 |
background: -moz-linear-gradient(top, #fefcea 0%, #efe5a2 100%);
|
33 |
background: -ms-linear-gradient(top, #fefcea 0%,#efe5a2 100%);
|
34 |
background: linear-gradient(to bottom, #fefcea 0%,#efe5a2 100%);
|
35 |
}
|
36 |
-
input#dup-bulk-action-all {margin:
|
37 |
button.dup-button-selected {border:1px solid #000 !important; background-color:#dfdfdf !important;}
|
38 |
div.dup-quick-start {font-style:italic; font-size: 13px; line-height: 18px; margin-top: 15px}
|
39 |
div.dup-no-mu {font-size:13px; margin-top:25px; color:maroon; line-height:18px}
|
@@ -46,18 +46,18 @@ if (DUP_Settings::Get('installer_name_mode') == DUP_Settings::INSTALLER_NAME_MOD
|
|
46 |
table.dup-pack-table td.pack-size {min-width: 65px; }
|
47 |
|
48 |
table.dup-pack-table input[name="delete_confirm"] {margin-left:15px}
|
49 |
-
table.dup-pack-table td.fail {border-left: 4px solid
|
50 |
table.dup-pack-table td.pass {border-left: 4px solid #2ea2cc;}
|
51 |
|
52 |
-
.dup-pack-info {height:
|
53 |
.dup-pack-info td {vertical-align: middle; }
|
54 |
tr.dup-pack-info td {white-space:nowrap; padding:2px 30px 2px 7px;}
|
55 |
tr.dup-pack-info td.get-btns {text-align:right; padding:3px 5px 6px 0px !important;}
|
56 |
tr.dup-pack-info td.get-btns button {box-shadow:none}
|
57 |
textarea.dup-pack-debug {width:98%; height:300px; font-size:11px; display:none}
|
58 |
-
td.error-msg a {color:maroon}
|
59 |
-
td.error-msg a
|
60 |
-
td.error-msg
|
61 |
div#dup-help-dlg i {display: inline-block; width: 15px; padding:2px;line-height:28px; font-size:14px;}
|
62 |
tr.dup-pack-info sup {font-style:italic;font-size:10px; cursor: pointer; vertical-align: baseline; position: relative; top: -0.8em;}
|
63 |
tr#pack-processing {display: none}
|
@@ -89,14 +89,13 @@ if (DUP_Settings::Get('installer_name_mode') == DUP_Settings::INSTALLER_NAME_MOD
|
|
89 |
<input type="button" id="dup-pack-bulk-apply" class="button action" value="<?php esc_html_e("Apply", 'duplicator') ?>" onclick="Duplicator.Pack.ConfirmDelete()">
|
90 |
<span class="btn-separator"></span>
|
91 |
<a href="javascript:void(0)" class="button" title="<?php esc_attr_e("Get Help", 'duplicator') ?>" onclick="Duplicator.Pack.showHelp()"><i class="fa fa-question-circle"></i></a>
|
92 |
-
<a href="admin.php?page=duplicator-settings&tab=package" class="button" title="<?php esc_attr_e("Settings", 'duplicator') ?>"><i class="fas fa-
|
93 |
-
<a href="admin.php?page=duplicator-settings&tab=import" class="button dup-btn-disabled" title="<?php esc_html_e("Import", 'duplicator'); ?>"><i class="fas fa-arrow-alt-circle-down"></i></a>
|
94 |
-
<span class="btn-separator"></span>
|
95 |
<a href="admin.php?page=duplicator-tools&tab=templates" class="button dup-btn-disabled" title="<?php esc_html_e("Templates", 'duplicator'); ?>"><i class="far fa-clone"></i></a>
|
|
|
|
|
96 |
<a href="admin.php?page=duplicator-tools&tab=recovery" class="button dup-btn-disabled" title="<?php esc_html_e("Recovery", 'duplicator'); ?>"><i class="fas fa-undo-alt"></i></a>
|
97 |
</td>
|
98 |
<td>
|
99 |
-
<a href="javascript:void(0)" class="button disabled"><i class="fa fa-archive fa-sm"></i> <?php esc_html_e("Packages", 'duplicator'); ?></a>
|
100 |
<?php
|
101 |
$package_url = admin_url('admin.php?page=duplicator&tab=new1');
|
102 |
$package_nonce_url = wp_nonce_url($package_url, 'new1-package');
|
@@ -152,10 +151,12 @@ if (DUP_Settings::Get('installer_name_mode') == DUP_Settings::INSTALLER_NAME_MOD
|
|
152 |
<table class="widefat dup-pack-table">
|
153 |
<thead>
|
154 |
<tr>
|
155 |
-
<th style="width: 30px;"
|
|
|
|
|
156 |
<th style="width: 100px;" ><?php esc_html_e("Created", 'duplicator') ?></th>
|
157 |
<th style="width: 70px;"><?php esc_html_e("Size", 'duplicator') ?></th>
|
158 |
-
<th><?php esc_html_e("Name", 'duplicator') ?></th>
|
159 |
<th class="inst-name">
|
160 |
<?php esc_html_e("Installer Name", 'duplicator'); ?>
|
161 |
<i class="fas fa-question-circle fa-sm"
|
@@ -206,7 +207,7 @@ if (DUP_Settings::Get('installer_name_mode') == DUP_Settings::INSTALLER_NAME_MOD
|
|
206 |
if ($Package->Status >= 100 || $is_running_package) :
|
207 |
?>
|
208 |
<tr class="dup-pack-info <?php echo esc_attr($css_alt); ?> <?php echo $is_running_package ? 'is-running' : ''; ?>">
|
209 |
-
<td
|
210 |
<td>
|
211 |
<?php
|
212 |
echo DUP_Package::getCreatedDateFormat($Package->Created, DUP_Settings::get_create_date_format());
|
@@ -261,18 +262,14 @@ if (DUP_Settings::Get('installer_name_mode') == DUP_Settings::INSTALLER_NAME_MOD
|
|
261 |
$error_url = "?page=duplicator&action=detail&tab=detail&id={$Package->ID}";
|
262 |
?>
|
263 |
<tr class="dup-pack-info <?php echo esc_attr($css_alt); ?>">
|
264 |
-
<td
|
265 |
<td><?php echo DUP_Package::getCreatedDateFormat($Package->Created, DUP_Settings::get_create_date_format()); ?></td>
|
266 |
<td class="pack-size"><?php echo DUP_Util::byteSize($pack_archive_size); ?></td>
|
267 |
<td class='pack-name'><?php echo esc_html($pack_name); ?></td>
|
|
|
268 |
<td class="get-btns error-msg" colspan="3">
|
269 |
-
<
|
270 |
-
|
271 |
-
<a href="<?php echo esc_url($error_url); ?>"><?php esc_html_e("Error Processing", 'duplicator') ?></a>
|
272 |
-
</span>
|
273 |
-
<a class="button no-select" title="<?php esc_attr_e("Package Details", 'duplicator') ?>" href="<?php echo esc_url($error_url); ?>">
|
274 |
-
<i class="fa fa-archive fa-sm"></i>
|
275 |
-
</a>
|
276 |
</td>
|
277 |
</tr>
|
278 |
<?php endif; ?>
|
26 |
|
27 |
<style>
|
28 |
div#dup-list-alert-nodata {padding:70px 20px;text-align:center; font-size:20px; line-height:26px}
|
29 |
+
div.dup-notice-msg {border:1px solid silver; padding: 10px; border-radius:3px; width: 550px;
|
30 |
margin:40px auto 0px auto; font-size:12px; text-align: left; word-break:normal;
|
31 |
background: #fefcea;
|
32 |
background: -moz-linear-gradient(top, #fefcea 0%, #efe5a2 100%);
|
33 |
background: -ms-linear-gradient(top, #fefcea 0%,#efe5a2 100%);
|
34 |
background: linear-gradient(to bottom, #fefcea 0%,#efe5a2 100%);
|
35 |
}
|
36 |
+
input#dup-bulk-action-all {margin:0 2px 0 0;padding:0 2px 0 0 }
|
37 |
button.dup-button-selected {border:1px solid #000 !important; background-color:#dfdfdf !important;}
|
38 |
div.dup-quick-start {font-style:italic; font-size: 13px; line-height: 18px; margin-top: 15px}
|
39 |
div.dup-no-mu {font-size:13px; margin-top:25px; color:maroon; line-height:18px}
|
46 |
table.dup-pack-table td.pack-size {min-width: 65px; }
|
47 |
|
48 |
table.dup-pack-table input[name="delete_confirm"] {margin-left:15px}
|
49 |
+
table.dup-pack-table td.fail {border-left: 4px solid maroon;}
|
50 |
table.dup-pack-table td.pass {border-left: 4px solid #2ea2cc;}
|
51 |
|
52 |
+
.dup-pack-info {height:50px;}
|
53 |
.dup-pack-info td {vertical-align: middle; }
|
54 |
tr.dup-pack-info td {white-space:nowrap; padding:2px 30px 2px 7px;}
|
55 |
tr.dup-pack-info td.get-btns {text-align:right; padding:3px 5px 6px 0px !important;}
|
56 |
tr.dup-pack-info td.get-btns button {box-shadow:none}
|
57 |
textarea.dup-pack-debug {width:98%; height:300px; font-size:11px; display:none}
|
58 |
+
td.error-msg a {color:maroon; text-decoration: underline}
|
59 |
+
td.error-msg a:hover {color:maroon; text-decoration:none}
|
60 |
+
td.error-msg {padding:7px 18px 0px 0px; color:maroon; text-align: center !important;}
|
61 |
div#dup-help-dlg i {display: inline-block; width: 15px; padding:2px;line-height:28px; font-size:14px;}
|
62 |
tr.dup-pack-info sup {font-style:italic;font-size:10px; cursor: pointer; vertical-align: baseline; position: relative; top: -0.8em;}
|
63 |
tr#pack-processing {display: none}
|
89 |
<input type="button" id="dup-pack-bulk-apply" class="button action" value="<?php esc_html_e("Apply", 'duplicator') ?>" onclick="Duplicator.Pack.ConfirmDelete()">
|
90 |
<span class="btn-separator"></span>
|
91 |
<a href="javascript:void(0)" class="button" title="<?php esc_attr_e("Get Help", 'duplicator') ?>" onclick="Duplicator.Pack.showHelp()"><i class="fa fa-question-circle"></i></a>
|
92 |
+
<a href="admin.php?page=duplicator-settings&tab=package" class="button" title="<?php esc_attr_e("Settings", 'duplicator') ?>"><i class="fas fa-sliders-h"></i></a>
|
|
|
|
|
93 |
<a href="admin.php?page=duplicator-tools&tab=templates" class="button dup-btn-disabled" title="<?php esc_html_e("Templates", 'duplicator'); ?>"><i class="far fa-clone"></i></a>
|
94 |
+
<span class="btn-separator"></span>
|
95 |
+
<a href="admin.php?page=duplicator-settings&tab=import" class="button dup-btn-disabled" title="<?php esc_html_e("Import", 'duplicator'); ?>"><i class="fas fa-arrow-alt-circle-down"></i></a>
|
96 |
<a href="admin.php?page=duplicator-tools&tab=recovery" class="button dup-btn-disabled" title="<?php esc_html_e("Recovery", 'duplicator'); ?>"><i class="fas fa-undo-alt"></i></a>
|
97 |
</td>
|
98 |
<td>
|
|
|
99 |
<?php
|
100 |
$package_url = admin_url('admin.php?page=duplicator&tab=new1');
|
101 |
$package_nonce_url = wp_nonce_url($package_url, 'new1-package');
|
151 |
<table class="widefat dup-pack-table">
|
152 |
<thead>
|
153 |
<tr>
|
154 |
+
<th style="width: 30px;">
|
155 |
+
<input type="checkbox" id="dup-bulk-action-all" title="<?php esc_attr_e("Select all packages", 'duplicator') ?>" style="margin-left:12px" onclick="Duplicator.Pack.SetDeleteAll()" />
|
156 |
+
</th>
|
157 |
<th style="width: 100px;" ><?php esc_html_e("Created", 'duplicator') ?></th>
|
158 |
<th style="width: 70px;"><?php esc_html_e("Size", 'duplicator') ?></th>
|
159 |
+
<th style="min-width: 70px;"><?php esc_html_e("Name", 'duplicator') ?></th>
|
160 |
<th class="inst-name">
|
161 |
<?php esc_html_e("Installer Name", 'duplicator'); ?>
|
162 |
<i class="fas fa-question-circle fa-sm"
|
207 |
if ($Package->Status >= 100 || $is_running_package) :
|
208 |
?>
|
209 |
<tr class="dup-pack-info <?php echo esc_attr($css_alt); ?> <?php echo $is_running_package ? 'is-running' : ''; ?>">
|
210 |
+
<td><input name="delete_confirm" type="checkbox" id="<?php echo absint($Package->ID); ?>" /></td>
|
211 |
<td>
|
212 |
<?php
|
213 |
echo DUP_Package::getCreatedDateFormat($Package->Created, DUP_Settings::get_create_date_format());
|
262 |
$error_url = "?page=duplicator&action=detail&tab=detail&id={$Package->ID}";
|
263 |
?>
|
264 |
<tr class="dup-pack-info <?php echo esc_attr($css_alt); ?>">
|
265 |
+
<td><input name="delete_confirm" type="checkbox" id="<?php echo absint($Package->ID); ?>" /></td>
|
266 |
<td><?php echo DUP_Package::getCreatedDateFormat($Package->Created, DUP_Settings::get_create_date_format()); ?></td>
|
267 |
<td class="pack-size"><?php echo DUP_Util::byteSize($pack_archive_size); ?></td>
|
268 |
<td class='pack-name'><?php echo esc_html($pack_name); ?></td>
|
269 |
+
<td> </td>
|
270 |
<td class="get-btns error-msg" colspan="3">
|
271 |
+
<i class="fa fa-exclamation-triangle fa-sm"></i>
|
272 |
+
<a href="<?php echo esc_url($error_url); ?>"><?php esc_html_e("Error Processing", 'duplicator') ?></a>
|
|
|
|
|
|
|
|
|
|
|
273 |
</td>
|
274 |
</tr>
|
275 |
<?php endif; ?>
|
views/packages/main/s1.setup1.php
CHANGED
@@ -59,19 +59,17 @@ TOOL BAR: STEPS -->
|
|
59 |
<td style="white-space: nowrap">
|
60 |
<div id="dup-wiz">
|
61 |
<div id="dup-wiz-steps">
|
62 |
-
<div class="active-step"><a>1
|
63 |
-
<div><a>2
|
64 |
-
<div><a>3
|
65 |
</div>
|
66 |
-
|
67 |
-
|
68 |
-
|
69 |
-
|
70 |
-
|
71 |
-
<td>
|
72 |
-
<a href="?page=duplicator" class="button"><i class="fa fa-archive fa-sm"></i> <?php esc_html_e("Packages", 'duplicator'); ?></a>
|
73 |
-
<a href="javascript:void(0)" class="button disabled"> <?php esc_html_e("Create New", 'duplicator'); ?></a>
|
74 |
</td>
|
|
|
75 |
</tr>
|
76 |
</table>
|
77 |
<hr class="dup-toolbar-line">
|
59 |
<td style="white-space: nowrap">
|
60 |
<div id="dup-wiz">
|
61 |
<div id="dup-wiz-steps">
|
62 |
+
<div class="active-step"><a>1 <?php esc_html_e('Setup', 'duplicator'); ?></a></div>
|
63 |
+
<div><a>2 <?php esc_html_e('Scan', 'duplicator'); ?> </a></div>
|
64 |
+
<div><a>3 <?php esc_html_e('Build', 'duplicator'); ?> </a></div>
|
65 |
</div>
|
66 |
+
</div>
|
67 |
+
<div id="dup-wiz-title" class="dup-guide-txt-color">
|
68 |
+
<i class="fab fa-wordpress"></i>
|
69 |
+
<?php esc_html_e('Step 1: Choose the WordPress contents to backup.', 'duplicator'); ?>
|
70 |
+
</div>
|
|
|
|
|
|
|
71 |
</td>
|
72 |
+
<td> </td>
|
73 |
</tr>
|
74 |
</table>
|
75 |
<hr class="dup-toolbar-line">
|
views/packages/main/s1.setup2.php
CHANGED
@@ -13,7 +13,9 @@ defined('ABSPATH') || defined('DUPXABSPATH') || exit;
|
|
13 |
div.dup-notes-add {float:right; margin:-4px 2px 4px 0;}
|
14 |
div#dup-notes-area {display:none}
|
15 |
input#package-name {padding:4px; height: 2em; font-size: 1.2em; line-height: 100%; width: 100%; margin: 0 0 3px;}
|
16 |
-
|
|
|
|
|
17 |
/*ARCHIVE SECTION*/
|
18 |
form#dup-form-opts div.tabs-panel{max-height:800px; padding:10px; min-height:280px}
|
19 |
form#dup-form-opts ul li.tabs{font-weight:bold}
|
@@ -28,6 +30,7 @@ defined('ABSPATH') || defined('DUPXABSPATH') || exit;
|
|
28 |
form#dup-form-opts textarea#filter-files {height:85px}
|
29 |
div.dup-quick-links {font-size:11px; float:right; display:inline-block; margin-top:2px; font-style:italic}
|
30 |
div.dup-tabs-opts-help {font-style:italic; font-size:11px; margin:10px 0 0 10px; color:#777}
|
|
|
31 |
/* Tab: Database */
|
32 |
table#dup-dbtables td {padding:1px 7px 1px 4px}
|
33 |
label.core-table {color:#9A1E26;font-style:italic;font-weight:bold}
|
@@ -94,21 +97,31 @@ STORAGE -->
|
|
94 |
<div class="dup-box-arrow"></div>
|
95 |
</div>
|
96 |
<div class="dup-box-panel" id="dup-pack-storage-panel" style="<?php echo esc_html($ui_css_storage); ?>">
|
97 |
-
<div style="
|
98 |
-
<
|
|
|
|
|
|
|
|
|
|
|
99 |
</div>
|
|
|
100 |
<table class="widefat package-tbl" style="margin-bottom:15px" >
|
101 |
<thead>
|
102 |
<tr>
|
|
|
103 |
<th style='width:200px'><?php esc_html_e("Name", 'duplicator'); ?></th>
|
104 |
<th style='width:100px'><?php esc_html_e("Type", 'duplicator'); ?></th>
|
105 |
<th style="white-space:nowrap"><?php esc_html_e("Location", 'duplicator'); ?></th>
|
106 |
</tr>
|
107 |
</thead>
|
108 |
<tbody>
|
109 |
-
<tr class="
|
|
|
|
|
|
|
110 |
<td>
|
111 |
-
|
112 |
<i>
|
113 |
<?php
|
114 |
if ($storage_position === DUP_Settings::STORAGE_POSITION_LECAGY) {
|
@@ -119,24 +132,25 @@ STORAGE -->
|
|
119 |
?>
|
120 |
</i>
|
121 |
</td>
|
122 |
-
<td
|
123 |
<td><?php echo DUP_Settings::getSsdirPath(); ?></td>
|
124 |
</tr>
|
125 |
<tr>
|
126 |
-
<td colspan="4"
|
127 |
<div class="dup-store-pro">
|
128 |
<span class="dup-pro-text">
|
129 |
-
|
130 |
-
|
131 |
-
|
132 |
-
|
133 |
-
|
134 |
-
|
135 |
-
|
136 |
-
<
|
|
|
137 |
data-tooltip-title="<?php esc_attr_e("Additional Storage:", 'duplicator'); ?>"
|
138 |
-
data-tooltip="<?php esc_attr_e('Duplicator Pro allows you to create a package and
|
139 |
-
. '
|
140 |
</i>
|
141 |
</span>
|
142 |
</div>
|
@@ -204,9 +218,9 @@ ARCHIVE -->
|
|
204 |
?>
|
205 |
</label>
|
206 |
<div class='dup-quick-links'>
|
207 |
-
<a href="javascript:void(0)" onclick="Duplicator.Pack.AddExcludePath('<?php echo duplicator_get_abs_path(); ?>')">[<?php esc_html_e("root path", 'duplicator') ?>]</a>
|
208 |
-
<a href="javascript:void(0)" onclick="Duplicator.Pack.AddExcludePath('<?php echo rtrim($upload_dir, '/'); ?>')">[<?php esc_html_e("wp-uploads", 'duplicator') ?>]</a>
|
209 |
-
<a href="javascript:void(0)" onclick="Duplicator.Pack.AddExcludePath('<?php echo DUP_Util::safePath(WP_CONTENT_DIR); ?>/cache')">[<?php esc_html_e("cache", 'duplicator') ?>]</a>
|
210 |
<a href="javascript:void(0)" onclick="jQuery('#filter-dirs').val('')"><?php esc_html_e("(clear)", 'duplicator') ?></a>
|
211 |
</div>
|
212 |
<textarea name="filter-dirs" id="filter-dirs" placeholder="/full_path/exclude_path1;/full_path/exclude_path2;"><?php echo str_replace(";", ";\n", esc_textarea($Package->Archive->FilterDirs)) ?></textarea><br/>
|
@@ -226,7 +240,7 @@ ARCHIVE -->
|
|
226 |
?>
|
227 |
</label>
|
228 |
<div class='dup-quick-links'>
|
229 |
-
<a href="javascript:void(0)" onclick="Duplicator.Pack.AddExcludeFilePath('<?php echo duplicator_get_abs_path(); ?>')"><?php esc_html_e("(file path)", 'duplicator') ?></a>
|
230 |
<a href="javascript:void(0)" onclick="jQuery('#filter-files').val('')"><?php esc_html_e("(clear)", 'duplicator') ?></a>
|
231 |
</div>
|
232 |
<textarea name="filter-files" id="filter-files" placeholder="/full_path/exclude_file_1.ext;/full_path/exclude_file2.ext"><?php echo str_replace(";", ";\n", esc_textarea($Package->Archive->FilterFiles)) ?></textarea>
|
@@ -402,6 +416,9 @@ INSTALLER -->
|
|
402 |
<div class="dup-box-panel" id="dup-pack-installer-panel" style="<?php echo esc_html($ui_css_installer); ?>">
|
403 |
|
404 |
<div class="dup-installer-panel-optional">
|
|
|
|
|
|
|
405 |
<b><?php esc_html_e('All values in this section are', 'duplicator'); ?> <u><?php esc_html_e('optional', 'duplicator'); ?></u></b>
|
406 |
<i class="fas fa-question-circle fa-sm"
|
407 |
data-tooltip-title="<?php esc_attr_e("Setup/Prefills", 'duplicator'); ?>"
|
13 |
div.dup-notes-add {float:right; margin:-4px 2px 4px 0;}
|
14 |
div#dup-notes-area {display:none}
|
15 |
input#package-name {padding:4px; height: 2em; font-size: 1.2em; line-height: 100%; width: 100%; margin: 0 0 3px;}
|
16 |
+
tr.dup-store-path td {padding:14px}
|
17 |
+
label.lbl-larger {font-size:1.2em}
|
18 |
+
|
19 |
/*ARCHIVE SECTION*/
|
20 |
form#dup-form-opts div.tabs-panel{max-height:800px; padding:10px; min-height:280px}
|
21 |
form#dup-form-opts ul li.tabs{font-weight:bold}
|
30 |
form#dup-form-opts textarea#filter-files {height:85px}
|
31 |
div.dup-quick-links {font-size:11px; float:right; display:inline-block; margin-top:2px; font-style:italic}
|
32 |
div.dup-tabs-opts-help {font-style:italic; font-size:11px; margin:10px 0 0 10px; color:#777}
|
33 |
+
|
34 |
/* Tab: Database */
|
35 |
table#dup-dbtables td {padding:1px 7px 1px 4px}
|
36 |
label.core-table {color:#9A1E26;font-style:italic;font-weight:bold}
|
97 |
<div class="dup-box-arrow"></div>
|
98 |
</div>
|
99 |
<div class="dup-box-panel" id="dup-pack-storage-panel" style="<?php echo esc_html($ui_css_storage); ?>">
|
100 |
+
<div style="padding:0 5px 3px 0">
|
101 |
+
<span class="dup-guide-txt-color">
|
102 |
+
<?php esc_html_e("This is the storage location on this server where the archive and installer files will be saved.", 'duplicator'); ?>
|
103 |
+
</span>
|
104 |
+
<div style="float:right">
|
105 |
+
<a href="admin.php?page=duplicator-settings&tab=storage"><?php esc_html_e("[Storage Options]", 'duplicator'); ?> </a>
|
106 |
+
</div>
|
107 |
</div>
|
108 |
+
|
109 |
<table class="widefat package-tbl" style="margin-bottom:15px" >
|
110 |
<thead>
|
111 |
<tr>
|
112 |
+
<th style='width:30px'></th>
|
113 |
<th style='width:200px'><?php esc_html_e("Name", 'duplicator'); ?></th>
|
114 |
<th style='width:100px'><?php esc_html_e("Type", 'duplicator'); ?></th>
|
115 |
<th style="white-space:nowrap"><?php esc_html_e("Location", 'duplicator'); ?></th>
|
116 |
</tr>
|
117 |
</thead>
|
118 |
<tbody>
|
119 |
+
<tr class="dup-store-path">
|
120 |
+
<td>
|
121 |
+
<input type="checkbox" checked="checked" disabled="disabled" style="margin-top:-2px"/>
|
122 |
+
</td>
|
123 |
<td>
|
124 |
+
<?php esc_html_e('Default', 'duplicator');?>
|
125 |
<i>
|
126 |
<?php
|
127 |
if ($storage_position === DUP_Settings::STORAGE_POSITION_LECAGY) {
|
132 |
?>
|
133 |
</i>
|
134 |
</td>
|
135 |
+
<td><i class="fas fa-server fa-fw"></i> <?php esc_html_e("Local", 'duplicator'); ?></td>
|
136 |
<td><?php echo DUP_Settings::getSsdirPath(); ?></td>
|
137 |
</tr>
|
138 |
<tr>
|
139 |
+
<td colspan="4" class="dup-store-promo-area">
|
140 |
<div class="dup-store-pro">
|
141 |
<span class="dup-pro-text">
|
142 |
+
<?php echo sprintf(__('Back up this site to %1$s, %2$s, %3$s, %4$s, %5$s and other locations with ', 'duplicator'),
|
143 |
+
'<i class="fab fa-aws fa-fw"></i> ' .'Amazon',
|
144 |
+
'<i class="fab fa-dropbox fa-fw"></i> ' . 'Dropbox',
|
145 |
+
'<i class="fab fa-google-drive fa-fw"></i> ' . 'Google Drive',
|
146 |
+
'<i class="fas fa-cloud fa-fw"></i> ' . 'OneDrive',
|
147 |
+
'<i class="fas fa-network-wired fa-fw"></i> ' . 'FTP/SFTP');
|
148 |
+
?>
|
149 |
+
<a href="https://snapcreek.com/duplicator/?utm_source=duplicator_free&utm_medium=wordpress_plugin&utm_content=free_storage_bw&utm_campaign=duplicator_pro" target="_blank"><?php esc_html_e('Duplicator Pro', 'duplicator');?></a>
|
150 |
+
<i class="fas fa-question-circle"
|
151 |
data-tooltip-title="<?php esc_attr_e("Additional Storage:", 'duplicator'); ?>"
|
152 |
+
data-tooltip="<?php esc_attr_e('Duplicator Pro allows you to create a package and store it at a custom location on this server or to a remote '
|
153 |
+
. 'cloud location such as Google Drive, Amazon, Dropbox and many more.', 'duplicator'); ?>">
|
154 |
</i>
|
155 |
</span>
|
156 |
</div>
|
218 |
?>
|
219 |
</label>
|
220 |
<div class='dup-quick-links'>
|
221 |
+
<a href="javascript:void(0)" onclick="Duplicator.Pack.AddExcludePath('<?php echo esc_js(duplicator_get_abs_path()); ?>')">[<?php esc_html_e("root path", 'duplicator') ?>]</a>
|
222 |
+
<a href="javascript:void(0)" onclick="Duplicator.Pack.AddExcludePath('<?php echo esc_js(rtrim($upload_dir, '/')); ?>')">[<?php esc_html_e("wp-uploads", 'duplicator') ?>]</a>
|
223 |
+
<a href="javascript:void(0)" onclick="Duplicator.Pack.AddExcludePath('<?php echo esc_js(DUP_Util::safePath(WP_CONTENT_DIR)); ?>/cache')">[<?php esc_html_e("cache", 'duplicator') ?>]</a>
|
224 |
<a href="javascript:void(0)" onclick="jQuery('#filter-dirs').val('')"><?php esc_html_e("(clear)", 'duplicator') ?></a>
|
225 |
</div>
|
226 |
<textarea name="filter-dirs" id="filter-dirs" placeholder="/full_path/exclude_path1;/full_path/exclude_path2;"><?php echo str_replace(";", ";\n", esc_textarea($Package->Archive->FilterDirs)) ?></textarea><br/>
|
240 |
?>
|
241 |
</label>
|
242 |
<div class='dup-quick-links'>
|
243 |
+
<a href="javascript:void(0)" onclick="Duplicator.Pack.AddExcludeFilePath('<?php echo esc_js(duplicator_get_abs_path()); ?>')"><?php esc_html_e("(file path)", 'duplicator') ?></a>
|
244 |
<a href="javascript:void(0)" onclick="jQuery('#filter-files').val('')"><?php esc_html_e("(clear)", 'duplicator') ?></a>
|
245 |
</div>
|
246 |
<textarea name="filter-files" id="filter-files" placeholder="/full_path/exclude_file_1.ext;/full_path/exclude_file2.ext"><?php echo str_replace(";", ";\n", esc_textarea($Package->Archive->FilterFiles)) ?></textarea>
|
416 |
<div class="dup-box-panel" id="dup-pack-installer-panel" style="<?php echo esc_html($ui_css_installer); ?>">
|
417 |
|
418 |
<div class="dup-installer-panel-optional">
|
419 |
+
<span class="dup-guide-txt-color">
|
420 |
+
<?php esc_html_e("The installer file is used to redeploy/install the archive contents.", 'duplicator'); ?>
|
421 |
+
</span><br/>
|
422 |
<b><?php esc_html_e('All values in this section are', 'duplicator'); ?> <u><?php esc_html_e('optional', 'duplicator'); ?></u></b>
|
423 |
<i class="fas fa-question-circle fa-sm"
|
424 |
data-tooltip-title="<?php esc_attr_e("Setup/Prefills", 'duplicator'); ?>"
|
views/packages/main/s2.scan1.php
CHANGED
@@ -38,7 +38,7 @@ defined('ABSPATH') || defined('DUPXABSPATH') || exit;
|
|
38 |
form#form-duplicator {text-align:center; max-width:750px; min-height:200px; margin:0px auto 0px auto; padding:0px;}
|
39 |
div.dup-progress-title {font-size:22px; padding:5px 0 20px 0; font-weight:bold}
|
40 |
div#dup-msg-success {padding:0 5px 5px 5px; text-align:left}
|
41 |
-
div#dup-msg-success div.details {padding:10px 15px 10px 15px; margin:5px 0 15px 0; background:#fff; border-radius:
|
42 |
div#dup-msg-success div.details-title {font-size:20px; border-bottom:1px solid #dfdfdf; padding:5px; margin:0 0 10px 0; font-weight:bold}
|
43 |
div#dup-msg-success-subtitle {color:#999; margin:0; font-size:11px}
|
44 |
div.dup-scan-filter-status {display:inline; font-size:11px; margin-right:10px; color:#630f0f;}
|
@@ -50,9 +50,10 @@ defined('ABSPATH') || defined('DUPXABSPATH') || exit;
|
|
50 |
/*SCAN ITEMS: Sections */
|
51 |
div.scan-header { font-size:16px; padding:7px 5px 7px 7px; font-weight:bold; background-color:#E0E0E0; border-bottom:0px solid #C0C0C0 }
|
52 |
div.scan-header-details {float:right; margin-top:-5px}
|
53 |
-
div.scan-item {border:1px solid #E0E0E0; border-
|
54 |
-
div.scan-item-first {
|
55 |
-
|
|
|
56 |
div.scan-item div.title {background-color:#F1F1F1; width:100%; padding:8px 0 8px 0; cursor:pointer; height:20px;}
|
57 |
div.scan-item div.title:hover {background-color:#ECECEC;}
|
58 |
div.scan-item div.text {font-weight:bold; font-size:14px; float:left; position:relative; left:10px}
|
@@ -67,6 +68,9 @@ defined('ABSPATH') || defined('DUPXABSPATH') || exit;
|
|
67 |
div.dup-more-details a:hover {color:#777; cursor:pointer}
|
68 |
div.dup-more-details:hover {color:#777; cursor:pointer}
|
69 |
|
|
|
|
|
|
|
70 |
/*FILES */
|
71 |
div#data-arc-size1 {display:inline-block; font-size:11px; margin-right:1px;}
|
72 |
sup.dup-small-ext-type {font-size:11px; font-weight: normal; font-style: italic}
|
@@ -172,19 +176,17 @@ TOOL BAR:STEPS -->
|
|
172 |
<td style="white-space:nowrap">
|
173 |
<div id="dup-wiz">
|
174 |
<div id="dup-wiz-steps">
|
175 |
-
<div class="completed-step"><a>1
|
176 |
-
<div class="active-step"><a>2
|
177 |
-
<div><a>3
|
178 |
</div>
|
179 |
-
|
180 |
-
|
181 |
-
|
|
|
182 |
</div>
|
183 |
</td>
|
184 |
-
|
185 |
-
<a href="?page=duplicator" class="button"><i class="fa fa-archive fa-sm"></i> <?php esc_html_e('Packages', 'duplicator'); ?></a>
|
186 |
-
<a href="javascript:void(0)" class="button disabled"> <?php esc_html_e("Create New", 'duplicator'); ?></a>
|
187 |
-
</td>
|
188 |
</tr>
|
189 |
</table>
|
190 |
<hr class="dup-toolbar-line">
|
@@ -220,7 +222,7 @@ TOOL BAR:STEPS -->
|
|
220 |
<div style="text-align:center">
|
221 |
<div class="dup-hdr-success"><i class="far fa-check-square fa-lg"></i> <?php esc_html_e('Scan Complete', 'duplicator'); ?></div>
|
222 |
<div id="dup-msg-success-subtitle">
|
223 |
-
<?php esc_html_e('
|
224 |
</div>
|
225 |
</div>
|
226 |
|
@@ -420,7 +422,7 @@ jQuery(document).ready(function($)
|
|
420 |
html_msg += '<li><?php esc_html_e("- On some budget hosts scanning over 30k files can lead to timeout/gateway issues. Consider scanning only your main WordPress site and avoid trying to backup other external directories.", 'duplicator') ?></li>';
|
421 |
html_msg += '<li><?php esc_html_e("- Symbolic link recursion can cause timeouts. Ask your server admin if any are present in the scan path. If they are add the full path as a filter and try running the scan again.", 'duplicator') ?></li>';
|
422 |
html_msg += '</ul>';
|
423 |
-
$('#dup-msg-error-response-status').html('Scan Path Error [<?php echo duplicator_get_abs_path(); ?>]');
|
424 |
$('#dup-msg-error-response-text').html(html_msg);
|
425 |
$('#dup-msg-error').show(200);
|
426 |
}
|
38 |
form#form-duplicator {text-align:center; max-width:750px; min-height:200px; margin:0px auto 0px auto; padding:0px;}
|
39 |
div.dup-progress-title {font-size:22px; padding:5px 0 20px 0; font-weight:bold}
|
40 |
div#dup-msg-success {padding:0 5px 5px 5px; text-align:left}
|
41 |
+
div#dup-msg-success div.details {padding:10px 15px 10px 15px; margin:5px 0 15px 0; background:#fff; border-radius:3px; border:1px solid #ddd; box-shadow:0 8px 6px -6px #999; }
|
42 |
div#dup-msg-success div.details-title {font-size:20px; border-bottom:1px solid #dfdfdf; padding:5px; margin:0 0 10px 0; font-weight:bold}
|
43 |
div#dup-msg-success-subtitle {color:#999; margin:0; font-size:11px}
|
44 |
div.dup-scan-filter-status {display:inline; font-size:11px; margin-right:10px; color:#630f0f;}
|
50 |
/*SCAN ITEMS: Sections */
|
51 |
div.scan-header { font-size:16px; padding:7px 5px 7px 7px; font-weight:bold; background-color:#E0E0E0; border-bottom:0px solid #C0C0C0 }
|
52 |
div.scan-header-details {float:right; margin-top:-5px}
|
53 |
+
div.scan-item {border:1px solid #E0E0E0; border-top:none;}
|
54 |
+
div.scan-item-first {
|
55 |
+
border-top:1px solid #E0E0E0
|
56 |
+
}
|
57 |
div.scan-item div.title {background-color:#F1F1F1; width:100%; padding:8px 0 8px 0; cursor:pointer; height:20px;}
|
58 |
div.scan-item div.title:hover {background-color:#ECECEC;}
|
59 |
div.scan-item div.text {font-weight:bold; font-size:14px; float:left; position:relative; left:10px}
|
68 |
div.dup-more-details a:hover {color:#777; cursor:pointer}
|
69 |
div.dup-more-details:hover {color:#777; cursor:pointer}
|
70 |
|
71 |
+
div.help-tab-content span.badge-pass{display:inline-block; border-radius:4px; color:#fff; min-width:40px; text-align:center;padding:0 3px 1px 3px; background: #197b19; margin-top:4px}
|
72 |
+
div.help-tab-content span.badge-warn{display:inline-block; border-radius:4px; color:#fff; min-width:40px; text-align:center;padding:0 3px 1px 3px; background: #636363; margin-top:4px}
|
73 |
+
|
74 |
/*FILES */
|
75 |
div#data-arc-size1 {display:inline-block; font-size:11px; margin-right:1px;}
|
76 |
sup.dup-small-ext-type {font-size:11px; font-weight: normal; font-style: italic}
|
176 |
<td style="white-space:nowrap">
|
177 |
<div id="dup-wiz">
|
178 |
<div id="dup-wiz-steps">
|
179 |
+
<div class="completed-step"><a>1 <?php esc_html_e('Setup', 'duplicator'); ?></a></div>
|
180 |
+
<div class="active-step"><a>2 <?php esc_html_e('Scan', 'duplicator'); ?> </a></div>
|
181 |
+
<div><a>3 <?php esc_html_e('Build', 'duplicator'); ?> </a></div>
|
182 |
</div>
|
183 |
+
<div id="dup-wiz-title" class="dup-guide-txt-color">
|
184 |
+
<i class="fab fa-wordpress"></i>
|
185 |
+
<?php esc_html_e('Step 2: Scan site for configuration & system notices.', 'duplicator'); ?>
|
186 |
+
</div>
|
187 |
</div>
|
188 |
</td>
|
189 |
+
<td> </td>
|
|
|
|
|
|
|
190 |
</tr>
|
191 |
</table>
|
192 |
<hr class="dup-toolbar-line">
|
222 |
<div style="text-align:center">
|
223 |
<div class="dup-hdr-success"><i class="far fa-check-square fa-lg"></i> <?php esc_html_e('Scan Complete', 'duplicator'); ?></div>
|
224 |
<div id="dup-msg-success-subtitle">
|
225 |
+
<?php esc_html_e('Scan Time:', 'duplicator'); ?> <span id="data-rpt-scantime"></span>
|
226 |
</div>
|
227 |
</div>
|
228 |
|
422 |
html_msg += '<li><?php esc_html_e("- On some budget hosts scanning over 30k files can lead to timeout/gateway issues. Consider scanning only your main WordPress site and avoid trying to backup other external directories.", 'duplicator') ?></li>';
|
423 |
html_msg += '<li><?php esc_html_e("- Symbolic link recursion can cause timeouts. Ask your server admin if any are present in the scan path. If they are add the full path as a filter and try running the scan again.", 'duplicator') ?></li>';
|
424 |
html_msg += '</ul>';
|
425 |
+
$('#dup-msg-error-response-status').html('Scan Path Error [<?php echo esc_js(duplicator_get_abs_path()); ?>]');
|
426 |
$('#dup-msg-error-response-text').html(html_msg);
|
427 |
$('#dup-msg-error').show(200);
|
428 |
}
|
views/packages/main/s2.scan2.php
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
defined('ABSPATH') || defined('DUPXABSPATH') || exit;
|
3 |
?>
|
4 |
<!-- ================================================================
|
5 |
-
|
6 |
<div class="details-title">
|
7 |
<i class="fa fa-hdd-o"></i> <i class="far fa-hdd fa-sm"></i> <?php esc_html_e("Setup", 'duplicator'); ?>
|
8 |
<div class="dup-more-details">
|
@@ -12,8 +12,8 @@ SERVER -->
|
|
12 |
</div>
|
13 |
|
14 |
<!-- ============
|
15 |
-
|
16 |
-
<div class="scan-item">
|
17 |
|
18 |
<?php
|
19 |
|
@@ -116,7 +116,7 @@ PHP SETTINGS -->
|
|
116 |
|
117 |
<!-- ============
|
118 |
WP SETTINGS -->
|
119 |
-
<div class="scan-item
|
120 |
|
121 |
|
122 |
<div class="title" onclick="Duplicator.Pack.toggleScanItem(this);">
|
2 |
defined('ABSPATH') || defined('DUPXABSPATH') || exit;
|
3 |
?>
|
4 |
<!-- ================================================================
|
5 |
+
SETUP -->
|
6 |
<div class="details-title">
|
7 |
<i class="fa fa-hdd-o"></i> <i class="far fa-hdd fa-sm"></i> <?php esc_html_e("Setup", 'duplicator'); ?>
|
8 |
<div class="dup-more-details">
|
12 |
</div>
|
13 |
|
14 |
<!-- ============
|
15 |
+
SYSTEM AND WORDPRESS -->
|
16 |
+
<div class="scan-item scan-item-first">
|
17 |
|
18 |
<?php
|
19 |
|
116 |
|
117 |
<!-- ============
|
118 |
WP SETTINGS -->
|
119 |
+
<div class="scan-item">
|
120 |
|
121 |
|
122 |
<div class="title" onclick="Duplicator.Pack.toggleScanItem(this);">
|
views/packages/main/s2.scan3.php
CHANGED
@@ -6,7 +6,7 @@ defined('ABSPATH') || defined('DUPXABSPATH') || exit;
|
|
6 |
$txt = __('Root Path', 'duplicator');
|
7 |
$root = duplicator_get_abs_path();
|
8 |
$sroot = strlen($root) > 50 ? substr($root, 0, 50) . '...' : $root;
|
9 |
-
echo "<div title='
|
10 |
}
|
11 |
|
12 |
$archive_type_label = DUP_Settings::Get('archive_build_mode') == DUP_Archive_Build_Mode::ZipArchive ? "ZipArchive" : "DupArchive";
|
@@ -57,7 +57,8 @@ if ($Package->Archive->ExportOnlyDB) { ?>
|
|
57 |
<div id="only-db-scan-status"><div class="badge badge-warn"><?php esc_html_e("Notice", 'duplicator'); ?></div></div>
|
58 |
</div>
|
59 |
<div class="info">
|
60 |
-
<?php esc_html_e("Only the database and a copy of the installer
|
|
|
61 |
</div>
|
62 |
</div>
|
63 |
<?php
|
@@ -314,7 +315,7 @@ FILE NAME CHECKS -->
|
|
314 |
</div>
|
315 |
<!-- ======================
|
316 |
UNREADABLE FILES -->
|
317 |
-
<div id="scan-unreadable-items" class="scan-item
|
318 |
<div class='title' onclick="Duplicator.Pack.toggleScanItem(this);">
|
319 |
<div class="text"><i class="fa fa-caret-right"></i> <?php esc_html_e('Read Checks');?></div>
|
320 |
<div id="data-arc-status-unreadablefiles"></div>
|
@@ -359,7 +360,7 @@ UNREADABLE FILES -->
|
|
359 |
|
360 |
<!-- ======================
|
361 |
Restore only package -->
|
362 |
-
<div id="migratepackage-block" class="scan-item
|
363 |
<div class='title' onclick="Duplicator.Pack.toggleScanItem(this);">
|
364 |
<div class="text"><i class="fa fa-caret-right"></i> <?php esc_html_e('Migration Status', 'duplicator');?></div>
|
365 |
<div id="data-arc-status-migratepackage"></div>
|
@@ -410,7 +411,7 @@ DATABASE -->
|
|
410 |
</div>
|
411 |
</div>
|
412 |
|
413 |
-
<div class="scan-item
|
414 |
<div class="title" onclick="Duplicator.Pack.toggleScanItem(this);">
|
415 |
<div class="text"><i class="fa fa-caret-right"></i> <?php esc_html_e('Overview', 'duplicator');?></div>
|
416 |
<div id="data-db-status-size"></div>
|
@@ -457,7 +458,7 @@ DATABASE -->
|
|
457 |
<?php
|
458 |
$triggers = $GLOBALS['wpdb']->get_col("SHOW TRIGGERS", 1);
|
459 |
if (count($triggers)) { ?>
|
460 |
-
<div class="scan-item
|
461 |
<div class='title' onclick="Duplicator.Pack.toggleScanItem(this);">
|
462 |
<div class="text"><i class="fa fa-caret-right"></i> <?php esc_html_e('Triggers', 'duplicator');?></div>
|
463 |
<div id="data-arc-status-triggers"></div>
|
@@ -484,7 +485,7 @@ DATABASE -->
|
|
484 |
$procedures = $GLOBALS['wpdb']->get_col("SHOW PROCEDURE STATUS WHERE `Db` = '{$GLOBALS['wpdb']->dbname}'", 1);
|
485 |
$functions = $GLOBALS['wpdb']->get_col("SHOW FUNCTION STATUS WHERE `Db` = '{$GLOBALS['wpdb']->dbname}'", 1);
|
486 |
if (count($procedures) || count($functions)) { ?>
|
487 |
-
<div id="showcreateprocfunc-block" class="scan-item
|
488 |
<div class='title' onclick="Duplicator.Pack.toggleScanItem(this);">
|
489 |
<div class="text"><i class="fa fa-caret-right"></i> <?php esc_html_e('Object Access', 'duplicator');?></div>
|
490 |
<div id="data-arc-status-showcreateprocfunc"></div>
|
@@ -527,7 +528,7 @@ DATABASE -->
|
|
527 |
</div>
|
528 |
</div>
|
529 |
|
530 |
-
<div class="data-ll-section scan-item
|
531 |
<div style="padding: 7px; background-color:#F3B2B7; font-weight: bold ">
|
532 |
<?php
|
533 |
printf(__('The build can\'t continue because the total size of files and the database exceeds the %s limit that can be processed when creating a DupArchive package. ', 'duplicator'), $duparchive_max_limit);
|
@@ -735,7 +736,7 @@ jQuery(document).ready(function($)
|
|
735 |
{
|
736 |
|
737 |
Handlebars.registerHelper('stripWPRoot', function(path) {
|
738 |
-
return
|
739 |
});
|
740 |
|
741 |
//Uncheck file names if directory is checked
|
6 |
$txt = __('Root Path', 'duplicator');
|
7 |
$root = duplicator_get_abs_path();
|
8 |
$sroot = strlen($root) > 50 ? substr($root, 0, 50) . '...' : $root;
|
9 |
+
echo "<div title=".str_replace('\\/', '/', json_encode($root))." class='divider'><i class='fa fa-folder-open'></i> {$sroot}</div>";
|
10 |
}
|
11 |
|
12 |
$archive_type_label = DUP_Settings::Get('archive_build_mode') == DUP_Archive_Build_Mode::ZipArchive ? "ZipArchive" : "DupArchive";
|
57 |
<div id="only-db-scan-status"><div class="badge badge-warn"><?php esc_html_e("Notice", 'duplicator'); ?></div></div>
|
58 |
</div>
|
59 |
<div class="info">
|
60 |
+
<?php esc_html_e("Only the database and a copy of the installer will be included in the archive file. This notice simply indicates that the package "
|
61 |
+
. "will not be capable of restoring a full WordPress site, but only the database. If this is the desired intention then this notice can be ignored.", 'duplicator'); ?>
|
62 |
</div>
|
63 |
</div>
|
64 |
<?php
|
315 |
</div>
|
316 |
<!-- ======================
|
317 |
UNREADABLE FILES -->
|
318 |
+
<div id="scan-unreadable-items" class="scan-item">
|
319 |
<div class='title' onclick="Duplicator.Pack.toggleScanItem(this);">
|
320 |
<div class="text"><i class="fa fa-caret-right"></i> <?php esc_html_e('Read Checks');?></div>
|
321 |
<div id="data-arc-status-unreadablefiles"></div>
|
360 |
|
361 |
<!-- ======================
|
362 |
Restore only package -->
|
363 |
+
<div id="migratepackage-block" class="scan-item">
|
364 |
<div class='title' onclick="Duplicator.Pack.toggleScanItem(this);">
|
365 |
<div class="text"><i class="fa fa-caret-right"></i> <?php esc_html_e('Migration Status', 'duplicator');?></div>
|
366 |
<div id="data-arc-status-migratepackage"></div>
|
411 |
</div>
|
412 |
</div>
|
413 |
|
414 |
+
<div class="scan-item">
|
415 |
<div class="title" onclick="Duplicator.Pack.toggleScanItem(this);">
|
416 |
<div class="text"><i class="fa fa-caret-right"></i> <?php esc_html_e('Overview', 'duplicator');?></div>
|
417 |
<div id="data-db-status-size"></div>
|
458 |
<?php
|
459 |
$triggers = $GLOBALS['wpdb']->get_col("SHOW TRIGGERS", 1);
|
460 |
if (count($triggers)) { ?>
|
461 |
+
<div class="scan-item">
|
462 |
<div class='title' onclick="Duplicator.Pack.toggleScanItem(this);">
|
463 |
<div class="text"><i class="fa fa-caret-right"></i> <?php esc_html_e('Triggers', 'duplicator');?></div>
|
464 |
<div id="data-arc-status-triggers"></div>
|
485 |
$procedures = $GLOBALS['wpdb']->get_col("SHOW PROCEDURE STATUS WHERE `Db` = '{$GLOBALS['wpdb']->dbname}'", 1);
|
486 |
$functions = $GLOBALS['wpdb']->get_col("SHOW FUNCTION STATUS WHERE `Db` = '{$GLOBALS['wpdb']->dbname}'", 1);
|
487 |
if (count($procedures) || count($functions)) { ?>
|
488 |
+
<div id="showcreateprocfunc-block" class="scan-item">
|
489 |
<div class='title' onclick="Duplicator.Pack.toggleScanItem(this);">
|
490 |
<div class="text"><i class="fa fa-caret-right"></i> <?php esc_html_e('Object Access', 'duplicator');?></div>
|
491 |
<div id="data-arc-status-showcreateprocfunc"></div>
|
528 |
</div>
|
529 |
</div>
|
530 |
|
531 |
+
<div class="data-ll-section scan-item" style="display: none">
|
532 |
<div style="padding: 7px; background-color:#F3B2B7; font-weight: bold ">
|
533 |
<?php
|
534 |
printf(__('The build can\'t continue because the total size of files and the database exceeds the %s limit that can be processed when creating a DupArchive package. ', 'duplicator'), $duparchive_max_limit);
|
736 |
{
|
737 |
|
738 |
Handlebars.registerHelper('stripWPRoot', function(path) {
|
739 |
+
return path.replace(<?php echo str_replace('\\/', '/', json_encode(duplicator_get_abs_path())); ?>, '');
|
740 |
});
|
741 |
|
742 |
//Uncheck file names if directory is checked
|
views/packages/main/s3.build.php
CHANGED
@@ -20,88 +20,109 @@ $atext1 = __('Want more power? Try', 'duplicator');
|
|
20 |
$atext1 .= " <a target='_blank' href='https://snapcreek.com/duplicator/?utm_source=duplicator_free&utm_medium=wordpress_plugin&utm_content=package_build_more_power&utm_campaign=duplicator_pro'>";
|
21 |
$atext1 .= __('Duplicator Pro', 'duplicator').'</a>!';
|
22 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
23 |
$rand_txt = array();
|
24 |
$rand_txt[0] = $atext0;
|
|
|
25 |
?>
|
26 |
|
27 |
<style>
|
28 |
a#dup-create-new {margin-left:-5px}
|
29 |
-
div#dup-progress-area {text-align:center; max-width:800px; min-height:200px; border:1px solid silver; border-radius:
|
30 |
-
div.dup-progress-title {font-size:22px;padding:5px 0 20px 0; font-weight:
|
31 |
div#dup-progress-area div.inner {padding:10px; line-height:22px}
|
32 |
div#dup-progress-area h2.title {background-color:#efefef; margin:0px}
|
33 |
div#dup-progress-area span.label {font-weight:bold}
|
34 |
div#dup-msg-success {color:#18592A; padding:5px;}
|
35 |
div.dup-no-mu {font-size:13px; margin-top:15px; color:maroon; line-height:18px}
|
36 |
-
sup.dup-new {font-weight:
|
37 |
|
38 |
div.dup-msg-success-stats{color:#999;margin:5px 0; font-size:11px; line-height:13px}
|
39 |
-
div.dup-msg-success-links {margin:20px 5px 5px 5px; font-size:
|
40 |
div#dup-progress-area div.done-title {font-size:18px; font-weight:bold; margin:0px 0px 10px 0px}
|
41 |
-
div#dup-progress-area div.dup-panel-title {background-color
|
42 |
-
div.hdr-pack-complete {font-size:
|
43 |
-
|
44 |
-
div#dup-create-area-nolink, div#dup-create-area-link {float:right; font-weight:
|
45 |
-
div#dup-create-area-link {display:none; margin-left
|
46 |
-
div#dup-progress-area div.dup-panel-panel { border-top:
|
47 |
-
fieldset.download-area {border:2px dashed #b5b5b5; padding:20px 20px
|
48 |
-
fieldset.download-area legend {font-weight:
|
49 |
-
button#dup-btn-installer, button#dup-btn-archive { line-height:
|
50 |
-
|
51 |
-
div.one-click-download
|
52 |
-
div.one-click-download i.fa-
|
|
|
53 |
|
54 |
div.dup-button-footer {text-align:right; margin:20px 10px 0px 0px}
|
55 |
-
button.button {font-size:16px !important; height:30px !important; font-weight:bold; padding:0px 10px 5px 10px !important; min-width:
|
56 |
-
span.dup-btn-size {font-size:11px;font-weight:
|
57 |
p.get-pro {font-size:13px; color:#222; border-top:1px solid #eeeeee; padding:5px 0 0 0; margin:0; font-style:italic}
|
58 |
-
div.dup-howto-exe {font-size:14px; font-weight:
|
59 |
-
div.dup-howto-exe-title {font-size:
|
60 |
-
div.dup-howto-exe
|
61 |
-
div.dup-howto-exe
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
62 |
|
63 |
/*HOST TIMEOUT */
|
64 |
div#dup-msg-error {color:maroon; padding:5px;}
|
65 |
-
div.dup-box-title {text-align:
|
66 |
div.dup-box-title:hover { background-color:#efefef}
|
67 |
-
div.dup-box-panel {text-align:
|
68 |
-
div.no-top {border-top:
|
69 |
div.dup-box-panel b.opt-title {font-size:18px}
|
70 |
-
div.dup-msg-error-area {overflow-y:
|
71 |
div#dup-logs {text-align:center; margin:auto; padding:5px; width:350px;}
|
72 |
div#dup-logs a {display:inline-block;}
|
73 |
-
span.sub-data {display:
|
74 |
</style>
|
75 |
|
76 |
<!-- =========================================
|
77 |
-
TOOL BAR:
|
78 |
<table id="dup-toolbar">
|
79 |
<tr valign="top">
|
80 |
-
<td style="white-space:
|
81 |
<div id="dup-wiz">
|
82 |
<div id="dup-wiz-steps">
|
83 |
-
<div class="completed-step"><a>1
|
84 |
-
<div class="completed-step"><a>2
|
85 |
-
<div class="active-step"><a>3
|
86 |
</div>
|
87 |
-
<div id="dup-wiz-title">
|
88 |
-
|
|
|
89 |
</div>
|
90 |
</div>
|
91 |
</td>
|
92 |
<td style="padding-bottom:4px">
|
93 |
-
<span
|
94 |
-
|
95 |
-
|
|
|
|
|
96 |
<?php
|
97 |
$package_url = admin_url('admin.php?page=duplicator&tab=new1');
|
98 |
$package_nonce_url = wp_nonce_url($package_url, 'new1-package');
|
99 |
?>
|
100 |
<a id="dup-create-new"
|
101 |
-
|
102 |
href="<?php echo $package_nonce_url;?>"
|
103 |
-
class="button <?php echo ($active_package_present ? '
|
104 |
-
>
|
105 |
<?php esc_html_e("Create New", 'duplicator'); ?>
|
106 |
</a>
|
107 |
</td>
|
@@ -130,17 +151,17 @@ TOOL BAR: STEPS -->
|
|
130 |
SUCCESS MESSAGE -->
|
131 |
<div id="dup-msg-success" style="display:none">
|
132 |
<div class="hdr-pack-complete">
|
133 |
-
<i class="far fa-check-square fa-lg"></i> <?php esc_html_e('Package Completed', 'duplicator'); ?>
|
134 |
</div>
|
135 |
|
136 |
<div class="dup-msg-success-stats">
|
137 |
-
<b><?php esc_html_e('
|
138 |
</div><br/>
|
139 |
|
140 |
<!-- DOWNLOAD FILES -->
|
141 |
<fieldset class="download-area">
|
142 |
<legend>
|
143 |
-
<?php esc_html_e("Download Package Files", 'duplicator') ?>
|
144 |
</legend>
|
145 |
<button id="dup-btn-installer" class="button button-primary button-large" title="<?php esc_attr_e("Click to download installer file", 'duplicator') ?>">
|
146 |
<i class="fa fa-bolt fa-sm"></i> <?php esc_html_e("Installer", 'duplicator') ?>
|
@@ -150,22 +171,36 @@ TOOL BAR: STEPS -->
|
|
150 |
<span id="dup-btn-archive-size" class="dup-btn-size"></span>
|
151 |
</button>
|
152 |
<div class="one-click-download">
|
153 |
-
|
154 |
-
|
155 |
-
|
156 |
</a>
|
157 |
<sup>
|
158 |
<i class="fas fa-question-circle fa-sm" style='font-size:11px'
|
159 |
-
data-tooltip-title="<?php esc_attr_e("
|
160 |
-
data-tooltip="<?php esc_attr_e('Clicking this
|
161 |
-
|
|
|
162 |
</i>
|
163 |
</sup>
|
164 |
</div>
|
165 |
<div style="margin-top:20px; font-size:11px">
|
166 |
-
<span id="dup-click-to-copy-installer-name"
|
|
|
|
|
167 |
<?php esc_html_e("[Copy Installer Name to Clipboard]", 'duplicator'); ?>
|
168 |
-
<i class="far fa-copy"></i>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
169 |
</span>
|
170 |
</div>
|
171 |
</fieldset>
|
@@ -174,7 +209,7 @@ TOOL BAR: STEPS -->
|
|
174 |
if (is_multisite()) {
|
175 |
echo '<div class="dup-no-mu">';
|
176 |
echo '<i class="fa fa-exclamation-triangle" aria-hidden="true"></i> ';
|
177 |
-
esc_html_e('Notice:
|
178 |
echo "<br/>";
|
179 |
esc_html_e('We strongly recommend upgrading to ', 'duplicator');
|
180 |
echo " <i><a href='https://snapcreek.com/duplicator/?utm_source=duplicator_free&utm_medium=wordpress_plugin&utm_content=free_is_mu_warn6&utm_campaign=duplicator_pro' target='_blank'>[" . esc_html__('Duplicator Pro', 'duplicator') . "]</a></i>.";
|
@@ -183,20 +218,53 @@ TOOL BAR: STEPS -->
|
|
183 |
?>
|
184 |
|
185 |
<div class="dup-howto-exe">
|
186 |
-
<div class="dup-howto-exe-title"
|
187 |
-
|
188 |
-
|
189 |
-
|
190 |
-
|
191 |
-
|
192 |
-
|
193 |
-
|
194 |
-
|
195 |
-
|
196 |
-
|
197 |
-
|
198 |
-
|
199 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
200 |
</div>
|
201 |
|
202 |
<p class="get-pro">
|
@@ -212,10 +280,10 @@ TOOL BAR: STEPS -->
|
|
212 |
<i><?php esc_html_e("To get past this hosts limitation consider the options below by clicking each section.", 'duplicator'); ?></i>
|
213 |
<br/><br/><br/>
|
214 |
|
215 |
-
<!-- OPTION 1:
|
216 |
<div class="dup-box">
|
217 |
<div class="dup-box-title">
|
218 |
-
<span style="width:20px; display:inline-block"><i class="far fa-check-circle"></i></span><?php esc_html_e('Option 1:
|
219 |
<div class="dup-box-arrow"><i class="fa fa-caret-down"></i></div>
|
220 |
</div>
|
221 |
<div class="dup-box-panel" id="dup-pack-build-try1" style="display:none">
|
@@ -224,8 +292,8 @@ TOOL BAR: STEPS -->
|
|
224 |
<?php esc_html_e('Enable the DupArchive format which is specific to Duplicator and designed to perform better on constrained budget hosts.', 'duplicator'); ?>
|
225 |
<br/><br/>
|
226 |
|
227 |
-
<div style="font-style:
|
228 |
-
<?php esc_html_e('Note:
|
229 |
. 'below 500MB or try the other options mentioned below. Alternatively, you may want to consider',
|
230 |
'duplicator'); ?>
|
231 |
<a href="https://snapcreek.com/duplicator/?utm_source=duplicator_free&utm_medium=wordpress_plugin&utm_content=build_interrupt&utm_campaign=duplicator_pro" target="_blank">
|
@@ -245,22 +313,21 @@ TOOL BAR: STEPS -->
|
|
245 |
<li><?php esc_html_e('Build a new package using the new engine format.', 'duplicator'); ?></li>
|
246 |
</ol>
|
247 |
|
248 |
-
<small style="font-style:
|
249 |
-
<?php esc_html_e('Note:
|
250 |
. 'installer.php file or the', 'duplicator'); ?>
|
251 |
<a href="https://snapcreek.com/duplicator/docs/faqs-tech/#faq-trouble-052-q" target="_blank"><?php esc_html_e('commandline extraction tool'); ?></a>.
|
252 |
</small>
|
253 |
</div>
|
254 |
</div>
|
255 |
|
256 |
-
<!-- OPTION 2:
|
257 |
<div class="dup-box no-top">
|
258 |
<div class="dup-box-title">
|
259 |
-
<span style="width:20px; display:inline-block"><i class="fa fa-filter fa-sm"></i></span><?php esc_html_e('Option 2:
|
260 |
<div class="dup-box-arrow"><i class="fa fa-caret-down"></i></div>
|
261 |
</div>
|
262 |
<div class="dup-box-panel" id="dup-pack-build-try2" style="display:none">
|
263 |
-
<!--<b class="opt-title"><?php esc_html_e('OPTION 2:', 'duplicator'); ?></b><br/>-->
|
264 |
<?php
|
265 |
esc_html_e('The first pass for reading files on some budget hosts maybe slow and have conflicts with strict timeout settings setup by the hosting provider. '
|
266 |
. 'In these cases, it is recommended to retry the build by adding file filters to larger files/directories.', 'duplicator');
|
@@ -271,11 +338,11 @@ TOOL BAR: STEPS -->
|
|
271 |
. 'If this work-flow is not desired or does not work please check-out the other options below.', 'duplicator');
|
272 |
?>
|
273 |
<br/><br/>
|
274 |
-
<div style="text-align:
|
275 |
<input type="button" class="button-large button-primary" value="<?php esc_attr_e('Retry Build With Filters', 'duplicator'); ?>" onclick="window.history.back()" />
|
276 |
</div>
|
277 |
|
278 |
-
<div style="color:#777; padding:
|
279 |
<b> <?php esc_html_e('Notice', 'duplicator'); ?></b><br/>
|
280 |
<?php
|
281 |
printf('<b><i class="fa fa-folder-o"></i> %s %s</b> <br/> %s', esc_html__('Build Folder:'), DUP_Settings::getSsdirTmpPath(),
|
@@ -288,14 +355,14 @@ TOOL BAR: STEPS -->
|
|
288 |
</div>
|
289 |
</div>
|
290 |
|
291 |
-
<!-- OPTION 3:
|
292 |
<div class="dup-box no-top">
|
293 |
<div class="dup-box-title">
|
294 |
-
<span style="width:20px; display:inline-block"><i class="fa fa-random"></i></span><?php esc_html_e('Option 3:
|
295 |
<div class="dup-box-arrow"><i class="fa fa-caret-down"></i></div>
|
296 |
</div>
|
297 |
<div class="dup-box-panel" id="dup-pack-build-try2" style="display:none">
|
298 |
-
|
299 |
|
300 |
<?php esc_html_e('A two-part install minimizes server load and can avoid I/O and CPU issues encountered on some budget hosts. With this procedure you simply build a '
|
301 |
.'\'database-only\' archive, manually move the website files, and then run the installer to complete the process.', 'duplicator');
|
@@ -315,7 +382,7 @@ TOOL BAR: STEPS -->
|
|
315 |
</li>
|
316 |
</ol>
|
317 |
|
318 |
-
<div style="text-align:
|
319 |
<input type="checkbox" id="dup-two-part-check" onclick="Duplicator.Pack.ToggleTwoPart()">
|
320 |
<label for="dup-two-part-check"><?php esc_html_e('Yes. I have read the above overview and would like to continue!', 'duplicator'); ?></label><br/><br/>
|
321 |
<button id="dup-two-part-btn" type="button" class="button-large button-primary" disabled="true" onclick="window.location = 'admin.php?page=duplicator&tab=new1&retry=2&_wpnonce=<?php echo $retry_nonuce; ?>'">
|
@@ -325,10 +392,10 @@ TOOL BAR: STEPS -->
|
|
325 |
</div>
|
326 |
</div>
|
327 |
|
328 |
-
<!-- OPTION 4:
|
329 |
<div class="dup-box no-top">
|
330 |
<div class="dup-box-title">
|
331 |
-
<span style="width:20px; display:inline-block"><i class="fa fa-cog"></i></span><?php esc_html_e('Option 4:
|
332 |
<div class="dup-box-arrow"><i class="fa fa-caret-down"></i></div>
|
333 |
</div>
|
334 |
<div class="dup-box-panel" id="dup-pack-build-try3" style="display:none">
|
@@ -337,7 +404,7 @@ TOOL BAR: STEPS -->
|
|
337 |
. 'FAQ page that will show various recommendations you can take to improve/unlock constraints set up on this server.', 'duplicator');
|
338 |
?><br/><br/>
|
339 |
|
340 |
-
<div style="text-align:
|
341 |
<a href="https://snapcreek.com/duplicator/docs/faqs-tech/?utm_source=duplicator_free&utm_medium=wordpress_plugin&utm_content=host_interupt_diagnosebtn&utm_campaign=build_issues#faq-trouble-100-q" target="_blank">
|
342 |
[<?php esc_html_e('Diagnose Server Setup', 'duplicator'); ?>]
|
343 |
</a>
|
@@ -366,7 +433,7 @@ TOOL BAR: STEPS -->
|
|
366 |
<span class="data sub-data">
|
367 |
<span class="label"><?php esc_html_e("Mode", 'duplicator'); ?>:</span>
|
368 |
<?php
|
369 |
-
$try_update = $try_update ? 'is dynamic' :
|
370 |
echo "{$try_update}";
|
371 |
?>
|
372 |
<i class="fa fa-question-circle data-size-help"
|
@@ -421,37 +488,37 @@ jQuery(document).ready(function ($)
|
|
421 |
Duplicator.Pack.StatusFrequency = 8000;
|
422 |
|
423 |
/* ----------------------------------------
|
424 |
-
* METHOD:
|
425 |
* Timeout (10000000 = 166 minutes) */
|
426 |
Duplicator.Pack.CreateZip = function ()
|
427 |
{
|
428 |
var startTime;
|
429 |
-
var data = {action:
|
430 |
var statusInterval = setInterval(Duplicator.Pack.GetActivePackageStatus, Duplicator.Pack.StatusFrequency);
|
431 |
|
432 |
$.ajax({
|
433 |
-
type:
|
434 |
-
cache:
|
435 |
-
dataType:
|
436 |
-
url:
|
437 |
-
timeout:
|
438 |
-
data:
|
439 |
-
beforeSend:
|
440 |
startTime = new Date().getTime();
|
441 |
},
|
442 |
-
complete:
|
443 |
Duplicator.Pack.PostTransferCleanup(statusInterval, startTime);
|
444 |
},
|
445 |
-
success:
|
446 |
try {
|
447 |
var data = Duplicator.parseJSON(respData);
|
448 |
} catch(err) {
|
449 |
console.error(err);
|
450 |
-
console.error('JSON parse failed for response data:
|
451 |
$('#dup-progress-bar-area').hide();
|
452 |
$('#dup-progress-area, #dup-msg-error').show(200);
|
453 |
var status = xHr.status + ' -' + data.statusText;
|
454 |
-
var response = (xHr.responseText != undefined && xHr.responseText.trim().length > 1) ? xHr.responseText.trim() :
|
455 |
$('#dup-msg-error-response-status span.data').html(status)
|
456 |
$('#dup-msg-error-response-text span.data').html(response);
|
457 |
console.log(xHr);
|
@@ -461,16 +528,16 @@ jQuery(document).ready(function ($)
|
|
461 |
if ((data != null) && (typeof (data) != 'undefined') && data.status == 1) {
|
462 |
Duplicator.Pack.WireDownloadLinks(data);
|
463 |
} else {
|
464 |
-
var message = (typeof (data.error) != 'undefined' && data.error.length) ? data.error :
|
465 |
Duplicator.Pack.DupArchiveProcessingFailed(message);
|
466 |
}
|
467 |
|
468 |
},
|
469 |
-
error:
|
470 |
$('#dup-progress-bar-area').hide();
|
471 |
$('#dup-progress-area, #dup-msg-error').show(200);
|
472 |
var status = xHr.status + ' -' + data.statusText;
|
473 |
-
var response = (xHr.responseText != undefined && xHr.responseText.trim().length > 1) ? xHr.responseText.trim() :
|
474 |
$('#dup-msg-error-response-status span.data').html(status)
|
475 |
$('#dup-msg-error-response-text span.data').html(response);
|
476 |
console.log(xHr);
|
@@ -480,28 +547,28 @@ jQuery(document).ready(function ($)
|
|
480 |
}
|
481 |
|
482 |
/* ----------------------------------------
|
483 |
-
* METHOD:
|
484 |
Duplicator.Pack.CreateDupArchive = function ()
|
485 |
{
|
486 |
console.log('Duplicator.Pack.CreateDupArchive');
|
487 |
-
var data = {action:
|
488 |
var statusInterval = setInterval(Duplicator.Pack.GetActivePackageStatus, Duplicator.Pack.StatusFrequency);
|
489 |
|
490 |
$.ajax({
|
491 |
-
type:
|
492 |
-
timeout:
|
493 |
-
dataType:
|
494 |
-
url:
|
495 |
-
data:
|
496 |
-
complete:
|
497 |
Duplicator.Pack.PostTransferCleanup(statusInterval, Duplicator.Pack.DupArchiveStartTime);
|
498 |
},
|
499 |
-
success:
|
500 |
try {
|
501 |
var data = Duplicator.parseJSON(respData);
|
502 |
} catch(err) {
|
503 |
console.log(err);
|
504 |
-
console.log('JSON parse failed for response data:
|
505 |
console.log('DupArchive AJAX error!');
|
506 |
console.log("jqHr:");
|
507 |
console.log(xHr);
|
@@ -533,7 +600,7 @@ jQuery(document).ready(function ($)
|
|
533 |
console.log("CreateDupArchive:No critical failures");
|
534 |
if (data.status == 1) {
|
535 |
|
536 |
-
// Don't stop for non-critical failures - just display those at the end TODO:
|
537 |
console.log("CreateDupArchive:archive has completed");
|
538 |
if (data.failures.length > 0) {
|
539 |
|
@@ -578,7 +645,7 @@ jQuery(document).ready(function ($)
|
|
578 |
Duplicator.Pack.HandleDupArchiveInterruption(errorString);
|
579 |
}
|
580 |
},
|
581 |
-
error:
|
582 |
console.log('DupArchive AJAX error!');
|
583 |
console.log("jqHr:");
|
584 |
console.log(xHr);
|
@@ -590,24 +657,24 @@ jQuery(document).ready(function ($)
|
|
590 |
};
|
591 |
|
592 |
/* ----------------------------------------
|
593 |
-
* METHOD:
|
594 |
Duplicator.Pack.GetActivePackageStatus = function ()
|
595 |
{
|
596 |
-
var data = {action:
|
597 |
console.log('####Duplicator.Pack.GetActivePackageStatus');
|
598 |
|
599 |
$.ajax({
|
600 |
-
type:
|
601 |
-
url:
|
602 |
-
dataType:
|
603 |
-
timeout:
|
604 |
-
data:
|
605 |
-
success:
|
606 |
try {
|
607 |
var data = Duplicator.parseJSON(respData);
|
608 |
} catch(err) {
|
609 |
console.error(err);
|
610 |
-
console.error('JSON parse failed for response data:
|
611 |
console.log('Error retrieving build status');
|
612 |
console.log(xHr);
|
613 |
return false;
|
@@ -619,7 +686,7 @@ jQuery(document).ready(function ($)
|
|
619 |
console.log(data);
|
620 |
}
|
621 |
},
|
622 |
-
error:
|
623 |
console.log('Error retrieving build status');
|
624 |
console.log(xHr);
|
625 |
}
|
@@ -634,7 +701,7 @@ jQuery(document).ready(function ($)
|
|
634 |
var millis = (endTime - startTime);
|
635 |
var minutes = Math.floor(millis / 60000);
|
636 |
var seconds = ((millis % 60000) / 1000).toFixed(0);
|
637 |
-
var status = minutes + ":" + (seconds < 10 ? '0' :
|
638 |
$('#dup-msg-error-response-time span.data').html(status);
|
639 |
//$('#dup-create-area-nolink').hide();
|
640 |
//$('#dup-create-area-link').show();
|
@@ -644,12 +711,12 @@ jQuery(document).ready(function ($)
|
|
644 |
{
|
645 |
var pack = data.package;
|
646 |
var archive_json = {
|
647 |
-
filename:
|
648 |
-
url:
|
649 |
};
|
650 |
var installer_json = {
|
651 |
-
id:
|
652 |
-
hash:
|
653 |
};
|
654 |
|
655 |
$('#dup-progress-bar-area').hide();
|
@@ -658,7 +725,8 @@ jQuery(document).ready(function ($)
|
|
658 |
$('#dup-btn-archive-size').append(' (' + data.archiveSize + ')')
|
659 |
$('#data-name-hash').text(pack.NameHash || 'error read');
|
660 |
$('#data-time').text(data.runtime || 'unable to read time');
|
661 |
-
$('#dup-create-new').removeClass('
|
|
|
662 |
|
663 |
//Wire Up Downloads
|
664 |
$('#dup-btn-installer').click(function() {
|
@@ -680,6 +748,7 @@ jQuery(document).ready(function ($)
|
|
680 |
});
|
681 |
|
682 |
$('#dup-click-to-copy-installer-name').data('dup-copy-text', data.instDownloadName);
|
|
|
683 |
};
|
684 |
|
685 |
Duplicator.Pack.HandleDupArchiveInterruption = function (errorText)
|
@@ -731,12 +800,33 @@ jQuery(document).ready(function ($)
|
|
731 |
$btn.attr("disabled", true);
|
732 |
}
|
733 |
};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
734 |
//Page Init:
|
735 |
Duplicator.UI.AnimateProgressBar('dup-progress-bar');
|
736 |
|
737 |
-
<?php if (DUP_Settings::Get('archive_build_mode') == DUP_Archive_Build_Mode::ZipArchive)
|
738 |
Duplicator.Pack.CreateZip();
|
739 |
-
<?php else
|
740 |
Duplicator.Pack.CreateDupArchive();
|
741 |
<?php endif; ?>
|
742 |
});
|
20 |
$atext1 .= " <a target='_blank' href='https://snapcreek.com/duplicator/?utm_source=duplicator_free&utm_medium=wordpress_plugin&utm_content=package_build_more_power&utm_campaign=duplicator_pro'>";
|
21 |
$atext1 .= __('Duplicator Pro', 'duplicator').'</a>!';
|
22 |
|
23 |
+
if (DUP_Settings::Get('installer_name_mode') == DUP_Settings::INSTALLER_NAME_MODE_SIMPLE) {
|
24 |
+
$txtInstallHelpMsg = __("When clicking the Installer download button, the 'Save as' dialog will default the name to 'installer.php'. "
|
25 |
+
. "To improve the security and get more information, goto: Settings ❯ Packages Tab ❯ Installer Name option.", 'duplicator');
|
26 |
+
} else {
|
27 |
+
$txtInstallHelpMsg = __("When clicking the Installer download button, the 'Save as' dialog will save the name as '[name]_[hash]_[date]_installer.php'. "
|
28 |
+
. "This is the secure and recommended option. For more information goto: Settings ❯ Packages Tab ❯ Installer Name Option. To quickly copy the hashed "
|
29 |
+
. "installer name, to your clipboard use the copy icon link.", 'duplicator');
|
30 |
+
}
|
31 |
+
|
32 |
$rand_txt = array();
|
33 |
$rand_txt[0] = $atext0;
|
34 |
+
|
35 |
?>
|
36 |
|
37 |
<style>
|
38 |
a#dup-create-new {margin-left:-5px}
|
39 |
+
div#dup-progress-area {text-align:center; max-width:800px; min-height:200px; border:1px solid silver; border-radius:3px; margin:25px auto 10px auto; padding:0px; box-shadow:0 8px 6px -6px #999;}
|
40 |
+
div.dup-progress-title {font-size:22px;padding:5px 0 20px 0; font-weight:bold}
|
41 |
div#dup-progress-area div.inner {padding:10px; line-height:22px}
|
42 |
div#dup-progress-area h2.title {background-color:#efefef; margin:0px}
|
43 |
div#dup-progress-area span.label {font-weight:bold}
|
44 |
div#dup-msg-success {color:#18592A; padding:5px;}
|
45 |
div.dup-no-mu {font-size:13px; margin-top:15px; color:maroon; line-height:18px}
|
46 |
+
sup.dup-new {font-weight:normal; color:#b10202; font-size:12px}
|
47 |
|
48 |
div.dup-msg-success-stats{color:#999;margin:5px 0; font-size:11px; line-height:13px}
|
49 |
+
div.dup-msg-success-links {margin:20px 5px 5px 5px; font-size:13px;}
|
50 |
div#dup-progress-area div.done-title {font-size:18px; font-weight:bold; margin:0px 0px 10px 0px}
|
51 |
+
div#dup-progress-area div.dup-panel-title {background-color:#dfdfdf;}
|
52 |
+
div.hdr-pack-complete {font-size:14px; color:green; font-weight:bold}
|
53 |
+
|
54 |
+
div#dup-create-area-nolink, div#dup-create-area-link {float:right; font-weight:bold; margin:0; padding:0}
|
55 |
+
div#dup-create-area-link {display:none; margin-left:-5px}
|
56 |
+
div#dup-progress-area div.dup-panel-panel { border-top:1px solid silver}
|
57 |
+
fieldset.download-area {border:2px dashed #b5b5b5; padding:20px 20px 20px 20px; border-radius:4px; margin:auto; width:500px }
|
58 |
+
fieldset.download-area legend {font-weight:bold; font-size:18px; margin:auto; color:#000}
|
59 |
+
button#dup-btn-installer, button#dup-btn-archive { line-height:28px; min-width:175px; height:38px !important; padding-top:3px !important; }
|
60 |
+
a#dup-link-download-both {min-width:200px; padding:3px;}
|
61 |
+
div.one-click-download {margin:20px 0 10px 0; font-size:16px; font-weight:bold}
|
62 |
+
div.one-click-download i.fa-bolt{padding-right:5px}
|
63 |
+
div.one-click-download i.fa-file-archive-o{padding-right:5px}
|
64 |
|
65 |
div.dup-button-footer {text-align:right; margin:20px 10px 0px 0px}
|
66 |
+
button.button {font-size:16px !important; height:30px !important; font-weight:bold; padding:0px 10px 5px 10px !important; min-width:150px }
|
67 |
+
span.dup-btn-size {font-size:11px;font-weight:normal}
|
68 |
p.get-pro {font-size:13px; color:#222; border-top:1px solid #eeeeee; padding:5px 0 0 0; margin:0; font-style:italic}
|
69 |
+
div.dup-howto-exe {font-size:14px; font-weight:bold; margin:25px 0 40px 0;line-height:20px; color:#000; padding-top:10px;}
|
70 |
+
div.dup-howto-exe-title {font-size:18px; margin:0 0 8px 0; color:#000}
|
71 |
+
div.dup-howto-exe-title a {text-decoration:none; outline:none; box-shadow:none}
|
72 |
+
div.dup-howto-exe small {font-weight:normal; display:block; margin-top:-2px; font-style:italic; font-size:11px; color:#444 }
|
73 |
+
div.dup-howto-exe a {margin-top:8px; display:inline-block}
|
74 |
+
div.dup-howto-exe-info {display:none; border:1px dotted #b5b5b5; padding:10px 20px 20px 20px; margin:auto; width:500px; background-color:#F0F0F1; border-radius:4px;}
|
75 |
+
div.dup-howto-exe-info a i {display:inline-block; margin:0 2px 0 2px}
|
76 |
+
div.dup-howto-exe-area {display: flex; justify-content: center;}
|
77 |
+
div.dup-howto-exe-txt {text-align: left; font-size:16px}
|
78 |
+
span#dup-installer-name {display:inline-block; color:silver; font-style: italic;}
|
79 |
+
span#dup-installer-name a {text-decoration: none}
|
80 |
+
span#dup-installer-name-help-icon {display:none}
|
81 |
|
82 |
/*HOST TIMEOUT */
|
83 |
div#dup-msg-error {color:maroon; padding:5px;}
|
84 |
+
div.dup-box-title {text-align:left; background-color:#F6F6F6}
|
85 |
div.dup-box-title:hover { background-color:#efefef}
|
86 |
+
div.dup-box-panel {text-align:left}
|
87 |
+
div.no-top {border-top:none}
|
88 |
div.dup-box-panel b.opt-title {font-size:18px}
|
89 |
+
div.dup-msg-error-area {overflow-y:scroll; padding:5px 15px 15px 15px; max-height:170px; width:95%; border:1px solid silver; border-radius:4px; line-height:22px}
|
90 |
div#dup-logs {text-align:center; margin:auto; padding:5px; width:350px;}
|
91 |
div#dup-logs a {display:inline-block;}
|
92 |
+
span.sub-data {display:inline-block; padding-left:20px}
|
93 |
</style>
|
94 |
|
95 |
<!-- =========================================
|
96 |
+
TOOL BAR:STEPS -->
|
97 |
<table id="dup-toolbar">
|
98 |
<tr valign="top">
|
99 |
+
<td style="white-space:nowrap">
|
100 |
<div id="dup-wiz">
|
101 |
<div id="dup-wiz-steps">
|
102 |
+
<div class="completed-step"><a>1 <?php esc_html_e('Setup', 'duplicator'); ?></a></div>
|
103 |
+
<div class="completed-step"><a>2 <?php esc_html_e('Scan', 'duplicator'); ?> </a></div>
|
104 |
+
<div class="active-step"><a>3 <?php esc_html_e('Build', 'duplicator'); ?> </a></div>
|
105 |
</div>
|
106 |
+
<div id="dup-wiz-title" class="dup-guide-txt-color">
|
107 |
+
<i class="fab fa-wordpress"></i>
|
108 |
+
<?php esc_html_e('Step 3: Build and download the package files.', 'duplicator'); ?>
|
109 |
</div>
|
110 |
</div>
|
111 |
</td>
|
112 |
<td style="padding-bottom:4px">
|
113 |
+
<span>
|
114 |
+
<a id="dup-packages-btn" href="?page=duplicator" class="button <?php echo ($active_package_present ? 'no-display' :''); ?>">
|
115 |
+
<?php esc_html_e("Packages",'duplicator'); ?>
|
116 |
+
</a>
|
117 |
+
</span>
|
118 |
<?php
|
119 |
$package_url = admin_url('admin.php?page=duplicator&tab=new1');
|
120 |
$package_nonce_url = wp_nonce_url($package_url, 'new1-package');
|
121 |
?>
|
122 |
<a id="dup-create-new"
|
123 |
+
onclick="return !jQuery(this).hasClass('disabled');"
|
124 |
href="<?php echo $package_nonce_url;?>"
|
125 |
+
class="button <?php echo ($active_package_present ? 'no-display' :''); ?>">
|
|
|
126 |
<?php esc_html_e("Create New", 'duplicator'); ?>
|
127 |
</a>
|
128 |
</td>
|
151 |
SUCCESS MESSAGE -->
|
152 |
<div id="dup-msg-success" style="display:none">
|
153 |
<div class="hdr-pack-complete">
|
154 |
+
<i class="far fa-check-square fa-lg"></i> <?php esc_html_e('Package Build Completed', 'duplicator'); ?>
|
155 |
</div>
|
156 |
|
157 |
<div class="dup-msg-success-stats">
|
158 |
+
<b><?php esc_html_e('Build Time', 'duplicator'); ?>:</b> <span id="data-time"></span><br/>
|
159 |
</div><br/>
|
160 |
|
161 |
<!-- DOWNLOAD FILES -->
|
162 |
<fieldset class="download-area">
|
163 |
<legend>
|
164 |
+
<i class="fa fa-download"></i> <?php esc_html_e("Download Package Files", 'duplicator') ?>
|
165 |
</legend>
|
166 |
<button id="dup-btn-installer" class="button button-primary button-large" title="<?php esc_attr_e("Click to download installer file", 'duplicator') ?>">
|
167 |
<i class="fa fa-bolt fa-sm"></i> <?php esc_html_e("Installer", 'duplicator') ?>
|
171 |
<span id="dup-btn-archive-size" class="dup-btn-size"></span>
|
172 |
</button>
|
173 |
<div class="one-click-download">
|
174 |
+
<a href="javascript:void(0)" id="dup-link-download-both" title="<?php esc_attr_e("Click to download both files", 'duplicator') ?>" class="button">
|
175 |
+
<i class="fa fa-bolt fa-sm"></i><i class="far fa-file-archive"></i>
|
176 |
+
<?php esc_html_e("Download Both Files", 'duplicator') ?>
|
177 |
</a>
|
178 |
<sup>
|
179 |
<i class="fas fa-question-circle fa-sm" style='font-size:11px'
|
180 |
+
data-tooltip-title="<?php esc_attr_e("Download Both Files:", 'duplicator'); ?>"
|
181 |
+
data-tooltip="<?php esc_attr_e('Clicking this button will open the installer and archive download prompts one after the other with one click verses '
|
182 |
+
. 'downloading each file separately with two clicks. On some browsers you may have to disable pop-up warnings on this domain for this to '
|
183 |
+
. 'work correctly.', 'duplicator'); ?>">
|
184 |
</i>
|
185 |
</sup>
|
186 |
</div>
|
187 |
<div style="margin-top:20px; font-size:11px">
|
188 |
+
<span id="dup-click-to-copy-installer-name"
|
189 |
+
class="link-style no-decoration"
|
190 |
+
data-dup-copy-text="<?php echo esc_attr(DUP_Installer::DEFAULT_INSTALLER_FILE_NAME_WITHOUT_HASH); ?>">
|
191 |
<?php esc_html_e("[Copy Installer Name to Clipboard]", 'duplicator'); ?>
|
192 |
+
<i class="far fa-copy"></i>
|
193 |
+
</span><br/>
|
194 |
+
<span id="dup-installer-name" data-installer-name="">
|
195 |
+
<a href="javascript:void(0)" onclick="Duplicator.Pack.ShowInstallerName()">
|
196 |
+
<?php esc_html_e("[Show Installer Name]", 'duplicator'); ?>
|
197 |
+
</a>
|
198 |
+
</span>
|
199 |
+
<span id="dup-installer-name-help-icon">
|
200 |
+
<i class="fas fa-question-circle fa-sm"
|
201 |
+
data-tooltip-title="<?php esc_attr_e("Installer Name:", 'duplicator'); ?>"
|
202 |
+
data-tooltip="<?php echo $txtInstallHelpMsg ?>">
|
203 |
+
</i>
|
204 |
</span>
|
205 |
</div>
|
206 |
</fieldset>
|
209 |
if (is_multisite()) {
|
210 |
echo '<div class="dup-no-mu">';
|
211 |
echo '<i class="fa fa-exclamation-triangle" aria-hidden="true"></i> ';
|
212 |
+
esc_html_e('Notice:Duplicator Lite does not officially support WordPress multisite.', 'duplicator');
|
213 |
echo "<br/>";
|
214 |
esc_html_e('We strongly recommend upgrading to ', 'duplicator');
|
215 |
echo " <i><a href='https://snapcreek.com/duplicator/?utm_source=duplicator_free&utm_medium=wordpress_plugin&utm_content=free_is_mu_warn6&utm_campaign=duplicator_pro' target='_blank'>[" . esc_html__('Duplicator Pro', 'duplicator') . "]</a></i>.";
|
218 |
?>
|
219 |
|
220 |
<div class="dup-howto-exe">
|
221 |
+
<div class="dup-howto-exe-title" onclick="Duplicator.Pack.ToggleHelpInstall(this)">
|
222 |
+
<a href="javascript:void(0)">
|
223 |
+
<i class="far fa-plus-square"></i>
|
224 |
+
<?php esc_html_e('How to install this package?', 'duplicator'); ?>
|
225 |
+
</a>
|
226 |
+
</div>
|
227 |
+
<div class="dup-howto-exe-info">
|
228 |
+
<div class="dup-howto-exe-area">
|
229 |
+
<div class="dup-howto-exe-txt">
|
230 |
+
<b style="font-size:18px"><?php esc_html_e("Featured Install Modes", 'duplicator');?></b>
|
231 |
+
<br/>
|
232 |
+
|
233 |
+
<!-- CLASSIC -->
|
234 |
+
<i class="far fa-save fa-sm fa-fw"></i>
|
235 |
+
<a href="https://snapcreek.com/duplicator/docs/quick-start/?utm_source=duplicator_free&utm_medium=wordpress_plugin&utm_content=package_built_install_help1_collapse&utm_campaign=duplicator_free#quick-040-q" target="_blank">
|
236 |
+
<?php esc_html_e('Classic Install Feature', 'duplicator'); ?>
|
237 |
+
<sup><i class="fas fa-external-link-alt fa-xs"></i></sup>
|
238 |
+
</a><br/>
|
239 |
+
|
240 |
+
<small>
|
241 |
+
<?php
|
242 |
+
echo _e('Install to an empty server directory like a new WordPress install does.', 'duplicator');
|
243 |
+
?>
|
244 |
+
</small>
|
245 |
+
|
246 |
+
<!-- OVERWRITE -->
|
247 |
+
<i class="far fa-window-close fa-sm fa-fw"></i>
|
248 |
+
<a href="https://snapcreek.com/duplicator/docs/quick-start/?utm_source=duplicator_free&utm_medium=wordpress_plugin&utm_content=package_built_install_help2_collapse&utm_campaign=duplicator_free#quick-043-q" target="_blank">
|
249 |
+
<?php esc_html_e('Overwrite Install Feature', 'duplicator'); ?>
|
250 |
+
<sup><i class="fas fa-external-link-alt fa-xs"></i></sup>
|
251 |
+
</a>
|
252 |
+
<br/>
|
253 |
+
<small><?php esc_html_e("Quickly overwrite an existing WordPress site in a few clicks.", 'duplicator');?></small>
|
254 |
+
|
255 |
+
|
256 |
+
<!-- IMPORT -->
|
257 |
+
<i class="fas fa-download fa-sm fa-fw"></i>
|
258 |
+
<a href="https://snapcreek.com/duplicator/docs/quick-start/?utm_source=duplicator_free&utm_medium=wordpress_plugin&utm_content=package_built_install_help3_collapse&utm_campaign=duplicator_free#quick-045-q" target="_blank">
|
259 |
+
<?php esc_html_e('Import Install Feature', 'duplicator'); ?>
|
260 |
+
<sup><i class="fas fa-external-link-alt fa-xs"></i></sup>
|
261 |
+
</a>
|
262 |
+
<sup class="dup-new"><?php esc_html_e('Pro *', 'duplicator'); ?></sup><br/>
|
263 |
+
<small><?php esc_html_e("Easily drag-n-drop the archive file to its destination (requires Pro*)", 'duplicator');?></small>
|
264 |
+
|
265 |
+
</div>
|
266 |
+
</div>
|
267 |
+
</div>
|
268 |
</div>
|
269 |
|
270 |
<p class="get-pro">
|
280 |
<i><?php esc_html_e("To get past this hosts limitation consider the options below by clicking each section.", 'duplicator'); ?></i>
|
281 |
<br/><br/><br/>
|
282 |
|
283 |
+
<!-- OPTION 1:Try DupArchive Engine -->
|
284 |
<div class="dup-box">
|
285 |
<div class="dup-box-title">
|
286 |
+
<span style="width:20px; display:inline-block"><i class="far fa-check-circle"></i></span><?php esc_html_e('Option 1:Try DupArchive', 'duplicator'); ?>
|
287 |
<div class="dup-box-arrow"><i class="fa fa-caret-down"></i></div>
|
288 |
</div>
|
289 |
<div class="dup-box-panel" id="dup-pack-build-try1" style="display:none">
|
292 |
<?php esc_html_e('Enable the DupArchive format which is specific to Duplicator and designed to perform better on constrained budget hosts.', 'duplicator'); ?>
|
293 |
<br/><br/>
|
294 |
|
295 |
+
<div style="font-style:italic">
|
296 |
+
<?php esc_html_e('Note:DupArchive on Duplicator only supports sites up to 500MB. If your site is over 500MB then use a file filter on step 1 to get the size '
|
297 |
. 'below 500MB or try the other options mentioned below. Alternatively, you may want to consider',
|
298 |
'duplicator'); ?>
|
299 |
<a href="https://snapcreek.com/duplicator/?utm_source=duplicator_free&utm_medium=wordpress_plugin&utm_content=build_interrupt&utm_campaign=duplicator_pro" target="_blank">
|
313 |
<li><?php esc_html_e('Build a new package using the new engine format.', 'duplicator'); ?></li>
|
314 |
</ol>
|
315 |
|
316 |
+
<small style="font-style:italic">
|
317 |
+
<?php esc_html_e('Note:The DupArchive engine will generate an archive.daf file. This file is very similar to a .zip except that it can only be extracted by the '
|
318 |
. 'installer.php file or the', 'duplicator'); ?>
|
319 |
<a href="https://snapcreek.com/duplicator/docs/faqs-tech/#faq-trouble-052-q" target="_blank"><?php esc_html_e('commandline extraction tool'); ?></a>.
|
320 |
</small>
|
321 |
</div>
|
322 |
</div>
|
323 |
|
324 |
+
<!-- OPTION 2:TRY AGAIN -->
|
325 |
<div class="dup-box no-top">
|
326 |
<div class="dup-box-title">
|
327 |
+
<span style="width:20px; display:inline-block"><i class="fa fa-filter fa-sm"></i></span><?php esc_html_e('Option 2:File Filters', 'duplicator'); ?>
|
328 |
<div class="dup-box-arrow"><i class="fa fa-caret-down"></i></div>
|
329 |
</div>
|
330 |
<div class="dup-box-panel" id="dup-pack-build-try2" style="display:none">
|
|
|
331 |
<?php
|
332 |
esc_html_e('The first pass for reading files on some budget hosts maybe slow and have conflicts with strict timeout settings setup by the hosting provider. '
|
333 |
. 'In these cases, it is recommended to retry the build by adding file filters to larger files/directories.', 'duplicator');
|
338 |
. 'If this work-flow is not desired or does not work please check-out the other options below.', 'duplicator');
|
339 |
?>
|
340 |
<br/><br/>
|
341 |
+
<div style="text-align:center; margin:10px 0 2px 0">
|
342 |
<input type="button" class="button-large button-primary" value="<?php esc_attr_e('Retry Build With Filters', 'duplicator'); ?>" onclick="window.history.back()" />
|
343 |
</div>
|
344 |
|
345 |
+
<div style="color:#777; padding:15px 5px 5px 5px">
|
346 |
<b> <?php esc_html_e('Notice', 'duplicator'); ?></b><br/>
|
347 |
<?php
|
348 |
printf('<b><i class="fa fa-folder-o"></i> %s %s</b> <br/> %s', esc_html__('Build Folder:'), DUP_Settings::getSsdirTmpPath(),
|
355 |
</div>
|
356 |
</div>
|
357 |
|
358 |
+
<!-- OPTION 3:Two-Part Install -->
|
359 |
<div class="dup-box no-top">
|
360 |
<div class="dup-box-title">
|
361 |
+
<span style="width:20px; display:inline-block"><i class="fa fa-random"></i></span><?php esc_html_e('Option 3:Two-Part Install', 'duplicator'); ?>
|
362 |
<div class="dup-box-arrow"><i class="fa fa-caret-down"></i></div>
|
363 |
</div>
|
364 |
<div class="dup-box-panel" id="dup-pack-build-try2" style="display:none">
|
365 |
+
|
366 |
|
367 |
<?php esc_html_e('A two-part install minimizes server load and can avoid I/O and CPU issues encountered on some budget hosts. With this procedure you simply build a '
|
368 |
.'\'database-only\' archive, manually move the website files, and then run the installer to complete the process.', 'duplicator');
|
382 |
</li>
|
383 |
</ol>
|
384 |
|
385 |
+
<div style="text-align:center; margin:10px">
|
386 |
<input type="checkbox" id="dup-two-part-check" onclick="Duplicator.Pack.ToggleTwoPart()">
|
387 |
<label for="dup-two-part-check"><?php esc_html_e('Yes. I have read the above overview and would like to continue!', 'duplicator'); ?></label><br/><br/>
|
388 |
<button id="dup-two-part-btn" type="button" class="button-large button-primary" disabled="true" onclick="window.location = 'admin.php?page=duplicator&tab=new1&retry=2&_wpnonce=<?php echo $retry_nonuce; ?>'">
|
392 |
</div>
|
393 |
</div>
|
394 |
|
395 |
+
<!-- OPTION 4:DIAGNOSE SERVER -->
|
396 |
<div class="dup-box no-top">
|
397 |
<div class="dup-box-title">
|
398 |
+
<span style="width:20px; display:inline-block"><i class="fa fa-cog"></i></span><?php esc_html_e('Option 4:Configure Server', 'duplicator'); ?>
|
399 |
<div class="dup-box-arrow"><i class="fa fa-caret-down"></i></div>
|
400 |
</div>
|
401 |
<div class="dup-box-panel" id="dup-pack-build-try3" style="display:none">
|
404 |
. 'FAQ page that will show various recommendations you can take to improve/unlock constraints set up on this server.', 'duplicator');
|
405 |
?><br/><br/>
|
406 |
|
407 |
+
<div style="text-align:center; margin:10px; font-size:16px; font-weight:bold">
|
408 |
<a href="https://snapcreek.com/duplicator/docs/faqs-tech/?utm_source=duplicator_free&utm_medium=wordpress_plugin&utm_content=host_interupt_diagnosebtn&utm_campaign=build_issues#faq-trouble-100-q" target="_blank">
|
409 |
[<?php esc_html_e('Diagnose Server Setup', 'duplicator'); ?>]
|
410 |
</a>
|
433 |
<span class="data sub-data">
|
434 |
<span class="label"><?php esc_html_e("Mode", 'duplicator'); ?>:</span>
|
435 |
<?php
|
436 |
+
$try_update = $try_update ? 'is dynamic' :'value is fixed';
|
437 |
echo "{$try_update}";
|
438 |
?>
|
439 |
<i class="fa fa-question-circle data-size-help"
|
488 |
Duplicator.Pack.StatusFrequency = 8000;
|
489 |
|
490 |
/* ----------------------------------------
|
491 |
+
* METHOD:Performs Ajax post to create a new package
|
492 |
* Timeout (10000000 = 166 minutes) */
|
493 |
Duplicator.Pack.CreateZip = function ()
|
494 |
{
|
495 |
var startTime;
|
496 |
+
var data = {action:'duplicator_package_build', nonce:'<?php echo esc_js($zip_build_nonce); ?>'}
|
497 |
var statusInterval = setInterval(Duplicator.Pack.GetActivePackageStatus, Duplicator.Pack.StatusFrequency);
|
498 |
|
499 |
$.ajax({
|
500 |
+
type:"POST",
|
501 |
+
cache:false,
|
502 |
+
dataType:"text",
|
503 |
+
url:ajaxurl,
|
504 |
+
timeout:0, // no timeout
|
505 |
+
data:data,
|
506 |
+
beforeSend:function () {
|
507 |
startTime = new Date().getTime();
|
508 |
},
|
509 |
+
complete:function () {
|
510 |
Duplicator.Pack.PostTransferCleanup(statusInterval, startTime);
|
511 |
},
|
512 |
+
success:function (respData, textStatus, xHr) {
|
513 |
try {
|
514 |
var data = Duplicator.parseJSON(respData);
|
515 |
} catch(err) {
|
516 |
console.error(err);
|
517 |
+
console.error('JSON parse failed for response data:' + respData);
|
518 |
$('#dup-progress-bar-area').hide();
|
519 |
$('#dup-progress-area, #dup-msg-error').show(200);
|
520 |
var status = xHr.status + ' -' + data.statusText;
|
521 |
+
var response = (xHr.responseText != undefined && xHr.responseText.trim().length > 1) ? xHr.responseText.trim() :'No client side error - see package log file';
|
522 |
$('#dup-msg-error-response-status span.data').html(status)
|
523 |
$('#dup-msg-error-response-text span.data').html(response);
|
524 |
console.log(xHr);
|
528 |
if ((data != null) && (typeof (data) != 'undefined') && data.status == 1) {
|
529 |
Duplicator.Pack.WireDownloadLinks(data);
|
530 |
} else {
|
531 |
+
var message = (typeof (data.error) != 'undefined' && data.error.length) ? data.error :'Error processing package';
|
532 |
Duplicator.Pack.DupArchiveProcessingFailed(message);
|
533 |
}
|
534 |
|
535 |
},
|
536 |
+
error:function (xHr) {
|
537 |
$('#dup-progress-bar-area').hide();
|
538 |
$('#dup-progress-area, #dup-msg-error').show(200);
|
539 |
var status = xHr.status + ' -' + data.statusText;
|
540 |
+
var response = (xHr.responseText != undefined && xHr.responseText.trim().length > 1) ? xHr.responseText.trim() :'No client side error - see package log file';
|
541 |
$('#dup-msg-error-response-status span.data').html(status)
|
542 |
$('#dup-msg-error-response-text span.data').html(response);
|
543 |
console.log(xHr);
|
547 |
}
|
548 |
|
549 |
/* ----------------------------------------
|
550 |
+
* METHOD:Performs Ajax post to create a new DupArchive-based package */
|
551 |
Duplicator.Pack.CreateDupArchive = function ()
|
552 |
{
|
553 |
console.log('Duplicator.Pack.CreateDupArchive');
|
554 |
+
var data = {action:'duplicator_duparchive_package_build', nonce:'<?php echo esc_js($duparchive_build_nonce); ?>'}
|
555 |
var statusInterval = setInterval(Duplicator.Pack.GetActivePackageStatus, Duplicator.Pack.StatusFrequency);
|
556 |
|
557 |
$.ajax({
|
558 |
+
type:"POST",
|
559 |
+
timeout:0, // no timeout
|
560 |
+
dataType:"text",
|
561 |
+
url:ajaxurl,
|
562 |
+
data:data,
|
563 |
+
complete:function () {
|
564 |
Duplicator.Pack.PostTransferCleanup(statusInterval, Duplicator.Pack.DupArchiveStartTime);
|
565 |
},
|
566 |
+
success:function (respData, textStatus, xHr) {
|
567 |
try {
|
568 |
var data = Duplicator.parseJSON(respData);
|
569 |
} catch(err) {
|
570 |
console.log(err);
|
571 |
+
console.log('JSON parse failed for response data:' + respData);
|
572 |
console.log('DupArchive AJAX error!');
|
573 |
console.log("jqHr:");
|
574 |
console.log(xHr);
|
600 |
console.log("CreateDupArchive:No critical failures");
|
601 |
if (data.status == 1) {
|
602 |
|
603 |
+
// Don't stop for non-critical failures - just display those at the end TODO:put these in the log not popup
|
604 |
console.log("CreateDupArchive:archive has completed");
|
605 |
if (data.failures.length > 0) {
|
606 |
|
645 |
Duplicator.Pack.HandleDupArchiveInterruption(errorString);
|
646 |
}
|
647 |
},
|
648 |
+
error:function (xHr, textStatus) {
|
649 |
console.log('DupArchive AJAX error!');
|
650 |
console.log("jqHr:");
|
651 |
console.log(xHr);
|
657 |
};
|
658 |
|
659 |
/* ----------------------------------------
|
660 |
+
* METHOD:Retrieves package status and updates UI with build percentage */
|
661 |
Duplicator.Pack.GetActivePackageStatus = function ()
|
662 |
{
|
663 |
+
var data = {action:'DUP_CTRL_Package_getActivePackageStatus', nonce:'<?php echo wp_create_nonce('DUP_CTRL_Package_getActivePackageStatus'); ?>'}
|
664 |
console.log('####Duplicator.Pack.GetActivePackageStatus');
|
665 |
|
666 |
$.ajax({
|
667 |
+
type:"POST",
|
668 |
+
url:ajaxurl,
|
669 |
+
dataType:"text",
|
670 |
+
timeout:0, // no timeout
|
671 |
+
data:data,
|
672 |
+
success:function (respData, textStatus, xHr) {
|
673 |
try {
|
674 |
var data = Duplicator.parseJSON(respData);
|
675 |
} catch(err) {
|
676 |
console.error(err);
|
677 |
+
console.error('JSON parse failed for response data:' + respData);
|
678 |
console.log('Error retrieving build status');
|
679 |
console.log(xHr);
|
680 |
return false;
|
686 |
console.log(data);
|
687 |
}
|
688 |
},
|
689 |
+
error:function (xHr) {
|
690 |
console.log('Error retrieving build status');
|
691 |
console.log(xHr);
|
692 |
}
|
701 |
var millis = (endTime - startTime);
|
702 |
var minutes = Math.floor(millis / 60000);
|
703 |
var seconds = ((millis % 60000) / 1000).toFixed(0);
|
704 |
+
var status = minutes + ":" + (seconds < 10 ? '0' :'') + seconds;
|
705 |
$('#dup-msg-error-response-time span.data').html(status);
|
706 |
//$('#dup-create-area-nolink').hide();
|
707 |
//$('#dup-create-area-link').show();
|
711 |
{
|
712 |
var pack = data.package;
|
713 |
var archive_json = {
|
714 |
+
filename:pack.Archive.File,
|
715 |
+
url:"<?php echo DUP_Settings::getSsdirUrl(); ?>" + "/" + pack.Archive.File
|
716 |
};
|
717 |
var installer_json = {
|
718 |
+
id:pack.ID,
|
719 |
+
hash:pack.Hash
|
720 |
};
|
721 |
|
722 |
$('#dup-progress-bar-area').hide();
|
725 |
$('#dup-btn-archive-size').append(' (' + data.archiveSize + ')')
|
726 |
$('#data-name-hash').text(pack.NameHash || 'error read');
|
727 |
$('#data-time').text(data.runtime || 'unable to read time');
|
728 |
+
$('#dup-create-new').removeClass('no-display');
|
729 |
+
$('#dup-packages-btn').removeClass('no-display');
|
730 |
|
731 |
//Wire Up Downloads
|
732 |
$('#dup-btn-installer').click(function() {
|
748 |
});
|
749 |
|
750 |
$('#dup-click-to-copy-installer-name').data('dup-copy-text', data.instDownloadName);
|
751 |
+
$('#dup-installer-name').data('data-installer-name', data.instDownloadName);
|
752 |
};
|
753 |
|
754 |
Duplicator.Pack.HandleDupArchiveInterruption = function (errorText)
|
800 |
$btn.attr("disabled", true);
|
801 |
}
|
802 |
};
|
803 |
+
|
804 |
+
Duplicator.Pack.ToggleHelpInstall = function (div) {
|
805 |
+
var $div = $(div);
|
806 |
+
var $icon = $div.find('i.far')
|
807 |
+
var $info = $('div.dup-howto-exe-info');
|
808 |
+
if ($icon.hasClass('fa-plus-square')) {
|
809 |
+
$icon.attr('class', 'far fa-minus-square');
|
810 |
+
$info.show();
|
811 |
+
} else {
|
812 |
+
$icon.attr('class', 'far fa-plus-square');
|
813 |
+
$info.hide();
|
814 |
+
}
|
815 |
+
};
|
816 |
+
|
817 |
+
Duplicator.Pack.ShowInstallerName = function () {
|
818 |
+
var txt = $('#dup-installer-name').data('data-installer-name');
|
819 |
+
$('#dup-installer-name').html(txt);
|
820 |
+
$('#dup-installer-name-help-icon').show();
|
821 |
+
|
822 |
+
};
|
823 |
+
|
824 |
//Page Init:
|
825 |
Duplicator.UI.AnimateProgressBar('dup-progress-bar');
|
826 |
|
827 |
+
<?php if (DUP_Settings::Get('archive_build_mode') == DUP_Archive_Build_Mode::ZipArchive):?>
|
828 |
Duplicator.Pack.CreateZip();
|
829 |
+
<?php else:?>
|
830 |
Duplicator.Pack.CreateDupArchive();
|
831 |
<?php endif; ?>
|
832 |
});
|
views/packages/screen.php
CHANGED
@@ -94,10 +94,24 @@ class DUP_Package_Screen extends DUP_UI_Screen
|
|
94 |
|
95 |
public function get_step2_help()
|
96 |
{
|
97 |
-
|
98 |
-
|
99 |
-
|
100 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
101 |
}
|
102 |
|
103 |
public function get_step3_help()
|
94 |
|
95 |
public function get_step2_help()
|
96 |
{
|
97 |
+
$status1 = sprintf('%1$s Good %2$s', '<span class="badge badge-pass">', '</span>');
|
98 |
+
$status2 = sprintf('%1$s Notice %2$s', '<span class="badge badge-warn">', '</span>');
|
99 |
+
|
100 |
+
//TITLE
|
101 |
+
$msg = sprintf('%1$s Packages » 2 Scan %2$s', '<b>', '</b><br/>');
|
102 |
+
|
103 |
+
//MESSAGE
|
104 |
+
$msg .= sprintf(
|
105 |
+
'In Step-2 of the build process Duplicator scans your WordPress site files and database for any possible issues. Each section is expandable '
|
106 |
+
. 'and will show more details regarding the parameters of that section. The following indicators will be present for each section: %3$s'
|
107 |
+
. '%1$s Indicates that no issues were detected. It is best to try and get all the values to display this status if possible, but not required. %3$s'
|
108 |
+
. '%2$s Indicates a possible issue. A notice will not prevent the build from running however, if you do have issues then the section should be observed. %4$s',
|
109 |
+
$status1,
|
110 |
+
$status2,
|
111 |
+
'<br/>',
|
112 |
+
'<br/><br/>'
|
113 |
+
);
|
114 |
+
return $msg;
|
115 |
}
|
116 |
|
117 |
public function get_step3_help()
|
views/settings/gopro.php
CHANGED
@@ -7,10 +7,11 @@ require_once(DUPLICATOR_PLUGIN_PATH . '/views/inc.header.php');
|
|
7 |
|
8 |
if(mt_rand(0, 1) == 0) {
|
9 |
$test_text = esc_html__('Check It Out!', 'duplicator');
|
10 |
-
$test_url = "https://snapcreek.com/duplicator/comparison/?utm_source=duplicator_free&utm_medium=wordpress_plugin&utm_content=
|
11 |
} else {
|
12 |
-
|
13 |
-
$
|
|
|
14 |
}
|
15 |
|
16 |
?>
|
7 |
|
8 |
if(mt_rand(0, 1) == 0) {
|
9 |
$test_text = esc_html__('Check It Out!', 'duplicator');
|
10 |
+
$test_url = "https://snapcreek.com/duplicator/comparison/?utm_source=duplicator_free&utm_medium=wordpress_plugin&utm_content=free_go_pro_checkitout1&utm_campaign=duplicator_pro";
|
11 |
} else {
|
12 |
+
/*Updated from 'Learn More' to 'Check It Out' on 1.4.4 release */
|
13 |
+
$test_text = esc_html__('Check It Out!', 'duplicator');
|
14 |
+
$test_url = "https://snapcreek.com/duplicator/comparison/?utm_source=duplicator_free&utm_medium=wordpress_plugin&utm_content=free_go_pro_checkitout2&utm_campaign=duplicator_pro";
|
15 |
}
|
16 |
|
17 |
?>
|
views/settings/license.php
CHANGED
@@ -14,25 +14,40 @@ defined('ABSPATH') || defined('DUPXABSPATH') || exit;
|
|
14 |
<?php esc_html_e('Duplicator Free'); ?>
|
15 |
<div style="padding: 10px">
|
16 |
<i class="far fa-check-square"></i> <?php esc_html_e('Basic Features'); ?> <br/>
|
17 |
-
<i class="far fa-square"></i> <a href="
|
18 |
</div>
|
19 |
</td>
|
20 |
</tr>
|
21 |
<tr valign="top">
|
22 |
<th scope="row"><label><?php esc_html_e("License Key"); ?></label></th>
|
23 |
<td>
|
24 |
-
<
|
25 |
-
|
26 |
-
|
27 |
-
|
28 |
-
|
29 |
-
|
30 |
-
|
31 |
-
|
32 |
-
|
33 |
-
|
34 |
-
|
35 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
36 |
</td>
|
37 |
</tr>
|
38 |
</table>
|
14 |
<?php esc_html_e('Duplicator Free'); ?>
|
15 |
<div style="padding: 10px">
|
16 |
<i class="far fa-check-square"></i> <?php esc_html_e('Basic Features'); ?> <br/>
|
17 |
+
<i class="far fa-square"></i> <a target="_blank" href="https://snapcreek.com/duplicator/comparison/?utm_source=duplicator_free&utm_medium=wordpress_plugin&utm_content=pro_features&utm_campaign=duplicator_pro"><?php esc_html_e('Pro Features'); ?></a><br>
|
18 |
</div>
|
19 |
</td>
|
20 |
</tr>
|
21 |
<tr valign="top">
|
22 |
<th scope="row"><label><?php esc_html_e("License Key"); ?></label></th>
|
23 |
<td>
|
24 |
+
<div class="description" style="max-width:700px">
|
25 |
+
|
26 |
+
<b><?php esc_html_e("Duplicator Lite:", 'duplicator'); ?></b>
|
27 |
+
|
28 |
+
<ul style="list-style-type:circle; margin-left:40px">
|
29 |
+
<li>
|
30 |
+
<?php esc_html_e("The free version of Duplicator does not require a license key.", 'duplicator'); ?>
|
31 |
+
</li>
|
32 |
+
<li>
|
33 |
+
<?php
|
34 |
+
esc_html_e("If you would like to purchase the professional version you can ", 'duplicator');
|
35 |
+
echo '<a href="https://snapcreek.com/duplicator?utm_source=duplicator_free&utm_medium=wordpress_plugin&utm_campaign=duplicator_pro&utm_content=settings_license_get_copy_here_lite" target="_blank">' . esc_html__("get a copy here", 'duplicator') . '</a>!';
|
36 |
+
?>
|
37 |
+
</li>
|
38 |
+
</ul>
|
39 |
+
|
40 |
+
<b><?php esc_html_e("Duplicator Pro:", 'duplicator'); ?></b>
|
41 |
+
<ul style="list-style-type:circle; margin-left: 40px">
|
42 |
+
<li>
|
43 |
+
<?php esc_html_e("The professional version is a separate plugin that you download and install. ", 'duplicator'); ?>
|
44 |
+
</li>
|
45 |
+
<li>
|
46 |
+
<?php esc_html_e("Download professional from the email sent after purchase or login to snapcreek.com", 'duplicator'); ?>
|
47 |
+
</li>
|
48 |
+
|
49 |
+
</ul>
|
50 |
+
</div>
|
51 |
</td>
|
52 |
</tr>
|
53 |
</table>
|
views/settings/storage.php
CHANGED
@@ -150,7 +150,9 @@ function dup_lite_storage_advanced_pro_content()
|
|
150 |
</i>
|
151 |
</div>
|
152 |
<p style="text-align: center">
|
153 |
-
<a href="https://snapcreek.com/duplicator/?utm_source=duplicator_free&utm_medium=wordpress_plugin&utm_content=
|
|
|
|
|
154 |
<?php esc_html_e('Learn More', 'duplicator'); ?>
|
155 |
</a>
|
156 |
</p>
|
@@ -159,9 +161,9 @@ function dup_lite_storage_advanced_pro_content()
|
|
159 |
}
|
160 |
$storageAlert = new DUP_UI_Dialog();
|
161 |
$storageAlert->title = __('Advanced Storage', 'duplicator');
|
162 |
-
$storageAlert->height =
|
163 |
$storageAlert->width = 400;
|
164 |
-
|
165 |
$storageAlert->message = dup_lite_storage_advanced_pro_content();
|
166 |
$storageAlert->initAlert();
|
167 |
?>
|
150 |
</i>
|
151 |
</div>
|
152 |
<p style="text-align: center">
|
153 |
+
<a href="https://snapcreek.com/duplicator/?utm_source=duplicator_free&utm_medium=wordpress_plugin&utm_content=free_settings_storage_popup_green&utm_campaign=duplicator_pro"
|
154 |
+
target="_blank"
|
155 |
+
class="dup-btn-call-action" style="font-size:15px; padding:8px 10px; width: 120px">
|
156 |
<?php esc_html_e('Learn More', 'duplicator'); ?>
|
157 |
</a>
|
158 |
</p>
|
161 |
}
|
162 |
$storageAlert = new DUP_UI_Dialog();
|
163 |
$storageAlert->title = __('Advanced Storage', 'duplicator');
|
164 |
+
$storageAlert->height = 500;
|
165 |
$storageAlert->width = 400;
|
166 |
+
$storageAlert->okText = '';
|
167 |
$storageAlert->message = dup_lite_storage_advanced_pro_content();
|
168 |
$storageAlert->initAlert();
|
169 |
?>
|
views/tools/diagnostics/logging.php
CHANGED
@@ -104,7 +104,7 @@ jQuery(document).ready(function($)
|
|
104 |
}
|
105 |
|
106 |
Duplicator.Tools.readLogfile = function() {
|
107 |
-
$.get(
|
108 |
$('#dup-log-content').text(data);
|
109 |
}, 'text');
|
110 |
};
|
104 |
}
|
105 |
|
106 |
Duplicator.Tools.readLogfile = function() {
|
107 |
+
$.get(<?php echo str_replace('\\/', '/', json_encode($logurl)); ?>, function(data) {
|
108 |
$('#dup-log-content').text(data);
|
109 |
}, 'text');
|
110 |
};
|
views/tools/diagnostics/main.php
CHANGED
@@ -7,7 +7,7 @@ defined('ABSPATH') || defined('DUPXABSPATH') || exit;
|
|
7 |
table.dup-reset-opts td:first-child {font-weight: bold}
|
8 |
table.dup-reset-opts td {padding:10px}
|
9 |
button.dup-fixed-btn {min-width: 150px; text-align: center}
|
10 |
-
div#dup-tools-delete-moreinfo {display: none; padding: 5px 0 0 20px; border:1px solid silver; background-color: #fff; border-radius:
|
11 |
div.dup-alert-no-files-msg {padding:10px 0 10px 0}
|
12 |
div.dup-alert-secure-note {font-style: italic; max-width:800px; padding:15px 0 20px 0}
|
13 |
|
7 |
table.dup-reset-opts td:first-child {font-weight: bold}
|
8 |
table.dup-reset-opts td {padding:10px}
|
9 |
button.dup-fixed-btn {min-width: 150px; text-align: center}
|
10 |
+
div#dup-tools-delete-moreinfo {display: none; padding: 5px 0 0 20px; border:1px solid silver; background-color: #fff; border-radius:3px; padding:10px; margin:5px; width:750px }
|
11 |
div.dup-alert-no-files-msg {padding:10px 0 10px 0}
|
12 |
div.dup-alert-secure-note {font-style: italic; max-width:800px; padding:15px 0 20px 0}
|
13 |
|