PluginProbe ʕ •ᴥ•ʔ
Paid Membership Plugin, Ecommerce, User Registration Form, Login Form, User Profile & Restrict Content – ProfilePress / 3.0
Paid Membership Plugin, Ecommerce, User Registration Form, Login Form, User Profile & Restrict Content – ProfilePress v3.0
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 / Init.php
wp-user-avatar / src / ContentProtection Last commit date
Frontend 5 years ago views 5 years ago ConditionCallbacks.php 5 years ago ContentConditions.php 5 years ago Init.php 5 years ago SettingsPage.php 5 years ago WPListTable.php 5 years ago index.php 5 years ago
Init.php
126 lines
1 <?php
2
3 namespace ProfilePress\Core\ContentProtection;
4
5 use ProfilePress\Core\ContentProtection\Frontend\PostContent;
6 use ProfilePress\Core\ContentProtection\Frontend\Redirect;
7
8 class Init
9 {
10 public function __construct()
11 {
12 add_filter('ppress_admin_hooks', function () {
13 SettingsPage::get_instance();
14 });
15
16 add_action('wp_ajax_ppress_content_condition_field', [$this, 'get_content_condition_field']);
17 add_action('wp_ajax_ppress_cr_object_search', [$this, 'get_content_condition_search']);
18
19 PostContent::get_instance();
20 Redirect::get_instance();
21 }
22
23 public function get_content_condition_field()
24 {
25 check_ajax_referer('ppress_cr_nonce', 'nonce');
26
27 $instance = ContentConditions::get_instance();
28
29 if ( ! empty($_POST['field_type']) && ! empty($_POST['facetId']) && ! empty($_POST['facetListId'])) {
30
31 $condition_id = sanitize_text_field($_POST['condition_id']);
32
33 $field = $instance->rule_value_field(
34 $condition_id,
35 sanitize_text_field($_POST['facetListId']),
36 sanitize_text_field($_POST['facetId'])
37 );
38
39 if (false !== $field) wp_send_json_success($field);
40 }
41
42 wp_send_json_error();
43 }
44
45 public function get_content_condition_search()
46 {
47 $results['results'] = [];
48
49 $object_type = sanitize_text_field($_REQUEST['object_type']);
50
51 switch ($object_type) {
52
53 case 'post_type':
54
55 $post_type = ! empty($_REQUEST['object_key']) ? sanitize_text_field($_REQUEST['object_key']) : 'post';
56
57 $search = ! empty($_REQUEST['search']) ? sanitize_text_field($_REQUEST['search']) : false;
58
59 $query = $this->post_type_query($post_type, ['s' => $search]);
60
61 foreach ($query as $post) {
62 $results['results'][] = array(
63 'id' => $post->ID,
64 'text' => $post->post_title,
65 );
66 }
67
68 break;
69 case 'taxonomy':
70
71 $taxonomy = ! empty($_REQUEST['object_key']) ? sanitize_text_field($_REQUEST['object_key']) : 'category';
72
73 $search = ! empty($_REQUEST['search']) ? sanitize_text_field($_REQUEST['search']) : false;
74
75 $query = $this->taxonomy_query($taxonomy, ['search' => $search]);
76
77 foreach ($query as $term) {
78 $results['results'][] = array(
79 'id' => $term->term_id,
80 'text' => $term->name,
81 );
82 }
83 }
84
85 wp_send_json($results, 200);
86 }
87
88 /**
89 * @param string|array $post_type
90 * @param array $args
91 *
92 * @return int[]|\WP_Post[]
93 */
94 public static function post_type_query($post_type, $args = [])
95 {
96 $default_args = [
97 'numberposts' => 50,
98 'post_type' => $post_type
99 ];
100
101 return get_posts(array_filter(wp_parse_args($args, $default_args)));
102 }
103
104 public function taxonomy_query($taxonomy, $args = [])
105 {
106 $args = wp_parse_args($args, array(
107 'hide_empty' => false,
108 'number' => 50,
109 'taxonomy' => $taxonomy,
110 ));
111
112 return get_terms($args);
113 }
114
115 public static function get_instance()
116 {
117 static $instance = null;
118
119 if (is_null($instance)) {
120 $instance = new self();
121 }
122
123 return $instance;
124 }
125 }
126