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 / DismissNotice.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
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