Version Description
Download this release
Release Info
Developer | cory@lamle.org |
Plugin | Duplicator – WordPress Migration Plugin |
Version | 1.1.18 |
Comparing to | |
See all releases |
Code changes from version 1.1.16 to 1.1.18
- classes/server.php +15 -5
- classes/ui.php +0 -74
- define.php +1 -1
- duplicator.php +7 -7
- installer/build/ajax.step1.php +26 -6
- installer/build/assets/inc.css.php +2 -16
- installer/build/view.step1.php +1 -0
- installer/build/view.step3.php +4 -4
- readme.txt +1 -1
- views/help/about.php +5 -19
- views/packages/main/new1.setup.php +15 -14
- views/packages/main/new2.scan.php +9 -3
- views/packages/main/packages.php +12 -15
- views/tools/diagnostics.php +4 -0
- views/tools/logging.php +5 -2
classes/server.php
CHANGED
@@ -30,13 +30,23 @@ class DUP_Server
|
|
30 |
$dup_tests['PHP']['FUNC_3'] = function_exists("mb_strlen") ? 'Pass' : 'Fail';
|
31 |
$dup_tests['PHP']['ALL'] = ! in_array('Fail', $dup_tests['PHP']) ? 'Pass' : 'Fail';
|
32 |
|
33 |
-
//
|
34 |
-
|
35 |
-
|
36 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
37 |
$dup_tests['IO']['SSTMP'] = is_writeable(DUPLICATOR_SSDIR_PATH_TMP) ? 'Pass' : 'Fail';
|
38 |
$dup_tests['IO']['ALL'] = ! in_array('Fail', $dup_tests['IO']) ? 'Pass' : 'Fail';
|
39 |
-
|
40 |
|
41 |
//SERVER SUPPORT
|
42 |
$dup_tests['SRV']['MYSQLi'] = function_exists('mysqli_connect') ? 'Pass' : 'Fail';
|
30 |
$dup_tests['PHP']['FUNC_3'] = function_exists("mb_strlen") ? 'Pass' : 'Fail';
|
31 |
$dup_tests['PHP']['ALL'] = ! in_array('Fail', $dup_tests['PHP']) ? 'Pass' : 'Fail';
|
32 |
|
33 |
+
//REQUIRED PATHS
|
34 |
+
if (file_exists(DUPLICATOR_SSDIR_PATH) && is_writeable(DUPLICATOR_SSDIR_PATH))
|
35 |
+
{
|
36 |
+
$dup_tests['IO']['SSDIR'] = 'Pass';
|
37 |
+
$dup_tests['IO']['WPROOT'] = 'Pass';
|
38 |
+
}
|
39 |
+
else
|
40 |
+
{
|
41 |
+
$handle_test = @opendir(DUPLICATOR_WPROOTPATH);
|
42 |
+
$dup_tests['IO']['WPROOT'] = is_writeable(DUPLICATOR_WPROOTPATH) && $handle_test ? 'Pass' : 'Fail';
|
43 |
+
$dup_tests['IO']['SSDIR'] = 'Fail';
|
44 |
+
@closedir($handle_test);
|
45 |
+
}
|
46 |
+
|
47 |
$dup_tests['IO']['SSTMP'] = is_writeable(DUPLICATOR_SSDIR_PATH_TMP) ? 'Pass' : 'Fail';
|
48 |
$dup_tests['IO']['ALL'] = ! in_array('Fail', $dup_tests['IO']) ? 'Pass' : 'Fail';
|
49 |
+
|
50 |
|
51 |
//SERVER SUPPORT
|
52 |
$dup_tests['SRV']['MYSQLi'] = function_exists('mysqli_connect') ? 'Pass' : 'Fail';
|
classes/ui.php
CHANGED
@@ -116,79 +116,5 @@ class DUP_UI {
|
|
116 |
}
|
117 |
}
|
118 |
|
119 |
-
/**
|
120 |
-
* Shows a random affilate link
|
121 |
-
* @return type string
|
122 |
-
*/
|
123 |
-
public static function ShowRandomAffilateLink($format = 'one')
|
124 |
-
{
|
125 |
-
/*-- AFFILIATES --*/
|
126 |
-
$aff_urls = array();
|
127 |
-
$aff_urls[0] = 'https://snapcreek.com/visit/bluehost';
|
128 |
-
$aff_urls[1] = 'https://snapcreek.com/visit/inmotion';
|
129 |
-
$aff_urls[2] = 'https://snapcreek.com/visit/elegantthemes';
|
130 |
-
$aff_urls[3] = 'https://snapcreek.com/visit/managewp';
|
131 |
-
$aff_urls[4] = 'https://snapcreek.com/visit/maxcdn';
|
132 |
-
//$aff_urls[5] = 'https://snapcreek.com/visit/ninjaforms';
|
133 |
-
//$aff_urls[6] = 'https://snapcreek.com/visit/optinmonster';
|
134 |
-
|
135 |
-
$aff_text = array();
|
136 |
-
// Bluehost
|
137 |
-
$aff_text[0] = sprintf("<b>%s</b> <i>%s</i>",
|
138 |
-
__('Need a new host?', 'duplicator'),
|
139 |
-
__('Get Bluehost Hosting for 50% off today!', 'duplicator'));
|
140 |
-
// InMotion
|
141 |
-
$aff_text[1] = sprintf("<b>%s</b> <i>%s</i>",
|
142 |
-
__('On a bad host?', 'duplicator'),
|
143 |
-
__('Trade up to InMotion - with FREE SSDs and up to 25% off!', 'duplicator'));
|
144 |
-
// Elegant Themes
|
145 |
-
$aff_text[2] = sprintf("<b>%s</b> <i>%s</i>",
|
146 |
-
__('Have a cheesy theme?', 'duplicator'),
|
147 |
-
__('Change to an Elegant Theme and get 10% off today!', 'duplicator'));
|
148 |
-
// ManageWP
|
149 |
-
$aff_text[3] = sprintf("<b>%s</b> <i>%s</i>",
|
150 |
-
__('Juggling multiple sites?', 'duplicator'),
|
151 |
-
__('Control them all from ONE dashboard - 10% off ManageWP today!', 'duplicator'));
|
152 |
-
// MaxCDN
|
153 |
-
$aff_text[4] = sprintf("<b>%s</b> <i>%s</i>",
|
154 |
-
__('Slow site?', 'duplicator'),
|
155 |
-
__('Supercharge it with MaxCDN and get 25% off today!', 'duplicator'));
|
156 |
-
|
157 |
-
// Ninja Forms
|
158 |
-
$aff_text[5] = sprintf("<b>%s</b> <i>%s</i>",
|
159 |
-
__('Need a great formbuilder?', 'duplicator'),
|
160 |
-
__('Get Ninja Forms!', 'duplicator'));
|
161 |
-
// Optinmonster
|
162 |
-
$aff_text[6] = sprintf("<b>%s</b> <i>%s</i>",
|
163 |
-
__('Visitors leaving too quickly?', 'duplicator'),
|
164 |
-
__('Snag \'em with Optinmonster!', 'duplicator'));
|
165 |
-
|
166 |
-
$aff_icon = array();
|
167 |
-
$aff_fa[0] = "fa-th";
|
168 |
-
$aff_fa[1] = "fa-cube";
|
169 |
-
$aff_fa[2] = "fa-asterisk";
|
170 |
-
$aff_fa[3] = "fa-sitemap";
|
171 |
-
$aff_fa[4] = "fa-maxcdn";
|
172 |
-
$aff_fa[5] = "fa-check-square-o";
|
173 |
-
$aff_fa[6] = "fa-envelope";
|
174 |
-
|
175 |
-
if ($format == 'list')
|
176 |
-
{
|
177 |
-
//Generate a list
|
178 |
-
$html = '<div id="dup-add-slider"><ul>';
|
179 |
-
for ($i = 0; $i < count($aff_urls); $i++)
|
180 |
-
{
|
181 |
-
$html .= "<li><i class='fa {$aff_fa[$i]}'></i> <a target='_blank' href='{$aff_urls[$i]}'>$aff_text[$i]</a></li>";
|
182 |
-
}
|
183 |
-
$html .= '</ul></div>';
|
184 |
-
}
|
185 |
-
else
|
186 |
-
{
|
187 |
-
//Return single item
|
188 |
-
$aff_index = rand(0, count($aff_urls) - 1);
|
189 |
-
$html = "<span id='dup-add-link'><i class='fa {$aff_fa[$aff_index]}'></i> <a href='admin.php?page=duplicator-perks&a={$aff_index}'>$aff_text[$aff_index]</a> ";
|
190 |
-
}
|
191 |
-
return $html;
|
192 |
-
}
|
193 |
}
|
194 |
?>
|
116 |
}
|
117 |
}
|
118 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
119 |
}
|
120 |
?>
|
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.1.
|
6 |
define('DUPLICATOR_HOMEPAGE', 'http://lifeinthegrid.com/labs/duplicator');
|
7 |
define('DUPLICATOR_GIVELINK', 'http://lifeinthegrid.com/partner');
|
8 |
define('DUPLICATOR_HELPLINK', 'http://lifeinthegrid.com/duplicator-docs');
|
2 |
//Prevent directly browsing to the file
|
3 |
if (function_exists('plugin_dir_url'))
|
4 |
{
|
5 |
+
define('DUPLICATOR_VERSION', '1.1.18');
|
6 |
define('DUPLICATOR_HOMEPAGE', 'http://lifeinthegrid.com/labs/duplicator');
|
7 |
define('DUPLICATOR_GIVELINK', 'http://lifeinthegrid.com/partner');
|
8 |
define('DUPLICATOR_HELPLINK', 'http://lifeinthegrid.com/duplicator-docs');
|
duplicator.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
Plugin Name: Duplicator
|
4 |
Plugin URI: http://www.lifeinthegrid.com/duplicator/
|
5 |
Description: Create a backup of your WordPress files and database. Duplicate and move an entire site from one location to another in a few steps. Create a full snapshot of your site at any point in time.
|
6 |
-
Version: 1.1.
|
7 |
Author: LifeInTheGrid
|
8 |
Author URI: http://www.lifeinthegrid.com
|
9 |
Text Domain: duplicator
|
@@ -209,10 +209,10 @@ if (is_admin() == true) {
|
|
209 |
$lang_txt = __('About', 'duplicator');
|
210 |
$page_about = add_submenu_page('duplicator', $lang_txt, $lang_txt, $perms, 'duplicator-about', 'duplicator_get_menu');
|
211 |
|
212 |
-
|
213 |
-
|
214 |
-
|
215 |
-
|
216 |
|
217 |
$perms = 'manage_options';
|
218 |
$lang_txt = __('Go Pro!', 'duplicator');
|
@@ -228,7 +228,7 @@ if (is_admin() == true) {
|
|
228 |
add_action('admin_print_scripts-' . $page_help, 'duplicator_scripts');
|
229 |
add_action('admin_print_scripts-' . $page_tools, 'duplicator_scripts');
|
230 |
add_action('admin_print_scripts-' . $page_about, 'duplicator_scripts');
|
231 |
-
add_action('admin_print_scripts-' . $page_perks, 'duplicator_scripts');
|
232 |
add_action('admin_print_scripts-' . $page_gopro, 'duplicator_scripts');
|
233 |
|
234 |
//Apply Styles
|
@@ -237,7 +237,7 @@ if (is_admin() == true) {
|
|
237 |
add_action('admin_print_styles-' . $page_help, 'duplicator_styles');
|
238 |
add_action('admin_print_styles-' . $page_tools, 'duplicator_styles');
|
239 |
add_action('admin_print_styles-' . $page_about, 'duplicator_styles');
|
240 |
-
add_action('admin_print_styles-' . $page_perks, 'duplicator_styles');
|
241 |
add_action('admin_print_styles-' . $page_gopro, 'duplicator_styles');
|
242 |
|
243 |
}
|
3 |
Plugin Name: Duplicator
|
4 |
Plugin URI: http://www.lifeinthegrid.com/duplicator/
|
5 |
Description: Create a backup of your WordPress files and database. Duplicate and move an entire site from one location to another in a few steps. Create a full snapshot of your site at any point in time.
|
6 |
+
Version: 1.1.18
|
7 |
Author: LifeInTheGrid
|
8 |
Author URI: http://www.lifeinthegrid.com
|
9 |
Text Domain: duplicator
|
209 |
$lang_txt = __('About', 'duplicator');
|
210 |
$page_about = add_submenu_page('duplicator', $lang_txt, $lang_txt, $perms, 'duplicator-about', 'duplicator_get_menu');
|
211 |
|
212 |
+
//$perms = 'manage_options';
|
213 |
+
//$lang_txt = __('Perks', 'duplicator');
|
214 |
+
//$perms = apply_filters($wpfront_caps_translator, $perms);
|
215 |
+
//$page_perks = add_submenu_page('duplicator', $lang_txt, $lang_txt, $perms, 'duplicator-perks', 'duplicator_get_menu');
|
216 |
|
217 |
$perms = 'manage_options';
|
218 |
$lang_txt = __('Go Pro!', 'duplicator');
|
228 |
add_action('admin_print_scripts-' . $page_help, 'duplicator_scripts');
|
229 |
add_action('admin_print_scripts-' . $page_tools, 'duplicator_scripts');
|
230 |
add_action('admin_print_scripts-' . $page_about, 'duplicator_scripts');
|
231 |
+
//add_action('admin_print_scripts-' . $page_perks, 'duplicator_scripts');
|
232 |
add_action('admin_print_scripts-' . $page_gopro, 'duplicator_scripts');
|
233 |
|
234 |
//Apply Styles
|
237 |
add_action('admin_print_styles-' . $page_help, 'duplicator_styles');
|
238 |
add_action('admin_print_styles-' . $page_tools, 'duplicator_styles');
|
239 |
add_action('admin_print_styles-' . $page_about, 'duplicator_styles');
|
240 |
+
//add_action('admin_print_styles-' . $page_perks, 'duplicator_styles');
|
241 |
add_action('admin_print_styles-' . $page_gopro, 'duplicator_styles');
|
242 |
|
243 |
}
|
installer/build/ajax.step1.php
CHANGED
@@ -10,6 +10,7 @@ if (! defined('DUPLICATOR_INIT')) {
|
|
10 |
//POST PARAMS
|
11 |
$_POST['dbaction'] = isset($_POST['dbaction']) ? $_POST['dbaction'] : 'create';
|
12 |
$_POST['dbnbsp'] = (isset($_POST['dbnbsp']) && $_POST['dbnbsp'] == '1') ? true : false;
|
|
|
13 |
$_POST['ssl_admin'] = (isset($_POST['ssl_admin'])) ? true : false;
|
14 |
$_POST['ssl_login'] = (isset($_POST['ssl_login'])) ? true : false;
|
15 |
$_POST['cache_wp'] = (isset($_POST['cache_wp'])) ? true : false;
|
@@ -275,13 +276,22 @@ DUPX_Util::fcgi_flush();
|
|
275 |
@mysqli_query($dbh, "SET max_allowed_packet = {$GLOBALS['DB_MAX_PACKETS']}");
|
276 |
DUPX_Util::mysql_set_charset($dbh, $_POST['dbcharset'], $_POST['dbcollate']);
|
277 |
|
278 |
-
//
|
279 |
-
|
280 |
-
|
281 |
-
|
282 |
-
$
|
283 |
-
|
284 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
285 |
|
286 |
DUPX_Log::Info("{$GLOBALS['SEPERATOR1']}");
|
287 |
DUPX_Log::Info('DATABASE-ROUTINES');
|
@@ -292,6 +302,16 @@ DUPX_Log::Info("--------------------------------------");
|
|
292 |
DUPX_Log::Info("MYSQL VERSION:\tThis Server: {$dbvar_version} -- Build Server: {$GLOBALS['FW_VERSION_DB']}");
|
293 |
DUPX_Log::Info("TIMEOUT:\t{$dbvar_maxtime}");
|
294 |
DUPX_Log::Info("MAXPACK:\t{$dbvar_maxpacks}");
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
295 |
|
296 |
//CREATE DB
|
297 |
switch ($_POST['dbaction']) {
|
10 |
//POST PARAMS
|
11 |
$_POST['dbaction'] = isset($_POST['dbaction']) ? $_POST['dbaction'] : 'create';
|
12 |
$_POST['dbnbsp'] = (isset($_POST['dbnbsp']) && $_POST['dbnbsp'] == '1') ? true : false;
|
13 |
+
$_POST['dbmysqlmode'] = (isset($_POST['dbmysqlmode']) && $_POST['dbmysqlmode'] == '1') ? true : false;
|
14 |
$_POST['ssl_admin'] = (isset($_POST['ssl_admin'])) ? true : false;
|
15 |
$_POST['ssl_login'] = (isset($_POST['ssl_login'])) ? true : false;
|
16 |
$_POST['cache_wp'] = (isset($_POST['cache_wp'])) ? true : false;
|
276 |
@mysqli_query($dbh, "SET max_allowed_packet = {$GLOBALS['DB_MAX_PACKETS']}");
|
277 |
DUPX_Util::mysql_set_charset($dbh, $_POST['dbcharset'], $_POST['dbcollate']);
|
278 |
|
279 |
+
//Will set mode to null only for this db handle session
|
280 |
+
//sql_mode can cause db create issues on some systems
|
281 |
+
if ($_POST['dbmysqlmode'])
|
282 |
+
{
|
283 |
+
@mysqli_query($dbh, "SET SESSION sql_mode = ''");
|
284 |
+
}
|
285 |
|
286 |
+
//Set defaults incase the variable could not be read
|
287 |
+
$dbvar_maxtime = DUPX_Util::mysql_variable_value($dbh, 'wait_timeout');
|
288 |
+
$dbvar_maxpacks = DUPX_Util::mysql_variable_value($dbh, 'max_allowed_packet');
|
289 |
+
$dbvar_sqlmode = DUPX_Util::mysql_variable_value($dbh, 'sql_mode');
|
290 |
+
$dbvar_maxtime = is_null($dbvar_maxtime) ? 300 : $dbvar_maxtime;
|
291 |
+
$dbvar_maxpacks = is_null($dbvar_maxpacks) ? 1048576 : $dbvar_maxpacks;
|
292 |
+
$dbvar_sqlmode = empty($dbvar_sqlmode) ? 'NOT_SET' : $dbvar_sqlmode;
|
293 |
+
$dbvar_version = DUPX_Util::mysql_version($dbh);
|
294 |
+
$dbwarning_modes = explode(',','NO_ENGINE_SUBSTITUTION,MYSQL323');
|
295 |
|
296 |
DUPX_Log::Info("{$GLOBALS['SEPERATOR1']}");
|
297 |
DUPX_Log::Info('DATABASE-ROUTINES');
|
302 |
DUPX_Log::Info("MYSQL VERSION:\tThis Server: {$dbvar_version} -- Build Server: {$GLOBALS['FW_VERSION_DB']}");
|
303 |
DUPX_Log::Info("TIMEOUT:\t{$dbvar_maxtime}");
|
304 |
DUPX_Log::Info("MAXPACK:\t{$dbvar_maxpacks}");
|
305 |
+
DUPX_Log::Info("SQLMODE:\t{$dbvar_sqlmode}");
|
306 |
+
|
307 |
+
|
308 |
+
if (in_array($dbvar_sqlmode, $dbwarning_modes))
|
309 |
+
{
|
310 |
+
$log = "WARNING: A sql_mode has been detected that may cause issues with this install.\n";
|
311 |
+
$log .= "Please use the advanced options in Step 1 to disable the sql_mode or disable it the my.ini file\n";
|
312 |
+
$log .= "For more details on this topic please visit: http://dev.mysql.com/doc/refman/5.7/en/sql-mode.html\n";
|
313 |
+
DUPX_Log::Info("\n{$log}\n");
|
314 |
+
}
|
315 |
|
316 |
//CREATE DB
|
317 |
switch ($_POST['dbaction']) {
|
installer/build/assets/inc.css.php
CHANGED
@@ -133,27 +133,13 @@
|
|
133 |
table.s3-final-step {width:100%;}
|
134 |
table.s3-final-step td {padding:5px 15px 5px 5px}
|
135 |
table.s3-final-step td:first-child {white-space:nowrap; font-weight:bold}
|
136 |
-
div.s3-go-back {border-bottom:1px dotted #dfdfdf; border-top:1px dotted #dfdfdf; margin:auto; text-align:center}
|
137 |
div.s3-btns-msg {text-align: center; font-size:10px; color:#777; margin:5px 0 15px 0}
|
138 |
a.s3-final-btns {display: block; width:135; padding:5px; line-height: 1.4; background-color:#F1F1F1; border:1px solid silver;
|
139 |
color: #000; box-shadow: 5px 5px 5px -5px #949494; text-decoration: none; text-align: center; border-radius: 4px;
|
140 |
}
|
141 |
a.s3-final-btns:hover {background-color: #dfdfdf;}
|
142 |
-
div.s3-gopro-btn {text-align:center; font-
|
143 |
-
div.s3-gopro-btn a {
|
144 |
-
background: #e2e2e2;
|
145 |
-
background: -moz-linear-gradient(top, #e2e2e2 0%, #dbdbdb 50%, #d1d1d1 51%, #fefefe 100%);
|
146 |
-
background: -webkit-linear-gradient(top, #e2e2e2 0%,#dbdbdb 50%,#d1d1d1 51%,#fefefe 100%);
|
147 |
-
background: linear-gradient(to bottom, #e2e2e2 0%,#dbdbdb 50%,#d1d1d1 51%,#fefefe 100%);
|
148 |
-
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#e2e2e2', endColorstr='#fefefe',GradientType=0 );
|
149 |
-
}
|
150 |
-
div.s3-gopro-btn a:hover {
|
151 |
-
background: #ebf1f6;
|
152 |
-
background: -moz-linear-gradient(top, #ebf1f6 0%, #abd3ee 50%, #89c3eb 51%, #d5ebfb 100%);
|
153 |
-
background: -webkit-linear-gradient(top, #ebf1f6 0%,#abd3ee 50%,#89c3eb 51%,#d5ebfb 100%);
|
154 |
-
background: linear-gradient(to bottom, #ebf1f6 0%,#abd3ee 50%,#89c3eb 51%,#d5ebfb 100%);
|
155 |
-
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ebf1f6', endColorstr='#d5ebfb',GradientType=0 );
|
156 |
-
}
|
157 |
|
158 |
/* ============================
|
159 |
BUTTONS */
|
133 |
table.s3-final-step {width:100%;}
|
134 |
table.s3-final-step td {padding:5px 15px 5px 5px}
|
135 |
table.s3-final-step td:first-child {white-space:nowrap; font-weight:bold}
|
136 |
+
div.s3-go-back {border-bottom:1px dotted #dfdfdf; border-top:1px dotted #dfdfdf; margin:auto; text-align:center; font-size: 12px}
|
137 |
div.s3-btns-msg {text-align: center; font-size:10px; color:#777; margin:5px 0 15px 0}
|
138 |
a.s3-final-btns {display: block; width:135; padding:5px; line-height: 1.4; background-color:#F1F1F1; border:1px solid silver;
|
139 |
color: #000; box-shadow: 5px 5px 5px -5px #949494; text-decoration: none; text-align: center; border-radius: 4px;
|
140 |
}
|
141 |
a.s3-final-btns:hover {background-color: #dfdfdf;}
|
142 |
+
div.s3-gopro-btn {text-align:center; font-size:14px; margin:auto; width:200px; font-style: italic}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
143 |
|
144 |
/* ============================
|
145 |
BUTTONS */
|
installer/build/view.step1.php
CHANGED
@@ -282,6 +282,7 @@ VIEW: STEP 1- INPUT -->
|
|
282 |
<table class="s1-opts">
|
283 |
<tr><td><input type="checkbox" name="zip_manual" id="zip_manual" value="1" /> <label for="zip_manual">Manual package extraction</label></td></tr>
|
284 |
<tr><td><input type="checkbox" name="dbnbsp" id="dbnbsp" value="1" /> <label for="dbnbsp">Fix non-breaking space characters</label></td></tr>
|
|
|
285 |
</table>
|
286 |
|
287 |
|
282 |
<table class="s1-opts">
|
283 |
<tr><td><input type="checkbox" name="zip_manual" id="zip_manual" value="1" /> <label for="zip_manual">Manual package extraction</label></td></tr>
|
284 |
<tr><td><input type="checkbox" name="dbnbsp" id="dbnbsp" value="1" /> <label for="dbnbsp">Fix non-breaking space characters</label></td></tr>
|
285 |
+
<tr><td><input type="checkbox" name="dbmysqlmode" id="dbmysqlmode" value="1" /> <label for="dbmysqlmode">Run this session with MySQL sql_mode disabled</label></td></tr>
|
286 |
</table>
|
287 |
|
288 |
|
installer/build/view.step3.php
CHANGED
@@ -63,8 +63,8 @@ VIEW: STEP 3- INPUT -->
|
|
63 |
<div class="s3-btns-msg">Click buttons above to complete process</div>
|
64 |
|
65 |
<div class="s3-go-back">
|
66 |
-
<i
|
67 |
-
<i
|
68 |
</div>
|
69 |
|
70 |
|
@@ -205,7 +205,7 @@ VIEW: STEP 3- INPUT -->
|
|
205 |
switch ($num) {
|
206 |
case 1:
|
207 |
$key = 'free_inst_s3btn1';
|
208 |
-
$txt = '
|
209 |
break;
|
210 |
case 2:
|
211 |
$key = 'free_inst_s3btn2';
|
@@ -218,7 +218,7 @@ VIEW: STEP 3- INPUT -->
|
|
218 |
?>
|
219 |
|
220 |
<div class="s3-gopro-btn">
|
221 |
-
<a
|
222 |
</div>
|
223 |
<br/><br/>
|
224 |
|
63 |
<div class="s3-btns-msg">Click buttons above to complete process</div>
|
64 |
|
65 |
<div class="s3-go-back">
|
66 |
+
<i>To re-install <a href="javascript:history.go(-2)">start over at step 1</a>.</i><br/>
|
67 |
+
<i>The .htaccess file was reset. Resave plugins that write to this file.</i>
|
68 |
</div>
|
69 |
|
70 |
|
205 |
switch ($num) {
|
206 |
case 1:
|
207 |
$key = 'free_inst_s3btn1';
|
208 |
+
$txt = 'Considered Going Pro?';
|
209 |
break;
|
210 |
case 2:
|
211 |
$key = 'free_inst_s3btn2';
|
218 |
?>
|
219 |
|
220 |
<div class="s3-gopro-btn">
|
221 |
+
<a href="https://snapcreek.com/duplicator/?utm_source=duplicator_free&utm_medium=wordpress_plugin&utm_campaign=duplicator_pro&utm_content="<?php echo $key;?>" target="_blank"> <?php echo $txt;?></a>
|
222 |
</div>
|
223 |
<br/><br/>
|
224 |
|
readme.txt
CHANGED
@@ -4,7 +4,7 @@ Donate link: www.lifeinthegrid.com/partner
|
|
4 |
Tags: backup, restore, move, migrate, localhost, synchronize, duplicate, clone, automate, niche
|
5 |
Requires at least: 4.0
|
6 |
Tested up to: 4.6
|
7 |
-
Stable tag: 1.1.
|
8 |
License: GPLv2
|
9 |
|
10 |
Duplicate, clone, backup, move and transfer an entire site from one location to another.
|
4 |
Tags: backup, restore, move, migrate, localhost, synchronize, duplicate, clone, automate, niche
|
5 |
Requires at least: 4.0
|
6 |
Tested up to: 4.6
|
7 |
+
Stable tag: 1.1.18
|
8 |
License: GPLv2
|
9 |
|
10 |
Duplicate, clone, backup, move and transfer an entire site from one location to another.
|
views/help/about.php
CHANGED
@@ -68,31 +68,17 @@ require_once(DUPLICATOR_PLUGIN_PATH . '/views/inc.header.php');
|
|
68 |
<table class="dup-support-hlp-hdrs">
|
69 |
<tr >
|
70 |
<td style="height:30px; text-align: center;">
|
71 |
-
<span style="display: inline-block; margin-top: 5px"><?php _e('
|
72 |
</td>
|
73 |
</tr>
|
74 |
</table>
|
75 |
<table style="text-align: center;width:100%; font-size:11px; font-style:italic; margin-top:25px">
|
76 |
<tr>
|
77 |
-
<td
|
78 |
-
<div class="dup-support-cell" onclick="jQuery('#dup-donate-form').submit()">
|
79 |
-
<form id="dup-donate-form" action="https://www.paypal.com/cgi-bin/webscr" method="post" target="_blank" >
|
80 |
-
<input name="cmd" type="hidden" value="_s-xclick" />
|
81 |
-
<input name="hosted_button_id" type="hidden" value="EYJ7AV43RTZJL" />
|
82 |
-
<input alt="PayPal - The safer, easier way to pay online!" name="submit" src="<?php echo DUPLICATOR_PLUGIN_URL ?>assets/img/paypal.png" type="image" />
|
83 |
-
<div style="margin-top:-5px"><?php _e('Keep Active and Online', 'duplicator') ?></div>
|
84 |
-
<img src="https://www.paypalobjects.com/WEBSCR-640-20110401-1/en_US/i/scr/pixel.gif" border="0" alt="" width="1" height="1" />
|
85 |
-
</form>
|
86 |
-
</div>
|
87 |
-
</td>
|
88 |
-
<td style="padding-right:40px;" valign="top">
|
89 |
<a href="http://wordpress.org/extend/plugins/duplicator" target="_blank"><img id="dup-img-5stars" src="<?php echo DUPLICATOR_PLUGIN_URL ?>assets/img/5star.png" /></a>
|
90 |
-
<div style="
|
91 |
-
|
92 |
-
|
93 |
-
<tr>
|
94 |
-
<td colspan="2">
|
95 |
-
|
96 |
</td>
|
97 |
</tr>
|
98 |
</table>
|
68 |
<table class="dup-support-hlp-hdrs">
|
69 |
<tr >
|
70 |
<td style="height:30px; text-align: center;">
|
71 |
+
<span style="display: inline-block; margin-top: 5px"><?php _e('Rate Duplicator', 'duplicator') ?></span>
|
72 |
</td>
|
73 |
</tr>
|
74 |
</table>
|
75 |
<table style="text-align: center;width:100%; font-size:11px; font-style:italic; margin-top:25px">
|
76 |
<tr>
|
77 |
+
<td valign="top">
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
78 |
<a href="http://wordpress.org/extend/plugins/duplicator" target="_blank"><img id="dup-img-5stars" src="<?php echo DUPLICATOR_PLUGIN_URL ?>assets/img/5star.png" /></a>
|
79 |
+
<div style=" font-size: 16px; font-weight: bold">
|
80 |
+
<a href="http://wordpress.org/extend/plugins/duplicator" target="_blank"><?php _e('Leave 5 Stars', 'duplicator') ?></a>
|
81 |
+
</div>
|
|
|
|
|
|
|
82 |
</td>
|
83 |
</tr>
|
84 |
</table>
|
views/packages/main/new1.setup.php
CHANGED
@@ -132,22 +132,23 @@ SYSTEM REQUIREMENTS -->
|
|
132 |
<!-- PERMISSIONS -->
|
133 |
<div class='dup-sys-req'>
|
134 |
<div class='dup-sys-title'>
|
135 |
-
<a><?php _e('
|
136 |
</div>
|
137 |
<div class="dup-sys-info dup-info-box">
|
138 |
-
|
139 |
-
|
140 |
-
|
141 |
-
|
142 |
-
|
143 |
-
|
144 |
-
|
145 |
-
|
146 |
-
|
147 |
-
|
148 |
-
|
149 |
-
|
150 |
-
|
|
|
151 |
</div>
|
152 |
</div>
|
153 |
|
132 |
<!-- PERMISSIONS -->
|
133 |
<div class='dup-sys-req'>
|
134 |
<div class='dup-sys-title'>
|
135 |
+
<a><?php _e('Required Paths', 'duplicator'); ?></a> <div><?php echo $dup_tests['IO']['ALL']; ?></div>
|
136 |
</div>
|
137 |
<div class="dup-sys-info dup-info-box">
|
138 |
+
<?php
|
139 |
+
printf("<b>%s</b> [%s] <br/>", $dup_tests['IO']['SSDIR'], DUPLICATOR_SSDIR_PATH);
|
140 |
+
printf("<b>%s</b> [%s] <br/>", $dup_tests['IO']['SSTMP'], DUPLICATOR_SSDIR_PATH_TMP);
|
141 |
+
?>
|
142 |
+
<br/>
|
143 |
+
<div style="font-size:11px">
|
144 |
+
<?php
|
145 |
+
_e("If Duplicator does not have enough permissions then you will need to manually create the paths above. ", 'duplicator');
|
146 |
+
if ($dup_tests['IO']['WPROOT'] == 'Fail')
|
147 |
+
{
|
148 |
+
echo sprintf( __('The root WordPress path [%s] is currently not writable by PHP.', 'duplicator'), DUPLICATOR_WPROOTPATH);
|
149 |
+
}
|
150 |
+
?>
|
151 |
+
</div>
|
152 |
</div>
|
153 |
</div>
|
154 |
|
views/packages/main/new2.scan.php
CHANGED
@@ -67,7 +67,7 @@
|
|
67 |
|
68 |
div#dup-scan-warning-continue {display:none; text-align: center; padding: 0 0 15px 0}
|
69 |
div#dup-scan-warning-continue div.msg1 label{font-size:16px; color:maroon}
|
70 |
-
div#dup-scan-warning-continue div.msg2 {padding:2px}
|
71 |
div#dup-scan-warning-continue div.msg2 label {font-size:11px !important}
|
72 |
|
73 |
/*Footer*/
|
@@ -466,8 +466,14 @@ TOOL BAR: STEPS -->
|
|
466 |
<!-- WARNING CONTINUE -->
|
467 |
<div id="dup-scan-warning-continue">
|
468 |
<div class="msg1">
|
469 |
-
|
470 |
-
<label for="dup-scan-warning-continue-checkbox"
|
|
|
|
|
|
|
|
|
|
|
|
|
471 |
</div>
|
472 |
<div class="msg2">
|
473 |
<label for="dup-scan-warning-continue-checkbox">
|
67 |
|
68 |
div#dup-scan-warning-continue {display:none; text-align: center; padding: 0 0 15px 0}
|
69 |
div#dup-scan-warning-continue div.msg1 label{font-size:16px; color:maroon}
|
70 |
+
div#dup-scan-warning-continue div.msg2 {padding:2px; line-height: 13px}
|
71 |
div#dup-scan-warning-continue div.msg2 label {font-size:11px !important}
|
72 |
|
73 |
/*Footer*/
|
466 |
<!-- WARNING CONTINUE -->
|
467 |
<div id="dup-scan-warning-continue">
|
468 |
<div class="msg1">
|
469 |
+
|
470 |
+
<label for="dup-scan-warning-continue-checkbox">
|
471 |
+
<?php _e('A warning status was detected, are you sure you want to continue?', 'duplicator');?>
|
472 |
+
</label>
|
473 |
+
<div style="padding:8px 0">
|
474 |
+
<input type="checkbox" id="dup-scan-warning-continue-checkbox" onclick="Duplicator.Pack.WarningContinue(this)"/>
|
475 |
+
<label for="dup-scan-warning-continue-checkbox"><?php _e('Yes. Continue with the build process!', 'duplicator');?></label>
|
476 |
+
</div>
|
477 |
</div>
|
478 |
<div class="msg2">
|
479 |
<label for="dup-scan-warning-continue-checkbox">
|
views/packages/main/packages.php
CHANGED
@@ -33,25 +33,26 @@
|
|
33 |
td.error-msg a i {color:maroon}
|
34 |
td.error-msg span {display:inline-block; padding:7px 18px 0px 0px; color:maroon}
|
35 |
|
36 |
-
/*Add Rotator */
|
37 |
-
span#dup-add-link {display:none; font-size:13px}
|
38 |
</style>
|
39 |
|
40 |
<form id="form-duplicator" method="post">
|
|
|
|
|
|
|
|
|
|
|
|
|
41 |
|
42 |
<!-- ====================
|
43 |
TOOL-BAR -->
|
44 |
<table id="dup-toolbar">
|
45 |
<tr valign="top">
|
46 |
<td style="white-space: nowrap">
|
47 |
-
<
|
48 |
-
<
|
49 |
-
|
50 |
-
|
51 |
-
|
52 |
-
<input type="button" id="dup-pack-bulk-apply" class="button action" value="<?php _e("Apply", 'duplicator') ?>" onclick="Duplicator.Pack.Delete()">
|
53 |
-
</div>
|
54 |
-
<br class="clear">
|
55 |
</td>
|
56 |
<td align="center" >
|
57 |
<a href="?page=duplicator-tools" id="btn-logs-dialog" class="button" title="<?php _e("Package Logs", 'duplicator') ?>..."><i class="fa fa-list-alt"></i>
|
@@ -181,10 +182,7 @@ TOOL-BAR -->
|
|
181 |
?>
|
182 |
<tfoot>
|
183 |
<tr>
|
184 |
-
<th colspan="
|
185 |
-
<?php echo DUP_UI::ShowRandomAffilateLink(); ?>
|
186 |
-
</th>
|
187 |
-
<th colspan="7" style='text-align:right; font-size:12px'>
|
188 |
<?php echo _e("Packages", 'duplicator') . ': ' . $totalElements; ?> |
|
189 |
<?php echo _e("Total Size", 'duplicator') . ': ' . DUP_Util::ByteSize($totalSize); ?>
|
190 |
</th>
|
@@ -248,6 +246,5 @@ jQuery(document).ready(function($)
|
|
248 |
window.location.href = '?page=duplicator&action=detail&tab=detail&id=' + package_id;
|
249 |
}
|
250 |
|
251 |
-
$('#dup-add-link').slideDown(1500);
|
252 |
});
|
253 |
</script>
|
33 |
td.error-msg a i {color:maroon}
|
34 |
td.error-msg span {display:inline-block; padding:7px 18px 0px 0px; color:maroon}
|
35 |
|
|
|
|
|
36 |
</style>
|
37 |
|
38 |
<form id="form-duplicator" method="post">
|
39 |
+
|
40 |
+
<?php if($statusCount >= 2) : ?>
|
41 |
+
<div style="font-size:14px; position: absolute; top:15px; right:25px">
|
42 |
+
<a href="admin.php?page=duplicator-about" style="color:maroon"><i><i class="fa fa-check-circle"></i> <?php _e("Help Support Duplicator", 'duplicator') ?></i> </a>
|
43 |
+
</div>
|
44 |
+
<?php endif; ?>
|
45 |
|
46 |
<!-- ====================
|
47 |
TOOL-BAR -->
|
48 |
<table id="dup-toolbar">
|
49 |
<tr valign="top">
|
50 |
<td style="white-space: nowrap">
|
51 |
+
<select id="dup-pack-bulk-actions">
|
52 |
+
<option value="-1" selected="selected"><?php _e("Bulk Actions", 'duplicator') ?></option>
|
53 |
+
<option value="delete" title="<?php _e("Delete selected package(s)", 'duplicator') ?>"><?php _e("Delete", 'duplicator') ?></option>
|
54 |
+
</select>
|
55 |
+
<input type="button" id="dup-pack-bulk-apply" class="button action" value="<?php _e("Apply", 'duplicator') ?>" onclick="Duplicator.Pack.Delete()">
|
|
|
|
|
|
|
56 |
</td>
|
57 |
<td align="center" >
|
58 |
<a href="?page=duplicator-tools" id="btn-logs-dialog" class="button" title="<?php _e("Package Logs", 'duplicator') ?>..."><i class="fa fa-list-alt"></i>
|
182 |
?>
|
183 |
<tfoot>
|
184 |
<tr>
|
185 |
+
<th colspan="11" style='text-align:right; font-size:12px'>
|
|
|
|
|
|
|
186 |
<?php echo _e("Packages", 'duplicator') . ': ' . $totalElements; ?> |
|
187 |
<?php echo _e("Total Size", 'duplicator') . ': ' . DUP_Util::ByteSize($totalSize); ?>
|
188 |
</th>
|
246 |
window.location.href = '?page=duplicator&action=detail&tab=detail&id=' + package_id;
|
247 |
}
|
248 |
|
|
|
249 |
});
|
250 |
</script>
|
views/tools/diagnostics.php
CHANGED
@@ -168,6 +168,10 @@
|
|
168 |
<td><?php _e("User", 'duplicator'); ?></td>
|
169 |
<td><?php echo DUP_Util::GetCurrentUser(); ?></td>
|
170 |
</tr>
|
|
|
|
|
|
|
|
|
171 |
<tr>
|
172 |
<td><a href="http://php.net/manual/en/features.safe-mode.php" target="_blank"><?php _e("Safe Mode", 'duplicator'); ?></a></td>
|
173 |
<td>
|
168 |
<td><?php _e("User", 'duplicator'); ?></td>
|
169 |
<td><?php echo DUP_Util::GetCurrentUser(); ?></td>
|
170 |
</tr>
|
171 |
+
<tr>
|
172 |
+
<td><?php _e("Process", 'duplicator'); ?></td>
|
173 |
+
<td><?php echo DUP_Util::GetProcessOwner(); ?></td>
|
174 |
+
</tr>
|
175 |
<tr>
|
176 |
<td><a href="http://php.net/manual/en/features.safe-mode.php" target="_blank"><?php _e("Safe Mode", 'duplicator'); ?></a></td>
|
177 |
<td>
|
views/tools/logging.php
CHANGED
@@ -39,11 +39,14 @@
|
|
39 |
td#dup-log-panel-left div.name {float:left; margin: 0px 0px 5px 5px;}
|
40 |
td#dup-log-panel-left div.opts {float:right;}
|
41 |
td#dup-log-panel-right {vertical-align: top; padding-left:15px; max-width: 375px}
|
42 |
-
|
|
|
43 |
div.dup-log-file-list span {font-weight: bold}
|
|
|
44 |
div.dup-opts-items {border:1px solid silver; background: #efefef; padding: 5px; border-radius: 4px; margin:2px 0px 10px -2px;}
|
45 |
label#dup-auto-refresh-lbl {display: inline-block;}
|
46 |
iframe#dup-log-content {padding:5px; background: #fff; min-height:500px; width:99%; border:1px solid silver}
|
|
|
47 |
</style>
|
48 |
|
49 |
<script type="text/javascript">
|
@@ -196,7 +199,7 @@ jQuery(document).ready(function($) {
|
|
196 |
$name = esc_html(basename($log));
|
197 |
$url = '?page=duplicator-tools&logname=' . $name;
|
198 |
echo ($active == $name)
|
199 |
-
? "<span title='{$name}'>{$time} - {$name}</span><br/>"
|
200 |
: "<a href='javascript:void(0)' title='{$name}' onclick='Duplicator.Tools.GetLog(\"{$url}\")'>{$time} - {$name}</a><br/>";
|
201 |
if ($count > 20) break;
|
202 |
}
|
39 |
td#dup-log-panel-left div.name {float:left; margin: 0px 0px 5px 5px;}
|
40 |
td#dup-log-panel-left div.opts {float:right;}
|
41 |
td#dup-log-panel-right {vertical-align: top; padding-left:15px; max-width: 375px}
|
42 |
+
|
43 |
+
div.dup-log-file-list a, span.dup-log{display: inline-block; white-space: nowrap; text-overflow: ellipsis; max-width: 375px; line-height:20px; overflow:hidden}
|
44 |
div.dup-log-file-list span {font-weight: bold}
|
45 |
+
|
46 |
div.dup-opts-items {border:1px solid silver; background: #efefef; padding: 5px; border-radius: 4px; margin:2px 0px 10px -2px;}
|
47 |
label#dup-auto-refresh-lbl {display: inline-block;}
|
48 |
iframe#dup-log-content {padding:5px; background: #fff; min-height:500px; width:99%; border:1px solid silver}
|
49 |
+
|
50 |
</style>
|
51 |
|
52 |
<script type="text/javascript">
|
199 |
$name = esc_html(basename($log));
|
200 |
$url = '?page=duplicator-tools&logname=' . $name;
|
201 |
echo ($active == $name)
|
202 |
+
? "<span class='dup-log' title='{$name}'>{$time} - {$name}</span><br/>"
|
203 |
: "<a href='javascript:void(0)' title='{$name}' onclick='Duplicator.Tools.GetLog(\"{$url}\")'>{$time} - {$name}</a><br/>";
|
204 |
if ($count > 20) break;
|
205 |
}
|