PluginProbe ʕ •ᴥ•ʔ
JetBackup – Backup, Restore & Migrate / 1.5.3
JetBackup – Backup, Restore & Migrate v1.5.3
3.1.22.3 1.4.3 1.4.4 1.4.5 1.4.6 1.4.7 1.4.8 1.4.8.1 1.4.9 1.5.0 1.5.1 1.5.1.1 1.5.2 1.5.3 1.5.4 1.5.5 1.5.6 1.5.7 1.5.8 1.6.0 1.6.10 1.6.11 1.6.12 1.6.13 1.6.15 1.6.5.1 1.6.8.8 1.6.9 1.6.9.1 2.0.3 2.0.4 2.0.5 2.0.6 2.0.7.5 2.0.8.7 2.0.9.11 2.0.9.14 2.0.9.15 2.0.9.6 2.0.9.7 2.0.9.9 3.1.10.7 3.1.11.1 3.1.12.3 3.1.13.4 3.1.14.17 3.1.15.4 3.1.16.1 3.1.17.5 3.1.18.10 3.1.18.8 3.1.18.9 3.1.19.8 3.1.20.3 3.1.21.3 3.1.7.9 3.1.9.2 trunk 1.1.90 1.1.91 1.2.0 1.2.5 1.2.6 1.2.7 1.2.8 1.2.9 1.3.0 1.3.1 1.3.2 1.3.3 1.3.4 1.3.6 1.3.7 1.3.8 1.3.9 1.4.0 1.4.1 1.4.2
backup / com / core / restore / SGExternalRestoreWordpress.php
backup / com / core / restore Last commit date
SGExternalRestore.php 5 years ago SGExternalRestoreWordpress.php 5 years ago
SGExternalRestoreWordpress.php
81 lines
1 <?php
2
3 class SGExternalRestoreWordpress extends SGExternalRestore
4 {
5 private $destinationPath = '';
6 private $destinationUrl = '';
7
8 protected function canPrepare()
9 {
10 //please lets try to check if it can work in the root directory
11 $this->destinationUrl = rtrim(SG_SITE_URL, '/').'/';
12 $this->destinationPath = ABSPATH;
13 if ($this->testUrlAvailability($this->destinationUrl, $this->destinationPath)) {
14 return true;
15 }
16
17 //then we check for the uploads directory
18 $this->destinationUrl = SG_UPLOAD_URL.'/';
19 $this->destinationPath = SG_UPLOAD_PATH.'/';
20 if ($this->testUrlAvailability($this->destinationUrl, $this->destinationPath)) {
21 return true;
22 }
23
24 return false;
25 }
26
27 protected function getCustomConstants()
28 {
29 return array(
30 'ABSPATH' => ABSPATH,
31 'DB_NAME' => DB_NAME,
32 'DB_USER' => DB_USER,
33 'DB_PASSWORD' => DB_PASSWORD,
34 'DB_HOST' => DB_HOST,
35 'DB_CHARSET' => DB_CHARSET,
36 'DB_COLLATE' => DB_COLLATE
37 );
38 }
39
40 public function getDestinationPath()
41 {
42 return $this->destinationPath;
43 }
44
45 public function getDestinationUrl()
46 {
47 return $this->destinationUrl;
48 }
49
50 private function testUrlAvailability($url, $path)
51 {
52 $path .= 'bg_test.php';
53 $url .= 'bg_test.php';
54
55 if (@file_put_contents($path, '<?php echo "ok"; ?>')) {
56 $headers = @wp_remote_get($url, array(
57 'sslverify' => false
58 ));
59 $isWpError = is_wp_error($headers);
60 if (!$isWpError && !empty($headers) && $headers['response']['code'] == '200') {
61 @unlink($path);
62 return true;
63 }
64 else {
65 $headers = @wp_remote_get($url, array(
66 'sslverify' => false,
67 'stream' => true
68 ));
69 $isWpError = is_wp_error($headers);
70 if (!$isWpError && !empty($headers) && $headers['response']['code'] == '200') {
71 @unlink($path);
72 return true;
73 }
74 }
75 @unlink($path);
76 }
77
78 return false;
79 }
80 }
81