PluginProbe ʕ •ᴥ•ʔ
WP STAGING – WordPress Backups, Restore, Migration & Clone / 4.11.2
WP STAGING – WordPress Backups, Restore, Migration & Clone v4.11.2
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 2 weeks ago BackupMetadata.php 2 weeks ago FileBeingExtracted.php 2 weeks ago ListableBackup.php 2 weeks ago MultipartMetadata.php 2 weeks 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