PluginProbe ʕ •ᴥ•ʔ
WP STAGING – WordPress Backup, Restore, Migration & Clone / 4.0.0
WP STAGING – WordPress Backup, Restore, Migration & Clone v4.0.0
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 year ago BooleanNotice.php 2 years ago DisabledItemsNotice.php 2 years ago DismissNotice.php 2 years ago FreeBackupUpdateNotice.php 2 years ago Notices.php 1 year ago NoticesHandler.php 1 year ago ObjectCacheNotice.php 2 years ago OutdatedWpStagingNotice.php 3 years ago WarningsNotice.php 2 years ago
NoticesHandler.php
81 lines
1 <?php
2
3 namespace WPStaging\Framework\Notices;
4
5 use WPStaging\Framework\Facades\Hooks;
6 use WPStaging\Framework\Traits\NoticesTrait;
7
8 /**
9 * @package WPStaging\Framework\Notices
10 */
11 class NoticesHandler
12 {
13 use NoticesTrait;
14
15 public function __construct()
16 {
17 $this->defineHooks();
18 }
19
20 /**
21 * @return void
22 */
23 public function removeOtherPluginAdminNotices()
24 {
25 if ($this->isWPStagingAdminPage()) {
26 remove_all_actions('admin_notices');
27 remove_all_actions('user_admin_notices');
28 remove_all_actions('network_admin_notices');
29 remove_all_actions('all_admin_notices');
30 }
31
32 if ($this->isWpstgInstallPage()) {
33 return;
34 }
35
36 add_action('admin_notices', [$this, 'addWpstgAdminNotices']);
37 add_action('network_admin_notices', [$this, 'addWpstgNetworkAdminNotices']);
38 add_action('all_admin_notices', [$this, 'addWpstgAllAdminNotices']);// phpcs:ignore WPStaging.Security.AuthorizationChecked
39 }
40
41 /**
42 * @return void
43 */
44 public function addWpstgAdminNotices()
45 {
46 Hooks::doAction('wpstg.admin_notices');
47 }
48
49 /**
50 * @return void
51 */
52 public function addWpstgNetworkAdminNotices()
53 {
54 Hooks::doAction('wpstg.network_admin_notices');
55 }
56
57 /**
58 * @return void
59 */
60 public function addWpstgAllAdminNotices()
61 {
62 Hooks::doAction('wpstg.all_admin_notices');
63 }
64
65 /**
66 * @return void
67 */
68 private function defineHooks()
69 {
70 static $isRegistered = false;
71 if ($isRegistered) {
72 return;
73 }
74
75 add_action('in_admin_header', [$this, 'removeOtherPluginAdminNotices']);
76
77 // loaded
78 $isRegistered = true;
79 }
80 }
81