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