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 / Staging / Traits / WithStagingDatabase.php
wp-staging / Staging / Traits Last commit date
StagingDatabaseDtoTrait.php 1 week ago StagingNetworkDtoTrait.php 1 week ago StagingOperationDtoTrait.php 1 week ago StagingSiteGetterTrait.php 1 week ago WithAdvanceStagingOptions.php 1 week ago WithDataAdjustmentTasks.php 11 months ago WithStagingDatabase.php 1 week ago WithStagingEnginePreference.php 1 week ago WithStagingRequirementLogs.php 1 week ago WithStagingSiteDto.php 1 week 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