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 / ContentProtection / views / view.access-condition.php
wp-user-avatar / src / ContentProtection / views Last commit date
include.elementor-protection.php 3 years ago include.menu-protection.php 3 years ago include.shortcode-doc-sidebar.php 3 years ago include.view-sidebar.php 5 years ago include.view.php 2 years ago index.php 5 years ago view.access-condition.php 1 year ago view.contentbox.php 1 year ago view.exemptions.php 1 year ago
view.access-condition.php
285 lines
1 <?php
2
3 use ProfilePress\Core\Membership\Repositories\PlanRepository;
4
5 $postedData = ppress_var($_POST['ppress_cc_data'] ?? [], 'access_condition', []);
6
7 $who_can_access = ppressPOST_var('who_can_access', ppress_var($accessConditionData, 'who_can_access'), false, $postedData);
8 $access_roles = ppressPOST_var('access_roles', ppress_var($accessConditionData, 'access_roles', []), [], $postedData);
9 $access_membership_plans = ppressPOST_var('access_membership_plans', ppress_var($accessConditionData, 'access_membership_plans', []), [], $postedData);
10 $access_wp_users = ppressPOST_var('access_wp_users', ppress_var($accessConditionData, 'access_wp_users', []), [], $postedData);
11 $noaccess_action = ppressPOST_var('noaccess_action', ppress_var($accessConditionData, 'noaccess_action'), false, $postedData);
12 $noaccess_action_message_type = ppressPOST_var('noaccess_action_message_type', ppress_var($accessConditionData, 'noaccess_action_message_type'), false, $postedData);
13 $noaccess_action_message_custom = ppressPOST_var('noaccess_action_message_custom', ppress_var($accessConditionData, 'noaccess_action_message_custom'), false, $postedData);
14 $noaccess_action_redirect_url = ppressPOST_var('noaccess_action_redirect_url', ppress_var($accessConditionData, 'noaccess_action_redirect_url'), false, $postedData);
15 $noaccess_action_message_style = ppressPOST_var('noaccess_action_message_style', ppress_var($accessConditionData, 'noaccess_action_message_style'), false, $postedData);
16 $noaccess_action_redirect_custom_url = ppressPOST_var('noaccess_action_redirect_custom_url', ppress_var($accessConditionData, 'noaccess_action_redirect_custom_url'), false, $postedData);
17
18 $membership_plans = [];
19 foreach (PlanRepository::init()->retrieveAll() as $plan) {
20 $membership_plans[$plan->id] = $plan->name;
21 }
22 ?>
23
24 <div class="pp-content-protection-access-box">
25 <table class="form-table">
26 <tbody>
27 <tr id="pp-cc-accessible-row">
28 <th>
29 <label for="pp-cc-accessible"><?= esc_html__('Who can access the content?', 'wp-user-avatar') ?></label>
30 </th>
31 <td>
32 <select id="pp-cc-accessible" name="ppress_cc_data[access_condition][who_can_access]">
33 <option value="everyone" <?php selected($who_can_access, 'everyone'); ?>><?= esc_html__('Everyone', 'wp-user-avatar') ?></option>
34 <option value="login" <?php selected($who_can_access, 'login'); ?>><?= esc_html__('Logged in users', 'wp-user-avatar') ?></option>
35 <option value="logout" <?php selected($who_can_access, 'logout'); ?>><?= esc_html__('Logged out users', 'wp-user-avatar') ?></option>
36 </select>
37 </td>
38 </tr>
39 <tr id="pp-cc-access-membership-plans-row">
40 <th>
41 <label for="pp-cc-access-membership-plans"><?= esc_html__('Select Membership Plans that can access content', 'wp-user-avatar') ?></label>
42 </th>
43 <td>
44 <select id="pp-cc-access-membership-plans" name="ppress_cc_data[access_condition][access_membership_plans][]" multiple>
45 <?php foreach ($membership_plans as $plan_id => $plan_name): ?>
46 <option value="<?= $plan_id ?>"<?= in_array($plan_id, $access_membership_plans) ? ' selected' : ''; ?>><?= $plan_name ?></option>
47 <?php endforeach; ?>
48 </select>
49 </td>
50 </tr>
51 <tr id="pp-cc-access-role-row">
52 <th>
53 <label for="pp-cc-access-role"><?= esc_html__('Select roles that can access content', 'wp-user-avatar') ?></label>
54 </th>
55 <td>
56 <span>
57 <?php foreach (ppress_wp_roles_key_value(false) as $key => $value) : ?>
58 <label style="display:block">
59 <input type="checkbox" name="ppress_cc_data[access_condition][access_roles][]" value="<?= $key ?>" <?= in_array($key, $access_roles) ? 'checked=checked' : ''; ?>>
60 <span><?= $value ?></span>
61 </label>
62 <?php endforeach; ?>
63 </span>
64 </td>
65 </tr>
66 <tr id="pp-cc-access-wp-users-row">
67 <th>
68 <label for="pp-cc-access-wp-users"><?= esc_html__('Select specific users that can access content', 'wp-user-avatar') ?></label>
69 </th>
70 <td>
71 <select id="pp-cc-access-wp-users" name="ppress_cc_data[access_condition][access_wp_users][]" multiple>
72 <?php foreach ($access_wp_users as $user_id): $user = get_userdata($user_id); ?>
73 <option value="<?= esc_attr($user_id) ?>" selected>
74 <?= $user->user_login ?> (<?= $user->user_email ?>)
75 </option>
76 <?php endforeach; ?>
77 </select>
78 </td>
79 </tr>
80 <tr id="pp-cc-access-noaccess-action-row">
81 <th>
82 <label for="pp-cc-access-noaccess-action">
83 <?= esc_html__('What happens when users without access try to view the content?', 'wp-user-avatar') ?>
84 </label>
85 </th>
86 <td>
87 <select id="pp-cc-access-noaccess-action" name="ppress_cc_data[access_condition][noaccess_action]">
88 <option value="message" <?php selected($noaccess_action, 'message') ?>><?= esc_html__('Show access restricted message', 'wp-user-avatar') ?></option>
89 <option value="redirect" <?php selected($noaccess_action, 'redirect') ?>><?= esc_html__('Redirect user', 'wp-user-avatar') ?></option>
90 </select>
91 </td>
92 </tr>
93 <tr id="pp-cc-access-noaccess-action-message-row">
94 <th>
95 <label for="pp-cc-access-noaccess-action-message">
96 <?= esc_html__('Message to show to unauthorized users', 'wp-user-avatar') ?>
97 </label>
98 </th>
99 <td>
100 <select id="pp-cc-access-noaccess-action-message" name="ppress_cc_data[access_condition][noaccess_action_message_type]">
101 <option value="global" <?php selected($noaccess_action_message_type, 'global') ?>><?= esc_html__('Global Restricted Access Message', 'wp-user-avatar') ?></option>
102 <option value="custom" <?php selected($noaccess_action_message_type, 'custom') ?>><?= esc_html__('Custom Message', 'wp-user-avatar') ?></option>
103 <option value="post_excerpt" <?php selected($noaccess_action_message_type, 'post_excerpt') ?>><?= esc_html__('Post Excerpt', 'wp-user-avatar') ?></option>
104 <option value="post_excerpt_global" <?php selected($noaccess_action_message_type, 'post_excerpt_global') ?>><?= esc_html__('Post Excerpt + Global Restricted Access Message', 'wp-user-avatar') ?></option>
105 <option value="post_excerpt_custom" <?php selected($noaccess_action_message_type, 'post_excerpt_custom') ?>><?= esc_html__('Post Excerpt + Custom Message', 'wp-user-avatar') ?></option>
106 </select>
107 <p class="description">
108 <?= sprintf(
109 esc_html__('Note that Global Restrict Access Message can be %scustomized here%s.'),
110 '<a href="' . PPRESS_SETTINGS_SETTING_GENERAL_PAGE . '#access_settings?global_restricted_access_message_row" target="_blank">', '</a>'
111 ); ?>
112 </p>
113 </td>
114 </tr>
115 <tr id="pp-cc-access-noaccess-action-message-custom-row">
116 <th>
117 <label for="pp-cc-access-noaccess-action-message-custom">
118 <?= esc_html__('Custom Restricted Message', 'wp-user-avatar') ?>
119 </label>
120 </th>
121 <td>
122 <?php
123 remove_all_actions('media_buttons');
124 remove_all_filters('media_buttons_context');
125 remove_all_filters('mce_buttons', 10);
126 remove_all_filters('mce_external_plugins', 10);
127 remove_all_actions('after_wp_tiny_mce');
128 wp_editor(wp_kses_post($noaccess_action_message_custom), 'pp-cc-access-noaccess-action-message-custom', [
129 'textarea_name' => 'ppress_cc_data[access_condition][noaccess_action_message_custom]',
130 'textarea_rows' => 20,
131 'wpautop' => false,
132 'media_buttons' => false,
133 ]);
134 ?>
135 </td>
136 </tr>
137 <tr id="pp-cc-access-noaccess-action-message-style-row">
138 <th>
139 <label for="pp-cc-access-noaccess-action-message-style">
140 <?= esc_html__('Restricted Access Message Style', 'wp-user-avatar') ?>
141 </label>
142 </th>
143 <td>
144 <select id="pp-cc-access-noaccess-action-message-style" name="ppress_cc_data[access_condition][noaccess_action_message_style]">
145 <option value="none" <?php selected($noaccess_action_message_style, 'none') ?>><?= esc_html__('None', 'wp-user-avatar') ?></option>
146 <option value="default" <?php selected($noaccess_action_message_style, 'default') ?>><?= esc_html__('Blur & Fade Effect', 'wp-user-avatar') ?></option>
147 <option value="custom_template" <?php selected($noaccess_action_message_style, 'custom_template') ?>><?= esc_html__('Restricted Page Template', 'wp-user-avatar') ?></option>
148 </select>
149 </td>
150 </tr>
151 <tr id="pp-cc-access-noaccess-action-redirect-row">
152 <th>
153 <label for="pp-cc-access-noaccess-action-redirect">
154 <?= esc_html__('Where should users be redirected to?', 'wp-user-avatar') ?>
155 </label>
156 </th>
157 <td>
158 <select id="pp-cc-access-noaccess-action-redirect" name="ppress_cc_data[access_condition][noaccess_action_redirect_url]">
159 <option value="login_page" <?php selected($noaccess_action_redirect_url, 'login_page') ?>><?= esc_html__('Login page', 'wp-user-avatar') ?></option>
160 <option value="custom_url" <?php selected($noaccess_action_redirect_url, 'custom_url') ?>><?= esc_html__('Custom URL', 'wp-user-avatar') ?></option>
161 </select>
162 </td>
163 </tr>
164 <tr id="pp-cc-access-noaccess-action-redirect-custom-url-row">
165 <th>
166 <label for="pp-cc-access-noaccess-action-redirect-custom-url">
167 <?= esc_html__('Redirect URL', 'wp-user-avatar') ?>
168 </label>
169 </th>
170 <td>
171 <input type="text" id="pp-cc-access-noaccess-action-redirect-custom-url" name="ppress_cc_data[access_condition][noaccess_action_redirect_custom_url]" value="<?= esc_attr($noaccess_action_redirect_custom_url) ?>">
172 </td>
173 </tr>
174 </tbody>
175 </table>
176 </div>
177
178 <script type="text/javascript">
179 (function ($) {
180 $(function () {
181 $('#pp-cc-accessible').on('change', function () {
182
183 var val = this.value;
184
185 switch (val) {
186 case 'everyone':
187 $('#pp-cc-access-membership-plans-row').hide();
188 $('#pp-cc-access-role-row').hide();
189 $('#pp-cc-access-wp-users-row').hide();
190 $('#pp-cc-access-noaccess-action-row').hide();
191 $('#pp-cc-access-noaccess-action-message-row').hide();
192 $('#pp-cc-access-noaccess-action-message-style-row').hide();
193 $('#pp-cc-access-noaccess-action-message-custom-row').hide();
194 $('#pp-cc-access-noaccess-action-redirect-row').hide();
195 $('#pp-cc-access-noaccess-action-redirect-custom-url-row').hide();
196 break;
197 case 'login':
198 $('#pp-cc-access-noaccess-action-message-custom-row').hide();
199 $('#pp-cc-access-noaccess-action-redirect-row').hide();
200 $('#pp-cc-access-noaccess-action-redirect-custom-url-row').hide();
201 $('#pp-cc-access-noaccess-action-message-row').hide();
202 $('#pp-cc-access-noaccess-action-message-style-row').hide();
203 // all show code must be after hide()
204 $('#pp-cc-access-membership-plans-row').show();
205 $('#pp-cc-access-role-row').show();
206 $('#pp-cc-access-wp-users-row').show();
207 $('#pp-cc-access-noaccess-action-row').show().find('select').trigger('change');
208 break;
209 case 'logout':
210 $('#pp-cc-access-membership-plans-row').hide();
211 $('#pp-cc-access-role-row').hide();
212 $('#pp-cc-access-wp-users-row').hide();
213 $('#pp-cc-access-noaccess-action-message-custom-row').hide();
214 $('#pp-cc-access-noaccess-action-redirect-row').hide();
215 $('#pp-cc-access-noaccess-action-redirect-custom-url-row').hide();
216 $('#pp-cc-access-noaccess-action-redirect-row').hide();
217 // all show code must be after hide()
218 $('#pp-cc-access-noaccess-action-row').show().find('select').trigger('change');
219 break;
220 }
221 });
222
223 $('#pp-cc-access-noaccess-action').on('change', function () {
224
225 var val = this.value;
226
227 switch (val) {
228 case 'message':
229 $('#pp-cc-access-noaccess-action-message-custom-row').hide();
230 $('#pp-cc-access-noaccess-action-redirect-row').hide();
231 $('#pp-cc-access-noaccess-action-redirect-custom-url-row').hide();
232 // all show code must be after hide()
233 $('#pp-cc-access-noaccess-action-message-row').show().find('select').trigger('change');
234 $('#pp-cc-access-noaccess-action-message-style-row').show();
235 break;
236 case 'redirect':
237 $('#pp-cc-access-noaccess-action-message-row').hide();
238 $('#pp-cc-access-noaccess-action-message-style-row').hide();
239 $('#pp-cc-access-noaccess-action-message-custom-row').hide();
240 $('#pp-cc-access-noaccess-action-redirect-custom-url-row').hide();
241 // all show code must be after hide()
242 $('#pp-cc-access-noaccess-action-redirect-row').show().find('select').trigger('change');
243 break;
244 }
245 });
246
247 $('#pp-cc-access-noaccess-action-message').on('change', function () {
248
249 var val = this.value;
250
251 switch (val) {
252 case 'global':
253 case 'post_excerpt':
254 case 'post_excerpt_global':
255 $('#pp-cc-access-noaccess-action-message-custom-row').hide();
256 $('#pp-cc-access-noaccess-action-redirect-row').hide();
257 $('#pp-cc-access-noaccess-action-redirect-custom-url-row').hide();
258 break;
259 case 'custom':
260 case 'post_excerpt_custom':
261 $('#pp-cc-access-noaccess-action-redirect-row').hide();
262 $('#pp-cc-access-noaccess-action-redirect-custom-url-row').hide();
263 $('#pp-cc-access-noaccess-action-message-custom-row').show().find('select').trigger('change');
264 break;
265 }
266 });
267
268 $('#pp-cc-access-noaccess-action-redirect').on('change', function () {
269
270 var val = this.value;
271
272 switch (val) {
273 case 'login_page':
274 $('#pp-cc-access-noaccess-action-redirect-custom-url-row').hide();
275 break;
276 case 'custom_url':
277 $('#pp-cc-access-noaccess-action-redirect-custom-url-row').show().find('select').trigger('change');
278 break;
279 }
280 });
281
282 $('#pp-cc-accessible').trigger('change');
283 });
284 })(jQuery)
285 </script>