PluginProbe ʕ •ᴥ•ʔ
WP STAGING – WordPress Backups, Restore, Migration & Clone / 4.11.2
WP STAGING – WordPress Backups, Restore, Migration & Clone v4.11.2
4.12.0 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 2 weeks ago BooleanNotice.php 2 weeks ago CliIntegrationNotice.php 2 weeks ago DisabledItemsNotice.php 2 weeks ago DismissNotice.php 2 weeks ago NextGenEngineNotice.php 1 week ago Notices.php 2 weeks ago NoticesHandler.php 2 weeks ago ObjectCacheNotice.php 2 weeks ago OutdatedWpStagingNotice.php 2 weeks ago WarningsNotice.php 2 weeks ago WpVersionCompatNotice.php 2 weeks 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