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 / NoticesHandler.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
NoticesHandler.php
106 lines
1 <?php
2
3 namespace WPStaging\Framework\Notices;
4
5 use WPStaging\Framework\Facades\Hooks;
6 use WPStaging\Framework\Onboarding\FreeOnboarding;
7 use WPStaging\Framework\Traits\NoticesTrait;
8
9
10
11
12 class NoticesHandler
13 {
14 use NoticesTrait;
15
16 public function __construct()
17 {
18 $this->defineHooks();
19 }
20
21
22
23
24 public function removeOtherPluginAdminNotices()
25 {
26 $isWPStagingAdminPage = $this->isWPStagingAdminPage();
27
28 if ($isWPStagingAdminPage) {
29 remove_all_actions('admin_notices');
30 remove_all_actions('user_admin_notices');
31 remove_all_actions('network_admin_notices');
32 remove_all_actions('all_admin_notices');
33 }
34
35 if ($this->isWPStagingInstallPage()) {
36 return;
37 }
38
39 if ($isWPStagingAdminPage && $this->isOnboardingFocusMode()) {
40 return;
41 }
42
43 add_action('admin_notices', [$this, 'addWpstgAdminNotices']);
44 add_action('network_admin_notices', [$this, 'addWpstgNetworkAdminNotices']);
45 add_action('all_admin_notices', [$this, 'addWpstgAllAdminNotices']);// phpcs:ignore WPStaging.Security.AuthorizationChecked
46 }
47
48
49
50
51
52
53
54
55
56
57
58
59 private function isOnboardingFocusMode(): bool
60 {
61 $onboarding = FreeOnboarding::resolve();
62
63 return $onboarding !== null && $onboarding->ownsCurrentScreen();
64 }
65
66
67
68
69 public function addWpstgAdminNotices()
70 {
71 Hooks::doAction(Notices::ACTION_ADMIN_NOTICES);
72 }
73
74
75
76
77 public function addWpstgNetworkAdminNotices()
78 {
79 Hooks::doAction(Notices::ACTION_NETWORK_ADMIN_NOTICES);
80 }
81
82
83
84
85 public function addWpstgAllAdminNotices()
86 {
87 Hooks::doAction(Notices::ACTION_ALL_ADMIN_NOTICES);
88 }
89
90
91
92
93 private function defineHooks()
94 {
95 static $isRegistered = false;
96 if ($isRegistered) {
97 return;
98 }
99
100 add_action('in_admin_header', [$this, 'removeOtherPluginAdminNotices']);
101
102
103 $isRegistered = true;
104 }
105 }
106