PluginProbe ʕ •ᴥ•ʔ
Paid Membership Plugin, Ecommerce, User Registration Form, Login Form, User Profile & Restrict Content – ProfilePress / 3.1
Paid Membership Plugin, Ecommerce, User Registration Form, Login Form, User Profile & Restrict Content – ProfilePress v3.1
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 / Frontend / Checker.php
wp-user-avatar / src / ContentProtection / Frontend Last commit date
Checker.php 5 years ago PostContent.php 5 years ago Redirect.php 5 years ago index.php 5 years ago
Checker.php
83 lines
1 <?php
2
3 namespace ProfilePress\Core\ContentProtection\Frontend;
4
5
6 use ProfilePress\Core\ContentProtection\ContentConditions;
7
8 class Checker
9 {
10 public static function is_blocked($who_can_access = 'everyone', $roles = [])
11 {
12 if ('login' == $who_can_access) {
13
14 if ( ! is_user_logged_in()) return true;
15
16 if ( ! empty($roles)) {
17
18 $user_roles = wp_get_current_user()->roles;
19
20 if (empty(array_intersect($roles, $user_roles))) return true;
21 }
22 }
23
24 if ('logout' == $who_can_access) {
25
26 if (is_user_logged_in()) return true;
27 }
28
29 return false;
30 }
31
32 /**
33 * @param $protection_rule
34 * @param bool $is_redirect set to true if this is a redirect check and not post content check.
35 *
36 * @return bool
37 */
38 public static function content_match($protection_rule, $is_redirect = false)
39 {
40 $content_match = false;
41
42 if (empty($protection_rule)) return $content_match;
43
44 // All Groups Must Return True. Break if any is false and set $loadable to false.
45 foreach ($protection_rule as $group => $conditions) {
46
47 // Groups are false until a condition proves true.
48 $group_check = false;
49
50 // At least one group condition must be true. Break this loop if any condition is true.
51 foreach ($conditions as $condition) {
52
53 $match = self::check_condition($condition['condition'], ppress_var($condition, 'value', []), $is_redirect);
54
55 // If any condition passes, set $group_check true and break.
56 if ($match) {
57 $group_check = true;
58 break;
59 }
60 }
61
62 // If any group of conditions doesn't pass, popup is not loadable.
63 if ( ! $group_check) {
64 $content_match = false;
65 break;
66 } else {
67 $content_match = true;
68 }
69 }
70
71 return $content_match;
72
73 }
74
75 public static function check_condition($condition_id, $rule_saved_value, $is_redirect = false)
76 {
77 $condition = ContentConditions::get_instance()->get_condition($condition_id);
78
79 if ( ! $condition) return false;
80
81 return call_user_func($condition['callback'], $condition_id, $rule_saved_value, $is_redirect);
82 }
83 }