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 / StagingSiteGetterTrait.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
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