PluginProbe ʕ •ᴥ•ʔ
JetBackup – Backup, Restore & Migrate / 1.6.9.1
JetBackup – Backup, Restore & Migrate v1.6.9.1
3.1.22.4 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 4 years ago SGExternalRestoreWordpress.php 4 years ago
SGExternalRestoreWordpress.php
91 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 // TODO:: remove after check logic
53 return true;
54
55 $path .= 'bg_test.php';
56 $url .= 'bg_test.php';
57
58 if (@file_put_contents($path, '<?php echo "ok"; ?>')) {
59 $headers = @wp_remote_get(
60 $url,
61 array(
62 'sslverify' => false
63 )
64 );
65 $isWpError = is_wp_error($headers);
66 if (!$isWpError && !empty($headers) && $headers['response']['code'] == '200') {
67 @unlink($path);
68
69 return true;
70 } else {
71 $headers = @wp_remote_get(
72 $url,
73 array(
74 'sslverify' => false,
75 'stream' => true
76 )
77 );
78 $isWpError = is_wp_error($headers);
79 if (!$isWpError && !empty($headers) && $headers['response']['code'] == '200') {
80 @unlink($path);
81
82 return true;
83 }
84 }
85 @unlink($path);
86 }
87
88 return false;
89 }
90 }
91