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 / Backup / Entity / BackupMetadata.php
wp-staging / Backup / Entity Last commit date
AbstractBackupMetadata.php 1 week ago BackupMetadata.php 1 week ago FileBeingExtracted.php 1 week ago ListableBackup.php 1 week ago MultipartMetadata.php 1 week ago
BackupMetadata.php
92 lines
1 <?php
2
3 namespace WPStaging\Backup\Entity;
4
5 use WPStaging\Backup\BackupHeader;
6 use WPStaging\Core\WPStaging;
7 use WPStaging\Framework\SiteInfo;
8 use WPStaging\Framework\Utils\Times;
9 use WPStaging\Framework\Adapter\WpAdapter;
10 use WPStaging\Framework\Facades\Hooks;
11
12
13
14
15
16
17
18
19 class BackupMetadata extends AbstractBackupMetadata
20 {
21
22
23
24
25
26 const LAST_BACKUP_VERSION_V1 = '1.0.5';
27
28
29
30
31
32
33 public function __construct()
34 {
35 $time = WPStaging::make(Times::class);
36
37 $siteInfo = WPStaging::make(SiteInfo::class);
38 $wpAdapter = WPStaging::make(WpAdapter::class);
39
40 $this->setWpstgVersion(WPStaging::getVersion());
41 $this->setBackupVersion($this->getDefaultVersion());
42 $this->setSiteUrl(get_option('siteurl'));
43 $this->setHomeUrl(get_option('home'));
44 $this->setAbsPath(ABSPATH);
45 $this->setBlogId(get_current_blog_id());
46 $this->setNetworkId($wpAdapter->getCurrentNetworkId());
47 $this->setDateCreated((string)time());
48 $this->setDateCreatedTimezone($time->getSiteTimezoneString());
49 $this->setBackupType(is_multisite() ? self::BACKUP_TYPE_MULTISITE : self::BACKUP_TYPE_SINGLE);
50 $this->setPhpShortOpenTags($siteInfo->isPhpShortTagsEnabled());
51 $this->setPhpArchitecture($siteInfo->getPhpArchitecture());
52 $this->setOsArchitecture($siteInfo->getOsArchitecture());
53
54 $this->setWpBakeryActive($siteInfo->isWpBakeryActive());
55 $this->setIsJetpackActive($siteInfo->isJetpackActive());
56 $this->setIsCreatedOnWordPressCom($siteInfo->isHostedOnWordPressCom());
57 $this->setHostingType($siteInfo->getHostingType());
58
59 $this->setSites(null);
60 $this->setSubdomainInstall(is_multisite() && is_subdomain_install());
61
62 $uploadDir = wp_upload_dir(null, false, true);
63
64 if (!is_array($uploadDir)) {
65 return;
66 }
67
68 $this->setUploadsPath(array_key_exists('basedir', $uploadDir) ? $uploadDir['basedir'] : '');
69 $this->setUploadsUrl(array_key_exists('baseurl', $uploadDir) ? $uploadDir['baseurl'] : '');
70 }
71
72 public function getIsBackupFormatV1(bool $useFilter = true): bool
73 {
74 $result = version_compare($this->getBackupVersion(), BackupHeader::MIN_BACKUP_VERSION, '<');
75 if (!$useFilter) {
76 return $result;
77 }
78
79 return Hooks::applyFilters(self::FILTER_BACKUP_FORMAT_V1, $result);
80 }
81
82
83
84
85 private function getDefaultVersion(): string
86 {
87 $isBackupFormatV1 = Hooks::applyFilters(self::FILTER_BACKUP_FORMAT_V1, false);
88
89 return $isBackupFormatV1 ? self::LAST_BACKUP_VERSION_V1 : BackupHeader::BACKUP_VERSION;
90 }
91 }
92