PluginProbe ʕ •ᴥ•ʔ
WP STAGING – WordPress Backups, Restore, Migration & Clone / 4.11.2
WP STAGING – WordPress Backups, Restore, Migration & Clone v4.11.2
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 / Staging / Traits / WithStagingDatabase.php
wp-staging / Staging / Traits Last commit date
StagingDatabaseDtoTrait.php 2 weeks ago StagingNetworkDtoTrait.php 2 weeks ago StagingOperationDtoTrait.php 2 weeks ago StagingSiteGetterTrait.php 2 weeks ago WithAdvanceStagingOptions.php 1 week ago WithDataAdjustmentTasks.php 11 months ago WithStagingDatabase.php 2 weeks ago WithStagingEnginePreference.php 2 weeks ago WithStagingRequirementLogs.php 2 weeks ago WithStagingSiteDto.php 2 weeks ago
WithStagingDatabase.php
85 lines
1 <?php
2
3 namespace WPStaging\Staging\Traits;
4
5 use wpdb;
6 use WPStaging\Framework\Adapter\Database;
7 use WPStaging\Framework\Collection\Collection;
8 use WPStaging\Framework\Database\TableDto;
9 use WPStaging\Framework\Database\TableService;
10 use WPStaging\Staging\Dto\StagingSiteDto;
11
12 trait WithStagingDatabase
13 {
14
15 protected $stagingDb = null;
16
17
18 protected $tableService = null;
19
20 public function initStagingDatabase(StagingSiteDto $stagingSiteDto)
21 {
22 if (!empty($this->stagingDb)) {
23 return;
24 }
25
26 if (!$stagingSiteDto->getIsExternalDatabase()) {
27 $stagingWpdb = new wpdb(DB_USER, DB_PASSWORD, DB_NAME, DB_HOST);
28 $stagingWpdb->prefix = $stagingSiteDto->getPrefix();
29 $stagingWpdb->base_prefix = $stagingSiteDto->getPrefix();
30 $this->stagingDb = new Database($stagingWpdb);
31 return;
32 }
33
34 $wpdb = new wpdb(
35 $stagingSiteDto->getDatabaseUser(),
36 $stagingSiteDto->getDatabasePassword(),
37 $stagingSiteDto->getDatabaseDatabase(),
38 $stagingSiteDto->getDatabaseServer()
39 );
40
41 $wpdb->prefix = $stagingSiteDto->getDatabasePrefix();
42 $wpdb->base_prefix = $stagingSiteDto->getDatabasePrefix();
43 $this->stagingDb = new Database($wpdb);
44 }
45
46
47
48
49
50 public function getStagingTablesStatus(string $prefix)
51 {
52 if ($this->tableService === null) {
53 $this->tableService = new TableService($this->stagingDb);
54 }
55
56 return $this->tableService->findTableStatusStartsWith($prefix);
57 }
58
59
60
61
62
63 public function getStagingTables(string $prefix)
64 {
65 if ($this->tableService === null) {
66 $this->tableService = new TableService($this->stagingDb);
67 }
68
69 return $this->tableService->findTableNamesStartWith($prefix);
70 }
71
72
73
74
75
76 public function getStagingViews(string $prefix)
77 {
78 if ($this->tableService === null) {
79 $this->tableService = new TableService($this->stagingDb);
80 }
81
82 return $this->tableService->findViewsNamesStartWith($prefix);
83 }
84 }
85