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