PluginProbe ʕ •ᴥ•ʔ
WP STAGING – WordPress Backups, Restore, Migration & Clone / 4.11.1
WP STAGING – WordPress Backups, Restore, Migration & Clone v4.11.1
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 1 week ago StagingNetworkDtoTrait.php 1 week ago StagingOperationDtoTrait.php 1 week ago StagingSiteGetterTrait.php 1 week ago WithAdvanceStagingOptions.php 6 days 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
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