PluginProbe ʕ •ᴥ•ʔ
WP STAGING – WordPress Backups, Restore, Migration & Clone / trunk
WP STAGING – WordPress Backups, Restore, Migration & Clone vtrunk
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 3 days ago Database.php 3 days ago DatabaseInterface.php 1 year ago DateTimeAdapter.php 3 days ago Directory.php 3 days ago DirectoryInterface.php 1 year ago Maintenance.php 3 days ago PhpAdapter.php 3 days ago SourceDatabase.php 3 days ago WpAdapter.php 3 days 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