PluginProbe ʕ •ᴥ•ʔ
WP STAGING – WordPress Backups, Restore, Migration & Clone / 4.11.1
WP STAGING – WordPress Backups, Restore, Migration & Clone v4.11.1
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 / Framework / Notices / DismissNotice.php
wp-staging / Framework / Notices Last commit date
BackupPluginsNotice.php 1 week ago BooleanNotice.php 1 week ago CliIntegrationNotice.php 1 week ago DisabledItemsNotice.php 1 week ago DismissNotice.php 1 week ago NextGenEngineNotice.php 1 week ago Notices.php 1 week ago NoticesHandler.php 1 week ago ObjectCacheNotice.php 1 week ago OutdatedWpStagingNotice.php 1 week ago WarningsNotice.php 1 week ago WpVersionCompatNotice.php 1 week ago
DismissNotice.php
97 lines
1 <?php
2
3 namespace WPStaging\Framework\Notices;
4
5 use WPStaging\Basic\Notices\GeneralProCardNotice;
6 use WPStaging\Core\WPStaging;
7 use WPStaging\Framework\ThirdParty\WordFence;
8 use WPStaging\Pro\Notices\DismissNotice as DismissProNotice;
9
10
11
12
13 class DismissNotice
14 {
15
16
17
18 private $disabledItemsNotice;
19
20
21
22
23 private $warningsNotice;
24
25
26
27
28 private $wordFence;
29
30
31
32
33 private $objectCacheNotice;
34
35
36
37
38 private $nextGenEngineNotice;
39
40 public function __construct(DisabledItemsNotice $disabledItemsNotice, WarningsNotice $warningsNotice, WordFence $wordFence, ObjectCacheNotice $objectCacheNotice, NextGenEngineNotice $nextGenEngineNotice)
41 {
42 $this->disabledItemsNotice = $disabledItemsNotice;
43 $this->warningsNotice = $warningsNotice;
44 $this->wordFence = $wordFence;
45 $this->objectCacheNotice = $objectCacheNotice;
46 $this->nextGenEngineNotice = $nextGenEngineNotice;
47 }
48
49 public function dismiss($noticeToDismiss)
50 {
51
52
53
54 if ($noticeToDismiss === 'general_pro_card') {
55
56
57 wp_send_json(WPStaging::make(GeneralProCardNotice::class)->snooze());
58 return;
59 }
60
61 if ($noticeToDismiss === 'disabled_items' && $this->disabledItemsNotice->disable() !== false) {
62 wp_send_json(true);
63 return;
64 }
65
66 if ($noticeToDismiss === 'warnings_notice' && $this->warningsNotice->disable() !== false) {
67 wp_send_json(true);
68 return;
69 }
70
71
72 if ($noticeToDismiss === WordFence::NOTICE_NAME && $this->wordFence->disable() !== false) {
73 wp_send_json(true);
74 return;
75 }
76
77 if ($noticeToDismiss === ObjectCacheNotice::ACTION_NOTICE_DISMISS && $this->objectCacheNotice->disable() !== false) {
78 wp_send_json(true);
79 return;
80 }
81
82 if ($noticeToDismiss === 'next_gen_engine' && $this->nextGenEngineNotice->disable() !== false) {
83 wp_send_json(true);
84 return;
85 }
86
87 if (!WPStaging::isPro()) {
88 wp_send_json(null);
89 return;
90 }
91
92
93 $dismissProNotice = WPStaging::make(DismissProNotice::class);
94 $dismissProNotice->dismiss($noticeToDismiss);
95 }
96 }
97