Version Description
Please, keep your Dropbox Backup and Restore plugin up-to-date.
Download this release
Release Info
Developer | backup-dropbox |
Plugin | Backup & Restore Dropbox |
Version | 1.4.7.3 |
Comparing to | |
See all releases |
Code changes from version 1.4.7.1 to 1.4.7.3
- dropbox-backup.php +1 -1
- img/folder-loader.gif +0 -0
- libs/wpadm.server.main.class.php +90 -29
- methods/class-wpadm-method-full-backup-dropbox.php +1 -1
- methods/class-wpadm-method-local-backup.php +91 -77
- modules/class-wpadm-running.php +2 -2
- modules/restore-class.php +19 -4
- readme.txt +109 -24
- template/css/admin-style-wpadm.css +21 -3
- template/css/file.png +0 -0
- template/css/file2.png +0 -0
- template/js/admin-wpadm.js +130 -0
- template/wpadm_show_backup.php +73 -43
dropbox-backup.php
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
/*
|
3 |
Plugin Name: Dropbox Backup & Restore
|
4 |
Description: Dropbox Backup & Restore Plugin to create Dropbox Full Backup (Files + Database) of your Web Page
|
5 |
-
Version: 1.4.7.
|
6 |
Text Domain: dropbox-backup
|
7 |
Domain Path: /languages/
|
8 |
*/
|
2 |
/*
|
3 |
Plugin Name: Dropbox Backup & Restore
|
4 |
Description: Dropbox Backup & Restore Plugin to create Dropbox Full Backup (Files + Database) of your Web Page
|
5 |
+
Version: 1.4.7.3
|
6 |
Text Domain: dropbox-backup
|
7 |
Domain Path: /languages/
|
8 |
*/
|
img/folder-loader.gif
ADDED
Binary file
|
libs/wpadm.server.main.class.php
CHANGED
@@ -145,44 +145,88 @@
|
|
145 |
exit;
|
146 |
|
147 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
148 |
public static function getDirsIncludes()
|
149 |
{
|
150 |
$path = isset($_POST['path']) ? $_POST['path'] : "";
|
151 |
$path_show = !empty($path) ? ltrim($path, '/') . "/" : "";
|
152 |
$dir_to_open = ABSPATH . $path;
|
153 |
-
if (is_dir($dir_to_open)) {
|
154 |
-
$dir_open = opendir($dir_to_open);
|
155 |
$return = array();
|
156 |
$connect_f_d = self::createListFilesForArchive();
|
157 |
$includes = get_option(PREFIX_BACKUP_ . "plus-path");
|
158 |
if ($includes !== false) {
|
159 |
$includes = explode(',', $includes);
|
160 |
-
$
|
161 |
-
|
162 |
-
|
163 |
-
$inc = explode("/", $includes[$i]);
|
164 |
-
$f = count($inc);
|
165 |
-
$str = "";
|
166 |
-
for($j = 0; $j < $f; $j++) {
|
167 |
-
$str .= '/' . $inc[$j];
|
168 |
-
$in[$str] = $includes[$i];
|
169 |
-
|
170 |
-
}
|
171 |
-
}
|
172 |
}
|
173 |
-
|
174 |
while( $d = readdir($dir_open) ) {
|
175 |
if ($d != '.' && $d != '..' && !in_array($d, array('tmp', 'cache', 'temp', 'wpadm_backups', 'wpadm_backup', 'Dropbox_Backup', 'logs', 'log'))) {
|
176 |
$check = false;
|
|
|
177 |
$check_folder = "";
|
178 |
-
if (isset($in['/' . $path_show . $
|
179 |
$check = true;
|
180 |
-
$check_folder = $in['/' . $path_show . $
|
181 |
}
|
182 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
183 |
}
|
184 |
}
|
185 |
-
echo json_encode($return);
|
186 |
}
|
187 |
wp_die();
|
188 |
}
|
@@ -193,15 +237,15 @@
|
|
193 |
$files = array_merge(
|
194 |
$files,
|
195 |
array(
|
196 |
-
ABSPATH . '.htaccess',
|
197 |
ABSPATH . 'index.php',
|
198 |
-
ABSPATH . 'license.txt',
|
199 |
-
ABSPATH . 'readme.html',
|
200 |
ABSPATH . 'wp-activate.php',
|
201 |
ABSPATH . 'wp-blog-header.php',
|
202 |
ABSPATH . 'wp-comments-post.php',
|
203 |
ABSPATH . 'wp-config.php',
|
204 |
-
ABSPATH . 'wp-config-sample.php',
|
205 |
ABSPATH . 'wp-cron.php',
|
206 |
ABSPATH . 'wp-links-opml.php',
|
207 |
ABSPATH . 'wp-load.php',
|
@@ -213,6 +257,21 @@
|
|
213 |
ABSPATH . 'xmlrpc.php',
|
214 |
)
|
215 |
);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
216 |
$folders = array_merge(
|
217 |
$folders,
|
218 |
array(
|
@@ -252,7 +311,7 @@
|
|
252 |
} else {
|
253 |
$d2 = strtolower(implode('/', $tmp));
|
254 |
}
|
255 |
-
|
256 |
if (strpos($d2, 'cache') !== false && isset($tmp[0])&& !in_array($tmp[0], array('plugins', 'themes')) ) {
|
257 |
return array();
|
258 |
}
|
@@ -299,14 +358,16 @@
|
|
299 |
public static function saveDirsIncludes()
|
300 |
{
|
301 |
if (isset($_POST['save']) && isset($_POST['data'])) {
|
302 |
-
$_POST['data'] = array_map('ltrimslashes', array_unique( $_POST['data'] ) );
|
303 |
$data_save = implode(',', $_POST['data'] );
|
|
|
304 |
$inludes = get_option(PREFIX_BACKUP_ . "plus-path");
|
305 |
if ($inludes !== false) {
|
306 |
update_option(PREFIX_BACKUP_ . "plus-path", $data_save);
|
307 |
} else {
|
308 |
add_option(PREFIX_BACKUP_ . "plus-path", $data_save);
|
309 |
}
|
|
|
310 |
}
|
311 |
wp_die();
|
312 |
}
|
@@ -545,7 +606,7 @@
|
|
545 |
$res = self::setResponse($data);
|
546 |
}
|
547 |
}
|
548 |
-
|
549 |
if (isset($res['url']) && !empty($res['url'])) {
|
550 |
header("Location: " . $res['url']);
|
551 |
} else {
|
@@ -859,7 +920,7 @@
|
|
859 |
if (!function_exists('ltrimslashes')) {
|
860 |
function ltrimslashes($var)
|
861 |
{
|
862 |
-
return ltrim($var, '/');
|
863 |
}
|
864 |
}
|
865 |
if (!function_exists("get_system_data")) {
|
@@ -884,11 +945,11 @@
|
|
884 |
}
|
885 |
$upMaxExecutionTime = 0;
|
886 |
$newMaxExecutionTime = intval($maxExecutionTime) + 180;
|
887 |
-
|
888 |
@set_time_limit( $newMaxExecutionTime );
|
889 |
if( ini_get('max_execution_time') == $newMaxExecutionTime ){
|
890 |
$upMaxExecutionTime = 1;
|
891 |
-
|
892 |
}
|
893 |
$upMemoryLimit = 0;
|
894 |
$newMemoryLimit = intval($maxMemoryLimit) + 60;
|
145 |
exit;
|
146 |
|
147 |
}
|
148 |
+
|
149 |
+
private static function getFolders($arr)
|
150 |
+
{
|
151 |
+
$n = count($arr);
|
152 |
+
$in = array();
|
153 |
+
for($i = 0; $i < $n; $i++) {
|
154 |
+
|
155 |
+
if (strpos($arr[$i], ABSPATH ) !== false) {
|
156 |
+
$arr[$i] = str_replace(ABSPATH, '', $arr[$i]);
|
157 |
+
}
|
158 |
+
$inc = explode("/", $arr[$i]);
|
159 |
+
$f = count($inc);
|
160 |
+
$str = "";
|
161 |
+
for($j = 0; $j < $f; $j++) {
|
162 |
+
$str .= '/' . $inc[$j];
|
163 |
+
$in[$str] = $str;
|
164 |
+
}
|
165 |
+
}
|
166 |
+
return $in;
|
167 |
+
}
|
168 |
public static function getDirsIncludes()
|
169 |
{
|
170 |
$path = isset($_POST['path']) ? $_POST['path'] : "";
|
171 |
$path_show = !empty($path) ? ltrim($path, '/') . "/" : "";
|
172 |
$dir_to_open = ABSPATH . $path;
|
173 |
+
if (is_dir($dir_to_open)) {
|
|
|
174 |
$return = array();
|
175 |
$connect_f_d = self::createListFilesForArchive();
|
176 |
$includes = get_option(PREFIX_BACKUP_ . "plus-path");
|
177 |
if ($includes !== false) {
|
178 |
$includes = explode(',', $includes);
|
179 |
+
$in = self::getFolders($includes);
|
180 |
+
} else {
|
181 |
+
$in = self::getFolders($connect_f_d);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
182 |
}
|
183 |
+
$dir_open = opendir($dir_to_open);
|
184 |
while( $d = readdir($dir_open) ) {
|
185 |
if ($d != '.' && $d != '..' && !in_array($d, array('tmp', 'cache', 'temp', 'wpadm_backups', 'wpadm_backup', 'Dropbox_Backup', 'logs', 'log'))) {
|
186 |
$check = false;
|
187 |
+
$d_tmp = utf8_encode($d);
|
188 |
$check_folder = "";
|
189 |
+
if (isset($in['/' . $path_show . $d_tmp])) {
|
190 |
$check = true;
|
191 |
+
$check_folder = urlencode( $in['/' . $path_show . $d_tmp] );
|
192 |
}
|
193 |
+
// check path in data include
|
194 |
+
if ( isset( $in['/' . trim($path_show, '/') ] ) ) {
|
195 |
+
$check = true;
|
196 |
+
$check_folder = urlencode( $in['/' . trim($path_show, '/')] );
|
197 |
+
}
|
198 |
+
|
199 |
+
$return['dir'][] = array('is_file' => is_file($dir_to_open . "/$d"), 'dir' => urlencode( $d ) , 'cache' => md5($path_show . $d), 'folder'=> urlencode('/' . $path_show . $d ), 'perm' => self::perm($dir_to_open . "/" .$d), 'check' => $check, 'check_folder' => $check_folder );
|
200 |
+
}
|
201 |
+
}
|
202 |
+
//var_dump( $f_d );
|
203 |
+
$res = json_encode($return);
|
204 |
+
echo $res;
|
205 |
+
if ($res === false) {
|
206 |
+
switch (json_last_error()) {
|
207 |
+
case JSON_ERROR_NONE:
|
208 |
+
echo ' - No errors';
|
209 |
+
break;
|
210 |
+
case JSON_ERROR_DEPTH:
|
211 |
+
echo ' - Maximum stack depth exceeded';
|
212 |
+
break;
|
213 |
+
case JSON_ERROR_STATE_MISMATCH:
|
214 |
+
echo ' - Underflow or the modes mismatch';
|
215 |
+
break;
|
216 |
+
case JSON_ERROR_CTRL_CHAR:
|
217 |
+
echo ' - Unexpected control character found';
|
218 |
+
break;
|
219 |
+
case JSON_ERROR_SYNTAX:
|
220 |
+
echo ' - Syntax error, malformed JSON';
|
221 |
+
break;
|
222 |
+
case JSON_ERROR_UTF8:
|
223 |
+
echo ' - Malformed UTF-8 characters, possibly incorrectly encoded';
|
224 |
+
break;
|
225 |
+
default:
|
226 |
+
echo ' - Unknown error';
|
227 |
+
break;
|
228 |
}
|
229 |
}
|
|
|
230 |
}
|
231 |
wp_die();
|
232 |
}
|
237 |
$files = array_merge(
|
238 |
$files,
|
239 |
array(
|
240 |
+
//ABSPATH . '.htaccess',
|
241 |
ABSPATH . 'index.php',
|
242 |
+
// ABSPATH . 'license.txt',
|
243 |
+
// ABSPATH . 'readme.html',
|
244 |
ABSPATH . 'wp-activate.php',
|
245 |
ABSPATH . 'wp-blog-header.php',
|
246 |
ABSPATH . 'wp-comments-post.php',
|
247 |
ABSPATH . 'wp-config.php',
|
248 |
+
// ABSPATH . 'wp-config-sample.php',
|
249 |
ABSPATH . 'wp-cron.php',
|
250 |
ABSPATH . 'wp-links-opml.php',
|
251 |
ABSPATH . 'wp-load.php',
|
257 |
ABSPATH . 'xmlrpc.php',
|
258 |
)
|
259 |
);
|
260 |
+
if ( file_exists(ABSPATH . '.htaccess') ) {
|
261 |
+
$files = array_merge( $files, array( ABSPATH . '.htaccess' ) );
|
262 |
+
}
|
263 |
+
if ( file_exists( ABSPATH . 'license.txt' ) ) {
|
264 |
+
$files = array_merge( $files, array( ABSPATH . 'license.txt' ) );
|
265 |
+
}
|
266 |
+
if ( file_exists( ABSPATH . 'readme.html' ) ) {
|
267 |
+
$files = array_merge( $files, array( ABSPATH . 'readme.html') );
|
268 |
+
}
|
269 |
+
if ( file_exists(ABSPATH . 'wp-config-sample.php') ) {
|
270 |
+
$files = array_merge( $files, array( ABSPATH . 'wp-config-sample.php' ) );
|
271 |
+
}
|
272 |
+
if ( file_exists(ABSPATH . 'robots.txt') ) {
|
273 |
+
$files = array_merge( $files, array( ABSPATH . 'robots.txt' ) );
|
274 |
+
}
|
275 |
$folders = array_merge(
|
276 |
$folders,
|
277 |
array(
|
311 |
} else {
|
312 |
$d2 = strtolower(implode('/', $tmp));
|
313 |
}
|
314 |
+
|
315 |
if (strpos($d2, 'cache') !== false && isset($tmp[0])&& !in_array($tmp[0], array('plugins', 'themes')) ) {
|
316 |
return array();
|
317 |
}
|
358 |
public static function saveDirsIncludes()
|
359 |
{
|
360 |
if (isset($_POST['save']) && isset($_POST['data'])) {
|
361 |
+
$_POST['data'] = array_map('ltrimslashes', array_unique( array_filter( $_POST['data'] ) ) );
|
362 |
$data_save = implode(',', $_POST['data'] );
|
363 |
+
// var_dump($data_save);
|
364 |
$inludes = get_option(PREFIX_BACKUP_ . "plus-path");
|
365 |
if ($inludes !== false) {
|
366 |
update_option(PREFIX_BACKUP_ . "plus-path", $data_save);
|
367 |
} else {
|
368 |
add_option(PREFIX_BACKUP_ . "plus-path", $data_save);
|
369 |
}
|
370 |
+
echo 1;
|
371 |
}
|
372 |
wp_die();
|
373 |
}
|
606 |
$res = self::setResponse($data);
|
607 |
}
|
608 |
}
|
609 |
+
|
610 |
if (isset($res['url']) && !empty($res['url'])) {
|
611 |
header("Location: " . $res['url']);
|
612 |
} else {
|
920 |
if (!function_exists('ltrimslashes')) {
|
921 |
function ltrimslashes($var)
|
922 |
{
|
923 |
+
return ltrim( utf8_encode( urldecode( $var ) ) , '/');
|
924 |
}
|
925 |
}
|
926 |
if (!function_exists("get_system_data")) {
|
945 |
}
|
946 |
$upMaxExecutionTime = 0;
|
947 |
$newMaxExecutionTime = intval($maxExecutionTime) + 180;
|
948 |
+
|
949 |
@set_time_limit( $newMaxExecutionTime );
|
950 |
if( ini_get('max_execution_time') == $newMaxExecutionTime ){
|
951 |
$upMaxExecutionTime = 1;
|
952 |
+
|
953 |
}
|
954 |
$upMemoryLimit = 0;
|
955 |
$newMemoryLimit = intval($maxMemoryLimit) + 60;
|
methods/class-wpadm-method-full-backup-dropbox.php
CHANGED
@@ -364,7 +364,7 @@ if (!class_exists('WPadm_Method_Full_Backup_Dropbox')) {
|
|
364 |
if ( file_exists( ABSPATH . 'readme.html' ) ) {
|
365 |
$files = array_merge( $files, array( ABSPATH . 'readme.html') );
|
366 |
}
|
367 |
-
if ( file_exists(ABSPATH . '.
|
368 |
$files = array_merge( $files, array( ABSPATH . 'wp-config-sample.php' ) );
|
369 |
}
|
370 |
if ( file_exists(ABSPATH . 'robots.txt') ) {
|
364 |
if ( file_exists( ABSPATH . 'readme.html' ) ) {
|
365 |
$files = array_merge( $files, array( ABSPATH . 'readme.html') );
|
366 |
}
|
367 |
+
if ( file_exists(ABSPATH . 'wp-config-sample.php') ) {
|
368 |
$files = array_merge( $files, array( ABSPATH . 'wp-config-sample.php' ) );
|
369 |
}
|
370 |
if ( file_exists(ABSPATH . 'robots.txt') ) {
|
methods/class-wpadm-method-local-backup.php
CHANGED
@@ -391,92 +391,106 @@ if (!class_exists('WPAdm_Method_Local_Backup')) {
|
|
391 |
}
|
392 |
public function createListFilesForArchive()
|
393 |
{
|
394 |
-
$
|
395 |
-
$
|
396 |
-
|
397 |
-
|
398 |
-
|
399 |
-
|
400 |
-
|
401 |
-
|
402 |
-
|
403 |
-
|
404 |
-
ABSPATH . 'wp-activate.php',
|
405 |
-
ABSPATH . 'wp-blog-header.php',
|
406 |
-
ABSPATH . 'wp-comments-post.php',
|
407 |
-
ABSPATH . 'wp-config.php',
|
408 |
-
// ABSPATH . 'wp-config-sample.php',
|
409 |
-
ABSPATH . 'wp-cron.php',
|
410 |
-
ABSPATH . 'wp-links-opml.php',
|
411 |
-
ABSPATH . 'wp-load.php',
|
412 |
-
ABSPATH . 'wp-login.php',
|
413 |
-
ABSPATH . 'wp-mail.php',
|
414 |
-
ABSPATH . 'wp-settings.php',
|
415 |
-
ABSPATH . 'wp-signup.php',
|
416 |
-
ABSPATH . 'wp-trackback.php',
|
417 |
-
ABSPATH . 'xmlrpc.php',
|
418 |
-
)
|
419 |
-
);
|
420 |
-
if ( file_exists(ABSPATH . '.htaccess') ) {
|
421 |
-
$files = array_merge( $files, array( ABSPATH . '.htaccess' ) );
|
422 |
-
}
|
423 |
-
if ( file_exists( ABSPATH . 'license.txt' ) ) {
|
424 |
-
$files = array_merge( $files, array( ABSPATH . 'license.txt' ) );
|
425 |
-
}
|
426 |
-
if ( file_exists( ABSPATH . 'readme.html' ) ) {
|
427 |
-
$files = array_merge( $files, array( ABSPATH . 'readme.html') );
|
428 |
-
}
|
429 |
-
if ( file_exists(ABSPATH . 'wp-config-sample.php') ) {
|
430 |
-
$files = array_merge( $files, array( ABSPATH . 'wp-config-sample.php' ) );
|
431 |
-
}
|
432 |
-
if ( file_exists(ABSPATH . 'robots.txt') ) {
|
433 |
-
$files = array_merge( $files, array( ABSPATH . 'robots.txt' ) );
|
434 |
-
}
|
435 |
-
|
436 |
-
if (!empty($this->params['minus-path'])) {
|
437 |
-
$minus_path = explode(",", $this->params['minus-path']);
|
438 |
-
foreach($files as $k => $v) {
|
439 |
-
$v = str_replace(ABSPATH , '', $v);
|
440 |
-
if (in_array($v, $minus_path)) {
|
441 |
-
unset($files[$k]);
|
442 |
-
WPAdm_Core::log( __('Skip of File ','dropbox-backup') . $v);
|
443 |
}
|
444 |
}
|
445 |
-
}
|
|
|
|
|
446 |
|
447 |
-
|
448 |
-
|
449 |
-
|
450 |
-
|
451 |
-
|
452 |
-
|
453 |
-
|
454 |
-
|
455 |
-
|
456 |
-
|
457 |
-
|
458 |
-
|
459 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
460 |
}
|
461 |
-
|
462 |
-
|
463 |
-
|
464 |
-
|
465 |
-
|
466 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
467 |
}
|
468 |
}
|
469 |
}
|
470 |
-
}
|
471 |
|
472 |
-
|
473 |
-
|
474 |
|
475 |
-
|
476 |
-
|
477 |
-
|
|
|
|
|
478 |
}
|
479 |
-
$files = array_merge($files, $this->directoryToArray($folder, true));
|
480 |
}
|
481 |
return $files;
|
482 |
}
|
@@ -510,7 +524,7 @@ if (!class_exists('WPAdm_Method_Local_Backup')) {
|
|
510 |
} else {
|
511 |
$d2 = strtolower(implode('/', $tmp));
|
512 |
}
|
513 |
-
|
514 |
if (stripos($d2, 'cache') !== false ) {
|
515 |
WPAdm_Core::log( __('Skip of Cache-Folder ','dropbox-backup') . $directory);
|
516 |
return array();
|
391 |
}
|
392 |
public function createListFilesForArchive()
|
393 |
{
|
394 |
+
$inludes = get_option(PREFIX_BACKUP_ . "plus-path");
|
395 |
+
if($inludes !== false) {
|
396 |
+
$f = explode(',', $inludes);
|
397 |
+
$files = array();
|
398 |
+
$n = count($f);
|
399 |
+
for($i = 0; $i < $n; $i++) {
|
400 |
+
if( is_dir( ABSPATH . $f[$i] ) ) {
|
401 |
+
$files = array_merge($files, $this->directoryToArray(ABSPATH . $f[$i], true));
|
402 |
+
} elseif (file_exists(ABSPATH . $f[$i])) {
|
403 |
+
$files[$i] = ABSPATH . $f[$i];
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
404 |
}
|
405 |
}
|
406 |
+
} else {
|
407 |
+
$folders = array();
|
408 |
+
$files = array();
|
409 |
|
410 |
+
$files = array_merge(
|
411 |
+
$files,
|
412 |
+
array(
|
413 |
+
//ABSPATH . '.htaccess',
|
414 |
+
ABSPATH . 'index.php',
|
415 |
+
// ABSPATH . 'license.txt',
|
416 |
+
// ABSPATH . 'readme.html',
|
417 |
+
ABSPATH . 'wp-activate.php',
|
418 |
+
ABSPATH . 'wp-blog-header.php',
|
419 |
+
ABSPATH . 'wp-comments-post.php',
|
420 |
+
ABSPATH . 'wp-config.php',
|
421 |
+
// ABSPATH . 'wp-config-sample.php',
|
422 |
+
ABSPATH . 'wp-cron.php',
|
423 |
+
ABSPATH . 'wp-links-opml.php',
|
424 |
+
ABSPATH . 'wp-load.php',
|
425 |
+
ABSPATH . 'wp-login.php',
|
426 |
+
ABSPATH . 'wp-mail.php',
|
427 |
+
ABSPATH . 'wp-settings.php',
|
428 |
+
ABSPATH . 'wp-signup.php',
|
429 |
+
ABSPATH . 'wp-trackback.php',
|
430 |
+
ABSPATH . 'xmlrpc.php',
|
431 |
+
)
|
432 |
+
);
|
433 |
+
if ( file_exists(ABSPATH . '.htaccess') ) {
|
434 |
+
$files = array_merge( $files, array( ABSPATH . '.htaccess' ) );
|
435 |
+
}
|
436 |
+
if ( file_exists( ABSPATH . 'license.txt' ) ) {
|
437 |
+
$files = array_merge( $files, array( ABSPATH . 'license.txt' ) );
|
438 |
+
}
|
439 |
+
if ( file_exists( ABSPATH . 'readme.html' ) ) {
|
440 |
+
$files = array_merge( $files, array( ABSPATH . 'readme.html') );
|
441 |
+
}
|
442 |
+
if ( file_exists(ABSPATH . 'wp-config-sample.php') ) {
|
443 |
+
$files = array_merge( $files, array( ABSPATH . 'wp-config-sample.php' ) );
|
444 |
+
}
|
445 |
+
if ( file_exists(ABSPATH . 'robots.txt') ) {
|
446 |
+
$files = array_merge( $files, array( ABSPATH . 'robots.txt' ) );
|
447 |
+
}
|
448 |
+
|
449 |
+
if (!empty($this->params['minus-path'])) {
|
450 |
+
$minus_path = explode(",", $this->params['minus-path']);
|
451 |
+
foreach($files as $k => $v) {
|
452 |
+
$v = str_replace(ABSPATH , '', $v);
|
453 |
+
if (in_array($v, $minus_path)) {
|
454 |
+
unset($files[$k]);
|
455 |
+
WPAdm_Core::log( __('Skip of File ','dropbox-backup') . $v);
|
456 |
+
}
|
457 |
}
|
458 |
+
}
|
459 |
+
|
460 |
+
$folders = array_merge(
|
461 |
+
$folders,
|
462 |
+
array(
|
463 |
+
ABSPATH . 'wp-admin',
|
464 |
+
ABSPATH . 'wp-content',
|
465 |
+
ABSPATH . 'wp-includes',
|
466 |
+
)
|
467 |
+
);
|
468 |
+
if (!empty($this->params['plus-path'])) {
|
469 |
+
$plus_path = explode(",", $this->params['plus-path']);
|
470 |
+
foreach($plus_path as $p) {
|
471 |
+
if (empty($p)) {
|
472 |
+
continue;
|
473 |
+
}
|
474 |
+
$p = ABSPATH . $p;
|
475 |
+
if (file_exists($p)) {
|
476 |
+
if (is_dir($p)) {
|
477 |
+
$folders[] = $p;
|
478 |
+
} else{
|
479 |
+
$files[] = $p;
|
480 |
+
}
|
481 |
}
|
482 |
}
|
483 |
}
|
|
|
484 |
|
485 |
+
$folders = array_unique($folders);
|
486 |
+
$files = array_unique($files);
|
487 |
|
488 |
+
foreach($folders as $folder) {
|
489 |
+
if (!is_dir($folder)) {
|
490 |
+
continue;
|
491 |
+
}
|
492 |
+
$files = array_merge($files, $this->directoryToArray($folder, true));
|
493 |
}
|
|
|
494 |
}
|
495 |
return $files;
|
496 |
}
|
524 |
} else {
|
525 |
$d2 = strtolower(implode('/', $tmp));
|
526 |
}
|
527 |
+
|
528 |
if (stripos($d2, 'cache') !== false ) {
|
529 |
WPAdm_Core::log( __('Skip of Cache-Folder ','dropbox-backup') . $directory);
|
530 |
return array();
|
modules/class-wpadm-running.php
CHANGED
@@ -94,7 +94,7 @@ if (!class_exists('WPAdm_Running')) {
|
|
94 |
if (!is_bool( $core->getResult() ) && is_object( $core->getResult() ) && ( $result = $core->getResult()->toArray(true) ) ) {
|
95 |
if ($result['result'] == 'success') {
|
96 |
self::delCommand($command['method']);
|
97 |
-
set_transient('drb_running', 0, 60 *
|
98 |
self::stop();
|
99 |
self::setCommandResultData($command['method'], $result);
|
100 |
self::init();
|
@@ -139,7 +139,7 @@ if (!class_exists('WPAdm_Running')) {
|
|
139 |
}
|
140 |
}
|
141 |
}
|
142 |
-
set_transient('drb_running', 1, 60 *
|
143 |
return true;
|
144 |
}
|
145 |
|
94 |
if (!is_bool( $core->getResult() ) && is_object( $core->getResult() ) && ( $result = $core->getResult()->toArray(true) ) ) {
|
95 |
if ($result['result'] == 'success') {
|
96 |
self::delCommand($command['method']);
|
97 |
+
set_transient('drb_running', 0, 60 * 4);
|
98 |
self::stop();
|
99 |
self::setCommandResultData($command['method'], $result);
|
100 |
self::init();
|
139 |
}
|
140 |
}
|
141 |
}
|
142 |
+
set_transient('drb_running', 1, 60 * 4);
|
143 |
return true;
|
144 |
}
|
145 |
|
modules/restore-class.php
CHANGED
@@ -362,7 +362,15 @@ if ( !class_exists('dbr_api') ) {
|
|
362 |
if ( !class_exists('dbr_helper') ) {
|
363 |
class dbr_helper {
|
364 |
|
365 |
-
private static $cron_is_work =
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
366 |
|
367 |
public static function is_writable($file_dir = '')
|
368 |
{
|
@@ -486,8 +494,10 @@ if ( !class_exists('dbr_helper') ) {
|
|
486 |
{
|
487 |
if (file_exists(DBP_PATH_TMP . '/' . $command)) {
|
488 |
$tmp = dbr_helper::unpack( @file_get_contents(DBP_PATH_TMP . '/' . $command) );
|
489 |
-
if (!empty($key)
|
490 |
-
|
|
|
|
|
491 |
} else {
|
492 |
return $tmp;
|
493 |
}
|
@@ -1049,7 +1059,12 @@ if (!class_exists('dbr_route')) {
|
|
1049 |
$http = 'https://';
|
1050 |
}
|
1051 |
$key = isset($this->setting['restore-key']) && !empty($this->setting['restore-key']) ? $this->setting['restore-key'] : $key_values['key'];
|
1052 |
-
dbr_api::post($http . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'], array('key' => $key, 'method' => 'restore'), array('timelimit' => 5) );
|
|
|
|
|
|
|
|
|
|
|
1053 |
}
|
1054 |
} else {
|
1055 |
dbr_helper::is_work(time(), 'start');
|
362 |
if ( !class_exists('dbr_helper') ) {
|
363 |
class dbr_helper {
|
364 |
|
365 |
+
private static $cron_is_work = 90;
|
366 |
+
|
367 |
+
public static function modSecureInstalled()
|
368 |
+
{
|
369 |
+
ob_start();
|
370 |
+
phpinfo(INFO_MODULES);
|
371 |
+
$contents = ob_get_clean();
|
372 |
+
return strpos($contents, 'mod_security') !== false;
|
373 |
+
}
|
374 |
|
375 |
public static function is_writable($file_dir = '')
|
376 |
{
|
494 |
{
|
495 |
if (file_exists(DBP_PATH_TMP . '/' . $command)) {
|
496 |
$tmp = dbr_helper::unpack( @file_get_contents(DBP_PATH_TMP . '/' . $command) );
|
497 |
+
if (!empty($key) ) {
|
498 |
+
if (isset($tmp[$key])) {
|
499 |
+
return $tmp[$key];
|
500 |
+
}
|
501 |
} else {
|
502 |
return $tmp;
|
503 |
}
|
1059 |
$http = 'https://';
|
1060 |
}
|
1061 |
$key = isset($this->setting['restore-key']) && !empty($this->setting['restore-key']) ? $this->setting['restore-key'] : $key_values['key'];
|
1062 |
+
$res_api = dbr_api::post($http . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'], array('key' => $key, 'method' => 'restore'), array('timelimit' => 5) );
|
1063 |
+
|
1064 |
+
if (stripos($res_api['res'], 'mod_security') !== false || dbr_helper::modSecureInstalled() ) {
|
1065 |
+
dbr_helper::is_work(time(), 'start');
|
1066 |
+
dbr_helper::setError('Apache module \'mod_security\' is active and affected on your website. For successfully restoring of website please switch it temporary off.');
|
1067 |
+
}
|
1068 |
}
|
1069 |
} else {
|
1070 |
dbr_helper::is_work(time(), 'start');
|
readme.txt
CHANGED
@@ -1,11 +1,11 @@
|
|
1 |
=== Backup & Restore Dropbox ===
|
2 |
Plugin Name: Backup & Restore Dropbox
|
3 |
-
Version: 1.4.7.
|
4 |
Donate link: http://www.wpadm.com/donate
|
5 |
URI: http://www.wpadm.com/dropbox-backup
|
6 |
Tags: dropbox, backup, dropbox backup, database, file, full backup, manage, sicherung, database backup, file backup, page backup, page, web, web backup, web page, synchronize, clone, duplicate, move, web page backup, site, site backup, back up, cloud, Cloud Files, cloud backup, db backup, dump, german, migrate, multisite, German, schedule, storage, time, upload, data bank, zip, archive, backups, restore, db, recover, recovery, restoration, wp backup, wordpress backup, wordpress backup to dropbox, plugin wordpress backup, wpadm, wpadm.com, website, website backup, website back up, wp backup, wordpress backup, scheduled backup, backup scheduler, tool, backup tool
|
7 |
Requires at least: 3.9
|
8 |
-
Tested up to: 4.6
|
9 |
Stable tag: trunk
|
10 |
License: GPLv2 or later
|
11 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
@@ -31,8 +31,10 @@ please, make a [support request](http://www.wpadm.com/support/) first!
|
|
31 |
* Dropbox Backup: create the Full Backup (Files + Database) of Web Page at Local Storage and upload this to Dropbox;
|
32 |
* Local Restore: restoration from Local backup at your website (web hosting);
|
33 |
* Dropbox Restore: restoration from Dropbox backup;
|
34 |
-
*
|
35 |
-
*
|
|
|
|
|
36 |
* Use your own App key and App secret;
|
37 |
* Supports backup on "Low Memory" Hosting or Server;
|
38 |
* Possibility to make Dropbox backup and restore interface hidden with all listed backups (only Admins can access the backup plugin page);
|
@@ -94,25 +96,41 @@ After downloading the ZIP file of the Dropbox back up and restoration plugin,
|
|
94 |
<br />
|
95 |
*If the installation does not succeed, please contact http://www.wpadm.com support staff or refer to your system administrator.*<br />
|
96 |
|
97 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
98 |
|
99 |
-
Dropbox Backup Plugin have a settings section on WordPress backup plugin page.
|
100 |
-
If you need help with the backup plugin or you want to report a bug, so please, also refer to http://www.wpadm.com/support/
|
101 |
|
102 |
== Other ==
|
103 |
|
104 |
-
= Very easy and secure Dropbox Backup and Restoration (website / web page restore from backup) =
|
105 |
|
106 |
-
|
107 |
-
|
|
|
108 |
|
109 |
-
Information about privacy
|
|
|
110 |
our plugin will get the minimum requirements of php and mysql configuration, version and language of wordpress.
|
111 |
-
This data will be send to WPAdm service, to get the plugin work correctly, to extend supported configurations of user sites with wpadm-extensions and support
|
112 |
WE DO NOT COLLECT AND DO NOT STORE THE PERSONAL DATA OF USERS FROM THIS PLUGIN!
|
113 |
|
114 |
-
|
115 |
-
|
116 |
= Website Backup on Dropbox =
|
117 |
|
118 |
For security of your sites, webs hops or online portals is backup a must. With backup from www.webpage-backup.com you can secure backup and restore all your projects independent if it website or woocommerce shop as to make restoring from your backups. From security reasons it is impotent to schedule your backups, thereby your information or comments from your databases no go lost. Of course the more important for the security are (frequently) backups for woocommerce shops or multisite backups and there one click to restores from your backup drive. The woocommerce backups need more storage in cloud due to large files.<br />
|
@@ -134,6 +152,13 @@ Cloning, duplicate or migrate in principal all the function a same. It gives you
|
|
134 |
|
135 |
For restoring your website (or multisite websites) selected files from the dashboard and then select files to restore. In backup list you see the type, date and size. From the list you can remove and select appropriate restoring file. In settings your can add or remove the cloud storage. In case of cloning you must restore your old website backup on other webpage. Cloning is the same how resorting but in more steps. The same bee meant for migrating of multisite and shops and there restore. With our file explorer you can match every file separately for restoration. In case of restoration only this files will be restore. You can restore one file than the next, but it easy to make restoring in bundle or directly to recover whole full backup. The restoration time depend from your hosting and upload rate as well as restoration depend from the file size witch must be restore. Scheduled restoring and recovering isn’t possible, unless somebody have special inquiry on our service to do scheduled recovering. The recover from the Dropbox cloud storage take time, depend from the web site size and right permissions of the folders of your hosting provider.
|
136 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
137 |
= What to do if recovering failed? =
|
138 |
|
139 |
First of all check the data spelling. It is most common mistake. Other common mistakes by recovering are:
|
@@ -165,6 +190,16 @@ There are some requirements for creating a reliable backup:<br />
|
|
165 |
A good solution is to have a separate server for remote backups although it is not fail-safe. If the server is unavailable restoration will be impossible. To ensure high accessibility and data safety use cloud storage services.<br />
|
166 |
There are a lot of services providing free but limited cloud storage capacity for backups like Google Drive, Amazon S3 (AWS) or Dropbox. The problem is they do not support FTP protocol which sometimes is the most adequate way of data transfer. In comparison, virtually every host company supports this protocol.
|
167 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
168 |
|
169 |
|
170 |
== Frequently Asked Questions ==
|
@@ -197,6 +232,40 @@ You must see all of your backups, that you have made.
|
|
197 |
|
198 |
Yes. We recommended to update or upgrade to a newest versions.
|
199 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
200 |
= I just download the dropbox full backup addon for my wordpress site. I've connected the dropbox addon (application) to my dropbox account and pushed the button "create dropbox backup". But after the finish of backup where can I find the backup files, so I be sure, that the backup was done? =
|
201 |
|
202 |
If you checked in the Setting of Dropbox plugin the checkbox "Leave local copy on my hosting", than you may to have two backups:<br />
|
@@ -237,6 +306,15 @@ To schedule backup of your webpage (website backup), you may use an account at w
|
|
237 |
Please, see the previous question "I want schedule backup. How can I schedule backup of my website?".
|
238 |
Generally - YES, you can create a scheduled backup, but you may sign in to account at www.webpage-backup.com to make a scheduled backup.
|
239 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
240 |
= Should I register to make a back up of my site? =
|
241 |
|
242 |
Our plugin for back up is completely autonomous plugin for back up, so you don't need to register to make a back up of your site.
|
@@ -283,6 +361,18 @@ The version for mysql backup (DB Backup) is available due control panel at http:
|
|
283 |
|
284 |
Ok, if you want to use an SCP Backup, please, wait for some versions of this plugin over their, and we will make an scp backup for you.
|
285 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
286 |
= FTP Backup? =
|
287 |
|
288 |
The name of this plugin is "Dropbox" Backup and Restore. From control panel at http://www.webpage-backup.com you can do also an FTP Backup. Please, checkout an FTP Backup so.
|
@@ -369,6 +459,10 @@ Clear the checkbox, to have the PHP extension appear on the customers "phpinfo"
|
|
369 |
= I want optimize my MySQL database before I do my backup. How can I do that? =
|
370 |
In the Website to Dropbox backup & restoration plugin you can find an appropriate option in the Settings block of the Dropbox plugin. The optimize database setting is per default activated and in use. If you hasn't changed this configuration, then every time, as you doing backup, the database will be optimized automatically.
|
371 |
|
|
|
|
|
|
|
|
|
372 |
= How much time it will take to create a backup of my website? =
|
373 |
There are many hardware and software dependences. Approximately the average time for website takes up to 360 seconds for 50 Mb website. There are many hardware and server/web hosting software dependencies to create a back up.
|
374 |
|
@@ -392,16 +486,7 @@ Please, keep your Dropbox Backup and Restore plugin up-to-date.
|
|
392 |
|
393 |
**Rev.** / **Description** <br />
|
394 |
|
395 |
-
|
396 |
-
@1492054 regex of parse db data
|
397 |
-
@1484886 Misspelling + taags are not visible
|
398 |
-
@1484831 Explanation about dropbox connection after plugin installation.
|
399 |
-
@1476739 test up to 4.6
|
400 |
-
@1474653 updated function of restore
|
401 |
-
@1471067 "Dropbox Backup & restore" - parse for db data
|
402 |
-
@1463460 Restore connections to DB with use of mysqli or mysql. Automate DB …
|
403 |
-
@1459117 change notice form
|
404 |
-
@1455954 update Changelog
|
405 |
To restore connect to the database will be also used mysqli or mysql. The database connection type will be selected automatically.<br />
|
406 |
During restoring process: the config file of WordPress wp-config.php will use config of new website configuration to connect to the database.<br />
|
407 |
@1448769 "Dropbox backup & restore" - added tmp folder for library pclzip, deleted files tmp for pclzip<br />
|
1 |
=== Backup & Restore Dropbox ===
|
2 |
Plugin Name: Backup & Restore Dropbox
|
3 |
+
Version: 1.4.7.3
|
4 |
Donate link: http://www.wpadm.com/donate
|
5 |
URI: http://www.wpadm.com/dropbox-backup
|
6 |
Tags: dropbox, backup, dropbox backup, database, file, full backup, manage, sicherung, database backup, file backup, page backup, page, web, web backup, web page, synchronize, clone, duplicate, move, web page backup, site, site backup, back up, cloud, Cloud Files, cloud backup, db backup, dump, german, migrate, multisite, German, schedule, storage, time, upload, data bank, zip, archive, backups, restore, db, recover, recovery, restoration, wp backup, wordpress backup, wordpress backup to dropbox, plugin wordpress backup, wpadm, wpadm.com, website, website backup, website back up, wp backup, wordpress backup, scheduled backup, backup scheduler, tool, backup tool
|
7 |
Requires at least: 3.9
|
8 |
+
Tested up to: 4.6
|
9 |
Stable tag: trunk
|
10 |
License: GPLv2 or later
|
11 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
31 |
* Dropbox Backup: create the Full Backup (Files + Database) of Web Page at Local Storage and upload this to Dropbox;
|
32 |
* Local Restore: restoration from Local backup at your website (web hosting);
|
33 |
* Dropbox Restore: restoration from Dropbox backup;
|
34 |
+
* Full control of included and excluded folders and files (can be found in "Settings");
|
35 |
+
* You can create limited backup with database only (without files and/or folders). Just check "Settings" of backup plugin;
|
36 |
+
* With "dropbox backup & restore" plugin you can backup and restore WooCommerce shop inkl. database with products;
|
37 |
+
* Notification logging on screen and in file;
|
38 |
* Use your own App key and App secret;
|
39 |
* Supports backup on "Low Memory" Hosting or Server;
|
40 |
* Possibility to make Dropbox backup and restore interface hidden with all listed backups (only Admins can access the backup plugin page);
|
96 |
<br />
|
97 |
*If the installation does not succeed, please contact http://www.wpadm.com support staff or refer to your system administrator.*<br />
|
98 |
|
99 |
+
Dropbox Backup Plugin have a settings section on WordPress plugin page.
|
100 |
+
|
101 |
+
### DO NOT FORGET to connect your dropbox backup plugin to Dropbox before creating your first Dropbox backup ###
|
102 |
+
|
103 |
+
1. Go to Admin dashboard of your website;<br />
|
104 |
+
2. Open "Settings" of website backup plugin;<br />
|
105 |
+
3. Click "Connect to Dropbox" button;<br />
|
106 |
+
3a. Sure, if you want, you can use your own App Key and App Secret. More Information about this you can read on [FAQ](https://wordpress.org/plugins/dropbox-backup/faq/) page or in the Settings block of your installed plugin, near "Connect to Dropbox" button;<br />
|
107 |
+
|
108 |
+
Watch this video about:
|
109 |
+
<ul>
|
110 |
+
<li>How to install Dropbox backup and restore plugin on WordPress</li>
|
111 |
+
<li>How to connect Dropbox backup and restore plugin to Dropbox</li>
|
112 |
+
<li>How to perform a backup using Dropbox backup and restore plugin for Wordpress</li>
|
113 |
+
</ul>
|
114 |
+
|
115 |
+
https://www.youtube.com/watch?v=Hdzoh0BFpmg
|
116 |
+
|
117 |
+
|
118 |
+
If you need help with the plugin or you want to report a bug, so please, also refer to http://www.wpadm.com/support/
|
119 |
|
|
|
|
|
120 |
|
121 |
== Other ==
|
122 |
|
|
|
123 |
|
124 |
+
= Very easy and secure Dropbox Backup and Restoration (website / web page restore from backup) =
|
125 |
+
Usefull additional functions can be found at www.wpadm.com in the User profile.
|
126 |
+
DropBox Backup is a new plugin, so we tried to provide a bug-free plugin/widget. We are maintain this project.
|
127 |
|
128 |
+
Information about privacy:<br />
|
129 |
+
In case the user has been registered at WPAdm service AND has confirmed their registration,
|
130 |
our plugin will get the minimum requirements of php and mysql configuration, version and language of wordpress.
|
131 |
+
This data will be send to WPAdm service, to get the plugin work correctly, to extend supported configurations of user sites with wpadm-extensions and support.<br />
|
132 |
WE DO NOT COLLECT AND DO NOT STORE THE PERSONAL DATA OF USERS FROM THIS PLUGIN!
|
133 |
|
|
|
|
|
134 |
= Website Backup on Dropbox =
|
135 |
|
136 |
For security of your sites, webs hops or online portals is backup a must. With backup from www.webpage-backup.com you can secure backup and restore all your projects independent if it website or woocommerce shop as to make restoring from your backups. From security reasons it is impotent to schedule your backups, thereby your information or comments from your databases no go lost. Of course the more important for the security are (frequently) backups for woocommerce shops or multisite backups and there one click to restores from your backup drive. The woocommerce backups need more storage in cloud due to large files.<br />
|
152 |
|
153 |
For restoring your website (or multisite websites) selected files from the dashboard and then select files to restore. In backup list you see the type, date and size. From the list you can remove and select appropriate restoring file. In settings your can add or remove the cloud storage. In case of cloning you must restore your old website backup on other webpage. Cloning is the same how resorting but in more steps. The same bee meant for migrating of multisite and shops and there restore. With our file explorer you can match every file separately for restoration. In case of restoration only this files will be restore. You can restore one file than the next, but it easy to make restoring in bundle or directly to recover whole full backup. The restoration time depend from your hosting and upload rate as well as restoration depend from the file size witch must be restore. Scheduled restoring and recovering isn’t possible, unless somebody have special inquiry on our service to do scheduled recovering. The recover from the Dropbox cloud storage take time, depend from the web site size and right permissions of the folders of your hosting provider.
|
154 |
|
155 |
+
= Backing Up and Restoration to Dropbox =
|
156 |
+
= Backup:Yes Or No? =
|
157 |
+
<p>In the age of trend-setting technologies, information backing up is necessary for many life spheres that are related in any way to creation of something. That refers to programming, site building, engineering, designing, not to mention home data - photos, videos and other stuff. This list can go on and on… One would think, what is so special about this backup thing? Well, the one fact known for sure is that it saves lives of both: different projects and people who fagged away at these very same projects.</p>
|
158 |
+
<p>It has been said all the time that everyone should make the reserve copy (or backup), but not many actually do that, and besides, there are even those who have no clue about it and what it is for. Nevertheless, information about backup is really an important and useful habit, so let’s know what’s what about it.</p>
|
159 |
+
<p>Firstly, there’s a need to determine the backup process – it is a data redundancy to different storage devices, making copies of the existing data. Now let’s clear its usefulness to each and every. On one hand, modern computers and their hard drives, which are the major and the most popular data storage places, have attained quite dramatic reliability numbers. Multiform redundant coding on different levels of data management provides strong security from the possible sad situations when the information is damaged as a result of accidental error in the act of data saving. But on the second thought, even the most dependable storage mediums sooner or later go down, and for what is more, it usually happens all of the sudden. Now that is the break point, when you finally change your mind upon all the information kept by people on their hard discs. Passwords and contacts, momentous pictures and rare music collections, all possible working data – this whole treasure can disappear without warning from your website, which can turn to serious financial and time losses in addition to emotional stress.</p>
|
160 |
+
<p>The easiest variant is to simply copy data to another folder on a hard drive. But unfortunately, that is an unreliable decision, because that would release you from only the small number of possible problems, even if this folder is placed on another hardware. Now you are aware that at the present digital information day creating of backup is neither a whim nor extra precaution, this is a plain safety measure.</p>
|
161 |
+
|
162 |
= What to do if recovering failed? =
|
163 |
|
164 |
First of all check the data spelling. It is most common mistake. Other common mistakes by recovering are:
|
190 |
A good solution is to have a separate server for remote backups although it is not fail-safe. If the server is unavailable restoration will be impossible. To ensure high accessibility and data safety use cloud storage services.<br />
|
191 |
There are a lot of services providing free but limited cloud storage capacity for backups like Google Drive, Amazon S3 (AWS) or Dropbox. The problem is they do not support FTP protocol which sometimes is the most adequate way of data transfer. In comparison, virtually every host company supports this protocol.
|
192 |
|
193 |
+
= Restoration of Backup Files =
|
194 |
+
<p>Different factors may be the reason for someone to restore his data from a dropbox backup. This is a truly helpful option that supposes bringing the saved data from dropbox storage place back to its original in case you’ve lost or damaged the existing one.</p>
|
195 |
+
= Best Choice to Keep Data =
|
196 |
+
<p>Among the available ways to maintain information the first place belongs rightfully to **cloud storages** or **cloud drives**. These are sorts of virtual data storages, that save and manage the data via numerous servers strewn about World Wide Web. Their principle is simple: every ‘cloud’ has definitively stated limit of Gb virtual space, that is given to a new user absolutely for free. But in time, if a person wants to expand it, he’ll have to pay according to price plan. So here we have a simple case of effective advertising – a user gets used to the comfort and mobility of the network repository, and after he concludes that the cloud suits him to the full extend in every meanings, he pays for the “rent” of this sufficiency.</p>
|
197 |
+
= Dropbox Backup and WordPress =
|
198 |
+
<p>For the present day Dropbox cloud is still an unbeaten leader that is up to multi-million clients number. Most probably that has to do with the fact that it is Dropbox that stood at the origins of virtual space providing to users, and it is the first company, that has realized the idea of cloud data storage. It works by creation of a virtual folder in the cloud, where all the info of your wordpress website is saved, the one which you download to your Dropbox folder on your computer. For the WordPress website management the best choice is to download a plugin to easily administrate your source from wordpress admin dashboard. Backup&Restore Dropbox has many positive reviews and it deals with the performance of backup and restores, both local and dropbox.<br />
|
199 |
+
<p>Dropbox Full Backup for WordPress is good for both restore and backups tasks. It allows to use your own App key and App secret in order to keep then private with higher security for yourself. It can be your personal guard that can keep all the files saved and backed up as much as possible, and even in case of your website data lost, you are able to restore all the data just with one click. </p>
|
200 |
+
<br />
|
201 |
+
<p>To make a conclusion we’d say, that in order to be safe and sound with any of your data of your WordPress site information you should trouble yourself with backing up of an important information. That will restrict possible damages to minimum and save your time and nerves.</p>
|
202 |
+
|
203 |
|
204 |
|
205 |
== Frequently Asked Questions ==
|
232 |
|
233 |
Yes. We recommended to update or upgrade to a newest versions.
|
234 |
|
235 |
+
|
236 |
+
= How do I do this: Dropbox Backup wasn't created. There is not enough script running time to perform backup operations, please increase the PHP variable max_execution_time. =
|
237 |
+
|
238 |
+
There are two ways to do it increase the PHP variable max_execution_time:<br />
|
239 |
+
|
240 |
+
1. If the above mentioned method does not work, or your web host does not allow you to do it, you can change "Waiting time (minutes)" in the "Settings" area where you initiate the backup.<br />
|
241 |
+
|
242 |
+
2. If you have access to your hosting / server dashboard, please, find PHP settings and add the following:<br />
|
243 |
+
|
244 |
+
max_execution_time = 90 (script running 90 seconds).<br />
|
245 |
+
|
246 |
+
3. If you have access to FTP settings, find FTP file, called php.ini and add there max_execution_time = 90 (script running 90 seconds).<br />
|
247 |
+
|
248 |
+
If 90 is not enough for your script running, write 120 and so forth. <br />
|
249 |
+
|
250 |
+
If you write down 0, you will have unlimited script running time. <br />
|
251 |
+
Some materials take a long time to process before being transmitted.<br />
|
252 |
+
|
253 |
+
4. If you can’t find the php.ini file, then just try to create a new one in the root folder of your website. Add the setting described above to the created php.ini file.<br />
|
254 |
+
|
255 |
+
5. If the methods above doesn’t work for you - try to set append variable at the end of index.php file in root folder of your website.<br />
|
256 |
+
|
257 |
+
ini_set('max_execution_time', '90');<br />
|
258 |
+
|
259 |
+
6. You can also add the following code in .htaccess file:<br />
|
260 |
+
|
261 |
+
php_value max_execution_time 90<br />
|
262 |
+
|
263 |
+
**Check, if you have added this setting to the currently active php.ini file.**<br />
|
264 |
+
|
265 |
+
You can change it, for example from 3 to 5 minutes. This setting must be set in seconds. <br />
|
266 |
+
|
267 |
+
|
268 |
+
|
269 |
= I just download the dropbox full backup addon for my wordpress site. I've connected the dropbox addon (application) to my dropbox account and pushed the button "create dropbox backup". But after the finish of backup where can I find the backup files, so I be sure, that the backup was done? =
|
270 |
|
271 |
If you checked in the Setting of Dropbox plugin the checkbox "Leave local copy on my hosting", than you may to have two backups:<br />
|
306 |
Please, see the previous question "I want schedule backup. How can I schedule backup of my website?".
|
307 |
Generally - YES, you can create a scheduled backup, but you may sign in to account at www.webpage-backup.com to make a scheduled backup.
|
308 |
|
309 |
+
= Error message when trying to backup WP website and send to Dropbox. Dropbox Backup wasn't created. PCLZIP_ERR_BAD_FORMAT (-10) : Unable to find End of Central Dir Record signature. Please advise how to fix this? =
|
310 |
+
|
311 |
+
This ERROR:<br />
|
312 |
+
|
313 |
+
**PCLZIP_ERR_BAD_FORMAT (-10) : Unable to find End of Central Dir Record signature** <br />
|
314 |
+
|
315 |
+
means that you have not enough free space on your hard drive.<br />
|
316 |
+
To solve this problem, you have to go to your ISP panel (Plesk, cPanel, etc.) and check the disk space on your hosting or server.
|
317 |
+
|
318 |
= Should I register to make a back up of my site? =
|
319 |
|
320 |
Our plugin for back up is completely autonomous plugin for back up, so you don't need to register to make a back up of your site.
|
361 |
|
362 |
Ok, if you want to use an SCP Backup, please, wait for some versions of this plugin over their, and we will make an scp backup for you.
|
363 |
|
364 |
+
= What do I need to do? Local Backup wasn't created: There is not enough memory to perform archiving of big files and continue backup operations, please increase the PHP variable memory_limit. =
|
365 |
+
|
366 |
+
There are two ways to solve your problem:<br />
|
367 |
+
|
368 |
+
1. If you have access to your hosting/server operating panel, please, find PHP settings and add the following:<br />
|
369 |
+
|
370 |
+
memory_limit = 256M (use 256 MB)<br />
|
371 |
+
|
372 |
+
2. If you have access to FTP settings, find FTP file, called php.ini and add there memory_limit = 256M (use 256 MB)<br />
|
373 |
+
|
374 |
+
Full description of php.ini and memory_limit you can find here http://php.net/manual/en/ini.core.php#ini.memory-limit <br />
|
375 |
+
|
376 |
= FTP Backup? =
|
377 |
|
378 |
The name of this plugin is "Dropbox" Backup and Restore. From control panel at http://www.webpage-backup.com you can do also an FTP Backup. Please, checkout an FTP Backup so.
|
459 |
= I want optimize my MySQL database before I do my backup. How can I do that? =
|
460 |
In the Website to Dropbox backup & restoration plugin you can find an appropriate option in the Settings block of the Dropbox plugin. The optimize database setting is per default activated and in use. If you hasn't changed this configuration, then every time, as you doing backup, the database will be optimized automatically.
|
461 |
|
462 |
+
= Once I tried to conduct a Dropbox backup I received this error - Dropbox Backup wasn't created. Dropbox returned an error during file sending: "Invalid OAuth1 token." =
|
463 |
+
Please, reconnect to Dropbox, by clicking "Connect to Dropbox" button, in the "Settings" on plugin page of your website. <br />
|
464 |
+
|
465 |
+
|
466 |
= How much time it will take to create a backup of my website? =
|
467 |
There are many hardware and software dependences. Approximately the average time for website takes up to 360 seconds for 50 Mb website. There are many hardware and server/web hosting software dependencies to create a back up.
|
468 |
|
486 |
|
487 |
**Rev.** / **Description** <br />
|
488 |
|
489 |
+
WordPress backup plugin Dropbox backup & restore, added "exclude/include" files and folder window. Bug fixes.<br />
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
490 |
To restore connect to the database will be also used mysqli or mysql. The database connection type will be selected automatically.<br />
|
491 |
During restoring process: the config file of WordPress wp-config.php will use config of new website configuration to connect to the database.<br />
|
492 |
@1448769 "Dropbox backup & restore" - added tmp folder for library pclzip, deleted files tmp for pclzip<br />
|
template/css/admin-style-wpadm.css
CHANGED
@@ -559,6 +559,8 @@ body .ui-tooltip {
|
|
559 |
margin-right:20px;
|
560 |
background: #fff;
|
561 |
padding: 20px;
|
|
|
|
|
562 |
}
|
563 |
#sent-error-report {
|
564 |
background: #fff;
|
@@ -586,9 +588,11 @@ body .ui-tooltip {
|
|
586 |
padding-bottom: 30px;
|
587 |
width: 100%;
|
588 |
}
|
589 |
-
|
|
|
|
|
590 |
.show-includes input.input-folder[type="checkbox"] + label {
|
591 |
-
font: 18px
|
592 |
color: #444;
|
593 |
cursor: pointer;
|
594 |
}
|
@@ -600,6 +604,14 @@ width: 18px;
|
|
600 |
margin: 0 5px 0 0;
|
601 |
background-image: url(folder.png);
|
602 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
603 |
.loading-img {
|
604 |
text-align: center;
|
605 |
height: 23px;
|
@@ -608,6 +620,12 @@ margin: 0 auto;
|
|
608 |
.show-includes input.checkbox-send[type="checkbox"] {
|
609 |
margin-top:0px;
|
610 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
611 |
.show-includes input.input-folder[type="checkbox"]:checked + label::before {
|
612 |
background-image: url(icon-folder-open.gif);
|
613 |
}
|
@@ -1023,4 +1041,4 @@ vertical tablet computer
|
|
1023 |
margin-top:5px;
|
1024 |
margin-bottom:8px;
|
1025 |
}
|
1026 |
-
}
|
559 |
margin-right:20px;
|
560 |
background: #fff;
|
561 |
padding: 20px;
|
562 |
+
height: 200px;
|
563 |
+
overflow: auto;
|
564 |
}
|
565 |
#sent-error-report {
|
566 |
background: #fff;
|
588 |
padding-bottom: 30px;
|
589 |
width: 100%;
|
590 |
}
|
591 |
+
.show-includes input.input-folder[type="checkbox"] + label span {
|
592 |
+
color: #804000;
|
593 |
+
}
|
594 |
.show-includes input.input-folder[type="checkbox"] + label {
|
595 |
+
font: 18px;
|
596 |
color: #444;
|
597 |
cursor: pointer;
|
598 |
}
|
604 |
margin: 0 5px 0 0;
|
605 |
background-image: url(folder.png);
|
606 |
}
|
607 |
+
.show-includes input.input-folder[type="checkbox"] + label.is-file::before {
|
608 |
+
background-image: url(file2.png);
|
609 |
+
width:15px;
|
610 |
+
height:15px;
|
611 |
+
}
|
612 |
+
.field-value-folder-or-file {
|
613 |
+
line-height: 18px;
|
614 |
+
}
|
615 |
.loading-img {
|
616 |
text-align: center;
|
617 |
height: 23px;
|
620 |
.show-includes input.checkbox-send[type="checkbox"] {
|
621 |
margin-top:0px;
|
622 |
}
|
623 |
+
.show-includes input.input-folder[type="checkbox"]:checked + label.is-file::before {
|
624 |
+
background-image: url(file2.png);
|
625 |
+
}
|
626 |
+
.show-includes input.input-folder[type="checkbox"]:checked:disabled + label.is-file::before {
|
627 |
+
background-image: url(file2.png);
|
628 |
+
}
|
629 |
.show-includes input.input-folder[type="checkbox"]:checked + label::before {
|
630 |
background-image: url(icon-folder-open.gif);
|
631 |
}
|
1041 |
margin-top:5px;
|
1042 |
margin-bottom:8px;
|
1043 |
}
|
1044 |
+
}
|
template/css/file.png
ADDED
Binary file
|
template/css/file2.png
ADDED
Binary file
|
template/js/admin-wpadm.js
CHANGED
@@ -66,3 +66,133 @@ function blick(id, border_)
|
|
66 |
setTimeout('blick("' + id + '", ' + border_ + ')', 800);
|
67 |
}
|
68 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
66 |
setTimeout('blick("' + id + '", ' + border_ + ')', 800);
|
67 |
}
|
68 |
}
|
69 |
+
|
70 |
+
var send_checked = [];
|
71 |
+
function connectFolder(t)
|
72 |
+
{
|
73 |
+
folder = jQuery(t).val();
|
74 |
+
send_checked = unique(send_checked);
|
75 |
+
k = jQuery.inArray( folder, send_checked );
|
76 |
+
if ( k >= 0) {
|
77 |
+
if (!t.checked) {
|
78 |
+
send_checked.splice(k,1);
|
79 |
+
}
|
80 |
+
} else {
|
81 |
+
if (t.checked) {
|
82 |
+
send_checked[send_checked.length] = folder;
|
83 |
+
}
|
84 |
+
}
|
85 |
+
divs = jQuery(t).parents('div[id^="inc_"]');
|
86 |
+
set = true;
|
87 |
+
if (divs.length > 0) {
|
88 |
+
for(i = 0; i < divs.length; i ++) {
|
89 |
+
if(i == 1) {
|
90 |
+
check = jQuery(divs[i]).find('.checkbox-send:checked');
|
91 |
+
if(check.length > 1) {
|
92 |
+
set = false;
|
93 |
+
}
|
94 |
+
}
|
95 |
+
id = jQuery(divs[i]).attr('data-value');
|
96 |
+
if (set) {
|
97 |
+
if (t.checked) {
|
98 |
+
jQuery("#send-to-" + id).attr('checked', true);
|
99 |
+
} else {
|
100 |
+
jQuery("#send-to-" + id).attr('checked', false);
|
101 |
+
}
|
102 |
+
}
|
103 |
+
}
|
104 |
+
}
|
105 |
+
t_id = jQuery(t).attr('data-value-cache');
|
106 |
+
if (jQuery("#include_" + t_id).length > 0) {
|
107 |
+
checkboxes = jQuery("#include_" + t_id).find('.checkbox-send');
|
108 |
+
for(i = 0; i < checkboxes.length; i++) {
|
109 |
+
if (t.checked) {
|
110 |
+
jQuery(checkboxes[i]).attr('checked', true);
|
111 |
+
} else {
|
112 |
+
jQuery(checkboxes[i]).attr('checked', false);
|
113 |
+
}
|
114 |
+
}
|
115 |
+
}
|
116 |
+
|
117 |
+
}
|
118 |
+
function showLoadingImg(show)
|
119 |
+
{
|
120 |
+
img = jQuery('.loading-img').find('img');
|
121 |
+
dips = jQuery(img).css('display');
|
122 |
+
if (dips == 'none') {
|
123 |
+
if (show) {
|
124 |
+
jQuery(img).css('display', 'block');
|
125 |
+
}
|
126 |
+
} else {
|
127 |
+
if (!show) {
|
128 |
+
jQuery(img).css('display', 'none');
|
129 |
+
}
|
130 |
+
}
|
131 |
+
}
|
132 |
+
|
133 |
+
function unique(arr)
|
134 |
+
{
|
135 |
+
arr = arr.filter(function (e, i, arr) {
|
136 |
+
return arr.lastIndexOf(e) === i;
|
137 |
+
});
|
138 |
+
return arr;
|
139 |
+
}
|
140 |
+
|
141 |
+
var rt = {};
|
142 |
+
|
143 |
+
rt['%E0']='%D0%B0';rt['%E1']='%D0%B1';rt['%E2']='%D0%B2';rt['%E3']='%D0%B3';rt['%E4']='%D0%B4';
|
144 |
+
rt['%E5']='%D0%B5';rt['%B8']='%D1%91';rt['%E6']='%D0%B6';rt['%E7']='%D0%B7';rt['%E8']='%D0%B8';
|
145 |
+
rt['%E9']='%D0%B9';rt['%EA']='%D0%BA';rt['%EB']='%D0%BB';rt['%EC']='%D0%BC';rt['%ED']='%D0%BD';
|
146 |
+
rt['%EE']='%D0%BE';rt['%EF']='%D0%BF';rt['%F0']='%D1%80';rt['%F1']='%D1%81';rt['%F2']='%D1%82';
|
147 |
+
rt['%F3']='%D1%83';rt['%F4']='%D1%84';rt['%F5']='%D1%85';rt['%F6']='%D1%86';rt['%F7']='%D1%87';
|
148 |
+
rt['%F8']='%D1%88';rt['%F9']='%D1%89';rt['%FC']='%D1%8C';rt['%FB']='%D1%8B';rt['%FA']='%D1%8A';
|
149 |
+
rt['%FD']='%D1%8D';rt['%FE']='%D1%8E';rt['%FF']='%D1%8F';rt['%C0']='%D0%90';rt['%C1']='%D0%91';
|
150 |
+
rt['%C2']='%D0%92';rt['%C3']='%D0%93';rt['%C4']='%D0%94';rt['%C5']='%D0%95';rt['%A8']='%D0%81';
|
151 |
+
rt['%C6']='%D0%96';rt['%C7']='%D0%97';rt['%C8']='%D0%98';rt['%C9']='%D0%99';rt['%CA']='%D0%9A';
|
152 |
+
rt['%CB']='%D0%9B';rt['%CC']='%D0%9C';rt['%CD']='%D0%9D';rt['%CE']='%D0%9E';rt['%CF']='%D0%9F';
|
153 |
+
rt['%D0']='%D0%A0';rt['%D1']='%D0%A1';rt['%D2']='%D0%A2';rt['%D3']='%D0%A3';rt['%D4']='%D0%A4';
|
154 |
+
rt['%D5']='%D0%A5';rt['%D6']='%D0%A6';rt['%D7']='%D0%A7';rt['%D8']='%D0%A8';rt['%D9']='%D0%A9';
|
155 |
+
rt['%DC']='%D0%AC';rt['%DB']='%D0%AB';rt['%DA']='%D0%AA';rt['%DD']='%D0%AD';rt['%DE']='%D0%AE';
|
156 |
+
rt['%DF']='%D0%AF';
|
157 |
+
|
158 |
+
function convert_to_cp1251(str) {
|
159 |
+
var ret='';
|
160 |
+
|
161 |
+
var l=str.length;
|
162 |
+
var i=0;
|
163 |
+
while (i<l) {
|
164 |
+
|
165 |
+
var f=0;
|
166 |
+
for (keyVar in t) {
|
167 |
+
if (str.substring(i,i+6)==keyVar) {ret+=t[keyVar];i+=6;f=1;}
|
168 |
+
}
|
169 |
+
|
170 |
+
if (!f) {ret+=str.substring(i,i+1);i++;}
|
171 |
+
}
|
172 |
+
|
173 |
+
return ret;
|
174 |
+
}
|
175 |
+
|
176 |
+
function convert_from_cp1251(str) {
|
177 |
+
var ret='';
|
178 |
+
|
179 |
+
var l=str.length;
|
180 |
+
var i=0;
|
181 |
+
while (i<l) {
|
182 |
+
|
183 |
+
var f=0;
|
184 |
+
for (keyVar in rt) {
|
185 |
+
if (str.substring(i,i+3)==keyVar) {ret+=rt[keyVar];i+=3;f=1;}
|
186 |
+
}
|
187 |
+
|
188 |
+
if (!f) {ret+=str.substring(i,i+1);i++;}
|
189 |
+
}
|
190 |
+
|
191 |
+
return ret;
|
192 |
+
}
|
193 |
+
|
194 |
+
function urldecode (str) {
|
195 |
+
try {ret=decodeURIComponent((str + '').replace(/\+/g, '%20'));}
|
196 |
+
catch (e) {}
|
197 |
+
return ret;
|
198 |
+
}
|
template/wpadm_show_backup.php
CHANGED
@@ -184,7 +184,7 @@
|
|
184 |
|
185 |
}
|
186 |
|
187 |
-
var auth_param = <?php echo isset($dropbox_options['app_key']) && isset($dropbox_options['app_secret']) && isset($dropbox_options['uid']) && $dropbox_options['uid'] != '' ? 'false' : 'true' ?>;
|
188 |
function start_dropbox_backup(t)
|
189 |
{
|
190 |
if (auth_param === false) {
|
@@ -713,15 +713,30 @@
|
|
713 |
}
|
714 |
function InludesSetting()
|
715 |
{
|
716 |
-
|
717 |
-
|
718 |
-
showLoadingImg(true);
|
719 |
-
getIncludesData();
|
720 |
-
jQuery('#inludes-setting').show("slow");
|
721 |
} else {
|
722 |
-
jQuery('
|
723 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
724 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
725 |
}
|
726 |
var level_tree = {};
|
727 |
function getIncludesData(type, dir_)
|
@@ -753,7 +768,7 @@
|
|
753 |
level_tree[level_tree.length] = data_res.dir;
|
754 |
},
|
755 |
error: function(jqXHR, textStatus, errorThrown) {
|
756 |
-
AjaxAlert(jqXHR, textStatus, errorThrown);
|
757 |
}
|
758 |
});
|
759 |
}
|
@@ -780,14 +795,20 @@
|
|
780 |
for(i = 0; i < data.length; i++) {
|
781 |
if (data[i].check) {
|
782 |
check = 'checked="checked"' ;
|
783 |
-
send_checked[send_checked.length] = data[i].
|
784 |
} else {
|
785 |
check = '';
|
786 |
}
|
787 |
-
|
788 |
-
|
789 |
-
|
790 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
791 |
'<div id="img_load_' + data[i].cache + '" style="display:none; margin-left:10px;position:relative;">' +
|
792 |
'<img style="position:absolute;bottom:0;" src="<?php echo plugins_url('/img/folder-loader.gif', dirname(__FILE__) ); ?>" alt="load" title="load" >' +
|
793 |
'</div>'+
|
@@ -816,10 +837,12 @@
|
|
816 |
dataType: 'json',
|
817 |
success: function(data_res) {
|
818 |
showLoadingImg(false);
|
819 |
-
|
|
|
|
|
820 |
},
|
821 |
error: function (jqXHR, textStatus, errorThrown) {
|
822 |
-
AjaxAlert(jqXHR, textStatus, errorThrown);
|
823 |
}
|
824 |
});
|
825 |
}
|
@@ -916,9 +939,9 @@
|
|
916 |
showTime(1);
|
917 |
});
|
918 |
<?php }?>
|
919 |
-
|
920 |
-
|
921 |
-
|
922 |
</script>
|
923 |
<?php if (!empty($error)) {
|
924 |
echo '<div class="error" style="text-align: center; color: red; font-weight:bold;">
|
@@ -1206,7 +1229,7 @@
|
|
1206 |
}
|
1207 |
?>
|
1208 |
</select>
|
1209 |
-
|
1210 |
<span></span>
|
1211 |
</div>
|
1212 |
<?php if ( is_super_admin() ) { ?>
|
@@ -1231,6 +1254,11 @@
|
|
1231 |
<input type="checkbox" <?php echo (isset($dropbox_options['is_show_admin_bar']) && $dropbox_options['is_show_admin_bar'] == 1) ? 'checked="checked"' : ( !isset($dropbox_options['is_show_admin_bar']) ? 'checked="checked"' : '' ); ?> name="is_show_admin_bar" value="1" id="is_show_admin_bar" onclick="saveSetting('is_show_admin_bar')" />
|
1232 |
<label for="is_show_admin_bar" style="font-size: 13px;"><?php _e('Show in a admin bar','dropbox-backup'); ?></label>
|
1233 |
</div>
|
|
|
|
|
|
|
|
|
|
|
1234 |
</div>
|
1235 |
</form>
|
1236 |
</div>
|
@@ -1351,31 +1379,33 @@
|
|
1351 |
<form action="<?php echo admin_url( 'admin-post.php?action=stop_backup' )?>" method="post" id="stop_backups" name="stop_backups">
|
1352 |
<input type="hidden" name="type_backup" id="type_backup" value="" />
|
1353 |
</form>
|
1354 |
-
|
1355 |
-
|
1356 |
-
|
1357 |
-
|
1358 |
-
|
1359 |
-
|
1360 |
-
|
1361 |
-
|
1362 |
-
|
1363 |
-
|
1364 |
-
|
1365 |
-
|
1366 |
-
|
1367 |
-
|
|
|
1368 |
|
1369 |
-
|
1370 |
-
|
1371 |
-
|
1372 |
-
|
1373 |
-
|
1374 |
-
|
1375 |
-
|
1376 |
-
|
|
|
1377 |
|
1378 |
-
</div>
|
1379 |
|
1380 |
<table class="table" style="margin-top: 5px; display: <?php echo isset($data['md5']) && ($n = count($data['data'])) && is_array($data['data'][0]) ? 'table' : 'none'?>;">
|
1381 |
<thead>
|
184 |
|
185 |
}
|
186 |
|
187 |
+
var auth_param = <?php echo isset($dropbox_options['app_key']) && isset($dropbox_options['app_secret']) && isset($dropbox_options['uid']) && $dropbox_options['uid'] != '' ? 'false' : 'true'; ?>;
|
188 |
function start_dropbox_backup(t)
|
189 |
{
|
190 |
if (auth_param === false) {
|
713 |
}
|
714 |
function InludesSetting()
|
715 |
{
|
716 |
+
if (jQuery('#inludes-setting').css('display') == 'block') {
|
717 |
+
jQuery('#inludes-setting').arcticmodal('close');
|
|
|
|
|
|
|
718 |
} else {
|
719 |
+
jQuery('#inludes-setting').arcticmodal({
|
720 |
+
beforeOpen: function(data, el) {
|
721 |
+
showLoadingImg(true);
|
722 |
+
getIncludesData();
|
723 |
+
jQuery('#inludes-setting').css('display','block');
|
724 |
+
},
|
725 |
+
afterClose: function(data, el) {
|
726 |
+
jQuery('.show-includes').html("");
|
727 |
+
jQuery('#inludes-setting').css('display','none');
|
728 |
+
}
|
729 |
+
});
|
730 |
}
|
731 |
+
/*disp = jQuery('#inludes-setting').css('display');
|
732 |
+
if (disp == 'none') {
|
733 |
+
showLoadingImg(true);
|
734 |
+
getIncludesData();
|
735 |
+
jQuery('#inludes-setting').show("slow");
|
736 |
+
} else {
|
737 |
+
jQuery('.show-includes').html("");
|
738 |
+
jQuery('#inludes-setting').hide("slow");
|
739 |
+
} */
|
740 |
}
|
741 |
var level_tree = {};
|
742 |
function getIncludesData(type, dir_)
|
768 |
level_tree[level_tree.length] = data_res.dir;
|
769 |
},
|
770 |
error: function(jqXHR, textStatus, errorThrown) {
|
771 |
+
//AjaxAlert(jqXHR, textStatus, errorThrown);
|
772 |
}
|
773 |
});
|
774 |
}
|
795 |
for(i = 0; i < data.length; i++) {
|
796 |
if (data[i].check) {
|
797 |
check = 'checked="checked"' ;
|
798 |
+
send_checked[send_checked.length] = urldecode( convert_from_cp1251( data[i].folder ) ) ;
|
799 |
} else {
|
800 |
check = '';
|
801 |
}
|
802 |
+
label_class = '';
|
803 |
+
var onclick_ = 'onclick="loadInludes(\'/' + data[i].folder + '\', \'' + data[i].cache +'\', this, \'' + level_tree.length + '\')"';
|
804 |
+
if (data[i].is_file) {
|
805 |
+
label_class = 'class="is-file"';
|
806 |
+
onclick_ = '';
|
807 |
+
}
|
808 |
+
html += '<div class="field-value-folder-or-file" id="inc_' + data[i].cache + '" data-value="' + data[i].cache + '">' +
|
809 |
+
'<input type="checkbox" ' + check + ' class="checkbox-send" value="' + urldecode( convert_from_cp1251( data[i].folder ) ) + '" name="folder-include" id="send-to-' + data[i].cache + '" data-value-cache="' + data[i].cache + '" onclick="connectFolder(this)" />' +
|
810 |
+
'<input type="checkbox" class="input-folder" value="/' + urldecode( convert_from_cp1251( data[i].dir ) ) + '" id="' + data[i].cache + '" ' + onclick_ + ' />' +
|
811 |
+
'<label ' + label_class + ' for="' + data[i].cache + '">' + urldecode( convert_from_cp1251( data[i].dir ) ) + ' <span >(' + data[i].perm + ')</span>' + '</label>' +
|
812 |
'<div id="img_load_' + data[i].cache + '" style="display:none; margin-left:10px;position:relative;">' +
|
813 |
'<img style="position:absolute;bottom:0;" src="<?php echo plugins_url('/img/folder-loader.gif', dirname(__FILE__) ); ?>" alt="load" title="load" >' +
|
814 |
'</div>'+
|
837 |
dataType: 'json',
|
838 |
success: function(data_res) {
|
839 |
showLoadingImg(false);
|
840 |
+
if (data_res == 1) {
|
841 |
+
InludesSetting();
|
842 |
+
}
|
843 |
},
|
844 |
error: function (jqXHR, textStatus, errorThrown) {
|
845 |
+
//AjaxAlert(jqXHR, textStatus, errorThrown);
|
846 |
}
|
847 |
});
|
848 |
}
|
939 |
showTime(1);
|
940 |
});
|
941 |
<?php }?>
|
942 |
+
jQuery(document).ready(function() {
|
943 |
+
jQuery('.wpadm-tooltip').tooltip();
|
944 |
+
});
|
945 |
</script>
|
946 |
<?php if (!empty($error)) {
|
947 |
echo '<div class="error" style="text-align: center; color: red; font-weight:bold;">
|
1229 |
}
|
1230 |
?>
|
1231 |
</select>
|
1232 |
+
|
1233 |
<span></span>
|
1234 |
</div>
|
1235 |
<?php if ( is_super_admin() ) { ?>
|
1254 |
<input type="checkbox" <?php echo (isset($dropbox_options['is_show_admin_bar']) && $dropbox_options['is_show_admin_bar'] == 1) ? 'checked="checked"' : ( !isset($dropbox_options['is_show_admin_bar']) ? 'checked="checked"' : '' ); ?> name="is_show_admin_bar" value="1" id="is_show_admin_bar" onclick="saveSetting('is_show_admin_bar')" />
|
1255 |
<label for="is_show_admin_bar" style="font-size: 13px;"><?php _e('Show in a admin bar','dropbox-backup'); ?></label>
|
1256 |
</div>
|
1257 |
+
<div class="setting-checkbox">
|
1258 |
+
<?php _e('Include/Exclude','dropbox-backup'); ?>
|
1259 |
+
<a onclick="InludesSetting();" href="javascript:void(0);" style="color: #fff"><?php _e('Folders and files','dropbox-backup'); ?></a>
|
1260 |
+
</div>
|
1261 |
+
|
1262 |
</div>
|
1263 |
</form>
|
1264 |
</div>
|
1379 |
<form action="<?php echo admin_url( 'admin-post.php?action=stop_backup' )?>" method="post" id="stop_backups" name="stop_backups">
|
1380 |
<input type="hidden" name="type_backup" id="type_backup" value="" />
|
1381 |
</form>
|
1382 |
+
<div id="inludes-setting" class="" style="display: none; width: 550px; position: relative; text-align: center; background: #e5e5e5; border: 2px solid #dde4ff; border-radius: 5px;">
|
1383 |
+
<div>
|
1384 |
+
<div class="title-description" style="font-size: 20px; text-align: center;padding-top:20px; line-height: 30px;">
|
1385 |
+
<?php _e('Selected files and folders will be included to backup','dropbox-backup'); ?>
|
1386 |
+
<div style="font-size: 14px;">
|
1387 |
+
<?php _e('Database of website will be included automatically','dropbox-backup'); ?>
|
1388 |
+
</div>
|
1389 |
+
</div>
|
1390 |
+
<div class="loading-img">
|
1391 |
+
<img style="display: none; margin: 0 auto;" src="<?php echo plugins_url('/img/wpadmload.gif', dirname(__FILE__) ); ?>">
|
1392 |
+
</div>
|
1393 |
+
<div class="button-description">
|
1394 |
+
<!-- <input type="radio" value="folder" id="inc-folder" checked="checked" name="includes-files-folder"><label for="inc-folder"><?php _e('View folders','dropbox-backup'); ?></label>
|
1395 |
+
<input type="radio" value="files" id="inc-files" name="includes-files-folder"><label for="inc-files"><?php _e('View Folders & Files','dropbox-backup'); ?></label> -->
|
1396 |
+
<div class="show-includes">
|
1397 |
|
1398 |
+
</div>
|
1399 |
+
</div>
|
1400 |
+
<div class="clear"></div>
|
1401 |
+
<div class="button-description" style="padding:20px 0; width: 100%;">
|
1402 |
+
<input type="button" value="<?php _e('OK','dropbox-backup'); ?>" onclick="saveIncludes();" style="text-align: center; width: 100px;" class="button-wpadm">
|
1403 |
+
|
1404 |
+
<input type="button" value="<?php _e('Cancel','dropbox-backup'); ?>" onclick="InludesSetting();" style="text-align: center; width: 100px;" class="button-wpadm">
|
1405 |
+
</div>
|
1406 |
+
</div>
|
1407 |
|
1408 |
+
</div>
|
1409 |
|
1410 |
<table class="table" style="margin-top: 5px; display: <?php echo isset($data['md5']) && ($n = count($data['data'])) && is_array($data['data'][0]) ? 'table' : 'none'?>;">
|
1411 |
<thead>
|