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 / Backend / Modules / Jobs / Cancel.php
wp-staging / Backend / Modules / Jobs Last commit date
Cleaners 2 days ago Exceptions 2 days ago Cancel.php 2 days ago CancelUpdate.php 2 days ago Cloning.php 2 days ago CloningProcess.php 2 days ago Data.php 2 days ago Database.php 2 days ago Delete.php 2 days ago Directories.php 2 days ago Files.php 2 days ago Finish.php 2 days ago Job.php 2 days ago JobExecutable.php 2 days ago Logs.php 2 days ago PreserveDataFirstStep.php 2 days ago PreserveDataSecondStep.php 2 days ago ProcessLock.php 2 days ago Scan.php 2 days ago SearchReplace.php 2 days ago TotalStepsAreNumberOfTables.php 2 days ago Updating.php 2 days ago
Cancel.php
91 lines
1 <?php
2
3 namespace WPStaging\Backend\Modules\Jobs;
4
5 use WPStaging\Core\WPStaging;
6 use WPStaging\Framework\Analytics\AnalyticsEventDto;
7
8
9
10
11
12 class Cancel extends Job
13 {
14
15
16
17
18 public function start()
19 {
20 $cloneData = $this->createCloneData();
21
22 if (!empty($this->options->jobIdentifier)) {
23 AnalyticsEventDto::enqueueCancelEvent($this->options->jobIdentifier);
24 }
25
26 if (empty($cloneData)) {
27 return true;
28 }
29
30 $this->deleteCacheFiles();
31
32 $deleteJob = WPStaging::make(Delete::class);
33 $deleteJob->setIsExternalDb(!$this->isStagingDatabaseSameAsProductionDatabase());
34
35 return $deleteJob->start($cloneData);
36 }
37
38
39
40
41 protected function createCloneData()
42 {
43 $clone = [];
44
45 if (!$this->check()) {
46 return $clone;
47 }
48
49 $clone["name"] = $this->options->clone;
50 $clone["number"] = $this->options->cloneNumber;
51 $clone["path"] = ABSPATH . $this->options->cloneDirectoryName;
52 $clone["prefix"] = $this->options->prefix;
53 $clone["databaseServer"] = $this->options->databaseServer;
54 $clone["databaseUser"] = $this->options->databaseUser;
55 $clone["databasePassword"] = $this->options->databasePassword;
56 $clone["databasePrefix"] = $this->options->databasePrefix;
57 $clone["databaseDatabase"] = $this->options->databaseDatabase;
58 $clone["databaseSsl"] = $this->options->databaseSsl;
59
60 return $clone;
61 }
62
63
64
65
66 public function check()
67 {
68 return (
69 isset($this->options->clone) &&
70 isset($this->options->cloneNumber) &&
71 isset($this->options->cloneDirectoryName) &&
72 isset($_POST["clone"]) &&
73 $_POST["clone"] === $this->options->clone
74 );
75 }
76
77
78
79
80 private function deleteCacheFiles()
81 {
82 if ($this->cloneOptionCache->isValid()) {
83 $this->cloneOptionCache->delete();
84 }
85
86 if ($this->filesIndexCache->isValid()) {
87 $this->filesIndexCache->delete();
88 }
89 }
90 }
91