PluginProbe ʕ •ᴥ•ʔ
WP STAGING – WordPress Backups, Restore, Migration & Clone / 4.11.1
WP STAGING – WordPress Backups, Restore, Migration & Clone v4.11.1
4.11.2 4.11.1 4.11.0 4.10.0 4.9.5 4.9.4 4.9.3 4.9.2 4.9.1 4.9.0 4.8.1 trunk 3.0.0 3.0.1 3.0.2 3.0.3 3.0.4 3.0.5 3.0.6 3.1.0 3.1.1 3.1.2 3.1.3 3.1.4 3.10.0 3.2.0 3.3.1 3.3.2 3.3.3 3.4.1 3.4.3 3.5.0 3.6.0 3.7.1 3.8.0 3.8.1 3.8.2 3.8.3 3.8.4 3.8.5 3.8.6 3.8.7 3.9.0 3.9.1 3.9.2 3.9.3 3.9.4 4.0.0 4.1.0 4.1.1 4.1.2 4.1.3 4.1.4 4.2.0 4.2.1 4.3.0 4.3.1 4.3.2 4.4.0 4.5.0 4.6.0 4.7.0 4.7.1 4.7.2 4.7.3 4.8.0
wp-staging / Framework / Adapter / SourceDatabase.php
wp-staging / Framework / Adapter Last commit date
Database 1 week ago Database.php 1 week ago DatabaseInterface.php 2 years ago DateTimeAdapter.php 1 week ago Directory.php 1 week ago DirectoryInterface.php 1 year ago Maintenance.php 1 week ago PhpAdapter.php 1 week ago SourceDatabase.php 1 week ago WpAdapter.php 1 week ago
SourceDatabase.php
70 lines
1 <?php
2
3 namespace WPStaging\Framework\Adapter;
4
5 use stdClass;
6 use WPStaging\Core\WPStaging;
7 use WPStaging\Framework\Database\ExternalDatabaseConfiguration;
8 use wpdb;
9
10
11
12
13 class SourceDatabase
14 {
15
16 private $wpdb;
17
18
19 private $options;
20
21
22 private $externalDatabaseConfiguration;
23
24 public function __construct($options = stdClass::class)
25 {
26 $this->options = $options;
27 $this->wpdb = WPStaging::make('wpdb');
28 $this->externalDatabaseConfiguration = new ExternalDatabaseConfiguration();
29 }
30
31
32
33
34 public function isExternalDatabase()
35 {
36 return $this->externalDatabaseConfiguration->isEnabled($this->options);
37 }
38
39
40
41
42 private function getExternalDb()
43 {
44 return new wpdb($this->options->databaseUser, str_replace("\\\\", "\\", $this->options->databasePassword), $this->options->databaseDatabase, $this->options->databaseServer);
45 }
46
47
48
49
50
51
52 public function getDatabase()
53 {
54 if ($this->isExternalDatabase()) {
55 return $this->getExternalDb();
56 }
57
58 return $this->wpdb;
59 }
60
61
62
63
64
65 public function setOptions($options)
66 {
67 $this->options = $options;
68 }
69 }
70