PluginProbe ʕ •ᴥ•ʔ
WP STAGING – WordPress Backup, Restore, Migration & Clone / 3.8.2
WP STAGING – WordPress Backup, Restore, Migration & Clone v3.8.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 / Framework / Traits / EventLoggerTrait.php
wp-staging / Framework / Traits Last commit date
ArrayableTrait.php 2 years ago BenchmarkTrait.php 2 years ago BooleanTransientTrait.php 5 years ago DatabaseSearchReplaceTrait.php 2 years ago DbRowsGeneratorTrait.php 3 years ago DeveloperTimerTrait.php 4 years ago EndOfLinePlaceholderTrait.php 2 years ago EventLoggerTrait.php 1 year ago FileScanToCacheTrait.php 2 years ago HydrateTrait.php 2 years ago MaintenanceTrait.php 5 years ago MemoryExhaustTrait.php 2 years ago MySQLRowsGeneratorTrait.php 2 years ago NoticesTrait.php 2 years ago PropertyConstructor.php 5 years ago ResourceTrait.php 2 years ago ValueGetterTrait.php 1 year ago
EventLoggerTrait.php
58 lines
1 <?php
2 namespace WPStaging\Framework\Traits;
3 use WPStaging\Core\WPStaging;
4 use WPStaging\Framework\Adapter\Directory;
5 use WPStaging\Framework\Filesystem\Filesystem;
6 trait EventLoggerTrait
7 {
8 protected $processStatusFailed = false;
9 protected $wpstgMaintenanceFile = 'maintenance';
10 protected $backupProcessPrefix = 'B';
11 protected $restoreProcessPrefix = 'R';
12 protected $cloneProcessPrefix = 'C';
13 protected $pushProcessPrefix = 'P';
14 private $filePath;
15 private $filesystem;
16 public function backupProcessCompleted()
17 {
18 $this->writeEventStatus($this->backupProcessPrefix);
19 }
20 public function restoreProcessCompleted()
21 {
22 $this->writeEventStatus($this->restoreProcessPrefix);
23 }
24 public function cloneProcessCompleted()
25 {
26 $this->writeEventStatus($this->cloneProcessPrefix);
27 }
28 public function pushProcessCompleted()
29 {
30 $this->writeEventStatus($this->pushProcessPrefix);
31 }
32 public function pushProcessCancelled()
33 {
34 $this->writeEventStatus($this->pushProcessPrefix, $this->processStatusFailed);
35 }
36 public function updateFailedProcess(string $processPrefix = ''): bool
37 {
38 if (empty($processPrefix)) {
39 return false;
40 }
41 return $this->writeEventStatus($processPrefix, $this->processStatusFailed);
42 }
43 private function initializeObjects()
44 {
45 $this->filePath = WPStaging::make(Directory::class)->getPluginUploadsDirectory() . $this->wpstgMaintenanceFile;
46 $this->filesystem = WPStaging::make(Filesystem::class);
47 }
48 private function writeEventStatus(string $process, bool $status = true): bool
49 {
50 $this->initializeObjects();
51 $content = date('dm') . $process . ($status === $this->processStatusFailed ? '-' : '+');
52 if (file_exists($this->filePath) && filesize($this->filePath) > 0) {
53 $content = PHP_EOL . $content;
54 }
55 return $this->filesystem->create($this->filePath, $content, 'ab');
56 }
57 }
58