Version Description
Download this release
Release Info
Developer | cory@lamle.org |
Plugin | Duplicator – WordPress Migration Plugin |
Version | 1.1.12 |
Comparing to | |
See all releases |
Code changes from version 1.1.10 to 1.1.12
- classes/package.installer.php +8 -0
- classes/package.php +11 -6
- define.php +1 -1
- duplicator.php +1 -1
- installer/build/ajax.step1.php +48 -19
- installer/build/ajax.step2.php +5 -5
- installer/build/assets/inc.css.php +12 -9
- installer/build/classes/class.logging.php +2 -0
- installer/build/main.installer.php +8 -0
- installer/build/view.help.php +11 -0
- installer/build/view.step1.php +11 -11
- installer/build/view.step2.php +1 -1
- installer/build/view.step3.php +6 -6
- readme.txt +1 -1
classes/package.installer.php
CHANGED
@@ -125,6 +125,14 @@ class DUP_Installer {
|
|
125 |
$deleteOpts = $GLOBALS['DUPLICATOR_OPTS_DELETE'];
|
126 |
|
127 |
$replace_items = Array(
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
128 |
"fwrite_url_old" => get_option('siteurl'),
|
129 |
"fwrite_package_name" => "{$this->Package->NameHash}_archive.zip",
|
130 |
"fwrite_package_notes" => $this->Package->Notes,
|
125 |
$deleteOpts = $GLOBALS['DUPLICATOR_OPTS_DELETE'];
|
126 |
|
127 |
$replace_items = Array(
|
128 |
+
//COMPARE VALUES
|
129 |
+
"fwrite_created" => $this->Package->Created,
|
130 |
+
"fwrite_version_dup" => DUPLICATOR_VERSION,
|
131 |
+
"fwrite_version_wp" => $this->Package->VersionWP,
|
132 |
+
"fwrite_version_db" => $this->Package->VersionDB,
|
133 |
+
"fwrite_version_php" => $this->Package->VersionPHP,
|
134 |
+
"fwrite_version_os" => $this->Package->VersionOS,
|
135 |
+
//GENERAL
|
136 |
"fwrite_url_old" => get_option('siteurl'),
|
137 |
"fwrite_package_name" => "{$this->Package->NameHash}_archive.zip",
|
138 |
"fwrite_package_notes" => $this->Package->Notes,
|
classes/package.php
CHANGED
@@ -31,14 +31,17 @@ class DUP_Package {
|
|
31 |
const OPT_ACTIVE = 'duplicator_package_active';
|
32 |
|
33 |
//Properties
|
34 |
-
public $
|
35 |
-
public $Name;
|
36 |
-
public $Hash;
|
37 |
-
public $NameHash;
|
38 |
public $Version;
|
39 |
public $VersionWP;
|
40 |
public $VersionDB;
|
41 |
public $VersionPHP;
|
|
|
|
|
|
|
|
|
|
|
|
|
42 |
public $Type;
|
43 |
public $Notes;
|
44 |
public $StorePath;
|
@@ -288,13 +291,15 @@ class DUP_Package {
|
|
288 |
$filter_exts = isset($post['filter-exts']) ? $this->parseExtensionFilter($post['filter-exts']) : '';
|
289 |
$tablelist = isset($post['dbtables']) ? implode(',', $post['dbtables']) : '';
|
290 |
$compatlist = isset($post['dbcompat']) ? implode(',', $post['dbcompat']) : '';
|
291 |
-
$dbversion = DUP_Util::MysqlVariableValue('version');
|
292 |
$dbversion = is_null($dbversion) ? '- unknown -' : $dbversion;
|
293 |
|
294 |
//PACKAGE
|
|
|
295 |
$this->Version = DUPLICATOR_VERSION;
|
|
|
296 |
$this->VersionWP = $wp_version;
|
297 |
-
$this->VersionPHP
|
298 |
$this->VersionDB = $dbversion;
|
299 |
$this->Name = $name;
|
300 |
$this->Hash = $this->MakeHash();
|
31 |
const OPT_ACTIVE = 'duplicator_package_active';
|
32 |
|
33 |
//Properties
|
34 |
+
public $Created;
|
|
|
|
|
|
|
35 |
public $Version;
|
36 |
public $VersionWP;
|
37 |
public $VersionDB;
|
38 |
public $VersionPHP;
|
39 |
+
public $VersionOS;
|
40 |
+
|
41 |
+
public $ID;
|
42 |
+
public $Name;
|
43 |
+
public $Hash;
|
44 |
+
public $NameHash;
|
45 |
public $Type;
|
46 |
public $Notes;
|
47 |
public $StorePath;
|
291 |
$filter_exts = isset($post['filter-exts']) ? $this->parseExtensionFilter($post['filter-exts']) : '';
|
292 |
$tablelist = isset($post['dbtables']) ? implode(',', $post['dbtables']) : '';
|
293 |
$compatlist = isset($post['dbcompat']) ? implode(',', $post['dbcompat']) : '';
|
294 |
+
$dbversion = preg_replace('/[^0-9.].*/', '', DUP_Util::MysqlVariableValue('version'));
|
295 |
$dbversion = is_null($dbversion) ? '- unknown -' : $dbversion;
|
296 |
|
297 |
//PACKAGE
|
298 |
+
$this->Created = date("Y-m-d H:i:s");
|
299 |
$this->Version = DUPLICATOR_VERSION;
|
300 |
+
$this->VersionOS = defined('PHP_OS') ? PHP_OS : 'unknown';
|
301 |
$this->VersionWP = $wp_version;
|
302 |
+
$this->VersionPHP = phpversion();
|
303 |
$this->VersionDB = $dbversion;
|
304 |
$this->Name = $name;
|
305 |
$this->Hash = $this->MakeHash();
|
define.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
if (function_exists('plugin_dir_url')) {
|
4 |
|
5 |
|
6 |
-
define('DUPLICATOR_VERSION', '1.1.
|
7 |
define("DUPLICATOR_HOMEPAGE", "http://lifeinthegrid.com/labs/duplicator");
|
8 |
define("DUPLICATOR_GIVELINK", "http://lifeinthegrid.com/partner");
|
9 |
define("DUPLICATOR_HELPLINK", "http://lifeinthegrid.com/duplicator-docs");
|
3 |
if (function_exists('plugin_dir_url')) {
|
4 |
|
5 |
|
6 |
+
define('DUPLICATOR_VERSION', '1.1.12');
|
7 |
define("DUPLICATOR_HOMEPAGE", "http://lifeinthegrid.com/labs/duplicator");
|
8 |
define("DUPLICATOR_GIVELINK", "http://lifeinthegrid.com/partner");
|
9 |
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
|
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.12
|
7 |
Author: LifeInTheGrid
|
8 |
Author URI: http://www.lifeinthegrid.com
|
9 |
Text Domain: duplicator
|
installer/build/ajax.step1.php
CHANGED
@@ -52,19 +52,45 @@ if (isset($_GET['dbtest']))
|
|
52 |
|
53 |
$tstSrv = ($dbConn) ? "<div class='dup-pass'>Success</div>" : "<div class='dup-fail'>Fail</div>";
|
54 |
$tstDB = ($dbFound) ? "<div class='dup-pass'>Success</div>" : "<div class='dup-fail'>Fail</div>";
|
55 |
-
$html .= "<div class='dup-db-test'>";
|
56 |
-
$html .= "<small style='display:block; padding:0 5px'>Using Connection String:<br/>Host={$_POST['dbhost']}; Database={$_POST['dbname']}; Uid={$_POST['dbuser']}; Pwd={$_POST['dbpass']}; {$port_view}</small>";
|
57 |
-
$html .= "<label>Server Connected:</label> {$tstSrv} <br/>";
|
58 |
-
$html .= "<label>Database Found:</label> {$tstDB} <br/>";
|
59 |
-
|
60 |
-
//WARNING: DB not empty message
|
61 |
-
if ($_POST['dbaction'] == 'create'){
|
62 |
-
$tblcount = DupUtil::dbtable_count($dbConn, $_POST['dbname']);
|
63 |
-
$html .= ($tblcount > 0)
|
64 |
-
? "<div class='dup-fail'><b>WARNING</b></div><br/>" . sprintf(ERR_DBEMPTY, $_POST['dbname'], $tblcount) . '<br/>'
|
65 |
-
: "";
|
66 |
-
}
|
67 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
68 |
//WARNNG: Input has utf8
|
69 |
$dbConnItems = array($_POST['dbhost'], $_POST['dbuser'], $_POST['dbname'],$_POST['dbpass']);
|
70 |
$dbUTF8_tst = false;
|
@@ -75,13 +101,15 @@ if (isset($_GET['dbtest']))
|
|
75 |
break;
|
76 |
}
|
77 |
}
|
|
|
|
|
|
|
78 |
|
79 |
-
|
80 |
-
|
81 |
-
|
82 |
-
|
83 |
-
|
84 |
-
|
85 |
$html .= "</div>";
|
86 |
die($html);
|
87 |
}
|
@@ -319,6 +347,7 @@ $dbvar_maxtime = DupUtil::mysql_variable_value($dbh, 'wait_timeout');
|
|
319 |
$dbvar_maxpacks = DupUtil::mysql_variable_value($dbh, 'max_allowed_packet');
|
320 |
$dbvar_maxtime = is_null($dbvar_maxtime) ? 300 : $dbvar_maxtime;
|
321 |
$dbvar_maxpacks = is_null($dbvar_maxpacks) ? 1048576 : $dbvar_maxpacks;
|
|
|
322 |
|
323 |
|
324 |
DUPX_Log::Info("{$GLOBALS['SEPERATOR1']}");
|
@@ -327,7 +356,7 @@ DUPX_Log::Info("{$GLOBALS['SEPERATOR1']}");
|
|
327 |
DUPX_Log::Info("--------------------------------------");
|
328 |
DUPX_Log::Info("SERVER ENVIROMENT");
|
329 |
DUPX_Log::Info("--------------------------------------");
|
330 |
-
DUPX_Log::Info("MYSQL VERSION:\
|
331 |
DUPX_Log::Info("TIMEOUT:\t{$dbvar_maxtime}");
|
332 |
DUPX_Log::Info("MAXPACK:\t{$dbvar_maxpacks}");
|
333 |
|
52 |
|
53 |
$tstSrv = ($dbConn) ? "<div class='dup-pass'>Success</div>" : "<div class='dup-fail'>Fail</div>";
|
54 |
$tstDB = ($dbFound) ? "<div class='dup-pass'>Success</div>" : "<div class='dup-fail'>Fail</div>";
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
55 |
|
56 |
+
$dbvar_version = DupUtil::mysql_version($dbConn);
|
57 |
+
$dbvar_version_fail = version_compare($dbvar_version, $GLOBALS['FW_VERSION_DB']) < 0;
|
58 |
+
$tstCompat = ($dbvar_version_fail)
|
59 |
+
? "<div class='dup-fail'>This Server: [{$dbvar_version}] -- Package Server: [{$GLOBALS['FW_VERSION_DB']}]</div>"
|
60 |
+
: "<div class='dup-pass'>This Server: [{$dbvar_version}] -- Package Server: [{$GLOBALS['FW_VERSION_DB']}]</div>";
|
61 |
+
|
62 |
+
$html .= <<<DATA
|
63 |
+
<div class='dup-db-test'>
|
64 |
+
<small>
|
65 |
+
Using Connection String:<br/>
|
66 |
+
Host={$_POST['dbhost']}; Database={$_POST['dbname']}; Uid={$_POST['dbuser']}; Pwd={$_POST['dbpass']}; {$port_view}
|
67 |
+
</small>
|
68 |
+
<table class='dup-db-test-dtls'>
|
69 |
+
<tr>
|
70 |
+
<td>Host:</td>
|
71 |
+
<td>{$tstSrv}</td>
|
72 |
+
</tr>
|
73 |
+
<tr>
|
74 |
+
<td>Database:</td>
|
75 |
+
<td>{$tstDB}</td>
|
76 |
+
</tr>
|
77 |
+
<tr>
|
78 |
+
<td>Version:</td>
|
79 |
+
<td>{$tstCompat}</td>
|
80 |
+
</tr>
|
81 |
+
</table>
|
82 |
+
DATA;
|
83 |
+
|
84 |
+
//--------------------------------
|
85 |
+
//WARNING: DB has tables with create option
|
86 |
+
if ($_POST['dbaction'] == 'create')
|
87 |
+
{
|
88 |
+
$tblcount = DupUtil::dbtable_count($dbConn, $_POST['dbname']);
|
89 |
+
$html .= ($tblcount > 0)
|
90 |
+
? "<div class='warn-msg'><b>WARNING:</b> " . sprintf(ERR_DBEMPTY, $_POST['dbname'], $tblcount) . "</div>"
|
91 |
+
: '';
|
92 |
+
}
|
93 |
+
|
94 |
//WARNNG: Input has utf8
|
95 |
$dbConnItems = array($_POST['dbhost'], $_POST['dbuser'], $_POST['dbname'],$_POST['dbpass']);
|
96 |
$dbUTF8_tst = false;
|
101 |
break;
|
102 |
}
|
103 |
}
|
104 |
+
$html .= (! $dbConn && $dbUTF8_tst)
|
105 |
+
? "<div class='warn-msg'><b>WARNING:</b> " . ERR_TESTDB_UTF8 . "</div>"
|
106 |
+
: '';
|
107 |
|
108 |
+
//WARNING Version Incompat
|
109 |
+
$html .= ($dbvar_version_fail)
|
110 |
+
? "<div class='warn-msg'><b>NOTICE:</b> " . ERR_TESTDB_VERSION . "</div>"
|
111 |
+
: '';
|
112 |
+
|
|
|
113 |
$html .= "</div>";
|
114 |
die($html);
|
115 |
}
|
347 |
$dbvar_maxpacks = DupUtil::mysql_variable_value($dbh, 'max_allowed_packet');
|
348 |
$dbvar_maxtime = is_null($dbvar_maxtime) ? 300 : $dbvar_maxtime;
|
349 |
$dbvar_maxpacks = is_null($dbvar_maxpacks) ? 1048576 : $dbvar_maxpacks;
|
350 |
+
$dbvar_version = DupUtil::mysql_version($dbh);
|
351 |
|
352 |
|
353 |
DUPX_Log::Info("{$GLOBALS['SEPERATOR1']}");
|
356 |
DUPX_Log::Info("--------------------------------------");
|
357 |
DUPX_Log::Info("SERVER ENVIROMENT");
|
358 |
DUPX_Log::Info("--------------------------------------");
|
359 |
+
DUPX_Log::Info("MYSQL VERSION:\tThis Server: {$dbvar_version} -- Build Server: {$GLOBALS['FW_VERSION_DB']}");
|
360 |
DUPX_Log::Info("TIMEOUT:\t{$dbvar_maxtime}");
|
361 |
DUPX_Log::Info("MAXPACK:\t{$dbvar_maxpacks}");
|
362 |
|
installer/build/ajax.step2.php
CHANGED
@@ -222,17 +222,17 @@ fclose($fp);
|
|
222 |
|
223 |
|
224 |
//===============================
|
225 |
-
//
|
226 |
//===============================
|
227 |
DUPX_Log::Info("\n--------------------------------------");
|
228 |
-
DUPX_Log::Info("
|
229 |
DUPX_Log::Info("--------------------------------------");
|
230 |
$config_vars = array('WP_CONTENT_DIR', 'WP_CONTENT_URL', 'WPCACHEHOME', 'COOKIE_DOMAIN', 'WP_SITEURL', 'WP_HOME', 'WP_TEMP_DIR');
|
231 |
$config_found = DupUtil::string_has_value($config_vars, $config_file);
|
232 |
|
233 |
//Files
|
234 |
if ($config_found) {
|
235 |
-
$msg = 'WP-CONFIG
|
236 |
$JSON['step2']['warnlist'][] = $msg;
|
237 |
DUPX_Log::Info($msg);
|
238 |
}
|
@@ -242,7 +242,7 @@ $result = @mysqli_query($dbh, "SELECT option_value FROM `{$GLOBALS['FW_TABLEPREF
|
|
242 |
if ($result) {
|
243 |
while ($row = mysqli_fetch_row($result)) {
|
244 |
if (strlen($row[0])) {
|
245 |
-
$msg = "MEDIA SETTINGS
|
246 |
$JSON['step2']['warnlist'][] = $msg;
|
247 |
DUPX_Log::Info($msg);
|
248 |
break;
|
@@ -251,7 +251,7 @@ if ($result) {
|
|
251 |
}
|
252 |
|
253 |
if (empty($JSON['step2']['warnlist'])) {
|
254 |
-
DUPX_Log::Info("No
|
255 |
}
|
256 |
|
257 |
$JSON['step2']['warn_all'] = empty($JSON['step2']['warnlist']) ? 0 : count($JSON['step2']['warnlist']);
|
222 |
|
223 |
|
224 |
//===============================
|
225 |
+
//NOTICE TESTS
|
226 |
//===============================
|
227 |
DUPX_Log::Info("\n--------------------------------------");
|
228 |
+
DUPX_Log::Info("NOTICES");
|
229 |
DUPX_Log::Info("--------------------------------------");
|
230 |
$config_vars = array('WP_CONTENT_DIR', 'WP_CONTENT_URL', 'WPCACHEHOME', 'COOKIE_DOMAIN', 'WP_SITEURL', 'WP_HOME', 'WP_TEMP_DIR');
|
231 |
$config_found = DupUtil::string_has_value($config_vars, $config_file);
|
232 |
|
233 |
//Files
|
234 |
if ($config_found) {
|
235 |
+
$msg = 'WP-CONFIG NOTICE: The wp-config.php has one or more of the following values set [' . implode(", ", $config_vars) . ']. Please validate these values are correct by opening the file and checking the values.';
|
236 |
$JSON['step2']['warnlist'][] = $msg;
|
237 |
DUPX_Log::Info($msg);
|
238 |
}
|
242 |
if ($result) {
|
243 |
while ($row = mysqli_fetch_row($result)) {
|
244 |
if (strlen($row[0])) {
|
245 |
+
$msg = "MEDIA SETTINGS NOTICE: The table '{$GLOBALS['FW_TABLEPREFIX']}options' has at least one the following values ['upload_url_path','upload_path'] set please validate settings. These settings can be changed in the wp-admin by going to Settings->Media area see 'Uploading Files'";
|
246 |
$JSON['step2']['warnlist'][] = $msg;
|
247 |
DUPX_Log::Info($msg);
|
248 |
break;
|
251 |
}
|
252 |
|
253 |
if (empty($JSON['step2']['warnlist'])) {
|
254 |
+
DUPX_Log::Info("No Notices Found\n");
|
255 |
}
|
256 |
|
257 |
$JSON['step2']['warn_all'] = empty($JSON['step2']['warnlist']) ? 0 : count($JSON['step2']['warnlist']);
|
installer/build/assets/inc.css.php
CHANGED
@@ -73,19 +73,22 @@
|
|
73 |
table.s1-opts-dbhost td {padding:0; margin:0}
|
74 |
table.s1-advopts td:first-child{width:125px; font-weight:bold}
|
75 |
|
76 |
-
i#
|
77 |
div.circle-pass, div.circle-fail {display:block;width:13px;height:13px;border-radius:50px;font-size:20px;color:#fff;line-height:100px;text-align:center;text-decoration:none;box-shadow:1px 1px 2px #000;background:#207D1D;opacity:0.95; display:inline-block;}
|
78 |
div.circle-fail {background:#9A0D1D !important;}
|
79 |
select#logging {font-size:11px}
|
80 |
-
div.
|
81 |
-
div#
|
82 |
|
83 |
-
input
|
84 |
-
input#
|
85 |
-
div.dup-db-test
|
86 |
-
|
|
|
87 |
div#dbconn-test-msg {font-size:12px}
|
88 |
-
div#
|
|
|
|
|
89 |
|
90 |
/*Warning Area and Message */
|
91 |
div.dup-step1-gopro {color: black;font-style: italic;margin-top: 11px; text-align:center;margin-top:30px; padding:5px}
|
@@ -154,7 +157,7 @@
|
|
154 |
|
155 |
/* ============================
|
156 |
BUTTONS */
|
157 |
-
div.dup-footer-buttons {
|
158 |
div.dup-footer-buttons input, button {
|
159 |
color:#000; font-size:12px; border-radius:5px; padding:6px 8px 4px 8px; border:1px solid #999;
|
160 |
background-color:#F1F1F1;
|
73 |
table.s1-opts-dbhost td {padding:0; margin:0}
|
74 |
table.s1-advopts td:first-child{width:125px; font-weight:bold}
|
75 |
|
76 |
+
i#s1-sys-req-msg {font-weight:normal; display:block; padding:0px 0 0 20px;}
|
77 |
div.circle-pass, div.circle-fail {display:block;width:13px;height:13px;border-radius:50px;font-size:20px;color:#fff;line-height:100px;text-align:center;text-decoration:none;box-shadow:1px 1px 2px #000;background:#207D1D;opacity:0.95; display:inline-block;}
|
78 |
div.circle-fail {background:#9A0D1D !important;}
|
79 |
select#logging {font-size:11px}
|
80 |
+
div.s1-modes {padding:0px 15px 0 0px;}
|
81 |
+
div#s1-dbconn {margin:auto; text-align:center; margin:15px 0 20px 0px}
|
82 |
|
83 |
+
input.s1-small-btn {font-size:11px; height:20px; border:1px solid gray; border-radius:3px; cursor:pointer}
|
84 |
+
input#s1-dbport-btn { width:80px}
|
85 |
+
div.dup-db-test small{display:block; font-style:italic; color:#333; padding:3px 2px 5px 2px; border-bottom:1px dashed silver; margin-bottom:10px; text-align: center }
|
86 |
+
table.dup-db-test-dtls {text-align: left; margin: auto}
|
87 |
+
table.dup-db-test-dtls td:first-child {font-weight: bold}
|
88 |
div#dbconn-test-msg {font-size:12px}
|
89 |
+
div#s1-dbconn-status {border:1px solid silver; border-radius:3px; background-color:#f9f9f9; padding:2px 5px; margin-top:10px; height:165px; overflow-y: scroll}
|
90 |
+
div#s1-dbconn-status div.warn-msg {text-align: left; padding:5px; margin:10px 0 10px 0}
|
91 |
+
div#s1-dbconn-status div.warn-msg b{color:maroon}
|
92 |
|
93 |
/*Warning Area and Message */
|
94 |
div.dup-step1-gopro {color: black;font-style: italic;margin-top: 11px; text-align:center;margin-top:30px; padding:5px}
|
157 |
|
158 |
/* ============================
|
159 |
BUTTONS */
|
160 |
+
div.dup-footer-buttons {padding:10px; width:100%; text-align:right;}
|
161 |
div.dup-footer-buttons input, button {
|
162 |
color:#000; font-size:12px; border-radius:5px; padding:6px 8px 4px 8px; border:1px solid #999;
|
163 |
background-color:#F1F1F1;
|
installer/build/classes/class.logging.php
CHANGED
@@ -21,6 +21,8 @@ define('ERR_DBCONNECT_CREATE', 'DATABASE CREATION FAILURE!<br/> Unable to creat
|
|
21 |
define('ERR_DBTRYCLEAN', 'DATABASE CREATION FAILURE!<br/> Unable to remove all tables from database "%s".<br/> Please remove all tables from this database and try the installation again.');
|
22 |
define('ERR_DBCREATE', 'The database "%s" does not exists.<br/> Change mode to create in order to create a new database.');
|
23 |
define('ERR_DBEMPTY', 'The database "%s" has "%s" tables. The Duplicator only works with an EMPTY database. Enable the action "Connect and Remove All Data" radio button to remove all tables and or create a new database. Some hosting providers do not allow table removal from scripts. In this case you will need to login to your hosting providers control panel and remove the tables manually. Please contact your hosting provider for further details. Always backup all your data before proceeding!');
|
|
|
|
|
24 |
|
25 |
/** * *****************************************************
|
26 |
* DUPX_Log
|
21 |
define('ERR_DBTRYCLEAN', 'DATABASE CREATION FAILURE!<br/> Unable to remove all tables from database "%s".<br/> Please remove all tables from this database and try the installation again.');
|
22 |
define('ERR_DBCREATE', 'The database "%s" does not exists.<br/> Change mode to create in order to create a new database.');
|
23 |
define('ERR_DBEMPTY', 'The database "%s" has "%s" tables. The Duplicator only works with an EMPTY database. Enable the action "Connect and Remove All Data" radio button to remove all tables and or create a new database. Some hosting providers do not allow table removal from scripts. In this case you will need to login to your hosting providers control panel and remove the tables manually. Please contact your hosting provider for further details. Always backup all your data before proceeding!');
|
24 |
+
define('ERR_TESTDB_UTF8', 'UTF8 Characters were detected as part of the database connection string. If your connection fails be sure to update the MySQL my.ini configuration file setting to support UTF8 characters by enabling this option [character_set_server=utf8] and restarting the database server.');
|
25 |
+
define('ERR_TESTDB_VERSION', 'In order to avoid database incompatibility issues make sure the database versions between the build and installer servers are as close as possible. If the package was created on a newer database version than where it is being installed then you might run into issues.<br/><br/> It is best to make sure the server where the installer is running has the same or higher version number than where it was built. If the major and minor version are the same or close for example [5.7 to 5.6], then the migration should work without issues. A version pair of [5.7 to 5.1] is more likely to cause issues unless you have a very simple setup. If the versions are too far apart work with your hosting provider to upgrade the MySQL engine on this server.');
|
26 |
|
27 |
/** * *****************************************************
|
28 |
* DUPX_Log
|
installer/build/main.installer.php
CHANGED
@@ -98,6 +98,14 @@ $GLOBALS['REPLACE_LIST']
|
|
98 |
array_push($GLOBALS['REPLACE_LIST'], array('search' => 'ftps://oldurl/', 'replace' => 'ftps://newurl/'));
|
99 |
================================================================================================= */
|
100 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
101 |
$GLOBALS['FW_TABLEPREFIX'] = '%fwrite_wp_tableprefix%';
|
102 |
$GLOBALS['FW_URL_OLD'] = '%fwrite_url_old%';
|
103 |
$GLOBALS['FW_URL_NEW'] = '%fwrite_url_new%';
|
98 |
array_push($GLOBALS['REPLACE_LIST'], array('search' => 'ftps://oldurl/', 'replace' => 'ftps://newurl/'));
|
99 |
================================================================================================= */
|
100 |
|
101 |
+
//COMPARE VALUES
|
102 |
+
$GLOBALS['FW_CREATED'] = '%fwrite_created%';
|
103 |
+
$GLOBALS['FW_VERSION_DUP'] = '%fwrite_version_dup%';
|
104 |
+
$GLOBALS['FW_VERSION_WP'] = '%fwrite_version_wp%';
|
105 |
+
$GLOBALS['FW_VERSION_DB'] = '%fwrite_version_db%';
|
106 |
+
$GLOBALS['FW_VERSION_PHP'] = '%fwrite_version_php%';
|
107 |
+
$GLOBALS['FW_VERSION_OS'] = '%fwrite_version_os%';
|
108 |
+
//GENERAL
|
109 |
$GLOBALS['FW_TABLEPREFIX'] = '%fwrite_wp_tableprefix%';
|
110 |
$GLOBALS['FW_URL_OLD'] = '%fwrite_url_old%';
|
111 |
$GLOBALS['FW_URL_NEW'] = '%fwrite_url_new%';
|
installer/build/view.help.php
CHANGED
@@ -34,6 +34,17 @@ HELP FORM -->
|
|
34 |
<b>Password:</b><br/>
|
35 |
The password of the MySQL database server user.
|
36 |
<br/><br/>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
37 |
|
38 |
<b>Name:</b><br/>
|
39 |
The name of the database to which this installation will connect and install the new tables onto.
|
34 |
<b>Password:</b><br/>
|
35 |
The password of the MySQL database server user.
|
36 |
<br/><br/>
|
37 |
+
|
38 |
+
<b>Test Connection:</b><br/>
|
39 |
+
The test connection button will help validate if the connection parameters are correct for this server. There are three separate validation parameters:
|
40 |
+
<ul>
|
41 |
+
<li><b>Host:</b> Returns a status to indicate if the server host name is a valid host name <br/><br/></li>
|
42 |
+
<li><b>Database:</b> Returns a status to indicate if the database name is a valid <br/><br/></li>
|
43 |
+
<li><b>Version:</b> Shows the difference in database engine version numbers. If the package was created on a newer database version than where its trying to
|
44 |
+
be installed then you can run into issues. Its best to make sure the server where the installer is running has the same or higher version number than
|
45 |
+
where it was built.</li>
|
46 |
+
</ul>
|
47 |
+
<br/>
|
48 |
|
49 |
<b>Name:</b><br/>
|
50 |
The name of the database to which this installation will connect and install the new tables onto.
|
installer/build/view.step1.php
CHANGED
@@ -126,7 +126,7 @@
|
|
126 |
});
|
127 |
|
128 |
$('#dbconn-test-msg').html("Attempting Connection. Please wait...");
|
129 |
-
$("#
|
130 |
|
131 |
};
|
132 |
|
@@ -138,7 +138,7 @@
|
|
138 |
|
139 |
Duplicator.togglePort = function () {
|
140 |
|
141 |
-
$('#
|
142 |
$('#dbport').show();
|
143 |
}
|
144 |
|
@@ -183,7 +183,7 @@ VIEW: STEP 1- INPUT -->
|
|
183 |
</div>
|
184 |
</div><br/>
|
185 |
|
186 |
-
<i id="
|
187 |
This installation will not be able to proceed until the system requirements pass. Please validate your system requirements by clicking on the button above.
|
188 |
In order to get these values to pass please contact your server administrator, hosting provider or visit the online FAQ.
|
189 |
</i><br/>
|
@@ -216,11 +216,11 @@ VIEW: STEP 1- INPUT -->
|
|
216 |
<tr>
|
217 |
<td>Action</td>
|
218 |
<td>
|
219 |
-
<div class="
|
220 |
<input type="radio" name="dbaction" id="dbaction-create" value="create" checked="checked" />
|
221 |
<label for="dbaction-create">Create New Database</label>
|
222 |
</div>
|
223 |
-
<div class="
|
224 |
<input type="radio" name="dbaction" id="dbaction-empty" value="empty" />
|
225 |
<label for="dbaction-empty">Connect and Remove All Data</label>
|
226 |
</div>
|
@@ -233,7 +233,7 @@ VIEW: STEP 1- INPUT -->
|
|
233 |
<tr>
|
234 |
<td><input type="text" name="dbhost" id="dbhost" required="true" value="<?php echo htmlspecialchars($GLOBALS['FW_DBHOST']); ?>" placeholder="localhost" style="width:410px" /></td>
|
235 |
<td style="vertical-align:top">
|
236 |
-
<input id="
|
237 |
<input name="dbport" id="dbport" type="text" style="width:80px; display:none" value="<?php echo htmlspecialchars($GLOBALS['FW_DBPORT']); ?>" />
|
238 |
</td>
|
239 |
</tr>
|
@@ -257,13 +257,13 @@ VIEW: STEP 1- INPUT -->
|
|
257 |
|
258 |
<!-- =========================================
|
259 |
DIALOG: DB CONNECTION CHECK -->
|
260 |
-
<div id="
|
261 |
-
<input
|
262 |
-
<div id="
|
263 |
<div style="padding: 0px 10px 10px 10px;">
|
264 |
<div id="dbconn-test-msg" style="min-height:80px"></div>
|
265 |
</div>
|
266 |
-
<small><
|
267 |
</div>
|
268 |
</div>
|
269 |
|
@@ -356,7 +356,7 @@ VIEW: STEP 1- INPUT -->
|
|
356 |
<div id="dup-step1-warning-emptydb">
|
357 |
The remove action will delete <u>all</u> tables and data from the database!
|
358 |
</div>
|
359 |
-
</div><br/><br
|
360 |
|
361 |
<div class="dup-footer-buttons">
|
362 |
<input id="dup-step1-deploy-btn" type="button" value=" Run Deployment " onclick="Duplicator.runDeployment()" />
|
126 |
});
|
127 |
|
128 |
$('#dbconn-test-msg').html("Attempting Connection. Please wait...");
|
129 |
+
$("#s1-dbconn-status").show(500);
|
130 |
|
131 |
};
|
132 |
|
138 |
|
139 |
Duplicator.togglePort = function () {
|
140 |
|
141 |
+
$('#s1-dbport-btn').hide();
|
142 |
$('#dbport').show();
|
143 |
}
|
144 |
|
183 |
</div>
|
184 |
</div><br/>
|
185 |
|
186 |
+
<i id="s1-sys-req-msg">
|
187 |
This installation will not be able to proceed until the system requirements pass. Please validate your system requirements by clicking on the button above.
|
188 |
In order to get these values to pass please contact your server administrator, hosting provider or visit the online FAQ.
|
189 |
</i><br/>
|
216 |
<tr>
|
217 |
<td>Action</td>
|
218 |
<td>
|
219 |
+
<div class="s1-modes">
|
220 |
<input type="radio" name="dbaction" id="dbaction-create" value="create" checked="checked" />
|
221 |
<label for="dbaction-create">Create New Database</label>
|
222 |
</div>
|
223 |
+
<div class="s1-modes">
|
224 |
<input type="radio" name="dbaction" id="dbaction-empty" value="empty" />
|
225 |
<label for="dbaction-empty">Connect and Remove All Data</label>
|
226 |
</div>
|
233 |
<tr>
|
234 |
<td><input type="text" name="dbhost" id="dbhost" required="true" value="<?php echo htmlspecialchars($GLOBALS['FW_DBHOST']); ?>" placeholder="localhost" style="width:410px" /></td>
|
235 |
<td style="vertical-align:top">
|
236 |
+
<input id="s1-dbport-btn" type="button" onclick="Duplicator.togglePort()" class="s1-small-btn" value="Port: <?php echo htmlspecialchars($GLOBALS['FW_DBPORT']); ?>" />
|
237 |
<input name="dbport" id="dbport" type="text" style="width:80px; display:none" value="<?php echo htmlspecialchars($GLOBALS['FW_DBPORT']); ?>" />
|
238 |
</td>
|
239 |
</tr>
|
257 |
|
258 |
<!-- =========================================
|
259 |
DIALOG: DB CONNECTION CHECK -->
|
260 |
+
<div id="s1-dbconn">
|
261 |
+
<input type="button" onclick="Duplicator.dlgTestDB()" class="s1-small-btn" value="Test Connection" />
|
262 |
+
<div id="s1-dbconn-status" style="display:none">
|
263 |
<div style="padding: 0px 10px 10px 10px;">
|
264 |
<div id="dbconn-test-msg" style="min-height:80px"></div>
|
265 |
</div>
|
266 |
+
<small><input type="button" onclick="$('#s1-dbconn-status').hide(500)" class="s1-small-btn" value="Hide Message" /></small>
|
267 |
</div>
|
268 |
</div>
|
269 |
|
356 |
<div id="dup-step1-warning-emptydb">
|
357 |
The remove action will delete <u>all</u> tables and data from the database!
|
358 |
</div>
|
359 |
+
</div><br/><br/>
|
360 |
|
361 |
<div class="dup-footer-buttons">
|
362 |
<input id="dup-step1-deploy-btn" type="button" value=" Run Deployment " onclick="Duplicator.runDeployment()" />
|
installer/build/view.step2.php
CHANGED
@@ -255,7 +255,7 @@ VIEW: STEP 2- INPUT -->
|
|
255 |
|
256 |
</div>
|
257 |
|
258 |
-
<div class="dup-footer-buttons">
|
259 |
<input id="dup-step2-next" type="button" value=" Run Update " onclick="Duplicator.runUpdate()" />
|
260 |
</div>
|
261 |
</form>
|
255 |
|
256 |
</div>
|
257 |
|
258 |
+
<div class="dup-footer-buttons" style='position: absolute; bottom:20px'>
|
259 |
<input id="dup-step2-next" type="button" value=" Run Update " onclick="Duplicator.runUpdate()" />
|
260 |
</div>
|
261 |
</form>
|
installer/build/view.step3.php
CHANGED
@@ -55,7 +55,7 @@ VIEW: STEP 3- INPUT -->
|
|
55 |
<i id="dup-step3-install-report-count">
|
56 |
<span data-bind="with: status.step1">Deploy Errors: (<span data-bind="text: query_errs"></span>)</span>
|
57 |
<span data-bind="with: status.step2">Update Notices: (<span data-bind="text: err_all"></span>)</span>
|
58 |
-
<span data-bind="with: status.step2" style="color:#888"><b>
|
59 |
</i>
|
60 |
</td>
|
61 |
</tr>
|
@@ -110,7 +110,7 @@ VIEW: STEP 3- INPUT -->
|
|
110 |
<a href="javascript:void(0);" onclick="$('#dup-step3-errs-upd').toggle(400)">Step2: Update Results (<span data-bind="text: err_all"></span>)</a>
|
111 |
</td>
|
112 |
<td data-bind="with: status.step2">
|
113 |
-
<a href="#dup-step2-errs-warn-anchor" onclick="$('#dup-step3-warnlist').toggle(400)">General
|
114 |
</td>
|
115 |
</tr>
|
116 |
<tr><td colspan="4"></td></tr>
|
@@ -184,17 +184,17 @@ VIEW: STEP 3- INPUT -->
|
|
184 |
<!-- WARNINGS-->
|
185 |
<div id="dup-step3-warnlist" class="s3-err-msg">
|
186 |
<a href="#" id="dup-step2-errs-warn-anchor"></a>
|
187 |
-
<b>GENERAL
|
188 |
<div class="info">
|
189 |
-
The following is a list of
|
190 |
-
|
191 |
</div>
|
192 |
<div class="content">
|
193 |
<div data-bind="foreach: status.step2.warnlist">
|
194 |
<div data-bind="text: $data"></div>
|
195 |
</div>
|
196 |
<div data-bind="visible: status.step2.warnlist.length == 0">
|
197 |
-
No
|
198 |
</div>
|
199 |
</div>
|
200 |
</div><br/>
|
55 |
<i id="dup-step3-install-report-count">
|
56 |
<span data-bind="with: status.step1">Deploy Errors: (<span data-bind="text: query_errs"></span>)</span>
|
57 |
<span data-bind="with: status.step2">Update Notices: (<span data-bind="text: err_all"></span>)</span>
|
58 |
+
<span data-bind="with: status.step2" style="color:#888"><b>General Notices:</b> (<span data-bind="text: warn_all"></span>)</span>
|
59 |
</i>
|
60 |
</td>
|
61 |
</tr>
|
110 |
<a href="javascript:void(0);" onclick="$('#dup-step3-errs-upd').toggle(400)">Step2: Update Results (<span data-bind="text: err_all"></span>)</a>
|
111 |
</td>
|
112 |
<td data-bind="with: status.step2">
|
113 |
+
<a href="#dup-step2-errs-warn-anchor" onclick="$('#dup-step3-warnlist').toggle(400)">General Notices (<span data-bind="text: warn_all"></span>)</a>
|
114 |
</td>
|
115 |
</tr>
|
116 |
<tr><td colspan="4"></td></tr>
|
184 |
<!-- WARNINGS-->
|
185 |
<div id="dup-step3-warnlist" class="s3-err-msg">
|
186 |
<a href="#" id="dup-step2-errs-warn-anchor"></a>
|
187 |
+
<b>GENERAL NOTICES</b><br/>
|
188 |
<div class="info">
|
189 |
+
The following is a list of notices that may need to be fixed in order to finalize your setup. These values should only be investigated if your running into
|
190 |
+
issues with your site. For more details see the <a href="https://codex.wordpress.org/Editing_wp-config.php" target="_blank">WordPress Codex</a>.
|
191 |
</div>
|
192 |
<div class="content">
|
193 |
<div data-bind="foreach: status.step2.warnlist">
|
194 |
<div data-bind="text: $data"></div>
|
195 |
</div>
|
196 |
<div data-bind="visible: status.step2.warnlist.length == 0">
|
197 |
+
No notices found
|
198 |
</div>
|
199 |
</div>
|
200 |
</div><br/>
|
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.5.2
|
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.5.2
|
7 |
+
Stable tag: 1.1.12
|
8 |
License: GPLv2
|
9 |
|
10 |
Duplicate, clone, backup, move and transfer an entire site from one location to another.
|