PluginProbe ʕ •ᴥ•ʔ
Paid Membership Plugin, Ecommerce, User Registration Form, Login Form, User Profile & Restrict Content – ProfilePress / trunk
Paid Membership Plugin, Ecommerce, User Registration Form, Login Form, User Profile & Restrict Content – ProfilePress vtrunk
4.16.18 4.16.17 4.16.16 trunk 1.0 1.0.1 1.0.2 1.1 1.1.1 1.1.2 1.1.3 1.1.4 1.1.5 1.1.5a 1.1.6 1.1.7 1.2 1.2.1 1.2.2 1.2.3 1.2.4 1.2.5 1.2.6 1.3 1.3.1 1.3.2 1.3.3 1.3.4 1.3.5 1.3.6 1.4 1.4.1 1.4.2 1.5 1.5.1 1.5.2 1.5.3 1.5.4 1.5.5 1.5.6 1.5.7 1.5.8 1.6 1.6.1 1.6.2 1.6.3 1.6.4 1.6.5 1.6.6 1.6.7 1.6.8 1.7 1.7.1 1.7.2 1.8 1.8.1 1.8.10 1.8.2 1.8.3 1.8.4 1.8.5 1.8.6 1.8.7 1.8.8 1.8.9 1.9 1.9.1 1.9.10 1.9.11 1.9.12 1.9.13 1.9.2 1.9.3 1.9.4 1.9.5 1.9.6 1.9.7 1.9.8 1.9.9 2.1.9 2.2.10 2.2.11 2.2.12 2.2.13 2.2.14 2.2.15 2.2.16 2.2.2 2.2.5 2.2.6 2.2.7 2.2.8 2.2.9 3.0 3.1 3.1.1 3.1.10 3.1.11 3.1.12 3.1.13 3.1.14 3.1.15 3.1.16 3.1.17 3.1.18 3.1.19 3.1.2 3.1.3 3.1.4 3.1.5 3.1.6 3.1.7 3.1.8 3.1.9 3.2.0 3.2.1 3.2.10 3.2.11 3.2.12 3.2.13 3.2.14 3.2.15 3.2.16 3.2.2 3.2.3 3.2.4 3.2.5 3.2.6 3.2.7 3.2.8 3.2.9 4.0.0 4.0.1 4.0.2 4.0.3 4.1.0 4.1.1 4.1.2 4.1.3 4.1.4 4.10.0 4.10.1 4.10.2 4.10.3 4.11.0 4.12.0 4.13.0 4.13.1 4.13.2 4.13.3 4.13.4 4.14.0 4.14.1 4.14.2 4.14.3 4.14.4 4.15.0 4.15.1 4.15.10 4.15.11 4.15.12 4.15.13 4.15.14 4.15.15 4.15.16 4.15.17 4.15.18 4.15.19 4.15.2 4.15.20 4.15.20.1 4.15.21 4.15.22 4.15.23 4.15.24 4.15.25 4.15.3 4.15.4 4.15.5 4.15.6 4.15.7 4.15.8 4.15.9 4.16.0 4.16.1 4.16.10 4.16.11 4.16.12 4.16.13 4.16.14 4.16.15 4.16.2 4.16.3 4.16.4 4.16.5 4.16.6 4.16.7 4.16.8 4.16.9 4.2.0 4.3.0 4.3.1 4.3.2 4.4.0 4.4.1 4.5.0 4.5.1 4.5.2 4.5.3 4.5.4 4.5.5 4.6.0 4.7.0 4.8.0 4.9.0
wp-user-avatar / src / Functions / PPressBFnote.php
wp-user-avatar / src / Functions Last commit date
data 1 year ago FuseWPAdminNotice.php 2 years ago GlobalFunctions.php 4 months ago MSFunctions.php 7 months ago PPressBFnote.php 7 months ago Shogun.php 1 year ago custom-settings-api.php 7 months ago
PPressBFnote.php
176 lines
1 <?php
2
3 use ProfilePress\Core\Classes\ExtensionManager;
4
5 if ( ! class_exists('\PPressBFnote')) {
6
7 class PPressBFnote
8 {
9 private $this_year;
10 private $last_year;
11 private $start;
12 private $end;
13
14 public function __construct()
15 {
16 add_action('ppress_admin_notices', array($this, 'admin_notice'));
17 add_action('network_admin_notices', array($this, 'admin_notice'));
18
19 add_action('admin_init', array($this, 'dismiss_admin_notice'));
20
21 $this->this_year = '2025';
22 $this->last_year = $this->this_year - 1;
23 $this->start = strtotime('november 26, ' . $this->this_year);
24 $this->end = strtotime('december 2, ' . $this->this_year);
25 }
26
27 public function dismiss_admin_notice()
28 {
29 if ( ! isset($_GET['ppressbfnote-adaction']) || $_GET['ppressbfnote-adaction'] != 'ppressbfnote_dismiss_adnotice') {
30 return;
31 }
32
33 if ( ! current_user_can('manage_options')) return;
34
35 $url = admin_url();
36 update_option('ppressbfnote_dismiss_adnotice_' . $this->this_year, 'true');
37
38 wp_safe_redirect($url);
39 exit;
40 }
41
42 public function admin_notice()
43 {
44 global $pagenow;
45
46 if ($pagenow != 'index.php' && strpos(ppress_var($_GET, 'page'), 'ppress-') === false) return;
47
48 if (ExtensionManager::is_premium()) return;
49
50 if ( ! current_user_can('manage_options')) return;
51
52 $now = time();
53
54 if ($now < $this->start || $now > $this->end) return;
55
56 if ( ! empty(get_option('ppressbfnote2022_dismiss_adnotice', 0))) {
57 delete_option('ppressbfnote2022_dismiss_adnotice');
58 }
59
60 if ( ! empty(get_option('ppressbfnote_dismiss_adnotice_' . $this->last_year, 0))) {
61 delete_option('ppressbfnote_dismiss_adnotice_' . $this->last_year);
62 }
63
64 if (get_option('ppressbfnote_dismiss_adnotice_' . $this->this_year, 'false') == 'true') {
65 return;
66 }
67
68 $dismiss_url = esc_url_raw(
69 add_query_arg([
70 'ppressbfnote-adaction' => 'ppressbfnote_dismiss_adnotice'
71 ],
72 admin_url()
73 )
74 );
75 $this->notice_css();
76
77 $bf_url = 'https://profilepress.com/pricing/?utm_source=wp-admin&utm_medium=admin-notice&utm_campaign=bf' . $this->this_year
78
79 ?>
80 <div class="ppressbfnote-admin-notice notice notice-success">
81 <div class="ppressbfnote-notice-first-half">
82 <p>
83 <?php
84 printf(
85 __('%1$sHuge Black Friday Sale%2$s: Get 25%% off your ProfilePress plugin upgrade today with the coupon %3$sBFCM%4$s'),
86 '<span class="ppressbfnote-stylize"><strong>', '</strong></span>', '<code>', $this->this_year . '</code>');
87 ?>
88 </p>
89 <p style="text-decoration: underline;font-size: 12px;">Hurry as the deal is expiring soon.</p>
90
91 </div>
92 <div class="ppressbfnote-notice-other-half">
93 <a target="_blank" class="button button-primary button-hero" href="<?php echo $bf_url; ?>">
94 <?php _e('Save 25% Now!'); ?>
95 </a>
96 <div class="ppressbfnote-notice-learn-more">
97 <a target="_blank" href="<?php echo $bf_url; ?>">Learn more</a>
98 </div>
99 </div>
100 <a href="<?php echo $dismiss_url; ?>">
101 <button type="button" class="notice-dismiss">
102 <span class="screen-reader-text"><?php _e('Dismiss this notice'); ?>.</span>
103 </button>
104 </a>
105 </div>
106 <?php
107 }
108
109 public function notice_css()
110 {
111 ?>
112 <style type="text/css">
113 .ppressbfnote-admin-notice {
114 background: #fff;
115 color: #000;
116 border-left-color: #46b450;
117 position: relative;
118 }
119
120 .ppressbfnote-admin-notice .notice-dismiss:before {
121 color: #72777c;
122 }
123
124 .ppressbfnote-admin-notice .ppressbfnote-stylize {
125 line-height: 2;
126 font-size: 16px;
127 }
128
129 .ppressbfnote-admin-notice .button-primary {
130 background: #006799;
131 text-shadow: none;
132 border: 0;
133 box-shadow: none;
134 }
135
136 .ppressbfnote-notice-first-half {
137 width: 66%;
138 display: inline-block;
139 margin: 10px 0 20px;
140 }
141
142 .ppressbfnote-notice-other-half {
143 width: 33%;
144 display: inline-block;
145 padding: 20px 0;
146 position: absolute;
147 text-align: center;
148 }
149
150 .ppressbfnote-notice-first-half p {
151 font-size: 14px;
152 }
153
154 .ppressbfnote-notice-learn-more a {
155 margin: 10px;
156 }
157
158 .ppressbfnote-notice-learn-more {
159 margin-top: 10px;
160 }
161 </style>
162 <?php
163 }
164
165 public static function instance()
166 {
167 static $instance = null;
168
169 if (is_null($instance)) {
170 $instance = new self();
171 }
172
173 return $instance;
174 }
175 }
176 }