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 / Framework / Notices / OutdatedWpStagingNotice.php
wp-staging / Framework / Notices Last commit date
BackupPluginsNotice.php 1 day ago BooleanNotice.php 1 day ago CliIntegrationNotice.php 1 day ago DisabledItemsNotice.php 1 day ago DismissNotice.php 1 day ago NextGenEngineNotice.php 1 day ago Notices.php 1 day ago NoticesHandler.php 1 day ago ObjectCacheNotice.php 1 day ago OutdatedWpStagingNotice.php 1 day ago WarningsNotice.php 1 day ago WpVersionCompatNotice.php 1 day ago
OutdatedWpStagingNotice.php
103 lines
1 <?php
2
3 namespace WPStaging\Framework\Notices;
4
5 use WPStaging\Core\WPStaging;
6 use Countable;
7
8
9
10
11
12
13
14 class OutdatedWpStagingNotice
15 {
16
17
18
19 private $currentWpstgVersion = null;
20
21
22
23
24 private $latestWpstgVersion = null;
25
26 public function showNotice($viewsNoticesPath)
27 {
28
29 if (!Notices::SHOW_ALL_NOTICES && (WPStaging::isPro() || !$this->isOutdatedWpStagingVersion())) {
30 return;
31 }
32
33 require "{$viewsNoticesPath}outdated-wp-staging-version.php";
34 }
35
36
37
38
39 public function getCurrentWpstgVersion()
40 {
41 if ($this->currentWpstgVersion === null) {
42 $this->currentWpstgVersion = WPStaging::getVersion();
43 }
44
45 return $this->currentWpstgVersion;
46 }
47
48
49
50
51 public function getLatestWpstgVersion()
52 {
53 if ($this->latestWpstgVersion === null) {
54 $this->latestWpstgVersion = $this->getNewestVersionToUpdateBySlug('wp-staging');
55 }
56
57 return $this->latestWpstgVersion;
58 }
59
60
61
62
63
64 private function getNewestVersionToUpdateBySlug($slug)
65 {
66 $plugins = get_site_transient('update_plugins');
67 if (!is_object($plugins)) {
68 return null;
69 }
70
71 if (!property_exists($plugins, 'response')) {
72 return null;
73 }
74
75 $plugins = $plugins->response;
76
77 if (empty($plugins) || (!is_array($plugins) || (!is_array($plugins) && $plugins instanceof Countable === false))) {
78 return null;
79 }
80
81 foreach ($plugins as $plugin) {
82 if ($plugin->slug === $slug) {
83 return $plugin->new_version;
84 }
85 }
86
87 return null;
88 }
89
90
91
92
93 private function isOutdatedWpStagingVersion()
94 {
95
96 if ($this->getLatestWpstgVersion() === null) {
97 return false;
98 }
99
100 return version_compare($this->getLatestWpstgVersion(), $this->getCurrentWpstgVersion(), '>') ? true : false;
101 }
102 }
103