PluginProbe ʕ •ᴥ•ʔ
WP STAGING – WordPress Backups, Restore, Migration & Clone / 4.11.2
WP STAGING – WordPress Backups, Restore, Migration & Clone v4.11.2
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 / Backend / Modules / Jobs / Cancel.php
wp-staging / Backend / Modules / Jobs Last commit date
Cleaners 2 weeks ago Exceptions 2 weeks ago Cancel.php 2 weeks ago CancelUpdate.php 2 weeks ago Cloning.php 1 week ago CloningProcess.php 2 weeks ago Data.php 2 weeks ago Database.php 1 week ago Delete.php 2 weeks ago Directories.php 2 weeks ago Files.php 2 weeks ago Finish.php 2 weeks ago Job.php 1 week ago JobExecutable.php 2 weeks ago Logs.php 2 weeks ago PreserveDataFirstStep.php 2 weeks ago PreserveDataSecondStep.php 2 weeks ago ProcessLock.php 2 weeks ago Scan.php 2 weeks ago SearchReplace.php 2 weeks ago TotalStepsAreNumberOfTables.php 2 weeks ago Updating.php 1 week 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