PluginProbe ʕ •ᴥ•ʔ
WP STAGING – WordPress Backup, Restore, Migration & Clone / 4.9.1
WP STAGING – WordPress Backup, Restore, Migration & Clone v4.9.1
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 year ago Database.php 1 year ago DatabaseInterface.php 1 year ago DateTimeAdapter.php 1 year ago Directory.php 2 months ago DirectoryInterface.php 1 year ago Maintenance.php 5 months ago PhpAdapter.php 6 months ago SourceDatabase.php 2 years ago WpAdapter.php 5 months ago
SourceDatabase.php
65 lines
1 <?php
2
3 namespace WPStaging\Framework\Adapter;
4
5 use stdClass;
6 use WPStaging\Core\WPStaging;
7 use wpdb;
8
9 class SourceDatabase
10 {
11 /** @var wpdb */
12 private $wpdb;
13
14 /** @var object */
15 private $options;
16
17 public function __construct($options = stdClass::class)
18 {
19 $this->options = $options;
20 $this->wpdb = WPStaging::make('wpdb');
21 }
22
23 /**
24 * @return bool
25 */
26 public function isExternalDatabase()
27 {
28 return !(empty($this->options->databaseUser) ||
29 empty($this->options->databasePassword) ||
30 empty($this->options->databaseDatabase) ||
31 empty($this->options->databaseServer));
32 }
33
34 /**
35 * @return object
36 */
37 private function getExternalDb()
38 {
39 return new wpdb($this->options->databaseUser, str_replace("\\\\", "\\", $this->options->databasePassword), $this->options->databaseDatabase, $this->options->databaseServer);
40 }
41
42 /**
43 * Check if source database is a local or external one and get the corresponding database object
44 *
45 * @return wpdb
46 */
47 public function getDatabase()
48 {
49 if ($this->isExternalDatabase()) {
50 return $this->getExternalDb();
51 }
52
53 return $this->wpdb;
54 }
55
56 /**
57 * @param object $options
58 * @return void
59 */
60 public function setOptions($options)
61 {
62 $this->options = $options;
63 }
64 }
65