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