PluginProbe
UsersWP – Front-end login form, User Registration, User Profile & Members Directory plugin for WP / 1.2.3.4
UsersWP – Front-end login form, User Registration, User Profile & Members Directory plugin for WP v1.2.3.4
1.2.73 1.2.72 1.2.71 1.2.70 1.2.69 1.2.68 1.2.67 1.2.66 1.2.65 1.2.64 1.2.63 trunk 1.0.10 1.0.11 1.0.12 1.0.13 1.0.14 1.0.15 1.0.16 1.0.17 1.0.18 1.0.19 1.0.20 1.0.21 1.0.22 All 173 releases
userswp / includes / helpers / tabs.php

tabs.php in UsersWP – Front-end login form, User Registration, User Profile & Members Directory plugin for WP 1.2.3.4, at includes/helpers/tabs.php

200 lines 5.5 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 /**
3 * Checks the current page is a UsersWP profile tab page.
4 *
5 * @since 1.0.0
6 * @package userswp
7 * @param string|bool $tab Tab slug.
8 * @return bool True when success. False when failure.
9 */
10 function is_uwp_profile_tab($tab = false) {
11 global $wp_query;
12 if (is_uwp_profile_page()) {
13 if (isset($wp_query->query_vars['uwp_tab']) && !empty($wp_query->query_vars['uwp_tab'])) {
14 if ($wp_query->query_vars['uwp_tab'] == $tab) {
15 return true;
16 } else {
17 return false;
18 }
19 } else {
20 return false;
21 }
22 } else {
23 return false;
24 }
25 }
26
27 /**
28 * Checks the current page is a UsersWP profile subtab page.
29 *
30 * @since 1.0.0
31 * @package userswp
32 * @param string|bool $subtab Subtab slug.
33 * @return bool True when success. False when failure.
34 */
35 function is_uwp_profile_subtab($subtab = false) {
36 global $wp_query;
37 if (is_uwp_profile_page()) {
38 if (isset($wp_query->query_vars['uwp_subtab']) && !empty($wp_query->query_vars['uwp_subtab'])) {
39 if ($wp_query->query_vars['uwp_subtab'] == $subtab) {
40 return true;
41 } else {
42 return false;
43 }
44 } else {
45 return false;
46 }
47 } else {
48 return false;
49 }
50 }
51
52 /**
53 * Prints the tab content based on post type.
54 *
55 * @since 1.0.0
56 * @package userswp
57 *
58 * @param object $user User object.
59 * @param bool $post_type Post type.
60 * @param string $title Tab title
61 * @param array|bool $post_ids Post ids for post__in. Optional
62 *
63 * @return void
64 */
65 function uwp_generic_tab_content($user, $post_type = false, $title = '', $post_ids = false) {
66
67 $paged = ( get_query_var( 'paged' ) ) ? absint( get_query_var( 'paged' ) ) : 1;
68
69 $query_args = array(
70 'post_status' => 'publish',
71 'posts_per_page' => uwp_get_option('profile_no_of_items', 10),
72 'author' => $user->ID,
73 'paged' => $paged,
74 );
75
76 if ($post_type) {
77 $query_args['post_type'] = $post_type;
78 }
79
80 if (is_array($post_ids)) {
81 if (!empty($post_ids)) {
82 $query_args['post__in'] = $post_ids;
83 } else {
84 // no posts found
85 echo aui()->alert(array(
86 'type'=>'info',
87 'content'=> sprintf(__('No %s found', 'userswp'), strtolower($title))
88 ));
89 return;
90 }
91 }
92 // The Query
93 $the_query = new WP_Query($query_args);
94
95 $args = array();
96 $args['template_args']= array(
97 'the_query' => $the_query,
98 'user' => $user,
99 'post_type' => $post_type,
100 'title' => $title,
101 'post_ids' => $post_ids,
102 );
103
104 $design_style = !empty($args['design_style']) ? esc_attr($args['design_style']) : uwp_get_option("design_style",'bootstrap');
105 $template = $design_style ? $design_style."/loop-posts.php" : "loop-posts.php";
106 uwp_get_template($template, $args);
107
108 }
109
110
111 /**
112 * Adds Privacy tab to available account tabs if privacy enabled.
113 *
114 * @since 1.0.0
115 * @package userswp
116 *
117 * @return array Account Tabs.
118 */
119 function uwp_account_get_available_tabs() {
120
121 $tabs = array(
122 'account' => array(
123 'title' => __( 'Edit Account', 'userswp' ),
124 'icon' => 'fas fa-user',
125 ),
126 'change-password' => array(
127 'title' => __( 'Change Password', 'userswp' ),
128 'icon' => 'fas fa-asterisk',
129 ),
130 'notifications' => array(
131 'title' => __( 'Notifications', 'userswp' ),
132 'icon' => 'fas fa-envelope',
133 ),
134 'privacy' => array(
135 'title' => __('Privacy', 'userswp'),
136 'icon' => 'fas fa-lock',
137 ),
138 );
139
140 $tabs = apply_filters( 'uwp_account_available_tabs', $tabs );
141
142 if(class_exists('\WP2FA\WP2FA')){
143 if(1 != uwp_get_option('disable_wp_2fa')) {
144 $tabs['wp2fa'] = array(
145 'title' => __( 'WP - 2FA', 'userswp' ),
146 'icon' => 'fas fa-user-lock',
147 );
148 }
149 }
150
151 // Keep delete account and logout last
152 if(1 != uwp_get_option('disable_account_delete') && !current_user_can('administrator')){
153 $tabs['delete-account'] = array(
154 'title' => __('Delete Account', 'userswp'),
155 'icon' => 'fas fa-user-times',
156 );
157 }
158
159 $template = new UsersWP_Templates();
160 $logout_url = $template->uwp_logout_url();
161
162 $tabs['logout'] = array(
163 'title' => __('Logout', 'userswp'),
164 'icon' => 'fas fa-sign-out-alt',
165 'link' => $logout_url,
166 );
167
168 return apply_filters( 'uwp_account_all_tabs', $tabs );
169 }
170
171 function uwp_profile_add_tabs($tab_data){
172
173 $obj = new UsersWP_Settings_Profile_Tabs();
174 $obj->tabs_field_save($tab_data);
175
176 }
177
178 function uwp_get_tabs_privacy_by_user($user){
179 global $wpdb;
180
181 if(is_integer($user)){
182 $user = get_userdata($user);
183 }
184
185 $tabs_privacy = array();
186 $meta_table = get_usermeta_table_prefix() . 'uwp_usermeta';
187 $obj_key = $user->ID.'_tabs_privacy';
188 $user_meta_info = wp_cache_get( $obj_key, 'uwp_usermeta_tabs_privacy' );
189
190 if ( ! $user_meta_info ) {
191 $user_meta_info = $wpdb->get_row($wpdb->prepare("SELECT tabs_privacy FROM {$meta_table} WHERE user_id = %d", $user->ID), ARRAY_A);
192 wp_cache_set( $obj_key, $user_meta_info, 'uwp_usermeta_tabs_privacy' );
193 }
194
195 if(isset($user_meta_info['tabs_privacy']) && !empty($user_meta_info['tabs_privacy'])){
196 $tabs_privacy = maybe_unserialize($user_meta_info['tabs_privacy']);
197 }
198
199 return $tabs_privacy;
200 }