PluginProbe ʕ •ᴥ•ʔ
WP STAGING – WordPress Backups, Restore, Migration & Clone / 4.11.2
WP STAGING – WordPress Backups, Restore, Migration & Clone v4.11.2
4.12.0 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 / StagingSiteGetterTrait.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 2 weeks 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
StagingSiteGetterTrait.php
59 lines
1 <?php
2
3 namespace WPStaging\Staging\Traits;
4
5 use Exception;
6 use WPStaging\Core\WPStaging;
7 use WPStaging\Staging\Sites;
8
9
10
11
12
13 trait StagingSiteGetterTrait
14 {
15
16
17
18
19
20
21 protected function validateStagingSiteByIdOrName(array $options): string
22 {
23
24 if (empty($options['id']) && empty($options['name'])) {
25 throw new Exception('The id or name parameter is required. Use: wp wpstg staging-site-reset id=<staging-site-id> or wp wpstg staging-site-reset name=<staging-site-name>');
26 }
27
28 if (!empty($options['id'])) {
29 $cloneId = sanitize_text_field($options['id']);
30
31 $stagingSites = WPStaging::make(Sites::class);
32
33 try {
34 $stagingSites->getStagingSiteDtoByCloneId($cloneId);
35 } catch (Exception $e) {
36 throw new Exception("Staging site with ID '{$cloneId}' does not exist.");
37 }
38
39 return $cloneId;
40 }
41
42 if (!empty($options['name'])) {
43 $cloneName = sanitize_text_field($options['name']);
44
45 $stagingSites = WPStaging::make(Sites::class);
46
47 try {
48 $stagingSite = $stagingSites->getStagingSiteDtoByCloneName($cloneName);
49 } catch (Exception $e) {
50 throw new Exception("Staging site with name '{$cloneName}' does not exist.");
51 }
52
53 return $stagingSite->getCloneId();
54 }
55
56 throw new Exception('Unable to determine staging site ID from provided options.');
57 }
58 }
59