Version Description
Download this release
Release Info
Developer | cory@lamle.org |
Plugin | Duplicator – WordPress Migration Plugin |
Version | 1.2.12 |
Comparing to | |
See all releases |
Code changes from version 1.2.10 to 1.2.12
- assets/css/style.css +0 -4
- classes/package/class.pack.archive.php +6 -6
- classes/package/class.pack.database.php +8 -4
- classes/package/class.pack.php +10 -8
- define.php +2 -2
- duplicator.php +2 -19
- installer/build/assets/inc.css.php +1 -1
- installer/build/view.step4.php +1 -1
- readme.txt +2 -2
- views/packages/main/controller.php +1 -1
- views/packages/main/s1.setup1.php +5 -4
- views/packages/main/s1.setup2.php +22 -9
- views/packages/main/s2.scan1.php +12 -11
- views/packages/main/s2.scan2.php +4 -1
- views/packages/main/s2.scan3.php +64 -70
- views/packages/main/s3.build.php +19 -5
- views/{help/about.php → settings/about-info.php} +3 -11
- views/settings/controller.php +3 -0
- views/tools/controller.php +3 -0
- views/{help/help.php → tools/support.php} +0 -9
assets/css/style.css
CHANGED
@@ -28,10 +28,6 @@ div.dup-panel {padding:0px; display: block; background-color: #fff; border: 1px
|
|
28 |
div.dup-panel-title {font-size: 14px; padding: 10px 0 0 15px; font-weight: 600; height:28px; margin:0px; color:#000; }
|
29 |
div.dup-panel-panel {padding:10px 15px 10px 15px; border-top:1px solid #EEEEEE; margin:-1px 0 0 0;}
|
30 |
|
31 |
-
/*PANELS: Fancy */
|
32 |
-
div.dup-box-fancy {border-radius: 4px; border:1px solid #E1E1E1; margin: 1px 0 1px 0}
|
33 |
-
div.dup-box-title-fancy {padding:5px 2px 5px 8px; height:18px; background: #eeeeee; background: linear-gradient(to bottom, #eeeeee 0%,#e0e0e0 100%);}
|
34 |
-
|
35 |
/*INFO-BOX:Simple box with no title */
|
36 |
div.dup-info-box {padding:8px; border:1px solid #ccc; border-radius:4px; background-color:#F7FCFE; margin:0px 0px 5px 20px; line-height:16px}
|
37 |
div.dup-info-box small {margin-top:10px; display:block}
|
28 |
div.dup-panel-title {font-size: 14px; padding: 10px 0 0 15px; font-weight: 600; height:28px; margin:0px; color:#000; }
|
29 |
div.dup-panel-panel {padding:10px 15px 10px 15px; border-top:1px solid #EEEEEE; margin:-1px 0 0 0;}
|
30 |
|
|
|
|
|
|
|
|
|
31 |
/*INFO-BOX:Simple box with no title */
|
32 |
div.dup-info-box {padding:8px; border:1px solid #ccc; border-radius:4px; background-color:#F7FCFE; margin:0px 0px 5px 20px; line-height:16px}
|
33 |
div.dup-info-box small {margin-top:10px; display:block}
|
classes/package/class.pack.archive.php
CHANGED
@@ -54,12 +54,12 @@ class DUP_Archive
|
|
54 |
|
55 |
$rootPath = DUP_Util::safePath(rtrim(DUPLICATOR_WPROOTPATH, '//'));
|
56 |
|
57 |
-
$this->wpCorePaths[] = "{$rootPath}/wp-admin";
|
58 |
-
$this->wpCorePaths[] = WP_CONTENT_DIR . "/uploads";
|
59 |
-
$this->wpCorePaths[] = WP_CONTENT_DIR . "/languages";
|
60 |
-
$this->wpCorePaths[] = WP_PLUGIN_DIR;
|
61 |
-
$this->wpCorePaths[] = get_theme_root();
|
62 |
-
$this->wpCorePaths[] = "{$rootPath}/wp-includes";
|
63 |
}
|
64 |
|
65 |
/**
|
54 |
|
55 |
$rootPath = DUP_Util::safePath(rtrim(DUPLICATOR_WPROOTPATH, '//'));
|
56 |
|
57 |
+
$this->wpCorePaths[] = DUP_Util::safePath("{$rootPath}/wp-admin");
|
58 |
+
$this->wpCorePaths[] = DUP_Util::safePath(WP_CONTENT_DIR . "/uploads");
|
59 |
+
$this->wpCorePaths[] = DUP_Util::safePath(WP_CONTENT_DIR . "/languages");
|
60 |
+
$this->wpCorePaths[] = DUP_Util::safePath(WP_PLUGIN_DIR);
|
61 |
+
$this->wpCorePaths[] = DUP_Util::safePath(get_theme_root());
|
62 |
+
$this->wpCorePaths[] = DUP_Util::safePath("{$rootPath}/wp-includes");
|
63 |
}
|
64 |
|
65 |
/**
|
classes/package/class.pack.database.php
CHANGED
@@ -149,9 +149,10 @@ class DUP_Database
|
|
149 |
|
150 |
$info['Size'] += $size;
|
151 |
$info['Rows'] += ($table["Rows"]);
|
152 |
-
$info['TableList'][$name]['Case']
|
153 |
-
$info['TableList'][$name]['Rows']
|
154 |
-
$info['TableList'][$name]['Size']
|
|
|
155 |
$tblCount++;
|
156 |
|
157 |
//Table Uppercase
|
@@ -302,7 +303,10 @@ class DUP_Database
|
|
302 |
DUP_Log::Info("TABLES: total:{$tblAllCount} | filtered:{$tblFilterCount} | create:{$tblCreateCount}");
|
303 |
DUP_Log::Info("FILTERED: [{$this->FilterTables}]");
|
304 |
|
305 |
-
|
|
|
|
|
|
|
306 |
$sql_header .= "SET FOREIGN_KEY_CHECKS = 0;\n\n";
|
307 |
fwrite($handle, $sql_header);
|
308 |
|
149 |
|
150 |
$info['Size'] += $size;
|
151 |
$info['Rows'] += ($table["Rows"]);
|
152 |
+
$info['TableList'][$name]['Case'] = preg_match('/[A-Z]/', $name) ? 1 : 0;
|
153 |
+
$info['TableList'][$name]['Rows'] = number_format($rows);
|
154 |
+
$info['TableList'][$name]['Size'] = DUP_Util::byteSize($size);
|
155 |
+
$info['TableList'][$name]['USize'] = $size;
|
156 |
$tblCount++;
|
157 |
|
158 |
//Table Uppercase
|
303 |
DUP_Log::Info("TABLES: total:{$tblAllCount} | filtered:{$tblFilterCount} | create:{$tblCreateCount}");
|
304 |
DUP_Log::Info("FILTERED: [{$this->FilterTables}]");
|
305 |
|
306 |
+
//Added 'NO_AUTO_VALUE_ON_ZERO' at plugin version 1.2.12 to fix :
|
307 |
+
//**ERROR** database error write 'Invalid default value for for older mysql versions
|
308 |
+
$sql_header = "/* DUPLICATOR-LITE (PHP BUILD MODE) MYSQL SCRIPT CREATED ON : ".@date("Y-m-d H:i:s")." */\n\n";
|
309 |
+
$sql_header .= "/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;\n\n";
|
310 |
$sql_header .= "SET FOREIGN_KEY_CHECKS = 0;\n\n";
|
311 |
fwrite($handle, $sql_header);
|
312 |
|
classes/package/class.pack.php
CHANGED
@@ -119,7 +119,7 @@ class DUP_Package
|
|
119 |
$report['ARC']['FilterInfo'] = $this->Archive->FilterInfo;
|
120 |
$report['ARC']['Status']['Size'] = ($this->Archive->Size > DUPLICATOR_SCAN_SIZE_DEFAULT) ? 'Warn' : 'Good';
|
121 |
$report['ARC']['Status']['Names'] = (count($this->Archive->FilterInfo->Files->Warning) + count($this->Archive->FilterInfo->Dirs->Warning)) ? 'Warn' : 'Good';
|
122 |
-
|
123 |
$report['ARC']['Dirs'] = $this->Archive->Dirs;
|
124 |
$report['ARC']['Files'] = $this->Archive->Files;
|
125 |
|
@@ -128,15 +128,15 @@ class DUP_Package
|
|
128 |
$db = $this->Database->getScannerData();
|
129 |
$report['DB'] = $db;
|
130 |
|
131 |
-
$warnings = array(
|
132 |
$report['SRV']['PHP']['ALL'],
|
133 |
$report['SRV']['WP']['ALL'],
|
134 |
$report['ARC']['Status']['Size'],
|
135 |
$report['ARC']['Status']['Names'],
|
136 |
-
|
137 |
-
$db['Status']['
|
138 |
-
$db['Status']['
|
139 |
-
$db['Status']['
|
140 |
|
141 |
//array_count_values will throw a warning message if it has null values,
|
142 |
//so lets replace all nulls with empty string
|
@@ -485,11 +485,13 @@ class DUP_Package
|
|
485 |
*
|
486 |
* @return string A default packagename such as 20170218_blogname
|
487 |
*/
|
488 |
-
public static function getDefaultName()
|
489 |
{
|
490 |
//Remove specail_chars from final result
|
491 |
$special_chars = array(".", "-");
|
492 |
-
$name =
|
|
|
|
|
493 |
$name = substr(sanitize_file_name($name), 0, 40);
|
494 |
$name = str_replace($special_chars, '', $name);
|
495 |
return $name;
|
119 |
$report['ARC']['FilterInfo'] = $this->Archive->FilterInfo;
|
120 |
$report['ARC']['Status']['Size'] = ($this->Archive->Size > DUPLICATOR_SCAN_SIZE_DEFAULT) ? 'Warn' : 'Good';
|
121 |
$report['ARC']['Status']['Names'] = (count($this->Archive->FilterInfo->Files->Warning) + count($this->Archive->FilterInfo->Dirs->Warning)) ? 'Warn' : 'Good';
|
122 |
+
//$report['ARC']['Status']['Big'] = count($this->Archive->FilterInfo->Files->Size) ? 'Warn' : 'Good';
|
123 |
$report['ARC']['Dirs'] = $this->Archive->Dirs;
|
124 |
$report['ARC']['Files'] = $this->Archive->Files;
|
125 |
|
128 |
$db = $this->Database->getScannerData();
|
129 |
$report['DB'] = $db;
|
130 |
|
131 |
+
$warnings = array(
|
132 |
$report['SRV']['PHP']['ALL'],
|
133 |
$report['SRV']['WP']['ALL'],
|
134 |
$report['ARC']['Status']['Size'],
|
135 |
$report['ARC']['Status']['Names'],
|
136 |
+
//$report['ARC']['Status']['Big'],
|
137 |
+
$db['Status']['DB_Size'],
|
138 |
+
$db['Status']['DB_Rows'],
|
139 |
+
$db['Status']['DB_Case']);
|
140 |
|
141 |
//array_count_values will throw a warning message if it has null values,
|
142 |
//so lets replace all nulls with empty string
|
485 |
*
|
486 |
* @return string A default packagename such as 20170218_blogname
|
487 |
*/
|
488 |
+
public static function getDefaultName($preDate = true)
|
489 |
{
|
490 |
//Remove specail_chars from final result
|
491 |
$special_chars = array(".", "-");
|
492 |
+
$name = ($preDate)
|
493 |
+
? date('Ymd') . '_' . sanitize_title(get_bloginfo('name', 'display'))
|
494 |
+
: sanitize_title(get_bloginfo('name', 'display')) . '_' . date('Ymd');
|
495 |
$name = substr(sanitize_file_name($name), 0, 40);
|
496 |
$name = str_replace($special_chars, '', $name);
|
497 |
return $name;
|
define.php
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
//Prevent directly browsing to the file
|
3 |
if (function_exists('plugin_dir_url'))
|
4 |
{
|
5 |
-
define('DUPLICATOR_VERSION', '1.2.
|
6 |
define('DUPLICATOR_HOMEPAGE', 'http://lifeinthegrid.com/labs/duplicator');
|
7 |
define('DUPLICATOR_PLUGIN_URL', plugin_dir_url(__FILE__));
|
8 |
define('DUPLICATOR_SITE_URL', get_site_url());
|
@@ -39,7 +39,7 @@ if (function_exists('plugin_dir_url'))
|
|
39 |
define('DUPLICATOR_SCAN_SIZE_DEFAULT', 157286400); //150MB
|
40 |
define('DUPLICATOR_SCAN_WARNFILESIZE', 3145728); //3MB
|
41 |
define('DUPLICATOR_SCAN_CACHESIZE', 1048576); //1MB
|
42 |
-
define('DUPLICATOR_SCAN_DB_ALL_ROWS',
|
43 |
define('DUPLICATOR_SCAN_DB_ALL_SIZE', 52428800); //50MB DB
|
44 |
define('DUPLICATOR_SCAN_DB_TBL_ROWS', 100000); //100K rows per table
|
45 |
define('DUPLICATOR_SCAN_DB_TBL_SIZE', 10485760); //10MB Table
|
2 |
//Prevent directly browsing to the file
|
3 |
if (function_exists('plugin_dir_url'))
|
4 |
{
|
5 |
+
define('DUPLICATOR_VERSION', '1.2.12');
|
6 |
define('DUPLICATOR_HOMEPAGE', 'http://lifeinthegrid.com/labs/duplicator');
|
7 |
define('DUPLICATOR_PLUGIN_URL', plugin_dir_url(__FILE__));
|
8 |
define('DUPLICATOR_SITE_URL', get_site_url());
|
39 |
define('DUPLICATOR_SCAN_SIZE_DEFAULT', 157286400); //150MB
|
40 |
define('DUPLICATOR_SCAN_WARNFILESIZE', 3145728); //3MB
|
41 |
define('DUPLICATOR_SCAN_CACHESIZE', 1048576); //1MB
|
42 |
+
define('DUPLICATOR_SCAN_DB_ALL_ROWS', 500000); //500k per DB
|
43 |
define('DUPLICATOR_SCAN_DB_ALL_SIZE', 52428800); //50MB DB
|
44 |
define('DUPLICATOR_SCAN_DB_TBL_ROWS', 100000); //100K rows per table
|
45 |
define('DUPLICATOR_SCAN_DB_TBL_SIZE', 10485760); //10MB Table
|
duplicator.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
Plugin Name: Duplicator
|
4 |
Plugin URI: http://www.lifeinthegrid.com/duplicator/
|
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.2.
|
7 |
Author: Snap Creek
|
8 |
Author URI: http://www.snapcreek.com/duplicator/
|
9 |
Text Domain: duplicator
|
@@ -183,8 +183,6 @@ if (is_admin() == true)
|
|
183 |
case 'duplicator-settings': include('views/settings/controller.php'); break;
|
184 |
case 'duplicator-tools': include('views/tools/controller.php'); break;
|
185 |
case 'duplicator-debug': include('debug/main.php'); break;
|
186 |
-
case 'duplicator-help': include('views/help/help.php'); break;
|
187 |
-
case 'duplicator-about': include('views/help/about.php'); break;
|
188 |
case 'duplicator-gopro': include('views/help/gopro.php'); break;
|
189 |
}
|
190 |
}
|
@@ -221,16 +219,6 @@ if (is_admin() == true)
|
|
221 |
$lang_txt = __('Settings', 'duplicator');
|
222 |
$page_settings = add_submenu_page('duplicator', $lang_txt, $lang_txt, $perms, 'duplicator-settings', 'duplicator_get_menu');
|
223 |
|
224 |
-
$perms = 'manage_options';
|
225 |
-
$perms = apply_filters($wpfront_caps_translator, $perms);
|
226 |
-
$lang_txt = __('Help', 'duplicator');
|
227 |
-
$page_help = add_submenu_page('duplicator', $lang_txt, $lang_txt, $perms, 'duplicator-help', 'duplicator_get_menu');
|
228 |
-
|
229 |
-
$perms = 'manage_options';
|
230 |
-
$perms = apply_filters($wpfront_caps_translator, $perms);
|
231 |
-
$lang_txt = __('About', 'duplicator');
|
232 |
-
$page_about = add_submenu_page('duplicator', $lang_txt, $lang_txt, $perms, 'duplicator-about', 'duplicator_get_menu');
|
233 |
-
|
234 |
$perms = 'manage_options';
|
235 |
$lang_txt = __('Go Pro!', 'duplicator');
|
236 |
$go_pro_link = '<span style="color:#f18500">' . $lang_txt . '</span>';
|
@@ -251,17 +239,13 @@ if (is_admin() == true)
|
|
251 |
//Apply Scripts
|
252 |
add_action('admin_print_scripts-' . $page_packages, 'duplicator_scripts');
|
253 |
add_action('admin_print_scripts-' . $page_settings, 'duplicator_scripts');
|
254 |
-
add_action('admin_print_scripts-' . $page_help, 'duplicator_scripts');
|
255 |
add_action('admin_print_scripts-' . $page_tools, 'duplicator_scripts');
|
256 |
-
add_action('admin_print_scripts-' . $page_about, 'duplicator_scripts');
|
257 |
add_action('admin_print_scripts-' . $page_gopro, 'duplicator_scripts');
|
258 |
|
259 |
//Apply Styles
|
260 |
add_action('admin_print_styles-' . $page_packages, 'duplicator_styles');
|
261 |
add_action('admin_print_styles-' . $page_settings, 'duplicator_styles');
|
262 |
-
add_action('admin_print_styles-' . $page_help, 'duplicator_styles');
|
263 |
add_action('admin_print_styles-' . $page_tools, 'duplicator_styles');
|
264 |
-
add_action('admin_print_styles-' . $page_about, 'duplicator_styles');
|
265 |
add_action('admin_print_styles-' . $page_gopro, 'duplicator_styles');
|
266 |
|
267 |
}
|
@@ -333,8 +317,7 @@ if (is_admin() == true)
|
|
333 |
$plugin = plugin_basename(__FILE__);
|
334 |
// create link
|
335 |
if ($file == $plugin) {
|
336 |
-
$links[] = '<a href="admin.php?page=duplicator-
|
337 |
-
$links[] = '<a href="admin.php?page=duplicator-about" title="' . __('Support the Plugin', 'duplicator') . '">' . __('About', 'duplicator') . '</a>';
|
338 |
return $links;
|
339 |
}
|
340 |
return $links;
|
3 |
Plugin Name: Duplicator
|
4 |
Plugin URI: http://www.lifeinthegrid.com/duplicator/
|
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.2.12
|
7 |
Author: Snap Creek
|
8 |
Author URI: http://www.snapcreek.com/duplicator/
|
9 |
Text Domain: duplicator
|
183 |
case 'duplicator-settings': include('views/settings/controller.php'); break;
|
184 |
case 'duplicator-tools': include('views/tools/controller.php'); break;
|
185 |
case 'duplicator-debug': include('debug/main.php'); break;
|
|
|
|
|
186 |
case 'duplicator-gopro': include('views/help/gopro.php'); break;
|
187 |
}
|
188 |
}
|
219 |
$lang_txt = __('Settings', 'duplicator');
|
220 |
$page_settings = add_submenu_page('duplicator', $lang_txt, $lang_txt, $perms, 'duplicator-settings', 'duplicator_get_menu');
|
221 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
222 |
$perms = 'manage_options';
|
223 |
$lang_txt = __('Go Pro!', 'duplicator');
|
224 |
$go_pro_link = '<span style="color:#f18500">' . $lang_txt . '</span>';
|
239 |
//Apply Scripts
|
240 |
add_action('admin_print_scripts-' . $page_packages, 'duplicator_scripts');
|
241 |
add_action('admin_print_scripts-' . $page_settings, 'duplicator_scripts');
|
|
|
242 |
add_action('admin_print_scripts-' . $page_tools, 'duplicator_scripts');
|
|
|
243 |
add_action('admin_print_scripts-' . $page_gopro, 'duplicator_scripts');
|
244 |
|
245 |
//Apply Styles
|
246 |
add_action('admin_print_styles-' . $page_packages, 'duplicator_styles');
|
247 |
add_action('admin_print_styles-' . $page_settings, 'duplicator_styles');
|
|
|
248 |
add_action('admin_print_styles-' . $page_tools, 'duplicator_styles');
|
|
|
249 |
add_action('admin_print_styles-' . $page_gopro, 'duplicator_styles');
|
250 |
|
251 |
}
|
317 |
$plugin = plugin_basename(__FILE__);
|
318 |
// create link
|
319 |
if ($file == $plugin) {
|
320 |
+
$links[] = '<a href="admin.php?page=duplicator-gopro" title="' . __('Get Help', 'duplicator') . '" style="">' . __('Go Pro', 'duplicator') . '</a>';
|
|
|
321 |
return $links;
|
322 |
}
|
323 |
return $links;
|
installer/build/assets/inc.css.php
CHANGED
@@ -158,7 +158,7 @@
|
|
158 |
/* ======================================
|
159 |
STEP 4 VIEW
|
160 |
====================================== */
|
161 |
-
div.s4-final-title {color:#BE2323;}
|
162 |
div.s4-connect {font-size:12px; text-align:center; font-style:italic; position:absolute; bottom:10px; padding:10px; width:100%; margin-top:20px}
|
163 |
table.s4-report-results,
|
164 |
table.s4-report-errs {border-collapse:collapse; border:1px solid #dfdfdf; }
|
158 |
/* ======================================
|
159 |
STEP 4 VIEW
|
160 |
====================================== */
|
161 |
+
div.s4-final-title {color:#BE2323;font-size:18px}
|
162 |
div.s4-connect {font-size:12px; text-align:center; font-style:italic; position:absolute; bottom:10px; padding:10px; width:100%; margin-top:20px}
|
163 |
table.s4-report-results,
|
164 |
table.s4-report-errs {border-collapse:collapse; border:1px solid #dfdfdf; }
|
installer/build/view.step4.php
CHANGED
@@ -28,7 +28,7 @@ VIEW: STEP 4 - INPUT -->
|
|
28 |
Step <span class="step">4</span> of 4: Test
|
29 |
</div><br />
|
30 |
|
31 |
-
<div class="hdr-
|
32 |
<div class="s4-final-title">Final Steps</div>
|
33 |
</div>
|
34 |
|
28 |
Step <span class="step">4</span> of 4: Test
|
29 |
</div><br />
|
30 |
|
31 |
+
<div class="hdr-sub3">
|
32 |
<div class="s4-final-title">Final Steps</div>
|
33 |
</div>
|
34 |
|
readme.txt
CHANGED
@@ -4,7 +4,7 @@ Donate link: www.lifeinthegrid.com/partner
|
|
4 |
Tags: migration, backup, restore, move, migrate, duplicate, transfer, clone, automate, copy site
|
5 |
Requires at least: 4.0
|
6 |
Tested up to: 4.8
|
7 |
-
Stable tag: 1.2.
|
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.
|
@@ -16,7 +16,7 @@ WordPress migration and backups are much easier with Duplicator! Clone, backup,
|
|
16 |
For complete details visit [snapcreek.com](https://snapcreek.com/duplicator/?utm_source=duplicator_free&utm_medium=wp_org&utm_content=desc_details&utm_campaign=duplicator_free).
|
17 |
|
18 |
= Quick Video Demo =
|
19 |
-
http://www.youtube.com/watch?v=
|
20 |
|
21 |
= Overview =
|
22 |
Duplicator enables you to:
|
4 |
Tags: migration, backup, restore, move, migrate, duplicate, transfer, clone, automate, copy site
|
5 |
Requires at least: 4.0
|
6 |
Tested up to: 4.8
|
7 |
+
Stable tag: 1.2.12
|
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.
|
16 |
For complete details visit [snapcreek.com](https://snapcreek.com/duplicator/?utm_source=duplicator_free&utm_medium=wp_org&utm_content=desc_details&utm_campaign=duplicator_free).
|
17 |
|
18 |
= Quick Video Demo =
|
19 |
+
http://www.youtube.com/watch?v=oc73jtvHWYQ
|
20 |
|
21 |
= Overview =
|
22 |
Duplicator enables you to:
|
views/packages/main/controller.php
CHANGED
@@ -4,7 +4,7 @@ $current_tab = isset($_REQUEST['tab']) ? esc_html($_REQUEST['tab']) : 'list';
|
|
4 |
?>
|
5 |
|
6 |
<style>
|
7 |
-
|
8 |
table#dup-toolbar td {white-space: nowrap !important; padding:10px 0 0 0}
|
9 |
table#dup-toolbar {width:100%; border:0 solid red; padding: 0; margin:8px 0 4px 0; height: 35px}
|
10 |
table#dup-toolbar td:last-child {font-size:16px; width:100%; text-align: right; vertical-align: bottom;white-space:nowrap;}
|
4 |
?>
|
5 |
|
6 |
<style>
|
7 |
+
/*TOOLBAR TABLE*/
|
8 |
table#dup-toolbar td {white-space: nowrap !important; padding:10px 0 0 0}
|
9 |
table#dup-toolbar {width:100%; border:0 solid red; padding: 0; margin:8px 0 4px 0; height: 35px}
|
10 |
table#dup-toolbar td:last-child {font-size:16px; width:100%; text-align: right; vertical-align: bottom;white-space:nowrap;}
|
views/packages/main/s1.setup1.php
CHANGED
@@ -19,7 +19,6 @@ DUP_Util::initSnapshotDirectory();
|
|
19 |
$Package = DUP_Package::getActive();
|
20 |
$dup_tests = array();
|
21 |
$dup_tests = DUP_Server::getRequirements();
|
22 |
-
$default_name = DUP_Package::getDefaultName();
|
23 |
|
24 |
//View State
|
25 |
$ctrl_ui = new DUP_CTRL_UI();
|
@@ -79,8 +78,9 @@ TOOL BAR: STEPS -->
|
|
79 |
|
80 |
<!-- ============================
|
81 |
SYSTEM REQUIREMENTS -->
|
82 |
-
|
83 |
-
|
|
|
84 |
<?php
|
85 |
_e("Requirements:", 'duplicator');
|
86 |
echo ($dup_tests['Success']) ? ' <div class="dup-sys-pass">Pass</div>' : ' <div class="dup-sys-fail">Fail</div>';
|
@@ -88,7 +88,7 @@ SYSTEM REQUIREMENTS -->
|
|
88 |
<div class="dup-box-arrow"></div>
|
89 |
</div>
|
90 |
|
91 |
-
<div class="dup-box-panel"
|
92 |
|
93 |
<div class="dup-sys-section">
|
94 |
<i><?php _e("System requirements must pass for the Duplicator to work properly. Click each link for details.", 'duplicator'); ?></i>
|
@@ -214,6 +214,7 @@ SYSTEM REQUIREMENTS -->
|
|
214 |
|
215 |
</div>
|
216 |
</div><br/>
|
|
|
217 |
|
218 |
|
219 |
<!-- ============================
|
19 |
$Package = DUP_Package::getActive();
|
20 |
$dup_tests = array();
|
21 |
$dup_tests = DUP_Server::getRequirements();
|
|
|
22 |
|
23 |
//View State
|
24 |
$ctrl_ui = new DUP_CTRL_UI();
|
78 |
|
79 |
<!-- ============================
|
80 |
SYSTEM REQUIREMENTS -->
|
81 |
+
<?php if (! $dup_tests['Success']) : ?>
|
82 |
+
<div class="dup-box">
|
83 |
+
<div class="dup-box-title">
|
84 |
<?php
|
85 |
_e("Requirements:", 'duplicator');
|
86 |
echo ($dup_tests['Success']) ? ' <div class="dup-sys-pass">Pass</div>' : ' <div class="dup-sys-fail">Fail</div>';
|
88 |
<div class="dup-box-arrow"></div>
|
89 |
</div>
|
90 |
|
91 |
+
<div class="dup-box-panel">
|
92 |
|
93 |
<div class="dup-sys-section">
|
94 |
<i><?php _e("System requirements must pass for the Duplicator to work properly. Click each link for details.", 'duplicator'); ?></i>
|
214 |
|
215 |
</div>
|
216 |
</div><br/>
|
217 |
+
<?php endif; ?>
|
218 |
|
219 |
|
220 |
<!-- ============================
|
views/packages/main/s1.setup2.php
CHANGED
@@ -8,10 +8,11 @@
|
|
8 |
form#dup-form-opts textarea, input[type="text"] {width:100%}
|
9 |
form#dup-form-opts textarea#filter-dirs {height:95px;}
|
10 |
form#dup-form-opts textarea#filter-exts {height:27px}
|
11 |
-
textarea#
|
12 |
div.dup-notes-add {float:right; margin:-4px 2px 4px 0;}
|
13 |
div#dup-notes-area {display:none}
|
14 |
-
|
|
|
15 |
/*ARCHIVE SECTION*/
|
16 |
form#dup-form-opts div.tabs-panel{max-height:550px; padding:10px; min-height:280px}
|
17 |
form#dup-form-opts ul li.tabs{font-weight:bold}
|
@@ -47,14 +48,16 @@
|
|
47 |
<form id="dup-form-opts" method="post" action="?page=duplicator&tab=new2<?php echo $retry_enabled ? '&retry=1' : '';?>" data-validate="parsley">
|
48 |
<input type="hidden" id="dup-form-opts-action" name="action" value="">
|
49 |
<div>
|
50 |
-
<label for="package-name"><b
|
51 |
-
|
52 |
-
<
|
|
|
|
|
53 |
</div>
|
54 |
-
<a href="javascript:void(0)" onclick="Duplicator.Pack.ResetName()" title="<?php _e('
|
55 |
<input id="package-name" name="package-name" type="text" value="<?php echo $Package->Name ?>" maxlength="40" data-required="true" data-regexp="^[0-9A-Za-z|_]+$" /> <br/>
|
56 |
<div id="dup-notes-area">
|
57 |
-
<label><b
|
58 |
<textarea id="package-notes" name="package-notes" maxlength="300" /><?php echo $Package->Notes ?></textarea>
|
59 |
</div>
|
60 |
</div>
|
@@ -425,11 +428,16 @@ THICK-BOX DIALOGS: -->
|
|
425 |
$confirm1->message = __('This will clear and reset all of the current package settings. Would you like to continue?', 'duplicator');
|
426 |
$confirm1->jscallback = 'Duplicator.Pack.ResetSettings()';
|
427 |
$confirm1->initConfirm();
|
|
|
|
|
|
|
|
|
428 |
?>
|
429 |
<script>
|
430 |
jQuery(document).ready(function ($)
|
431 |
{
|
432 |
-
var
|
|
|
433 |
var DUP_NAMELAST = $('#package-name').val();
|
434 |
|
435 |
Duplicator.Pack.ExportOnlyDB = function ()
|
@@ -508,7 +516,12 @@ jQuery(document).ready(function ($)
|
|
508 |
Duplicator.Pack.ResetName = function ()
|
509 |
{
|
510 |
var current = $('#package-name').val();
|
511 |
-
|
|
|
|
|
|
|
|
|
|
|
512 |
}
|
513 |
|
514 |
Duplicator.Pack.ExcludeTable = function (check)
|
8 |
form#dup-form-opts textarea, input[type="text"] {width:100%}
|
9 |
form#dup-form-opts textarea#filter-dirs {height:95px;}
|
10 |
form#dup-form-opts textarea#filter-exts {height:27px}
|
11 |
+
textarea#package-notes {height:75px;}
|
12 |
div.dup-notes-add {float:right; margin:-4px 2px 4px 0;}
|
13 |
div#dup-notes-area {display:none}
|
14 |
+
input#package-name {padding:4px; height: 2em; font-size: 1.2em; line-height: 100%; width: 100%; margin: 0 0 3px;}
|
15 |
+
label.lbl-larger {font-size:1.2em}
|
16 |
/*ARCHIVE SECTION*/
|
17 |
form#dup-form-opts div.tabs-panel{max-height:550px; padding:10px; min-height:280px}
|
18 |
form#dup-form-opts ul li.tabs{font-weight:bold}
|
48 |
<form id="dup-form-opts" method="post" action="?page=duplicator&tab=new2<?php echo $retry_enabled ? '&retry=1' : '';?>" data-validate="parsley">
|
49 |
<input type="hidden" id="dup-form-opts-action" name="action" value="">
|
50 |
<div>
|
51 |
+
<label for="package-name" class="lbl-larger"><b> <?php _e('Name', 'duplicator') ?>:</b> </label>
|
52 |
+
<div class="dup-notes-add">
|
53 |
+
<a href="javascript:void(0)" onclick="jQuery('#dup-notes-area').toggle()">
|
54 |
+
[<?php _e('Add Notes', 'duplicator') ?>]
|
55 |
+
</a>
|
56 |
</div>
|
57 |
+
<a href="javascript:void(0)" onclick="Duplicator.Pack.ResetName()" title="<?php _e('Toggle a default name', 'duplicator') ?>"><i class="fa fa-undo"></i></a> <br/>
|
58 |
<input id="package-name" name="package-name" type="text" value="<?php echo $Package->Name ?>" maxlength="40" data-required="true" data-regexp="^[0-9A-Za-z|_]+$" /> <br/>
|
59 |
<div id="dup-notes-area">
|
60 |
+
<label class="lbl-larger"><b> <?php _e('Notes', 'duplicator') ?>:</b></label> <br/>
|
61 |
<textarea id="package-notes" name="package-notes" maxlength="300" /><?php echo $Package->Notes ?></textarea>
|
62 |
</div>
|
63 |
</div>
|
428 |
$confirm1->message = __('This will clear and reset all of the current package settings. Would you like to continue?', 'duplicator');
|
429 |
$confirm1->jscallback = 'Duplicator.Pack.ResetSettings()';
|
430 |
$confirm1->initConfirm();
|
431 |
+
|
432 |
+
$default_name1 = DUP_Package::getDefaultName();
|
433 |
+
$default_name2 = DUP_Package::getDefaultName(false);
|
434 |
+
|
435 |
?>
|
436 |
<script>
|
437 |
jQuery(document).ready(function ($)
|
438 |
{
|
439 |
+
var DUP_NAMEDEFAULT1 = '<?php echo $default_name1 ?>';
|
440 |
+
var DUP_NAMEDEFAULT2 = '<?php echo $default_name2 ?>';
|
441 |
var DUP_NAMELAST = $('#package-name').val();
|
442 |
|
443 |
Duplicator.Pack.ExportOnlyDB = function ()
|
516 |
Duplicator.Pack.ResetName = function ()
|
517 |
{
|
518 |
var current = $('#package-name').val();
|
519 |
+
switch (current) {
|
520 |
+
case DUP_NAMEDEFAULT1 : $('#package-name').val(DUP_NAMELAST); break;
|
521 |
+
case DUP_NAMEDEFAULT2 : $('#package-name').val(DUP_NAMEDEFAULT1); break;
|
522 |
+
case DUP_NAMELAST : $('#package-name').val(DUP_NAMEDEFAULT2); break;
|
523 |
+
default: $('#package-name').val(DUP_NAMELAST);
|
524 |
+
}
|
525 |
}
|
526 |
|
527 |
Duplicator.Pack.ExcludeTable = function (check)
|
views/packages/main/s2.scan1.php
CHANGED
@@ -24,7 +24,7 @@
|
|
24 |
form#form-duplicator {text-align:center; max-width:650px; min-height:200px; margin:0px auto 0px auto; padding:0px;}
|
25 |
div.dup-progress-title {font-size:22px; padding:5px 0 20px 0; font-weight:bold}
|
26 |
div#dup-msg-success {padding:0 5px 5px 5px; text-align:left}
|
27 |
-
div#dup-msg-success div.details {padding:10px 15px 10px 15px; margin:5px 0 15px 0; background:#fff; border-radius:5px; border:1px solid #ddd; }
|
28 |
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}
|
29 |
div#dup-msg-success-subtitle {color:#999; margin:0; font-size:11px}
|
30 |
div.dup-scan-filter-status {display:inline; float:right; font-size:11px; margin-right:10px; color:#630f0f;}
|
@@ -41,12 +41,14 @@
|
|
41 |
div.scan-item div.title {background-color:#F1F1F1; width:100%; padding:4px 0 4px 0; cursor:pointer; height:20px;}
|
42 |
div.scan-item div.title:hover {background-color:#ECECEC;}
|
43 |
div.scan-item div.text {font-weight:bold; font-size:14px; float:left; position:relative; left:10px}
|
44 |
-
div.scan-item div.badge-pass {float:right; background:green; border-radius:5px; color:#fff; min-width:
|
45 |
-
div.scan-item div.badge-warn {float:right; background:#630f0f; border-radius:5px; color:#fff; min-width:
|
46 |
div.scan-item div.info {display:none; padding:10px; background:#fff}
|
47 |
div.scan-good {display:inline-block; color:green;font-weight:bold;}
|
48 |
div.scan-warn {display:inline-block; color:#630f0f;font-weight:bold;}
|
49 |
div.dup-more-details {float:right; font-size:14px}
|
|
|
|
|
50 |
div.dup-more-details:hover {color:#777; cursor:pointer}
|
51 |
|
52 |
/*FILES */
|
@@ -80,10 +82,9 @@
|
|
80 |
div#size-more-details li {margin:0}
|
81 |
|
82 |
/*DATABASE*/
|
83 |
-
div#dup-scan-db-info {margin:
|
84 |
-
div#data-db-tablelist {max-height:
|
85 |
-
div#data-db-tablelist
|
86 |
-
div#data-db-tablelist span{display:inline-block; min-width:75px}
|
87 |
div#data-db-size1 {display:inline-block; float:right; font-size:11px; margin-right:5px;}
|
88 |
|
89 |
/*WARNING-CONTINUE*/
|
@@ -175,7 +176,7 @@ TOOL BAR:STEPS -->
|
|
175 |
<div class="details">
|
176 |
<?php
|
177 |
include ('s2.scan2.php');
|
178 |
-
echo '<br
|
179 |
include ('s2.scan3.php')
|
180 |
?>
|
181 |
</div>
|
@@ -184,7 +185,7 @@ TOOL BAR:STEPS -->
|
|
184 |
<div id="dup-scan-warning-continue">
|
185 |
<div class="msg1">
|
186 |
<label for="dup-scan-warning-continue-checkbox">
|
187 |
-
<?php _e('A
|
188 |
</label>
|
189 |
<div style="padding:8px 0">
|
190 |
<input type="checkbox" id="dup-scan-warning-continue-checkbox" onclick="Duplicator.Pack.warningContinue(this)"/>
|
@@ -328,9 +329,9 @@ jQuery(document).ready(function($)
|
|
328 |
var result;
|
329 |
switch (status) {
|
330 |
case false : result = '<div class="scan-warn"><i class="fa fa-exclamation-triangle"></i></div>'; break;
|
331 |
-
case 'Warn' : result = '<div class="badge-warn"
|
332 |
case true : result = '<div class="scan-good"><i class="fa fa-check"></i></div>'; break;
|
333 |
-
case 'Good' : result = '<div class="badge-pass"
|
334 |
default :
|
335 |
result = 'unable to read';
|
336 |
}
|
24 |
form#form-duplicator {text-align:center; max-width:650px; min-height:200px; margin:0px auto 0px auto; padding:0px;}
|
25 |
div.dup-progress-title {font-size:22px; padding:5px 0 20px 0; font-weight:bold}
|
26 |
div#dup-msg-success {padding:0 5px 5px 5px; text-align:left}
|
27 |
+
div#dup-msg-success div.details {padding:10px 15px 10px 15px; margin:5px 0 15px 0; background:#fff; border-radius:5px; border:1px solid #ddd; box-shadow:0 8px 6px -6px #999; }
|
28 |
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}
|
29 |
div#dup-msg-success-subtitle {color:#999; margin:0; font-size:11px}
|
30 |
div.dup-scan-filter-status {display:inline; float:right; font-size:11px; margin-right:10px; color:#630f0f;}
|
41 |
div.scan-item div.title {background-color:#F1F1F1; width:100%; padding:4px 0 4px 0; cursor:pointer; height:20px;}
|
42 |
div.scan-item div.title:hover {background-color:#ECECEC;}
|
43 |
div.scan-item div.text {font-weight:bold; font-size:14px; float:left; position:relative; left:10px}
|
44 |
+
div.scan-item div.badge-pass {float:right; background:green; border-radius:5px; color:#fff; min-width:45px; text-align:center; position:relative; right:10px; font-size:12px}
|
45 |
+
div.scan-item div.badge-warn {float:right; background:#630f0f; border-radius:5px; color:#fff; min-width:45px; text-align:center; position:relative; right:10px; font-size:12px}
|
46 |
div.scan-item div.info {display:none; padding:10px; background:#fff}
|
47 |
div.scan-good {display:inline-block; color:green;font-weight:bold;}
|
48 |
div.scan-warn {display:inline-block; color:#630f0f;font-weight:bold;}
|
49 |
div.dup-more-details {float:right; font-size:14px}
|
50 |
+
div.dup-more-details a{color:black}
|
51 |
+
div.dup-more-details a:hover {color:#777; cursor:pointer}
|
52 |
div.dup-more-details:hover {color:#777; cursor:pointer}
|
53 |
|
54 |
/*FILES */
|
82 |
div#size-more-details li {margin:0}
|
83 |
|
84 |
/*DATABASE*/
|
85 |
+
div#dup-scan-db-info {margin-top:5px}
|
86 |
+
div#data-db-tablelist {max-height:250px; overflow-y:scroll; border:1px solid silver; padding:8px; background: #efefef; border-radius: 4px}
|
87 |
+
div#data-db-tablelist td{padding:0 5px 3px 20px; min-width:100px}
|
|
|
88 |
div#data-db-size1 {display:inline-block; float:right; font-size:11px; margin-right:5px;}
|
89 |
|
90 |
/*WARNING-CONTINUE*/
|
176 |
<div class="details">
|
177 |
<?php
|
178 |
include ('s2.scan2.php');
|
179 |
+
echo '<br/>';
|
180 |
include ('s2.scan3.php')
|
181 |
?>
|
182 |
</div>
|
185 |
<div id="dup-scan-warning-continue">
|
186 |
<div class="msg1">
|
187 |
<label for="dup-scan-warning-continue-checkbox">
|
188 |
+
<?php _e('A notice status has been detected, are you sure you want to continue?', 'duplicator');?>
|
189 |
</label>
|
190 |
<div style="padding:8px 0">
|
191 |
<input type="checkbox" id="dup-scan-warning-continue-checkbox" onclick="Duplicator.Pack.warningContinue(this)"/>
|
329 |
var result;
|
330 |
switch (status) {
|
331 |
case false : result = '<div class="scan-warn"><i class="fa fa-exclamation-triangle"></i></div>'; break;
|
332 |
+
case 'Warn' : result = '<div class="badge-warn"><?php _e("Notice", 'duplicator') ?></div>'; break;
|
333 |
case true : result = '<div class="scan-good"><i class="fa fa-check"></i></div>'; break;
|
334 |
+
case 'Good' : result = '<div class="badge-pass"><?php _e("Good", 'duplicator') ?></div>'; break;
|
335 |
default :
|
336 |
result = 'unable to read';
|
337 |
}
|
views/packages/main/s2.scan2.php
CHANGED
@@ -1,7 +1,10 @@
|
|
1 |
<!-- ================================================================
|
2 |
SERVER -->
|
3 |
<div class="details-title">
|
4 |
-
<i class="fa fa-hdd-o"></i> <?php
|
|
|
|
|
|
|
5 |
</div>
|
6 |
|
7 |
<!-- ============
|
1 |
<!-- ================================================================
|
2 |
SERVER -->
|
3 |
<div class="details-title">
|
4 |
+
<i class="fa fa-hdd-o"></i> <?php _e("Server", 'duplicator'); ?>
|
5 |
+
<div class="dup-more-details" title="<?php _e('Show Diagnostics', 'duplicator');?>">
|
6 |
+
<a href="?page=duplicator-tools&tab=diagnostics" target="_blank"><i class="fa fa-microchip"></i></a>
|
7 |
+
</div>
|
8 |
</div>
|
9 |
|
10 |
<!-- ============
|
views/packages/main/s2.scan3.php
CHANGED
@@ -37,7 +37,7 @@ ARCHIVE -->
|
|
37 |
TOTAL SIZE -->
|
38 |
<div class="scan-item">
|
39 |
<div class="title" onclick="Duplicator.Pack.toggleScanItem(this);">
|
40 |
-
<div class="text"><i class="fa fa-caret-right"></i> <?php _e('Size
|
41 |
<div id="data-arc-status-size"></div>
|
42 |
</div>
|
43 |
<div class="info" id="scan-itme-file-size">
|
@@ -63,7 +63,7 @@ TOTAL SIZE -->
|
|
63 |
echo '<li>' . __('Apply the "Quick Filters" below or click the back button to apply on previous page.', 'duplicator') . '</li>';
|
64 |
echo '<li>' . __('See the FAQ link to adjust this hosts timeout limits: ', 'duplicator') . " <a href='https://snapcreek.com/duplicator/docs/faqs-tech/#faq-trouble-100-q' target='_blank'>" . __('What can I try for Timeout Issues?', 'duplicator') . '</a></li>';
|
65 |
echo '<li>' . __('Consider trying multi-threaded support in ', 'duplicator');
|
66 |
-
|
67 |
echo '</li>';
|
68 |
echo '</ul>';
|
69 |
|
@@ -123,7 +123,17 @@ TOTAL SIZE -->
|
|
123 |
{{/if}}
|
124 |
</div>
|
125 |
</div>
|
126 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
127 |
<button type="button" class="button-small" onclick="Duplicator.Pack.applyFilters(this, 'large')">
|
128 |
<i class="fa fa-filter"></i> <?php _e('Add Filters & Rescan', 'duplicator');?>
|
129 |
</button>
|
@@ -131,6 +141,9 @@ TOTAL SIZE -->
|
|
131 |
<i class="fa fa-clipboard" aria-hidden="true"></i>
|
132 |
</button>
|
133 |
</div>
|
|
|
|
|
|
|
134 |
</script>
|
135 |
<div id="hb-files-large-result" class="hb-files-style"></div>
|
136 |
</div>
|
@@ -140,7 +153,7 @@ TOTAL SIZE -->
|
|
140 |
FILE NAME CHECKS -->
|
141 |
<div class="scan-item scan-item-last">
|
142 |
<div class="title" onclick="Duplicator.Pack.toggleScanItem(this);">
|
143 |
-
<div class="text"><i class="fa fa-caret-right"></i> <?php _e('Name
|
144 |
<div id="data-arc-status-names"></div>
|
145 |
</div>
|
146 |
<div class="info">
|
@@ -210,13 +223,12 @@ FILE NAME CHECKS -->
|
|
210 |
<div id="hb-files-utf8-result" class="hb-files-style"></div>
|
211 |
</div>
|
212 |
</div>
|
213 |
-
<br/><br/>
|
214 |
|
215 |
|
216 |
<!-- ============
|
217 |
DATABASE -->
|
218 |
<div id="dup-scan-db">
|
219 |
-
<div class="scan-header
|
220 |
<i class="fa fa-table"></i>
|
221 |
<?php _e("Database", 'duplicator'); ?>
|
222 |
<i class="fa fa-question-circle data-size-help"
|
@@ -233,79 +245,55 @@ DATABASE -->
|
|
233 |
</div>
|
234 |
</div>
|
235 |
|
236 |
-
|
237 |
-
DB: TOTAL SIZE -->
|
238 |
-
<div class="scan-item">
|
239 |
<div class="title" onclick="Duplicator.Pack.toggleScanItem(this);">
|
240 |
-
<div class="text"><i class="fa fa-caret-right"></i> <?php _e('
|
241 |
<div id="data-db-status-size"></div>
|
242 |
</div>
|
243 |
<div class="info">
|
|
|
244 |
<b><?php _e('Size', 'duplicator');?>:</b> <span id="data-db-size2"></span> |
|
245 |
<b><?php _e('Tables', 'duplicator');?>:</b> <span id="data-db-tablecount"></span> |
|
246 |
-
<b><?php _e('Records', 'duplicator');?>:</b> <span id="data-db-rows"></span
|
247 |
-
<br/><br/>
|
248 |
<?php
|
249 |
-
|
250 |
-
|
251 |
-
printf(__('Total size and row counts are approximate values. The thresholds that trigger warnings are %1$s OR %2$s records total for the entire database. '
|
252 |
-
. 'The larger the databases the more time it takes to process and execute. This can cause issues with budget hosts that have cpu/memory limits, and timeout constraints.', 'duplicator'),
|
253 |
DUP_Util::byteSize(DUPLICATOR_SCAN_DB_ALL_SIZE),
|
254 |
number_format(DUPLICATOR_SCAN_DB_ALL_ROWS));
|
255 |
|
256 |
-
|
257 |
-
echo '<br/><br/>';
|
258 |
-
echo '<b>' . __('Options:', 'duplicator') . '</b><br/>';
|
259 |
-
$lnk = '<a href="maint/repair.php" target="_blank">' . __('Repair and optimize', 'duplicator') . '</a>';
|
260 |
-
printf(__('1. %1$s the database to improve its size, performance and efficiency.', 'duplicator'), $lnk);
|
261 |
-
echo '<br/><br/>';
|
262 |
-
$lnk = '<a href="?page=duplicator-settings&tab=package" target="_blank">' . __('Enable mysqldump', 'duplicator') . '</a>';
|
263 |
-
printf(__('2. %1$s if this host supports the option.', 'duplicator'), $lnk);
|
264 |
-
echo '<br/><br/>';
|
265 |
-
_e('3. Consider removing data from tables that store logging, statistical or other non-critical information.', 'duplicator');
|
266 |
-
?>
|
267 |
-
</div>
|
268 |
-
</div>
|
269 |
|
270 |
-
|
271 |
-
|
272 |
-
|
273 |
-
|
274 |
-
<div class="text"><i class="fa fa-caret-right"></i> <?php _e('Table Details', 'duplicator');?></div>
|
275 |
-
<div id="data-db-status-details"></div>
|
276 |
-
</div>
|
277 |
-
<div class="info">
|
278 |
-
<?php
|
279 |
-
//OVERVIEW
|
280 |
-
echo '<b>' . __('Overview:', 'duplicator') . '</b><br/>';
|
281 |
-
printf(__('The thresholds that trigger warnings for individual tables are %1$s OR %2$s records OR tables names with upper-case characters. The larger '
|
282 |
-
. 'the table the more time it takes to process and execute. This can cause issues with budget hosts that have cpu/memory limits, and timeout constraints.', 'duplicator'),
|
283 |
DUP_Util::byteSize(DUPLICATOR_SCAN_DB_TBL_SIZE),
|
284 |
number_format(DUPLICATOR_SCAN_DB_TBL_ROWS));
|
285 |
-
|
286 |
-
|
287 |
-
|
288 |
-
|
289 |
-
|
|
|
|
|
|
|
|
|
290 |
printf(__('1. Run a %1$s on the table to improve the overall size and performance.', 'duplicator'), $lnk);
|
291 |
echo '<br/><br/>';
|
292 |
-
_e('2. Remove stale
|
293 |
echo '<br/><br/>';
|
294 |
-
$lnk = '<a href="
|
295 |
-
printf(__('3.
|
296 |
echo '<br/><br/>';
|
|
|
|
|
|
|
297 |
|
298 |
-
echo '<b>' . __('Tables:', 'duplicator') . '</b><br/>';
|
299 |
?>
|
300 |
-
|
301 |
-
<div id="dup-scan-db-info">
|
302 |
-
<div id="data-db-tablelist"></div>
|
303 |
-
</div>
|
304 |
</div>
|
305 |
</div>
|
306 |
-
|
307 |
-
|
308 |
-
</div><!-- end .dup-scan-db -->
|
309 |
|
310 |
|
311 |
<!-- ==========================================
|
@@ -601,28 +589,21 @@ jQuery(document).ready(function($)
|
|
601 |
$('div.hb-filter-file-list-result').html(html);
|
602 |
|
603 |
Duplicator.UI.loadQtip();
|
604 |
-
|
605 |
-
//Auto check the large quick filters directories
|
606 |
-
//var $dirChecks = $("#hb-files-large-result div.directory input[name='dir_paths[]']");
|
607 |
-
//$.each($dirChecks, function() {$(this).trigger('click');})
|
608 |
}
|
609 |
|
610 |
|
611 |
Duplicator.Pack.initArchiveDBData = function(data)
|
612 |
{
|
613 |
var errMsg = "unable to read";
|
|
|
614 |
var html = "";
|
615 |
var DB_TotalSize = 'Good';
|
616 |
-
var DB_TableDetails = 'Good';
|
617 |
var DB_TableRowMax = <?php echo DUPLICATOR_SCAN_DB_TBL_ROWS; ?>;
|
618 |
var DB_TableSizeMax = <?php echo DUPLICATOR_SCAN_DB_TBL_SIZE; ?>;
|
619 |
if (data.DB.Status.Success)
|
620 |
{
|
621 |
DB_TotalSize = data.DB.Status.DB_Rows == 'Warn' || data.DB.Status.DB_Size == 'Warn' ? 'Warn' : 'Good';
|
622 |
-
DB_TableDetails = data.DB.Status.TBL_Rows == 'Warn' || data.DB.Status.TBL_Size == 'Warn' || data.DB.Status.TBL_Case == 'Warn' ? 'Warn' : 'Good';
|
623 |
-
|
624 |
$('#data-db-status-size').html(Duplicator.Pack.setScanStatus(DB_TotalSize));
|
625 |
-
$('#data-db-status-details').html(Duplicator.Pack.setScanStatus(DB_TableDetails));
|
626 |
$('#data-db-size1').text(data.DB.Size || errMsg);
|
627 |
$('#data-db-size2').text(data.DB.Size || errMsg);
|
628 |
$('#data-db-rows').text(data.DB.Rows || errMsg);
|
@@ -633,11 +614,24 @@ jQuery(document).ready(function($)
|
|
633 |
} else {
|
634 |
$.each(data.DB.TableList, function(i) {
|
635 |
html += '<b>' + i + '</b><br/>';
|
|
|
636 |
$.each(data.DB.TableList[i], function(key,val) {
|
637 |
-
|
638 |
-
|
639 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
640 |
});
|
|
|
641 |
});
|
642 |
}
|
643 |
$('#data-db-tablelist').append(html);
|
@@ -654,4 +648,4 @@ jQuery(document).ready(function($)
|
|
654 |
?>
|
655 |
|
656 |
});
|
657 |
-
</script>
|
37 |
TOTAL SIZE -->
|
38 |
<div class="scan-item">
|
39 |
<div class="title" onclick="Duplicator.Pack.toggleScanItem(this);">
|
40 |
+
<div class="text"><i class="fa fa-caret-right"></i> <?php _e('Size Checks', 'duplicator');?></div>
|
41 |
<div id="data-arc-status-size"></div>
|
42 |
</div>
|
43 |
<div class="info" id="scan-itme-file-size">
|
63 |
echo '<li>' . __('Apply the "Quick Filters" below or click the back button to apply on previous page.', 'duplicator') . '</li>';
|
64 |
echo '<li>' . __('See the FAQ link to adjust this hosts timeout limits: ', 'duplicator') . " <a href='https://snapcreek.com/duplicator/docs/faqs-tech/#faq-trouble-100-q' target='_blank'>" . __('What can I try for Timeout Issues?', 'duplicator') . '</a></li>';
|
65 |
echo '<li>' . __('Consider trying multi-threaded support in ', 'duplicator');
|
66 |
+
echo "<a href='https://snapcreek.com/duplicator/?utm_source=duplicator_free&utm_medium=wordpress_plugin&utm_content=multithreaded_pro&utm_campaign=duplicator_pro' target='_blank'>" . __('Duplicator Pro.', 'duplicator') . "</a>";
|
67 |
echo '</li>';
|
68 |
echo '</ul>';
|
69 |
|
123 |
{{/if}}
|
124 |
</div>
|
125 |
</div>
|
126 |
+
|
127 |
+
<?php
|
128 |
+
if ($zip_check != null) {
|
129 |
+
echo '<div style="text-align:center; font-weight:bold; font-style:italic; float:left"> ';
|
130 |
+
_e('Package support up to 2GB in', 'duplicator');
|
131 |
+
echo ' <a href="https://snapcreek.com/duplicator/?utm_source=duplicator_free&utm_medium=wordpress_plugin&utm_content=free_size_warn&utm_campaign=duplicator_pro" target="_blank">' . __('Professional', 'duplicator') . '</a>';
|
132 |
+
echo '</div>';
|
133 |
+
}
|
134 |
+
?>
|
135 |
+
|
136 |
+
<div class="apply-btn" style="margin-bottom:5px;float:right">
|
137 |
<button type="button" class="button-small" onclick="Duplicator.Pack.applyFilters(this, 'large')">
|
138 |
<i class="fa fa-filter"></i> <?php _e('Add Filters & Rescan', 'duplicator');?>
|
139 |
</button>
|
141 |
<i class="fa fa-clipboard" aria-hidden="true"></i>
|
142 |
</button>
|
143 |
</div>
|
144 |
+
<div style="clear:both"></div>
|
145 |
+
|
146 |
+
|
147 |
</script>
|
148 |
<div id="hb-files-large-result" class="hb-files-style"></div>
|
149 |
</div>
|
153 |
FILE NAME CHECKS -->
|
154 |
<div class="scan-item scan-item-last">
|
155 |
<div class="title" onclick="Duplicator.Pack.toggleScanItem(this);">
|
156 |
+
<div class="text"><i class="fa fa-caret-right"></i> <?php _e('Name Checks', 'duplicator');?></div>
|
157 |
<div id="data-arc-status-names"></div>
|
158 |
</div>
|
159 |
<div class="info">
|
223 |
<div id="hb-files-utf8-result" class="hb-files-style"></div>
|
224 |
</div>
|
225 |
</div>
|
|
|
226 |
|
227 |
|
228 |
<!-- ============
|
229 |
DATABASE -->
|
230 |
<div id="dup-scan-db">
|
231 |
+
<div class="scan-header">
|
232 |
<i class="fa fa-table"></i>
|
233 |
<?php _e("Database", 'duplicator'); ?>
|
234 |
<i class="fa fa-question-circle data-size-help"
|
245 |
</div>
|
246 |
</div>
|
247 |
|
248 |
+
<div class="scan-item scan-item-last">
|
|
|
|
|
249 |
<div class="title" onclick="Duplicator.Pack.toggleScanItem(this);">
|
250 |
+
<div class="text"><i class="fa fa-caret-right"></i> <?php _e('Overview', 'duplicator');?></div>
|
251 |
<div id="data-db-status-size"></div>
|
252 |
</div>
|
253 |
<div class="info">
|
254 |
+
<?php echo '<b>' . __('TOTAL SIZE', 'duplicator') . ' ⇛ </b>'; ?>
|
255 |
<b><?php _e('Size', 'duplicator');?>:</b> <span id="data-db-size2"></span> |
|
256 |
<b><?php _e('Tables', 'duplicator');?>:</b> <span id="data-db-tablecount"></span> |
|
257 |
+
<b><?php _e('Records', 'duplicator');?>:</b> <span id="data-db-rows"></span><br/>
|
|
|
258 |
<?php
|
259 |
+
printf(__('Total size and row counts are approximate values. The thresholds that trigger notices are <i>%1$s OR %2$s</i> records total for the entire database. '
|
260 |
+
. 'Larger databases take more time to process. On some budget hosts that have cpu/memory/timeout limits this may cause issues.', 'duplicator'),
|
|
|
|
|
261 |
DUP_Util::byteSize(DUPLICATOR_SCAN_DB_ALL_SIZE),
|
262 |
number_format(DUPLICATOR_SCAN_DB_ALL_ROWS));
|
263 |
|
264 |
+
echo '<br/><br/><hr size="1" />';
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
265 |
|
266 |
+
//TABLE DETAILS
|
267 |
+
echo '<b>' . __('TABLE DETAILS:', 'duplicator') . '</b><br/>';
|
268 |
+
printf(__('The notices for tables are <i>%1$s, %2$s records or names with upper-case characters</i>. Individual tables will not trigger '
|
269 |
+
. 'a notice message, but can help narrow down issues if they occur later on.', 'duplicator'),
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
270 |
DUP_Util::byteSize(DUPLICATOR_SCAN_DB_TBL_SIZE),
|
271 |
number_format(DUPLICATOR_SCAN_DB_TBL_ROWS));
|
272 |
+
|
273 |
+
echo '<div id="dup-scan-db-info"><div id="data-db-tablelist"></div></div>';
|
274 |
+
|
275 |
+
//RECOMMENDATIONS
|
276 |
+
echo '<br/><hr size="1" />';
|
277 |
+
echo '<b>' . __('RECOMMENDATIONS:', 'duplicator') . '</b><br/>';
|
278 |
+
|
279 |
+
echo '<div style="padding:5px">';
|
280 |
+
$lnk = '<a href="maint/repair.php" target="_blank">' . __('repair and optimization', 'duplicator') . '</a>';
|
281 |
printf(__('1. Run a %1$s on the table to improve the overall size and performance.', 'duplicator'), $lnk);
|
282 |
echo '<br/><br/>';
|
283 |
+
_e('2. Remove post revisions and stale data from tables. Tables such as logs, statistical or other non-critical data should be cleared.', 'duplicator');
|
284 |
echo '<br/><br/>';
|
285 |
+
$lnk = '<a href="?page=duplicator-settings&tab=package" target="_blank">' . __('Enable mysqldump', 'duplicator') . '</a>';
|
286 |
+
printf(__('3. %1$s if this host supports the option.', 'duplicator'), $lnk);
|
287 |
echo '<br/><br/>';
|
288 |
+
$lnk = '<a href="http://dev.mysql.com/doc/refman/5.7/en/server-system-variables.html#sysvar_lower_case_table_names" target="_blank">' . __('lower_case_table_names', 'duplicator') . '</a>';
|
289 |
+
printf(__('4. For table name case sensitivity issues either rename the table with lower case characters or be prepared to work with the %1$s system variable setting.', 'duplicator'), $lnk);
|
290 |
+
echo '</div>';
|
291 |
|
|
|
292 |
?>
|
|
|
|
|
|
|
|
|
293 |
</div>
|
294 |
</div>
|
295 |
+
</div>
|
296 |
+
<br/><br/>
|
|
|
297 |
|
298 |
|
299 |
<!-- ==========================================
|
589 |
$('div.hb-filter-file-list-result').html(html);
|
590 |
|
591 |
Duplicator.UI.loadQtip();
|
|
|
|
|
|
|
|
|
592 |
}
|
593 |
|
594 |
|
595 |
Duplicator.Pack.initArchiveDBData = function(data)
|
596 |
{
|
597 |
var errMsg = "unable to read";
|
598 |
+
var color;
|
599 |
var html = "";
|
600 |
var DB_TotalSize = 'Good';
|
|
|
601 |
var DB_TableRowMax = <?php echo DUPLICATOR_SCAN_DB_TBL_ROWS; ?>;
|
602 |
var DB_TableSizeMax = <?php echo DUPLICATOR_SCAN_DB_TBL_SIZE; ?>;
|
603 |
if (data.DB.Status.Success)
|
604 |
{
|
605 |
DB_TotalSize = data.DB.Status.DB_Rows == 'Warn' || data.DB.Status.DB_Size == 'Warn' ? 'Warn' : 'Good';
|
|
|
|
|
606 |
$('#data-db-status-size').html(Duplicator.Pack.setScanStatus(DB_TotalSize));
|
|
|
607 |
$('#data-db-size1').text(data.DB.Size || errMsg);
|
608 |
$('#data-db-size2').text(data.DB.Size || errMsg);
|
609 |
$('#data-db-rows').text(data.DB.Rows || errMsg);
|
614 |
} else {
|
615 |
$.each(data.DB.TableList, function(i) {
|
616 |
html += '<b>' + i + '</b><br/>';
|
617 |
+
html += '<table><tr>';
|
618 |
$.each(data.DB.TableList[i], function(key,val) {
|
619 |
+
switch(key) {
|
620 |
+
case 'Case':
|
621 |
+
color = (val == 1) ? 'red' : 'black';
|
622 |
+
html += '<td style="color:' + color + '">Uppercase: ' + val + '</td>';
|
623 |
+
break;
|
624 |
+
case 'Rows':
|
625 |
+
color = (val > DB_TableRowMax) ? 'red' : 'black';
|
626 |
+
html += '<td style="color:' + color + '">Rows: ' + val + '</td>';
|
627 |
+
break;
|
628 |
+
case 'USize':
|
629 |
+
color = (parseInt(val) > DB_TableSizeMax) ? 'red' : 'black';
|
630 |
+
html += '<td style="color:' + color + '">Size: ' + data.DB.TableList[i]['Size'] + '</td>';
|
631 |
+
break;
|
632 |
+
}
|
633 |
});
|
634 |
+
html += '</tr></table>';
|
635 |
});
|
636 |
}
|
637 |
$('#data-db-tablelist').append(html);
|
648 |
?>
|
649 |
|
650 |
});
|
651 |
+
</script>
|
views/packages/main/s3.build.php
CHANGED
@@ -1,7 +1,17 @@
|
|
1 |
<?php
|
2 |
$Package = DUP_Package::getActive();
|
3 |
$ajax_nonce = wp_create_nonce('dup_package_build');
|
4 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
5 |
?>
|
6 |
|
7 |
<style>
|
@@ -23,6 +33,7 @@
|
|
23 |
div.dup-button-footer {text-align:right; margin:20px 10px 0px 0px}
|
24 |
button.button {font-size:16px !important; height:30px !important; font-weight:bold; padding:0px 10px 5px 10px !important; min-width: 150px }
|
25 |
span.dup-btn-size {font-size:11px;font-weight: normal}
|
|
|
26 |
</style>
|
27 |
|
28 |
<!-- =========================================
|
@@ -62,7 +73,7 @@ TOOL BAR: STEPS -->
|
|
62 |
</div>
|
63 |
|
64 |
<div id="dup-progress-area" class="dup-panel" style="display:none">
|
65 |
-
<div class="dup-panel-title
|
66 |
<div class="dup-panel-panel">
|
67 |
|
68 |
<!-- =========================
|
@@ -85,14 +96,17 @@ TOOL BAR: STEPS -->
|
|
85 |
<i class="fa fa-file-archive-o"></i> <?php _e("Archive", 'duplicator') ?>
|
86 |
<span id="dup-btn-archive-size" class="dup-btn-size"></span>
|
87 |
</button>
|
88 |
-
<div style='margin: 7px 0 20px 0'>
|
89 |
<small><i><?php _e("click buttons to download", 'duplicator') ?></i></small>
|
90 |
</div>
|
91 |
<div class="dup-msg-success-links">
|
92 |
<?php printf("<a href='?page=duplicator'>[ %s ]</a>", __('All Packages', 'duplicator'));?>
|
93 |
<?php printf("<a href='?page=duplicator&tab=new1'>[ %s ]</a>", __('Create New', 'duplicator'));?>
|
94 |
-
</div
|
95 |
-
|
|
|
|
|
|
|
96 |
</div>
|
97 |
|
98 |
<!-- =========================
|
1 |
<?php
|
2 |
$Package = DUP_Package::getActive();
|
3 |
$ajax_nonce = wp_create_nonce('dup_package_build');
|
4 |
+
|
5 |
+
// Allows for auto cycling of message in the future - just add dp_texts[n] and dp_contents[n]
|
6 |
+
$dp_texts = array();
|
7 |
+
$dp_texts[0] = __('Get even more power & features with', 'duplicator');
|
8 |
+
$dp_contents[] = array();
|
9 |
+
$dp_contents[0] = 'package_build_more_power';
|
10 |
+
$dp_index = rand(0, count($dp_contents) - 1);
|
11 |
+
$dp_text = $dp_texts[$dp_index];
|
12 |
+
$dp_content = $dp_contents[$dp_index];
|
13 |
+
$dp_url = "https://snapcreek.com/duplicator/?utm_source=duplicator_free&utm_medium=wordpress_plugin&utm_content={$dp_content}&utm_campaign=duplicator_pro";
|
14 |
+
|
15 |
?>
|
16 |
|
17 |
<style>
|
33 |
div.dup-button-footer {text-align:right; margin:20px 10px 0px 0px}
|
34 |
button.button {font-size:16px !important; height:30px !important; font-weight:bold; padding:0px 10px 5px 10px !important; min-width: 150px }
|
35 |
span.dup-btn-size {font-size:11px;font-weight: normal}
|
36 |
+
p.get-pro {font-size:12px; color:#777; border-top:1px solid #eeeeee; padding:5px 0 0 0; margin:0; font-style:italic}
|
37 |
</style>
|
38 |
|
39 |
<!-- =========================================
|
73 |
</div>
|
74 |
|
75 |
<div id="dup-progress-area" class="dup-panel" style="display:none">
|
76 |
+
<div class="dup-panel-title"><b style="font-size:22px"><?php _e('Build Status', 'duplicator'); ?></b></div>
|
77 |
<div class="dup-panel-panel">
|
78 |
|
79 |
<!-- =========================
|
96 |
<i class="fa fa-file-archive-o"></i> <?php _e("Archive", 'duplicator') ?>
|
97 |
<span id="dup-btn-archive-size" class="dup-btn-size"></span>
|
98 |
</button>
|
99 |
+
<div style='margin: 7px 0 20px 0; color:#999'>
|
100 |
<small><i><?php _e("click buttons to download", 'duplicator') ?></i></small>
|
101 |
</div>
|
102 |
<div class="dup-msg-success-links">
|
103 |
<?php printf("<a href='?page=duplicator'>[ %s ]</a>", __('All Packages', 'duplicator'));?>
|
104 |
<?php printf("<a href='?page=duplicator&tab=new1'>[ %s ]</a>", __('Create New', 'duplicator'));?>
|
105 |
+
</div>
|
106 |
+
<br/>
|
107 |
+
<p class="get-pro">
|
108 |
+
<?php echo $dp_text ?> <a target="_blank" href="<?php echo $dp_url;?>"><?php _e('Professional', 'duplicator'); ?></a>!
|
109 |
+
</p>
|
110 |
</div>
|
111 |
|
112 |
<!-- =========================
|
views/{help/about.php → settings/about-info.php}
RENAMED
@@ -1,9 +1,3 @@
|
|
1 |
-
<?php
|
2 |
-
DUP_Util::hasCapability('read');
|
3 |
-
|
4 |
-
require_once(DUPLICATOR_PLUGIN_PATH . '/assets/js/javascript.php');
|
5 |
-
require_once(DUPLICATOR_PLUGIN_PATH . '/views/inc.header.php');
|
6 |
-
?>
|
7 |
<style>
|
8 |
/*================================================
|
9 |
PAGE-SUPPORT:*/
|
@@ -46,18 +40,16 @@ require_once(DUPLICATOR_PLUGIN_PATH . '/views/inc.header.php');
|
|
46 |
|
47 |
<div class="wrap dup-wrap dup-support-all">
|
48 |
|
49 |
-
<?php duplicator_header(__("About", 'duplicator')) ?>
|
50 |
-
<hr size="1" />
|
51 |
-
|
52 |
<div style="width:850px; margin:auto; margin-top: 20px">
|
53 |
<table style="width:825px">
|
54 |
<tr>
|
55 |
<td style="width:90px">
|
56 |
<img src="<?php echo DUPLICATOR_PLUGIN_URL ?>assets/img/logo-box.png" style='text-align:top; margin:0' />
|
57 |
</td>
|
58 |
-
<td valign="top" style="padding-top:10px; font-size:
|
59 |
<?php
|
60 |
-
_e("Duplicator
|
|
|
61 |
?>
|
62 |
</td>
|
63 |
</tr>
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
<style>
|
2 |
/*================================================
|
3 |
PAGE-SUPPORT:*/
|
40 |
|
41 |
<div class="wrap dup-wrap dup-support-all">
|
42 |
|
|
|
|
|
|
|
43 |
<div style="width:850px; margin:auto; margin-top: 20px">
|
44 |
<table style="width:825px">
|
45 |
<tr>
|
46 |
<td style="width:90px">
|
47 |
<img src="<?php echo DUPLICATOR_PLUGIN_URL ?>assets/img/logo-box.png" style='text-align:top; margin:0' />
|
48 |
</td>
|
49 |
+
<td valign="top" style="padding-top:10px; font-size:18px; line-height: 24px">
|
50 |
<?php
|
51 |
+
_e("Duplicator can streamline your workflow and quickly clone/migrate a WordPress site. The plugin helps admins, designers and developers speed up the "
|
52 |
+
. "migration process of moving a WordPress site. Please help us continue development by giving this plugin a 5 star.", 'duplicator');
|
53 |
?>
|
54 |
</td>
|
55 |
</tr>
|
views/settings/controller.php
CHANGED
@@ -23,6 +23,7 @@ $current_tab = isset($_REQUEST['tab']) ? esc_html($_REQUEST['tab']) : 'general';
|
|
23 |
<a href="?page=duplicator-settings&tab=package" class="nav-tab <?php echo ($current_tab == 'package') ? 'nav-tab-active' : '' ?>"> <?php _e('Packages', 'duplicator'); ?></a>
|
24 |
<a href="?page=duplicator-settings&tab=schedule" class="nav-tab <?php echo ($current_tab == 'schedule') ? 'nav-tab-active' : '' ?>"> <?php _e('Schedules', 'duplicator'); ?></a>
|
25 |
<a href="?page=duplicator-settings&tab=storage" class="nav-tab <?php echo ($current_tab == 'storage') ? 'nav-tab-active' : '' ?>"> <?php _e('Storage', 'duplicator'); ?></a>
|
|
|
26 |
</h2>
|
27 |
|
28 |
<?php
|
@@ -35,6 +36,8 @@ $current_tab = isset($_REQUEST['tab']) ? esc_html($_REQUEST['tab']) : 'general';
|
|
35 |
break;
|
36 |
case 'storage': include('storage.php');
|
37 |
break;
|
|
|
|
|
38 |
}
|
39 |
?>
|
40 |
</div>
|
23 |
<a href="?page=duplicator-settings&tab=package" class="nav-tab <?php echo ($current_tab == 'package') ? 'nav-tab-active' : '' ?>"> <?php _e('Packages', 'duplicator'); ?></a>
|
24 |
<a href="?page=duplicator-settings&tab=schedule" class="nav-tab <?php echo ($current_tab == 'schedule') ? 'nav-tab-active' : '' ?>"> <?php _e('Schedules', 'duplicator'); ?></a>
|
25 |
<a href="?page=duplicator-settings&tab=storage" class="nav-tab <?php echo ($current_tab == 'storage') ? 'nav-tab-active' : '' ?>"> <?php _e('Storage', 'duplicator'); ?></a>
|
26 |
+
<a href="?page=duplicator-settings&tab=about" class="nav-tab <?php echo ($current_tab == 'about') ? 'nav-tab-active' : '' ?>"> <?php _e('About', 'duplicator'); ?></a>
|
27 |
</h2>
|
28 |
|
29 |
<?php
|
36 |
break;
|
37 |
case 'storage': include('storage.php');
|
38 |
break;
|
39 |
+
case 'about': include('about-info.php');
|
40 |
+
break;
|
41 |
}
|
42 |
?>
|
43 |
</div>
|
views/tools/controller.php
CHANGED
@@ -18,6 +18,7 @@ $current_tab = isset($_REQUEST['tab']) ? esc_html($_REQUEST['tab']) : 'logging';
|
|
18 |
<a href="?page=duplicator-tools&tab=logging" class="nav-tab <?php echo ($current_tab == 'logging') ? 'nav-tab-active' : '' ?>"> <?php _e('Logging', 'duplicator'); ?></a>
|
19 |
<a href="?page=duplicator-tools&tab=diagnostics" class="nav-tab <?php echo ($current_tab == 'diagnostics') ? 'nav-tab-active' : '' ?>"> <?php _e('Diagnostics', 'duplicator'); ?></a>
|
20 |
<a href="?page=duplicator-tools&tab=cleanup" class="nav-tab <?php echo ($current_tab == 'cleanup') ? 'nav-tab-active' : '' ?>"> <?php _e('Cleanup', 'duplicator'); ?></a>
|
|
|
21 |
</h2>
|
22 |
|
23 |
<?php
|
@@ -28,6 +29,8 @@ $current_tab = isset($_REQUEST['tab']) ? esc_html($_REQUEST['tab']) : 'logging';
|
|
28 |
break;
|
29 |
case 'cleanup': include('cleanup.php');
|
30 |
break;
|
|
|
|
|
31 |
}
|
32 |
?>
|
33 |
</div>
|
18 |
<a href="?page=duplicator-tools&tab=logging" class="nav-tab <?php echo ($current_tab == 'logging') ? 'nav-tab-active' : '' ?>"> <?php _e('Logging', 'duplicator'); ?></a>
|
19 |
<a href="?page=duplicator-tools&tab=diagnostics" class="nav-tab <?php echo ($current_tab == 'diagnostics') ? 'nav-tab-active' : '' ?>"> <?php _e('Diagnostics', 'duplicator'); ?></a>
|
20 |
<a href="?page=duplicator-tools&tab=cleanup" class="nav-tab <?php echo ($current_tab == 'cleanup') ? 'nav-tab-active' : '' ?>"> <?php _e('Cleanup', 'duplicator'); ?></a>
|
21 |
+
<a href="?page=duplicator-tools&tab=support" class="nav-tab <?php echo ($current_tab == 'support') ? 'nav-tab-active' : '' ?>"> <?php _e('Support', 'duplicator'); ?></a>
|
22 |
</h2>
|
23 |
|
24 |
<?php
|
29 |
break;
|
30 |
case 'cleanup': include('cleanup.php');
|
31 |
break;
|
32 |
+
case 'support': include('support.php');
|
33 |
+
break;
|
34 |
}
|
35 |
?>
|
36 |
</div>
|
views/{help/help.php → tools/support.php}
RENAMED
@@ -1,9 +1,3 @@
|
|
1 |
-
<?php
|
2 |
-
DUP_Util::hasCapability('read');
|
3 |
-
|
4 |
-
require_once(DUPLICATOR_PLUGIN_PATH . '/assets/js/javascript.php');
|
5 |
-
require_once(DUPLICATOR_PLUGIN_PATH . '/views/inc.header.php');
|
6 |
-
?>
|
7 |
<style>
|
8 |
div.dup-support-all {font-size:13px; line-height:20px}
|
9 |
div.dup-support-txts-links {width:100%;font-size:14px; font-weight:bold; line-height:26px; text-align:center}
|
@@ -26,9 +20,6 @@ require_once(DUPLICATOR_PLUGIN_PATH . '/views/inc.header.php');
|
|
26 |
|
27 |
<div class="wrap dup-wrap dup-support-all">
|
28 |
|
29 |
-
<?php duplicator_header(__("Help", 'duplicator')) ?>
|
30 |
-
<hr size="1" />
|
31 |
-
|
32 |
<div style="width:800px; margin:auto; margin-top: 20px">
|
33 |
<table>
|
34 |
<tr>
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
<style>
|
2 |
div.dup-support-all {font-size:13px; line-height:20px}
|
3 |
div.dup-support-txts-links {width:100%;font-size:14px; font-weight:bold; line-height:26px; text-align:center}
|
20 |
|
21 |
<div class="wrap dup-wrap dup-support-all">
|
22 |
|
|
|
|
|
|
|
23 |
<div style="width:800px; margin:auto; margin-top: 20px">
|
24 |
<table>
|
25 |
<tr>
|