PluginProbe ʕ •ᴥ•ʔ
WP STAGING – WordPress Backup, Restore, Migration & Clone / 4.9.2
WP STAGING – WordPress Backup, Restore, Migration & Clone v4.9.2
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 3 months ago Exceptions 5 years ago Cancel.php 7 months ago CancelUpdate.php 7 months ago Cloning.php 2 weeks ago CloningProcess.php 1 year ago Data.php 7 months ago Database.php 3 months ago Delete.php 4 months ago Directories.php 4 months ago Files.php 1 week ago Finish.php 2 months ago Job.php 2 weeks ago JobExecutable.php 7 months ago Logs.php 3 years ago PreserveDataFirstStep.php 1 month ago PreserveDataSecondStep.php 1 month ago ProcessLock.php 1 year ago Scan.php 4 months ago SearchReplace.php 5 months ago TotalStepsAreNumberOfTables.php 5 years ago Updating.php 2 weeks 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 * Class Cancel Processing
10 * @package WPStaging\Backend\Modules\Jobs
11 */
12 class Cancel extends Job
13 {
14 /**
15 * Start Module
16 * @return bool
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 * @return array
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 * @return bool
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 * @return void
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