Version Description
- Enhanced handling of plugin services
- Removed deprecated hook
Download this release
Release Info
Developer | ritesh.soni36 |
Plugin | WordPress Backup & Security Plugin – BlogVault |
Version | 4.74 |
Comparing to | |
See all releases |
Code changes from version 4.73 to 4.74
- blogvault.php +1 -1
- callback/base.php +4 -4
- callback/wings/db.php +17 -1
- callback/wings/fs.php +32 -12
- callback/wings/info.php +31 -1
- callback/wings/misc.php +14 -1
- info.php +1 -1
- readme.txt +63 -54
- wp_db.php +32 -0
- wp_dynsync.php +1 -7
blogvault.php
CHANGED
@@ -5,7 +5,7 @@ Plugin URI: https://blogvault.net
|
|
5 |
Description: Easiest way to backup & secure your WordPress site
|
6 |
Author: Backup by BlogVault
|
7 |
Author URI: https://blogvault.net
|
8 |
-
Version: 4.
|
9 |
Network: True
|
10 |
*/
|
11 |
|
5 |
Description: Easiest way to backup & secure your WordPress site
|
6 |
Author: Backup by BlogVault
|
7 |
Author URI: https://blogvault.net
|
8 |
+
Version: 4.74
|
9 |
Network: True
|
10 |
*/
|
11 |
|
callback/base.php
CHANGED
@@ -10,11 +10,11 @@ class BVCallbackBase {
|
|
10 |
"DYNSYNC_WING_VERSION" => '1.0',
|
11 |
"UPGRADER_WING_VERSION" => '1.0',
|
12 |
"BRAND_WING_VERSION" => '1.0',
|
13 |
-
"DB_WING_VERSION" => '1.
|
14 |
"ACCOUNT_WING_VERSION" => '1.1',
|
15 |
-
"MISC_WING_VERSION" => '1.
|
16 |
-
"FS_WING_VERSION" => '1.
|
17 |
-
"INFO_WING_VERSION" => '1.
|
18 |
"WATCH_WING_VERSION" => '1.0',
|
19 |
"FS_WRITE_WING_VERSION" => '1.0',
|
20 |
"IPSTORE_WING_VERSION" => '1.0',
|
10 |
"DYNSYNC_WING_VERSION" => '1.0',
|
11 |
"UPGRADER_WING_VERSION" => '1.0',
|
12 |
"BRAND_WING_VERSION" => '1.0',
|
13 |
+
"DB_WING_VERSION" => '1.1',
|
14 |
"ACCOUNT_WING_VERSION" => '1.1',
|
15 |
+
"MISC_WING_VERSION" => '1.2',
|
16 |
+
"FS_WING_VERSION" => '1.1',
|
17 |
+
"INFO_WING_VERSION" => '1.4',
|
18 |
"WATCH_WING_VERSION" => '1.0',
|
19 |
"FS_WRITE_WING_VERSION" => '1.0',
|
20 |
"IPSTORE_WING_VERSION" => '1.0',
|
callback/wings/db.php
CHANGED
@@ -11,7 +11,7 @@ class BVDBCallback extends BVCallbackBase {
|
|
11 |
|
12 |
public static $bvTables = array("fw_requests", "lp_requests", "ip_store");
|
13 |
|
14 |
-
const DB_WING_VERSION = 1.
|
15 |
|
16 |
public function __construct($callback_handler) {
|
17 |
$this->db = $callback_handler->db;
|
@@ -284,6 +284,22 @@ class BVDBCallback extends BVCallbackBase {
|
|
284 |
break;
|
285 |
case "altrtbl":
|
286 |
$resp = array("altrtbl" => $db->alterBVTable($params['query'], $params['query']));
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
287 |
break;
|
288 |
default:
|
289 |
$resp = false;
|
11 |
|
12 |
public static $bvTables = array("fw_requests", "lp_requests", "ip_store");
|
13 |
|
14 |
+
const DB_WING_VERSION = 1.1;
|
15 |
|
16 |
public function __construct($callback_handler) {
|
17 |
$this->db = $callback_handler->db;
|
284 |
break;
|
285 |
case "altrtbl":
|
286 |
$resp = array("altrtbl" => $db->alterBVTable($params['query'], $params['query']));
|
287 |
+
break;
|
288 |
+
case "tbls":
|
289 |
+
$resp = array();
|
290 |
+
|
291 |
+
if (array_key_exists('truncate', $params))
|
292 |
+
$resp['truncate'] = $db->truncateTables($params['truncate']);
|
293 |
+
|
294 |
+
if (array_key_exists('drop', $params))
|
295 |
+
$resp['drop'] = $db->dropTables($params['drop']);
|
296 |
+
|
297 |
+
if (array_key_exists('create', $params))
|
298 |
+
$resp['create'] = $db->createTables($params['create']);
|
299 |
+
|
300 |
+
if (array_key_exists('alter', $params))
|
301 |
+
$resp['alter'] = $db->alterTables($params['alter']);
|
302 |
+
|
303 |
break;
|
304 |
default:
|
305 |
$resp = false;
|
callback/wings/fs.php
CHANGED
@@ -9,7 +9,7 @@ class BVFSCallback extends BVCallbackBase {
|
|
9 |
public $account;
|
10 |
|
11 |
public static $cwAllowedFiles = array(".htaccess", ".user.ini", "malcare-waf.php");
|
12 |
-
const FS_WING_VERSION = 1.
|
13 |
|
14 |
public function __construct($callback_handler) {
|
15 |
$this->account = $callback_handler->account;
|
@@ -200,7 +200,7 @@ class BVFSCallback extends BVCallbackBase {
|
|
200 |
if ($md5 === true && !is_dir($absfile)) {
|
201 |
$fdata["md5"] = $this->calculateMd5($absfile, $fdata, $offset, $limit, $bsize);
|
202 |
}
|
203 |
-
$result[
|
204 |
}
|
205 |
return $result;
|
206 |
}
|
@@ -288,15 +288,11 @@ class BVFSCallback extends BVCallbackBase {
|
|
288 |
$resp = array("status" => "done", "links" => $links);
|
289 |
break;
|
290 |
case "getfilesstats":
|
291 |
-
$
|
292 |
-
$
|
293 |
-
|
294 |
-
|
295 |
-
$
|
296 |
-
if (array_key_exists('md5', $params)) {
|
297 |
-
$md5 = true;
|
298 |
-
}
|
299 |
-
$resp = $this->getFilesStats($files, $offset, $limit, $bsize, $md5);
|
300 |
break;
|
301 |
case "sendmanyfiles":
|
302 |
$files = $params['files'];
|
@@ -335,7 +331,7 @@ class BVFSCallback extends BVCallbackBase {
|
|
335 |
foreach($regexes as $regex) {
|
336 |
$directoryList = array_merge($directoryList, glob($options['dir'].$regex, $glob_option));
|
337 |
}
|
338 |
-
$resp[$options['dir']] = $this->getFilesStats($directoryList, 0, 0, 0, $md5);
|
339 |
}
|
340 |
break;
|
341 |
case "dirsexists":
|
@@ -357,6 +353,30 @@ class BVFSCallback extends BVCallbackBase {
|
|
357 |
$files = $params['files'];
|
358 |
$withContent = array_key_exists('withcontent', $params) ? $params['withcontent'] : true;
|
359 |
$resp = array("files_content" => $this->getFilesContent($files, $withContent));
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
360 |
break;
|
361 |
default:
|
362 |
$resp = false;
|
9 |
public $account;
|
10 |
|
11 |
public static $cwAllowedFiles = array(".htaccess", ".user.ini", "malcare-waf.php");
|
12 |
+
const FS_WING_VERSION = 1.1;
|
13 |
|
14 |
public function __construct($callback_handler) {
|
15 |
$this->account = $callback_handler->account;
|
200 |
if ($md5 === true && !is_dir($absfile)) {
|
201 |
$fdata["md5"] = $this->calculateMd5($absfile, $fdata, $offset, $limit, $bsize);
|
202 |
}
|
203 |
+
$result[] = $fdata;
|
204 |
}
|
205 |
return $result;
|
206 |
}
|
288 |
$resp = array("status" => "done", "links" => $links);
|
289 |
break;
|
290 |
case "getfilesstats":
|
291 |
+
$md5 = array_key_exists('md5', $params) ? $params['md5'] : false;
|
292 |
+
$stats = $this->getFilesStats(
|
293 |
+
$params['files'], $params['offset'], $params['limit'], $params['bsize'], $md5
|
294 |
+
);
|
295 |
+
$resp = array('stats' => $stats);
|
|
|
|
|
|
|
|
|
296 |
break;
|
297 |
case "sendmanyfiles":
|
298 |
$files = $params['files'];
|
331 |
foreach($regexes as $regex) {
|
332 |
$directoryList = array_merge($directoryList, glob($options['dir'].$regex, $glob_option));
|
333 |
}
|
334 |
+
$resp[$options['dir']] = array('stats' => $this->getFilesStats($directoryList, 0, 0, 0, $md5));
|
335 |
}
|
336 |
break;
|
337 |
case "dirsexists":
|
353 |
$files = $params['files'];
|
354 |
$withContent = array_key_exists('withcontent', $params) ? $params['withcontent'] : true;
|
355 |
$resp = array("files_content" => $this->getFilesContent($files, $withContent));
|
356 |
+
break;
|
357 |
+
case "gtfls":
|
358 |
+
$resp = array();
|
359 |
+
|
360 |
+
if (array_key_exists('get_files_content', $params)) {
|
361 |
+
$args = $params['get_files_content'];
|
362 |
+
$with_content = array_key_exists('withcontent', $args) ? $args['withcontent'] : true;
|
363 |
+
$resp['get_files_content'] = $this->getFilesContent($args['files'], $with_content);
|
364 |
+
}
|
365 |
+
|
366 |
+
if (array_key_exists('get_files_stats', $params)) {
|
367 |
+
$args = $params['get_files_stats'];
|
368 |
+
$md5 = array_key_exists('md5', $args) ? $args['md5'] : false;
|
369 |
+
$stats = $this->getFilesStats(
|
370 |
+
$args['files'], $args['offset'], $args['limit'], $args['bsize'], $md5
|
371 |
+
);
|
372 |
+
|
373 |
+
$result = array();
|
374 |
+
foreach ($stats as $stat) {
|
375 |
+
$result[$stat['filename']] = $stat;
|
376 |
+
}
|
377 |
+
$resp['get_files_stats'] = $result;
|
378 |
+
}
|
379 |
+
|
380 |
break;
|
381 |
default:
|
382 |
$resp = false;
|
callback/wings/info.php
CHANGED
@@ -10,7 +10,7 @@ class BVInfoCallback extends BVCallbackBase {
|
|
10 |
public $bvinfo;
|
11 |
public $bvapi;
|
12 |
|
13 |
-
const INFO_WING_VERSION = 1.
|
14 |
|
15 |
public function __construct($callback_handler) {
|
16 |
$this->db = $callback_handler->db;
|
@@ -260,6 +260,18 @@ class BVInfoCallback extends BVCallbackBase {
|
|
260 |
return $host_info;
|
261 |
}
|
262 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
263 |
function refreshUpdatesInfo() {
|
264 |
global $wp_current_filter;
|
265 |
$wp_current_filter[] = 'load-update-core.php';
|
@@ -399,6 +411,21 @@ class BVInfoCallback extends BVCallbackBase {
|
|
399 |
return $result;
|
400 |
}
|
401 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
402 |
public function process($request) {
|
403 |
$db = $this->db;
|
404 |
$params = $request->params;
|
@@ -468,6 +495,9 @@ class BVInfoCallback extends BVCallbackBase {
|
|
468 |
case "gtsteinfo":
|
469 |
$resp = $this->getSiteInfo($params);
|
470 |
break;
|
|
|
|
|
|
|
471 |
default:
|
472 |
$resp = false;
|
473 |
}
|
10 |
public $bvinfo;
|
11 |
public $bvapi;
|
12 |
|
13 |
+
const INFO_WING_VERSION = 1.4;
|
14 |
|
15 |
public function __construct($callback_handler) {
|
16 |
$this->db = $callback_handler->db;
|
260 |
return $host_info;
|
261 |
}
|
262 |
|
263 |
+
public function serverConfig() {
|
264 |
+
return array(
|
265 |
+
'software' => $_SERVER['SERVER_SOFTWARE'],
|
266 |
+
'sapi' => (function_exists('php_sapi_name')) ? php_sapi_name() : false,
|
267 |
+
'has_apache_get_modules' => function_exists('apache_get_modules'),
|
268 |
+
'posix_getuid' => (function_exists('posix_getuid')) ? posix_getuid() : null,
|
269 |
+
'uid' => (function_exists('getmyuid')) ? getmyuid() : null,
|
270 |
+
'user_ini' => ini_get('user_ini.filename'),
|
271 |
+
'php_major_version' => PHP_MAJOR_VERSION
|
272 |
+
);
|
273 |
+
}
|
274 |
+
|
275 |
function refreshUpdatesInfo() {
|
276 |
global $wp_current_filter;
|
277 |
$wp_current_filter[] = 'load-update-core.php';
|
411 |
return $result;
|
412 |
}
|
413 |
|
414 |
+
function getPluginServicesInfo($args) {
|
415 |
+
$result = array();
|
416 |
+
|
417 |
+
if (array_key_exists('get_options', $args))
|
418 |
+
$result['get_options'] = $this->settings->getOptions($args['get_options']);
|
419 |
+
|
420 |
+
if (array_key_exists('pingbv', $args))
|
421 |
+
$result['pingbv'] = array('status' => $this->pingBV());
|
422 |
+
|
423 |
+
if (array_key_exists('server_config', $args))
|
424 |
+
$result['server_config'] = $this->serverConfig();
|
425 |
+
|
426 |
+
return $result;
|
427 |
+
}
|
428 |
+
|
429 |
public function process($request) {
|
430 |
$db = $this->db;
|
431 |
$params = $request->params;
|
495 |
case "gtsteinfo":
|
496 |
$resp = $this->getSiteInfo($params);
|
497 |
break;
|
498 |
+
case "psinfo":
|
499 |
+
$resp = $this->getPluginServicesInfo($params);
|
500 |
+
break;
|
501 |
default:
|
502 |
$resp = false;
|
503 |
}
|
callback/wings/misc.php
CHANGED
@@ -11,7 +11,7 @@ class BVMiscCallback extends BVCallbackBase {
|
|
11 |
public $bvapi;
|
12 |
public $db;
|
13 |
|
14 |
-
const MISC_WING_VERSION = 1.
|
15 |
|
16 |
public function __construct($callback_handler) {
|
17 |
$this->settings = $callback_handler->settings;
|
@@ -154,6 +154,19 @@ class BVMiscCallback extends BVCallbackBase {
|
|
154 |
break;
|
155 |
case "dlttrsnt":
|
156 |
$resp = array("dlttrsnt" => $settings->deleteTransient($params['key']));
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
157 |
break;
|
158 |
case "setbvss":
|
159 |
$resp = array("status" => $settings->updateOption('bv_site_settings', $params['bv_site_settings']));
|
11 |
public $bvapi;
|
12 |
public $db;
|
13 |
|
14 |
+
const MISC_WING_VERSION = 1.2;
|
15 |
|
16 |
public function __construct($callback_handler) {
|
17 |
$this->settings = $callback_handler->settings;
|
154 |
break;
|
155 |
case "dlttrsnt":
|
156 |
$resp = array("dlttrsnt" => $settings->deleteTransient($params['key']));
|
157 |
+
break;
|
158 |
+
case "optns":
|
159 |
+
$resp = array();
|
160 |
+
|
161 |
+
if (array_key_exists("get_options", $params))
|
162 |
+
$resp["get_options"] = $settings->getOptions($params["get_options"]);
|
163 |
+
|
164 |
+
if (array_key_exists("update_options", $params))
|
165 |
+
$resp["update_options"] = $settings->updateOptions($params["update_options"]);
|
166 |
+
|
167 |
+
if (array_key_exists("delete_options", $params))
|
168 |
+
$resp["delete_options"] = $settings->deleteOptions($params["delete_options"]);
|
169 |
+
|
170 |
break;
|
171 |
case "setbvss":
|
172 |
$resp = array("status" => $settings->updateOption('bv_site_settings', $params['bv_site_settings']));
|
info.php
CHANGED
@@ -10,7 +10,7 @@ if (!class_exists('BVInfo')) :
|
|
10 |
public $badgeinfo = 'bvbadge';
|
11 |
public $ip_header_option = 'bvipheader';
|
12 |
public $brand_option = 'bvbrand';
|
13 |
-
public $version = '4.
|
14 |
public $webpage = 'https://blogvault.net';
|
15 |
public $appurl = 'https://app.blogvault.net';
|
16 |
public $slug = 'blogvault-real-time-backup/blogvault.php';
|
10 |
public $badgeinfo = 'bvbadge';
|
11 |
public $ip_header_option = 'bvipheader';
|
12 |
public $brand_option = 'bvbrand';
|
13 |
+
public $version = '4.74';
|
14 |
public $webpage = 'https://blogvault.net';
|
15 |
public $appurl = 'https://app.blogvault.net';
|
16 |
public $slug = 'blogvault-real-time-backup/blogvault.php';
|
readme.txt
CHANGED
@@ -1,66 +1,71 @@
|
|
1 |
-
=== Backup
|
2 |
Contributors: BlogVault Backup
|
3 |
-
Tags: backup, wordpress backup, backup plugin, cloud backup, database backup, back up, staging, restore, s3 backup, dropbox backup,
|
4 |
Plugin URI: https://blogvault.net/
|
5 |
Donate link: https://app.blogvault.net/home/signup
|
6 |
Requires at least: 4.0
|
7 |
Tested up to: 5.9
|
8 |
Requires PHP: 5.4.0
|
9 |
-
Stable tag: 4.
|
10 |
License: GPLv2 or later
|
11 |
License URI: [http://www.gnu.org/licenses/gpl-2.0.html](http://www.gnu.org/licenses/gpl-2.0.html)
|
12 |
|
13 |
-
|
14 |
|
15 |
== DESCRIPTION ==
|
16 |
-
The Most Reliable Incremental Backup Plugin with Free Cloud Storage.
|
|
|
|
|
|
|
|
|
17 |
|
18 |
Check out more BlogVault customer testimonials from **[here](http://bit.ly/2RGXKN2)**
|
19 |
|
20 |
-
With a 100% Successful Website Restore Rate, BlogVault is the world's
|
21 |
|
22 |
**Companies you Trust, Trust BlogVault.**
|
23 |
|
24 |
-
We officially power migration for some of the largest web hosts from WPEngine, Pantheon, FlyWheel, LiquidWeb, Cloudways, Savvii and many more.
|
25 |
|
26 |
-
It is the perfect solution for
|
27 |
|
28 |
Learn more about BlogVault from **[here](http://bit.ly/2RLJh2e)**
|
29 |
|
30 |
== BlogVault in Numbers ==
|
31 |
* 1+ million Successful Website Restorations
|
32 |
-
* 450,000+ Sites backed up and counting
|
33 |
-
* 330GB Largest site Backed Up
|
34 |
* 10,000+ Web hosts Compatibility
|
35 |
* Five Star Support
|
36 |
|
37 |
[youtube https://www.youtube.com/watch?v=Y4teDRL08mY]
|
38 |
|
39 |
-
== Benefits of Using BlogVault as Your Go-to Backup Solution ==
|
40 |
|
41 |
= 1. Incremental Backups Guaranteed to Always Work =
|
42 |
-
* Incremental backups that never
|
43 |
* Free offsite storage ensures 24X7 availability
|
44 |
* 90 days archive to recover from any mistake
|
45 |
* First plugin with Multi-site backup support
|
|
|
46 |
|
47 |
= 2. Fastest Website Recovery Within Minutes =
|
48 |
-
* 1 million+ website restores with 100% success rate
|
49 |
* Differential Restore for lightning-fast recovery
|
50 |
* 90 days archive to recover from any mistake
|
51 |
-
* Perform full Restore even if your website is offline
|
52 |
|
53 |
= 3. Deploy a Staging Site in One-click for Free =
|
54 |
-
* Safely test your website updates and changes
|
55 |
* Staging site runs on our cloud servers
|
56 |
* Completely free of cost
|
57 |
-
* One-click Merge to push changes to live site
|
58 |
|
59 |
= 4. Frustration-Free Website Migrations in 1-Click =
|
60 |
* Compatible & approved with 5,000+ web hosts
|
61 |
-
* Zero downtime guaranteed
|
62 |
* Intelligent automatic rewrite of all website URLs
|
63 |
-
* Migrate to a new domain, host, DNS or server
|
64 |
|
65 |
= 5. Real-time Backups for WooCommerce Stores =
|
66 |
* Backup all orders as and when they take place
|
@@ -73,46 +78,46 @@ Learn more about BlogVault from **[here](http://bit.ly/2RLJh2e)**
|
|
73 |
* Exclusive White-label solution to grow revenues
|
74 |
* Beautiful and comprehensive Client Reporting
|
75 |
|
76 |
-
= 7. Last, BlogVault is a "Service," Not just a Backup Plugin =
|
77 |
-
* Always improving & adding features unlike plugins
|
78 |
* Our Support always has your back
|
79 |
-
* Full peace of mind with encrypted
|
80 |
-
* Access backups 24X7 with independent dashboard
|
81 |
|
82 |
-
== Why Choose BlogVault
|
83 |
|
84 |
* **Set up & Running in Just 60 Secs -** Get started in no time. Log in. Auto-Install. And that’s it!
|
85 |
-
* **Comes with Built-in Free Staging -** Develop your site the way you’ve always wanted to. Update without breaking live site.
|
86 |
-
* **Doesn’t Slow Down Website, Ever -** All processing
|
87 |
-
* **No Technical Knowledge Needed -** Automated workflows that ensure everything you need is only a click away.
|
88 |
* **Personal Support for Everyone -** Agile & Responsive Customer Support that caters to Everyone.
|
89 |
|
90 |
-
**Have You Tried BlogVault Pro Yet?**
|
91 |
|
92 |
-
BlogVault offers an unrestricted 7 days free trial. **Explore all features of full BlogVault for FREE**.
|
93 |
|
94 |
-
**[Try out BlogVault](http://bit.ly/2RKzrgY)** without any commitment. No credit card needed.
|
95 |
|
96 |
== FREQUENTLY ASKED QUESTIONS ==
|
97 |
|
98 |
-
=Can I
|
99 |
This plugin works in tandem with the [BlogVault](https://blogvault.net) servers. BlogVault servers do all the heavy processing and will alert you if your site has any issues.
|
100 |
|
101 |
This requires an account with BlogVault to be created to use the plugin.
|
102 |
|
103 |
Yes. Take the help of this **[step-by-step guide](http://bit.ly/2RJg9sv)**.
|
104 |
|
105 |
-
=I am unable to reach the backup plugin. What can I do?=
|
106 |
You can send an email to the support team on *support@blogvault.net* and notify our team regarding this.
|
107 |
|
108 |
-
=Are there any prerequisites for using BlogVault?=
|
109 |
No. All you need is a WordPress site. We don’t use your website resources for backing up so you will not experience any downtime, or page delay while executing BlogVault functions.
|
110 |
|
111 |
=Do you have a free plan? How does it work?=
|
112 |
-
BlogVault is a paid backup service. But we understand the user's dilemma before starting a new service, which is why we provide a 7
|
113 |
|
114 |
-
=How do I upgrade from my free trial to a premium account?=
|
115 |
-
To upgrade from free trial version to a premium account, please take the help of **[this guide](http://bit.ly/2RHvPfS)**.
|
116 |
|
117 |
=How do I upgrade to a bigger Plan?=
|
118 |
To upgrade to a bigger Plan, take the help of **[this guide](http://bit.ly/2RHvPfS)**.
|
@@ -127,7 +132,7 @@ BlogVault Backup Service backs up everything in your WordPress site incrementall
|
|
127 |
|
128 |
This strategy ensures that we do not miss anything on your site.
|
129 |
|
130 |
-
=How often does BlogVault backup my
|
131 |
BlogVault backs up your website daily, automatically.
|
132 |
|
133 |
=How safe are my backup files?=
|
@@ -137,12 +142,12 @@ Your backups are very safe. We use encrypted cloud backups and off-site BlogVaul
|
|
137 |
We do not automatically sync your backups to Dropbox. However, we do provide an interface that can help enable you to move your backup to Dropbox. You can also download your Backups to your computer and then upload them on Google Drive.
|
138 |
|
139 |
=Can BlogVault be used for WooCommerce store websites?=
|
140 |
-
Yes, BlogVault integrates well with WooCommerce websites with the special inbuilt Real
|
141 |
|
142 |
=What does BlogVault backup from a WooCommerce site?=
|
143 |
BlogVault backups files and tables, database metadata like database name, location, all content, settings, and configuration.
|
144 |
|
145 |
-
=Can I restore WooCommerce backup using BlogVault?=
|
146 |
Yes. Restoring a backup using BlogVault is easy. Take a look at **[how to restore a site](http://bit.ly/2RL9gXN)**.
|
147 |
|
148 |
=Can I use BlogVault to handle Backup Restoration?=
|
@@ -158,15 +163,15 @@ Yes. You can do this by making use of our integrated Migration feature where you
|
|
158 |
Your staging site will be on BlogVault servers.
|
159 |
|
160 |
=How long is my staging valid?=
|
161 |
-
With BlogVault backup service, you can extend your staging site validity up to 56 days.
|
162 |
|
163 |
=What do I do after Staging a site?=
|
164 |
After you are satisfied with your staging site, BlogVault Backup Service allows you can push the changes you like, onto your actual live site, directly.
|
165 |
|
166 |
=Will I receive emails from the staging environment?=
|
167 |
-
No, we do not have a mailing system at the Staging server. Many sites have automated emails
|
168 |
|
169 |
-
=Can I merge WooCommerce website staging site to live site?=
|
170 |
If you move them from the staging site to the live site, all your new orders will be lost on the live site. But we have provided you with the option with the selective merge. Select only the tables you want to merge and let BlogVault take care of the rest for you. Please don’t forget to backup your website before you start merging.
|
171 |
|
172 |
=Does BlogVault backup work with all web hosts?=
|
@@ -180,19 +185,19 @@ No, BlogVault Backup Service will cause no downtime to the destination server wh
|
|
180 |
=Will BlogVault start backing up the new site after migration?=
|
181 |
Unless otherwise specified, BlogVault will backup a site following DNS resolution. If you migrated the site to a different URL, make sure the new URL is added as a site with BlogVault to enable backup. If the migration were to the same URL at a different host, BlogVault would automatically start doing a backup from the new location as soon as the DNS is updated.
|
182 |
|
183 |
-
=Can I update WordPress core, plugins and themes directly?=
|
184 |
Yes. Take a look at this **[Manage Site help doc](http://bit.ly/2ROA9du)**. Before updating on the live site, we’d suggest you update on a staging site. BlogVault Backup Service comes with a free staging website.
|
185 |
|
186 |
=Can I manage my site users and their password directly?=
|
187 |
-
Yes. With BlogVault backup service, you can manage your site users and passwords. Take the help of this **[Manage Site help doc](http://bit.ly/2ROA9du)**.
|
188 |
|
189 |
-
=Can I add Clients and Team Members
|
190 |
Yes, you can.
|
191 |
|
192 |
-
Our client feature is for your reference alone. You can assign a client to their site. If you want to give a user,
|
193 |
|
194 |
=Isn’t WordPress or Web Host backing up my website for me?=
|
195 |
-
WordPress by default does not back up your site for you. As for web hosts, if your site is not on wordpress.com, then you have a reason to worry. Servers, while generally robust, do fail from time to time for various reasons. Moreover, web hosting providers usually do not provide complete backups. When such backups are restored, sites crash and data is lost. Several such horror stories inspired us to build this service!
|
196 |
|
197 |
=Do I really need BlogVault?=
|
198 |
BlogVault provides comprehensive and complete backup services. Apart from handling website security, it can also assist you with instant Migration as well as Staging and Merging services at very reasonable rates.
|
@@ -214,14 +219,14 @@ Your Website Reports will contain details on the following:
|
|
214 |
* Active Plugins
|
215 |
* Installed Themes
|
216 |
|
217 |
-
=Is BlogVault compatible with all other plugins and themes?=
|
218 |
-
BlogVault is compatible with all plugins and themes. It works even if you have a different backup plugin installed. If you want to uninstall a plugin and install BlogVault plugin, kindly take a look at our guide on **[How to install BlogVault](http://bit.ly/2RKgPxP)**.
|
219 |
|
220 |
=Error: "FTP permission issues, FTP is correct but we might not have permissions to upload or remove a file."=
|
221 |
This could happen when you’re on shared hosting. Contact your host and ask them to grant you access to upload files via FTP.
|
222 |
|
223 |
=Error: "Execution expired, Connection timed out, Connection reset by a peer in both FTP and HTTP requests."=
|
224 |
-
Nothing to worry, this notification means your destination server denied our requests to offload your site’s data. This could be because of a few reasons:
|
225 |
* Your destination site isn’t reachable (you’ll have to contact your destination web host about this)
|
226 |
* You have a firewall installed, which is blocking consecutive requests from the same source (in which case, please wait for some time and try again)
|
227 |
|
@@ -236,17 +241,21 @@ These are available on our website: [Terms of Service](https://blogvault.net/tos
|
|
236 |
|
237 |
== SCREENSHOTS ==
|
238 |
|
239 |
-
1. BlogVault provides you a comprehensive History page that lets you manage all your WordPress backups with ease.
|
240 |
-
2. Trusted by over 4,00,000+ websites, BlogVault is the best WordPress backup
|
241 |
3. Check the Performance Speed of your website from the BlogVault dashboard.
|
242 |
4. Manage multiple WordPress sites from one dashboard.
|
243 |
5. With Uptime Monitoring you get notified the moment your website is shut down.
|
244 |
-
6. With BlogVault's free Staging test updates, plugins, and WordPress themes without breaking your live site.
|
245 |
7. With BlogVault's White-Label Solution you can showcase our service under your own brilliant brand.
|
246 |
-
8. For WooCommerce sites, BlogVault’s Real
|
247 |
-
9. We power WordPress migration for WPEngine, Pantheon, FlyWheel, LiquidWeb, Cloudways, Savvii and many more. Need we say more?
|
248 |
|
249 |
== CHANGELOG ==
|
|
|
|
|
|
|
|
|
250 |
= 4.73 =
|
251 |
* Improvements in identifying plugin updates.
|
252 |
|
1 |
+
=== BlogVault WordPress Backup Plugin - Migration, Staging, and Backups ===
|
2 |
Contributors: BlogVault Backup
|
3 |
+
Tags: backup, wordpress backup, backup plugin, cloud backup, database backup, back up, staging, restore, s3 backup, dropbox backup, migration
|
4 |
Plugin URI: https://blogvault.net/
|
5 |
Donate link: https://app.blogvault.net/home/signup
|
6 |
Requires at least: 4.0
|
7 |
Tested up to: 5.9
|
8 |
Requires PHP: 5.4.0
|
9 |
+
Stable tag: 4.74
|
10 |
License: GPLv2 or later
|
11 |
License URI: [http://www.gnu.org/licenses/gpl-2.0.html](http://www.gnu.org/licenses/gpl-2.0.html)
|
12 |
|
13 |
+
Comprehensive WordPress backup plugin with integrated staging, migration, and 1-click restore. Get daily or real-time secure WordPress backups easily.
|
14 |
|
15 |
== DESCRIPTION ==
|
16 |
+
The Most Reliable Incremental WordPress Backup Plugin with Free Cloud Storage. The best Part, Comes with a FREE Staging Environment.
|
17 |
+
|
18 |
+
BlogVault regularly backs up everything in your WordPress site – Including WordPress database, WordPress files, themes, images, etc.
|
19 |
+
|
20 |
+
WordPress database and files backup using BlogVault is much safer and simpler than creating a backup manually.
|
21 |
|
22 |
Check out more BlogVault customer testimonials from **[here](http://bit.ly/2RGXKN2)**
|
23 |
|
24 |
+
With a 100% Successful Website Restore Rate, BlogVault is the world's fastest and best WordPress Backup Plugin trusted by over 4,50,000+ WordPress websites.
|
25 |
|
26 |
**Companies you Trust, Trust BlogVault.**
|
27 |
|
28 |
+
We officially power migration for some of the largest web hosts from WPEngine, Pantheon, FlyWheel, LiquidWeb, Cloudways, Savvii, and many more.
|
29 |
|
30 |
+
It is the perfect solution for developers and agencies as it comes with all the tools you need to maintain and manage multiple WordPress websites. **From One-Click Staging to Flawless Migrations to Complete Website Management and a White Label Solution**. It even provides out-of-the-box **Client Reporting**.
|
31 |
|
32 |
Learn more about BlogVault from **[here](http://bit.ly/2RLJh2e)**
|
33 |
|
34 |
== BlogVault in Numbers ==
|
35 |
* 1+ million Successful Website Restorations
|
36 |
+
* 450,000+ WordPress Sites backed up and counting
|
37 |
+
* 330GB Largest WordPress site Backed Up
|
38 |
* 10,000+ Web hosts Compatibility
|
39 |
* Five Star Support
|
40 |
|
41 |
[youtube https://www.youtube.com/watch?v=Y4teDRL08mY]
|
42 |
|
43 |
+
== Benefits of Using BlogVault backup plugin as Your Go-to Backup Solution ==
|
44 |
|
45 |
= 1. Incremental Backups Guaranteed to Always Work =
|
46 |
+
* Incremental automatic backups that never overload your server
|
47 |
* Free offsite storage ensures 24X7 availability
|
48 |
* 90 days archive to recover from any mistake
|
49 |
* First plugin with Multi-site backup support
|
50 |
+
* Custom Schedule your WordPress backups daily, weekly or monthly
|
51 |
|
52 |
= 2. Fastest Website Recovery Within Minutes =
|
53 |
+
* 1 million+ WordPress website restores with 100% success rate
|
54 |
* Differential Restore for lightning-fast recovery
|
55 |
* 90 days archive to recover from any mistake
|
56 |
+
* Perform full Restore even if your WordPress website is offline
|
57 |
|
58 |
= 3. Deploy a Staging Site in One-click for Free =
|
59 |
+
* Safely test your WordPress website updates and changes
|
60 |
* Staging site runs on our cloud servers
|
61 |
* Completely free of cost
|
62 |
+
* One-click Merge to push changes to live WordPress site
|
63 |
|
64 |
= 4. Frustration-Free Website Migrations in 1-Click =
|
65 |
* Compatible & approved with 5,000+ web hosts
|
66 |
+
* Zero downtime guaranteed with our migration plugin
|
67 |
* Intelligent automatic rewrite of all website URLs
|
68 |
+
* Migrate to a new domain, host, DNS, or server
|
69 |
|
70 |
= 5. Real-time Backups for WooCommerce Stores =
|
71 |
* Backup all orders as and when they take place
|
78 |
* Exclusive White-label solution to grow revenues
|
79 |
* Beautiful and comprehensive Client Reporting
|
80 |
|
81 |
+
= 7. Last, BlogVault is a "Service," Not just a WordPress Backup Plugin =
|
82 |
+
* Always improving & adding features unlike other WordPress backup plugins
|
83 |
* Our Support always has your back
|
84 |
+
* Full peace of mind with encrypted off-site storage
|
85 |
+
* Access complete backups 24X7 with independent dashboard
|
86 |
|
87 |
+
== Why Choose BlogVault WordPress backup plugin? ==
|
88 |
|
89 |
* **Set up & Running in Just 60 Secs -** Get started in no time. Log in. Auto-Install. And that’s it!
|
90 |
+
* **Comes with Built-in Free Staging -** Develop your site the way you’ve always wanted to. Update without breaking the live site.
|
91 |
+
* **Doesn’t Slow Down WordPress Website, Ever -** All processing takes place on our own server. Your site does not slow down at all.
|
92 |
+
* **No Technical Knowledge Needed -** Automated workflows like automated backups that ensure everything you need is only a click away.
|
93 |
* **Personal Support for Everyone -** Agile & Responsive Customer Support that caters to Everyone.
|
94 |
|
95 |
+
**Have You Tried BlogVault Pro version Yet?**
|
96 |
|
97 |
+
BlogVault WP backup plugin offers an unrestricted 7 days free trial. **Explore all features of full BlogVault for FREE**.
|
98 |
|
99 |
+
**[Try out BlogVault](http://bit.ly/2RKzrgY)** without any commitment. No credit card is needed.
|
100 |
|
101 |
== FREQUENTLY ASKED QUESTIONS ==
|
102 |
|
103 |
+
=Can I set up my BlogVault backup account myself?=
|
104 |
This plugin works in tandem with the [BlogVault](https://blogvault.net) servers. BlogVault servers do all the heavy processing and will alert you if your site has any issues.
|
105 |
|
106 |
This requires an account with BlogVault to be created to use the plugin.
|
107 |
|
108 |
Yes. Take the help of this **[step-by-step guide](http://bit.ly/2RJg9sv)**.
|
109 |
|
110 |
+
=I am unable to reach the WordPress backup plugin. What can I do?=
|
111 |
You can send an email to the support team on *support@blogvault.net* and notify our team regarding this.
|
112 |
|
113 |
+
=Are there any prerequisites for using the BlogVault backup plugin for the WordPress site?=
|
114 |
No. All you need is a WordPress site. We don’t use your website resources for backing up so you will not experience any downtime, or page delay while executing BlogVault functions.
|
115 |
|
116 |
=Do you have a free plan? How does it work?=
|
117 |
+
BlogVault is a paid backup service. But we understand the user's dilemma before starting a new service, which is why we provide a 7 day free trial period. You can avail free trial without any registration, just enter your email ID, password, and site URL. Moreover, we do not discriminate between our trial period users and premium customers.
|
118 |
|
119 |
+
=How do I upgrade from my free trial to a premium version of the account?=
|
120 |
+
To upgrade from a free trial version to a premium account, please take the help of **[this guide](http://bit.ly/2RHvPfS)**.
|
121 |
|
122 |
=How do I upgrade to a bigger Plan?=
|
123 |
To upgrade to a bigger Plan, take the help of **[this guide](http://bit.ly/2RHvPfS)**.
|
132 |
|
133 |
This strategy ensures that we do not miss anything on your site.
|
134 |
|
135 |
+
=How often does BlogVault backup my WordPress site?=
|
136 |
BlogVault backs up your website daily, automatically.
|
137 |
|
138 |
=How safe are my backup files?=
|
142 |
We do not automatically sync your backups to Dropbox. However, we do provide an interface that can help enable you to move your backup to Dropbox. You can also download your Backups to your computer and then upload them on Google Drive.
|
143 |
|
144 |
=Can BlogVault be used for WooCommerce store websites?=
|
145 |
+
Yes, BlogVault integrates well with WooCommerce websites with the special inbuilt Real-Time backups functionality. Please see **[WooCommerce backups page](http://bit.ly/2RKNfrR)**.
|
146 |
|
147 |
=What does BlogVault backup from a WooCommerce site?=
|
148 |
BlogVault backups files and tables, database metadata like database name, location, all content, settings, and configuration.
|
149 |
|
150 |
+
=Can I restore WooCommerce store backup using BlogVault?=
|
151 |
Yes. Restoring a backup using BlogVault is easy. Take a look at **[how to restore a site](http://bit.ly/2RL9gXN)**.
|
152 |
|
153 |
=Can I use BlogVault to handle Backup Restoration?=
|
163 |
Your staging site will be on BlogVault servers.
|
164 |
|
165 |
=How long is my staging valid?=
|
166 |
+
With the BlogVault backup service, you can extend your staging site validity up to 56 days.
|
167 |
|
168 |
=What do I do after Staging a site?=
|
169 |
After you are satisfied with your staging site, BlogVault Backup Service allows you can push the changes you like, onto your actual live site, directly.
|
170 |
|
171 |
=Will I receive emails from the staging environment?=
|
172 |
+
No, we do not have a mailing system at the Staging server. Many sites have automated emails set up on their sites. On staging environments, they do not want these to be triggered. The staging environment does not have protection for spam emails. Blocking all emails ensures that the staging server IP is not blacklisted.
|
173 |
|
174 |
+
=Can I merge the WooCommerce website staging site to the live site?=
|
175 |
If you move them from the staging site to the live site, all your new orders will be lost on the live site. But we have provided you with the option with the selective merge. Select only the tables you want to merge and let BlogVault take care of the rest for you. Please don’t forget to backup your website before you start merging.
|
176 |
|
177 |
=Does BlogVault backup work with all web hosts?=
|
185 |
=Will BlogVault start backing up the new site after migration?=
|
186 |
Unless otherwise specified, BlogVault will backup a site following DNS resolution. If you migrated the site to a different URL, make sure the new URL is added as a site with BlogVault to enable backup. If the migration were to the same URL at a different host, BlogVault would automatically start doing a backup from the new location as soon as the DNS is updated.
|
187 |
|
188 |
+
=Can I update WordPress core, plugins, and themes directly?=
|
189 |
Yes. Take a look at this **[Manage Site help doc](http://bit.ly/2ROA9du)**. Before updating on the live site, we’d suggest you update on a staging site. BlogVault Backup Service comes with a free staging website.
|
190 |
|
191 |
=Can I manage my site users and their password directly?=
|
192 |
+
Yes. With the BlogVault backup service, you can manage your site users and passwords. Take the help of this **[Manage Site help doc](http://bit.ly/2ROA9du)**.
|
193 |
|
194 |
+
=Can I add Clients and Team Members to my BlogVault Backup account?=
|
195 |
Yes, you can.
|
196 |
|
197 |
+
Our client feature is for your reference alone. You can assign a client to their site. If you want to give a user, dashboard access, please add them as your team members under the team section. Please see **[How do I add clients and team members](http://bit.ly/2RK7p5t)**?
|
198 |
|
199 |
=Isn’t WordPress or Web Host backing up my website for me?=
|
200 |
+
WordPress by default does not back up your site for you. As for web hosts, if your site is not on wordpress.com, then you have a reason to worry. Servers, while generally robust, do fail from time to time for various reasons. Moreover, web hosting providers usually do not provide complete backups. When such backups are restored, sites crash, and data is lost. Several such horror stories inspired us to build this service!
|
201 |
|
202 |
=Do I really need BlogVault?=
|
203 |
BlogVault provides comprehensive and complete backup services. Apart from handling website security, it can also assist you with instant Migration as well as Staging and Merging services at very reasonable rates.
|
219 |
* Active Plugins
|
220 |
* Installed Themes
|
221 |
|
222 |
+
=Is BlogVault compatible with all other WordPress plugins and themes?=
|
223 |
+
BlogVault is compatible with all plugins and themes. It works even if you have a different backup plugin installed. If you want to uninstall a plugin and install the BlogVault plugin, kindly take a look at our guide on **[How to install BlogVault](http://bit.ly/2RKgPxP)**.
|
224 |
|
225 |
=Error: "FTP permission issues, FTP is correct but we might not have permissions to upload or remove a file."=
|
226 |
This could happen when you’re on shared hosting. Contact your host and ask them to grant you access to upload files via FTP.
|
227 |
|
228 |
=Error: "Execution expired, Connection timed out, Connection reset by a peer in both FTP and HTTP requests."=
|
229 |
+
Nothing to worry about, this notification means your destination server denied our requests to offload your site’s data. This could be because of a few reasons:
|
230 |
* Your destination site isn’t reachable (you’ll have to contact your destination web host about this)
|
231 |
* You have a firewall installed, which is blocking consecutive requests from the same source (in which case, please wait for some time and try again)
|
232 |
|
241 |
|
242 |
== SCREENSHOTS ==
|
243 |
|
244 |
+
1. BlogVault provides you with a comprehensive History page that lets you manage all your WordPress backups with ease.
|
245 |
+
2. Trusted by over 4,00,000+ websites, BlogVault is the best WordPress files and database backup plugin for your website.
|
246 |
3. Check the Performance Speed of your website from the BlogVault dashboard.
|
247 |
4. Manage multiple WordPress sites from one dashboard.
|
248 |
5. With Uptime Monitoring you get notified the moment your website is shut down.
|
249 |
+
6. With BlogVault's free Staging test updates, WordPress plugins, and WordPress themes without breaking your live site.
|
250 |
7. With BlogVault's White-Label Solution you can showcase our service under your own brilliant brand.
|
251 |
+
8. For WooCommerce sites, BlogVault’s Real-Time Backups can make all the difference.
|
252 |
+
9. We power WordPress migration for WPEngine, Pantheon, FlyWheel, LiquidWeb, Cloudways, Savvii, and many more. Need we say more?
|
253 |
|
254 |
== CHANGELOG ==
|
255 |
+
= 4.74 =
|
256 |
+
* Enhanced handling of plugin services
|
257 |
+
* Removed deprecated hook
|
258 |
+
|
259 |
= 4.73 =
|
260 |
* Improvements in identifying plugin updates.
|
261 |
|
wp_db.php
CHANGED
@@ -92,6 +92,14 @@ class BVWPDb {
|
|
92 |
return $this->isTablePresent($table);
|
93 |
}
|
94 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
95 |
public function alterBVTable($query, $name) {
|
96 |
$resp = false;
|
97 |
$table = $this->getBVTable($name);
|
@@ -101,6 +109,14 @@ class BVWPDb {
|
|
101 |
return $resp;
|
102 |
}
|
103 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
104 |
public function getTableContent($table, $fields = '*', $filter = '', $limit = 0, $offset = 0) {
|
105 |
$query = "SELECT $fields from $table $filter";
|
106 |
if ($limit > 0)
|
@@ -154,6 +170,22 @@ class BVWPDb {
|
|
154 |
return !$this->isTablePresent($table);
|
155 |
}
|
156 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
157 |
public function deleteRowsFromtable($name, $count = 1) {
|
158 |
$table = $this->getBVTable($name);
|
159 |
if ($this->isTablePresent($table)) {
|
92 |
return $this->isTablePresent($table);
|
93 |
}
|
94 |
|
95 |
+
public function createTables($tables, $usedbdelta = false) {
|
96 |
+
$result = array();
|
97 |
+
foreach ($tables as $table => $query) {
|
98 |
+
$result[$table] = $this->createTable($query, $table, $usedbdelta);
|
99 |
+
}
|
100 |
+
return $result;
|
101 |
+
}
|
102 |
+
|
103 |
public function alterBVTable($query, $name) {
|
104 |
$resp = false;
|
105 |
$table = $this->getBVTable($name);
|
109 |
return $resp;
|
110 |
}
|
111 |
|
112 |
+
public function alterTables($tables) {
|
113 |
+
$result = array();
|
114 |
+
foreach ($tables as $table => $query) {
|
115 |
+
$result[$table] = $this->alterBVTable($query, $table);
|
116 |
+
}
|
117 |
+
return $result;
|
118 |
+
}
|
119 |
+
|
120 |
public function getTableContent($table, $fields = '*', $filter = '', $limit = 0, $offset = 0) {
|
121 |
$query = "SELECT $fields from $table $filter";
|
122 |
if ($limit > 0)
|
170 |
return !$this->isTablePresent($table);
|
171 |
}
|
172 |
|
173 |
+
public function dropTables($tables) {
|
174 |
+
$result = array();
|
175 |
+
foreach ($tables as $table) {
|
176 |
+
$result[$table] = $this->dropBVTable($table);
|
177 |
+
}
|
178 |
+
return $result;
|
179 |
+
}
|
180 |
+
|
181 |
+
public function truncateTables($tables) {
|
182 |
+
$result = array();
|
183 |
+
foreach ($tables as $table) {
|
184 |
+
$result[$table] = $this->truncateBVTable($table);
|
185 |
+
}
|
186 |
+
return $result;
|
187 |
+
}
|
188 |
+
|
189 |
public function deleteRowsFromtable($name, $count = 1) {
|
190 |
$table = $this->getBVTable($name);
|
191 |
if ($this->isTablePresent($table)) {
|
wp_dynsync.php
CHANGED
@@ -294,11 +294,6 @@ class BVWPDynSync {
|
|
294 |
$this->add_db_event('woocommerce_order_items', array('order_item_id' => $item_id, 'msg_type' => 'delete'));
|
295 |
}
|
296 |
|
297 |
-
function woocommerce_downloadable_product_permissions_delete_handler($bool, $download_id, $product_id, $order) {
|
298 |
-
$this->add_db_event('woocommerce_downloadable_product_permissions', array('order_id' => $order->id, 'product_id' => $product_id, 'download_id' => $download_id));
|
299 |
-
return true;
|
300 |
-
}
|
301 |
-
|
302 |
function woocommerce_attribute_added_handler($attribute_id, $attribute) {
|
303 |
$this->add_db_event('woocommerce_attribute_taxonomies', array('attribute_id' => $attribute_id));
|
304 |
}
|
@@ -641,7 +636,6 @@ class BVWPDynSync {
|
|
641 |
add_action('woocommerce_grant_product_download_access', array($this, 'woocommerce_grant_product_download_access_handler'), 10, 1);
|
642 |
add_action('woocommerce_ajax_revoke_access_to_product_download', array($this, 'woocommerce_revoke_access_to_product_download_handler'), 10, 4);
|
643 |
add_action('woocommerce_deleted_order_downloadable_permissions', array($this, 'woocommerce_deleted_order_downloadable_permissions_handler'), 10, 1);
|
644 |
-
add_filter('woocommerce_process_product_file_download_paths_remove_access_to_old_file', array($this, 'woocommerce_downloadable_product_permissions_delete_handler', 10, 4));
|
645 |
|
646 |
add_action('woocommerce_new_payment_token', array($this, 'woocommerce_payment_token_handler'), 10, 1);
|
647 |
add_action('woocommerce_payment_token_created', array($this, 'woocommerce_payment_token_handler'), 10, 1);
|
@@ -696,4 +690,4 @@ class BVWPDynSync {
|
|
696 |
add_action('woocommerce_grant_product_download_permissions', array($this, 'woocommerce_grant_product_download_permissions_handler'), 10, 1);
|
697 |
}
|
698 |
}
|
699 |
-
endif;
|
294 |
$this->add_db_event('woocommerce_order_items', array('order_item_id' => $item_id, 'msg_type' => 'delete'));
|
295 |
}
|
296 |
|
|
|
|
|
|
|
|
|
|
|
297 |
function woocommerce_attribute_added_handler($attribute_id, $attribute) {
|
298 |
$this->add_db_event('woocommerce_attribute_taxonomies', array('attribute_id' => $attribute_id));
|
299 |
}
|
636 |
add_action('woocommerce_grant_product_download_access', array($this, 'woocommerce_grant_product_download_access_handler'), 10, 1);
|
637 |
add_action('woocommerce_ajax_revoke_access_to_product_download', array($this, 'woocommerce_revoke_access_to_product_download_handler'), 10, 4);
|
638 |
add_action('woocommerce_deleted_order_downloadable_permissions', array($this, 'woocommerce_deleted_order_downloadable_permissions_handler'), 10, 1);
|
|
|
639 |
|
640 |
add_action('woocommerce_new_payment_token', array($this, 'woocommerce_payment_token_handler'), 10, 1);
|
641 |
add_action('woocommerce_payment_token_created', array($this, 'woocommerce_payment_token_handler'), 10, 1);
|
690 |
add_action('woocommerce_grant_product_download_permissions', array($this, 'woocommerce_grant_product_download_permissions_handler'), 10, 1);
|
691 |
}
|
692 |
}
|
693 |
+
endif;
|