PluginProbe ʕ •ᴥ•ʔ
WP STAGING – WordPress Backups, Restore, Migration & Clone / 4.11.1
WP STAGING – WordPress Backups, Restore, Migration & Clone v4.11.1
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 1 week ago Exceptions 1 week ago Cancel.php 1 week ago CancelUpdate.php 1 week ago Cloning.php 1 week ago CloningProcess.php 1 week ago Data.php 1 week ago Database.php 1 week ago Delete.php 1 week ago Directories.php 1 week ago Files.php 1 week ago Finish.php 1 week ago Job.php 1 week ago JobExecutable.php 1 week ago Logs.php 1 week ago PreserveDataFirstStep.php 1 week ago PreserveDataSecondStep.php 1 week ago ProcessLock.php 1 week ago Scan.php 1 week ago SearchReplace.php 1 week ago TotalStepsAreNumberOfTables.php 1 week 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