PluginProbe ʕ •ᴥ•ʔ
WP STAGING – WordPress Backup, Restore, Migration & Clone / 3.0.1
WP STAGING – WordPress Backup, Restore, Migration & Clone v3.0.1
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 / Backup / WithBackupIdentifier.php
wp-staging / Backup Last commit date
Ajax 2 years ago BackgroundProcessing 2 years ago Dto 2 years ago Entity 2 years ago Exceptions 3 years ago Job 2 years ago Request 2 years ago Service 2 years ago Storage 3 years ago Task 2 years ago AfterRestore.php 3 years ago BackupDeleter.php 3 years ago BackupDownload.php 3 years ago BackupProcessLock.php 3 years ago BackupRepairer.php 3 years ago BackupScheduler.php 3 years ago BackupServiceProvider.php 2 years ago BackupValidator.php 3 years ago WithBackupIdentifier.php 3 years ago wpstgBackupHeader.txt 3 years ago
WithBackupIdentifier.php
79 lines
1 <?php
2
3 namespace WPStaging\Backup;
4
5 use WPStaging\Backup\Task\Tasks\JobBackup\DatabaseBackupTask;
6 use WPStaging\Backup\Task\Tasks\JobBackup\BackupMuPluginsTask;
7 use WPStaging\Backup\Task\Tasks\JobBackup\BackupOtherFilesTask;
8 use WPStaging\Backup\Task\Tasks\JobBackup\BackupPluginsTask;
9 use WPStaging\Backup\Task\Tasks\JobBackup\BackupThemesTask;
10 use WPStaging\Backup\Task\Tasks\JobBackup\BackupUploadsTask;
11
12 trait WithBackupIdentifier
13 {
14 protected $listedMultipartBackups = [];
15
16 /**
17 * @param string $identifier
18 * @param string $input
19 * @return bool
20 */
21 public function checkPartByIdentifier($identifier, $input)
22 {
23 return preg_match("#{$identifier}(.[0-9]+)?.wpstg$#", $input);
24 }
25
26 public function isBackupPart($name)
27 {
28 $dbExtension = DatabaseBackupTask::FILE_FORMAT;
29 $dbIdentifier = DatabaseBackupTask::PART_IDENTIFIER;
30 if (preg_match("#{$dbIdentifier}(.[0-9]+)?.{$dbExtension}$#", $name)) {
31 return true;
32 }
33
34 $pluginIdentifier = BackupPluginsTask::IDENTIFIER;
35 $mupluginIdentifier = BackupMuPluginsTask::IDENTIFIER;
36 $themeIdentifier = BackupThemesTask::IDENTIFIER;
37 $uploadIdentifier = BackupUploadsTask::IDENTIFIER;
38 $otherIdentifier = BackupOtherFilesTask::IDENTIFIER;
39 if ($this->checkPartByIdentifier("({$pluginIdentifier}|{$mupluginIdentifier}|{$themeIdentifier}|{$uploadIdentifier}|{$otherIdentifier})", $name)) {
40 return true;
41 }
42
43 return false;
44 }
45
46 /**
47 * @return void
48 */
49 public function clearListedMultipartBackups()
50 {
51 $this->listedMultipartBackups = [];
52 }
53
54 public function isListedMultipartBackup($filename, $shouldAddBackup = true)
55 {
56 $id = $this->extractBackupIdFromFilename($filename);
57 if (in_array($id, $this->listedMultipartBackups)) {
58 return true;
59 }
60
61 if ($shouldAddBackup) {
62 $this->listedMultipartBackups[] = $id;
63 }
64
65 return false;
66 }
67
68 /**
69 * @var string $filename
70 * @return string
71 */
72 public function extractBackupIdFromFilename($filename)
73 {
74 $fileInfos = explode('_', $filename);
75 $fileInfos = $fileInfos[count($fileInfos) - 1];
76 return explode('.', $fileInfos)[0];
77 }
78 }
79