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