PluginProbe
UsersWP – Front-end login form, User Registration, User Profile & Members Directory plugin for WP / 1.2.43
UsersWP – Front-end login form, User Registration, User Profile & Members Directory plugin for WP v1.2.43
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 1.0.23 All 172 releases
← All changes | includes/class-meta.php +137 -151 trunk1.2.43 View file →
@@ -8,114 +8,105 @@
8 8 * @author GeoDirectory Team <info@wpgeodirectory.com>
9 9 */
10 10 class UsersWP_Meta {
11 11
12 - /**
13 - * Gets UsersWP user meta value using key.
14 - *
15 - * @since 1.0.0
16 - * @package userswp
17 - *
18 - * @param int|bool $user_id User ID.
19 - * @param string $key User meta Key.
20 - * @param bool|string $default Default value.
21 - *
22 - * @return string User meta Value.
23 - */
24 - public function get_usermeta( $user_id = false, $key = '', $default = false ) {
25 - global $wpdb;
12 + /**
13 + * Gets UsersWP user meta value using key.
14 + *
15 + * @since 1.0.0
16 + * @package userswp
17 + *
18 + * @param int|bool $user_id User ID.
19 + * @param string $key User meta Key.
20 + * @param bool|string $default Default value.
21 + *
22 + * @return string User meta Value.
23 + */
24 + public function get_usermeta( $user_id = false, $key = '', $default = false ) {
25 + if (!$user_id) {
26 + return $default;
27 + }
26 28
27 - if ( ! $user_id ) {
28 - return $default;
29 - }
29 + if(!$key){
30 + return $default;
31 + }
30 32
31 - if ( ! $key ) {
32 - return $default;
33 - }
33 + global $wpdb;
34 + $meta_table = get_usermeta_table_prefix() . 'uwp_usermeta';
34 35
35 - $meta_table = get_usermeta_table_prefix() . 'uwp_usermeta';
36 + if (uwp_str_ends_with($key, '_privacy')) {
37 + if (uwp_str_ends_with($key, '_tab_privacy')) {
38 + $obj_key = $user_id.'_tabs_privacy';
39 + $row = wp_cache_get( $obj_key, 'uwp_usermeta_tabs_privacy' );
40 + if ( ! $row ) {
41 + $row = $wpdb->get_row($wpdb->prepare("SELECT tabs_privacy FROM {$meta_table} WHERE user_id = %d", $user_id), ARRAY_A);
42 + wp_cache_set( $obj_key, $row, 'uwp_usermeta_tabs_privacy' );
43 + }
36 44
37 - if ( uwp_str_ends_with( $key, '_privacy' ) ) {
38 - if ( uwp_str_ends_with( $key, '_tab_privacy' ) ) {
39 - $obj_key = $user_id.'_tabs_privacy';
40 - $row = wp_cache_get( $obj_key, 'uwp_usermeta_tabs_privacy' );
45 + $value = false;
46 + if (!empty($row)) {
47 + $public_fields = isset($row['tabs_privacy']) ? maybe_unserialize($row['tabs_privacy']) : $default;
48 + $public_fields_keys = is_array($public_fields) ? array_keys($public_fields) : $public_fields;
49 + if (is_array($public_fields) && in_array($key, $public_fields_keys)) {
50 + $value = $public_fields[$key];
51 + }
52 + }
53 + } else {
54 + $obj_key = $user_id.'_user_privacy';
55 + $row = wp_cache_get( $obj_key, 'uwp_usermeta_user_privacy' );
56 + if ( ! $row ) {
57 + $row = $wpdb->get_row($wpdb->prepare("SELECT user_privacy FROM {$meta_table} WHERE user_id = %d", $user_id), ARRAY_A);
58 + wp_cache_set( $obj_key, $row, 'uwp_usermeta_user_privacy' );
59 + }
41 60
42 - if ( ! $row ) {
43 - $row = $wpdb->get_row( $wpdb->prepare( "SELECT tabs_privacy FROM `{$meta_table}` WHERE user_id = %d", $user_id ), ARRAY_A );
44 - wp_cache_set( $obj_key, $row, 'uwp_usermeta_tabs_privacy' );
45 - }
61 + $value = 'yes';
62 + if (!empty($row)) {
63 + $output = isset($row['user_privacy']) ? $row['user_privacy'] : $default;
64 + $public_fields = explode(',', $output);
65 + if (in_array($key, $public_fields)) {
66 + $value = 'no';
67 + }
68 + }
69 + }
70 + } else {
71 + $value = null;
72 + $user_data = get_userdata($user_id);
46 73
47 - $value = false;
74 + if (!$user_data) {
75 + return $value;
76 + }
48 77
49 - if ( ! empty( $row ) ) {
50 - $public_fields = isset( $row['tabs_privacy'] ) ? maybe_unserialize( $row['tabs_privacy'] ) : $default;
51 - $public_fields_keys = is_array( $public_fields ) ? array_keys( $public_fields ) : $public_fields;
52 -
53 - if ( is_array( $public_fields ) && in_array( $key, $public_fields_keys ) ) {
54 - $value = $public_fields[ $key ];
55 - }
56 - }
57 - } else {
58 - $obj_key = $user_id.'_user_privacy';
59 - $row = wp_cache_get( $obj_key, 'uwp_usermeta_user_privacy' );
60 -
61 - if ( ! $row ) {
62 - $row = $wpdb->get_row( $wpdb->prepare("SELECT user_privacy FROM `{$meta_table}` WHERE user_id = %d", $user_id ), ARRAY_A );
63 - wp_cache_set( $obj_key, $row, 'uwp_usermeta_user_privacy' );
64 - }
65 -
66 - $value = 'yes';
67 -
68 - if ( ! empty( $row ) ) {
69 - $output = isset( $row['user_privacy'] ) ? $row['user_privacy'] : $default;
70 - $public_fields = explode( ',', $output );
71 -
72 - if ( in_array( $key, $public_fields ) ) {
73 - $value = 'no';
74 - }
75 - }
76 - }
77 - } else {
78 - $value = null;
79 - $user_data = get_userdata( $user_id );
80 -
81 - if ( ! $user_data ) {
82 - return $value;
83 - }
84 -
85 - switch ( $key ) {
86 - case 'email': $value = $user_data->user_email; break;
87 - case 'username': $value = $user_data->user_login; break;
88 - case 'user_nicename': $value = $user_data->user_nicename; break;
89 - case 'bio': $value = $user_data->description; break;
90 - case 'uwp_language': $value = $user_data->locale; break;
91 - default :
78 + switch ($key){
79 + case 'email': $value = $user_data->user_email; break;
80 + case 'username': $value = $user_data->user_login; break;
81 + case 'user_nicename': $value = $user_data->user_nicename; break;
82 + case 'bio': $value = $user_data->description; break;
83 + case 'uwp_language': $value = $user_data->locale; break;
84 + default :
92 85 $obj_key = $user_id.'_'.$key;
93 - $row = wp_cache_get( $obj_key, 'uwp_usermeta' );
86 + $row = wp_cache_get( $obj_key, 'uwp_usermeta' );
87 + if ( ! $row ) {
88 + if(uwp_column_exist($meta_table, $key)){
89 + $row = $wpdb->get_row($wpdb->prepare("SELECT {$key} FROM {$meta_table} WHERE user_id = %d", $user_id), ARRAY_A);
90 + wp_cache_set( $obj_key, $row, 'uwp_usermeta' );
91 + }
92 + }
94 93
95 - if ( ! $row ) {
96 - if ( in_array( $key, array( 'user_id', 'user_ip', 'user_privacy', 'tabs_privacy', 'username', 'email', 'first_name', 'last_name', 'avatar_thumb', 'banner_thumb', 'display_name', 'user_url', 'bio' ) ) || uwp_column_exist( $meta_table, $key ) ) {
97 - $row = $wpdb->get_row( $wpdb->prepare( "SELECT `{$key}` FROM `{$meta_table}` WHERE user_id = %d", $user_id ), ARRAY_A );
98 - wp_cache_set( $obj_key, $row, 'uwp_usermeta' );
99 - }
100 - }
94 + if (!empty($row)) {
95 + $value = isset($row[$key]) ? $row[$key] : $default;
96 + } else {
97 + $value = $default;
98 + }
99 + break;
100 + }
101 + }
101 102
102 - if ( ! empty( $row ) ) {
103 - $value = isset( $row[ $key ] ) ? $row[ $key ] : $default;
104 - } else {
105 - $value = $default;
106 - }
107 - break;
108 - }
109 - }
103 + $value = uwp_maybe_unserialize($key, $value);
104 + $value = wp_unslash($value);
105 + $value = apply_filters( 'uwp_get_usermeta', $value, $user_id, $key, $default );
106 + return apply_filters( 'uwp_get_usermeta_' . $key, $value, $user_id, $key, $default );
107 + }
110 108
111 - $value = uwp_maybe_unserialize($key, $value);
112 - $value = wp_unslash($value);
113 - $value = apply_filters( 'uwp_get_usermeta', $value, $user_id, $key, $default );
114 -
115 - return apply_filters( 'uwp_get_usermeta_' . $key, $value, $user_id, $key, $default );
116 - }
117 -
118 109 /**
119 110 * Updates UsersWP user meta value using key.
120 111 *
121 112 * @since 1.0.0
@@ -126,69 +117,66 @@
126 117 * @param string $value User meta Value.
127 118 *
128 119 * @return bool Update success or not?.
129 120 */
130 - public function update_usermeta( $user_id, $key, $value ) {
131 - global $wpdb;
121 + public function update_usermeta( $user_id, $key, $value ) {
132 122
133 - if ( ! $user_id || ! $key ) {
134 - return false;
135 - }
123 + if (!$user_id || !$key ) {
124 + return false;
125 + }
136 126
137 - $meta_table = get_usermeta_table_prefix() . 'uwp_usermeta';
138 - $cache_group = 'uwp_usermeta';
139 - $obj_key = $user_id . '_' . $key;
127 + global $wpdb;
128 + $meta_table = get_usermeta_table_prefix() . 'uwp_usermeta';
129 + $cache_group = 'uwp_usermeta';
130 + $obj_key = $user_id . '_' . $key;
140 131
141 - if ( ! in_array( $key, array( 'user_id', 'user_ip', 'user_privacy', 'tabs_privacy', 'username', 'email', 'first_name', 'last_name', 'avatar_thumb', 'banner_thumb', 'display_name', 'user_url', 'bio' ) ) && ! uwp_column_exist( $meta_table, $key ) ) {
142 - return false;
143 - }
132 + if (uwp_str_ends_with($key, '_privacy')) {
133 + if ( 'tabs_privacy' == $key ) {
134 + $obj_key = $user_id . '_tabs_privacy';
135 + $cache_group = 'uwp_usermeta_tab_privacy';
136 + } elseif('user_privacy' == $key) {
137 + $obj_key = $user_id . '_user_privacy';
138 + $cache_group = 'uwp_usermeta_user_privacy';
139 + }
140 + }
144 141
145 - if ( uwp_str_ends_with( $key, '_privacy' ) ) {
146 - if ( 'tabs_privacy' == $key ) {
147 - $obj_key = $user_id . '_tabs_privacy';
148 - $cache_group = 'uwp_usermeta_tab_privacy';
149 - } elseif('user_privacy' == $key) {
150 - $obj_key = $user_id . '_user_privacy';
151 - $cache_group = 'uwp_usermeta_user_privacy';
152 - }
153 - }
142 + $user_meta_info = $wpdb->get_col( $wpdb->prepare( "SELECT $key FROM $meta_table WHERE user_id = %d", $user_id ) );
154 143
155 - $user_meta_info = $wpdb->get_col( $wpdb->prepare( "SELECT `{$key}` FROM `{$meta_table}` WHERE user_id = %d", $user_id ) );
144 + $value = apply_filters( 'uwp_update_usermeta', $value, $user_id, $key, $user_meta_info );
145 + $value = apply_filters( 'uwp_update_usermeta_' . $key, $value, $user_id, $key, $user_meta_info );
156 146
157 - $value = apply_filters( 'uwp_update_usermeta', $value, $user_id, $key, $user_meta_info );
158 - $value = apply_filters( 'uwp_update_usermeta_' . $key, $value, $user_id, $key, $user_meta_info );
147 + do_action( 'uwp_before_update_usermeta', $user_id, $key, $value, $user_meta_info );
159 148
160 - do_action( 'uwp_before_update_usermeta', $user_id, $key, $value, $user_meta_info );
149 + $value = uwp_maybe_serialize($key, $value);
161 150
162 - $value = uwp_maybe_serialize( $key, $value );
151 + if (!empty($user_meta_info)) {
152 + $result = $wpdb->update(
153 + $meta_table,
154 + array($key => $value),
155 + array('user_id' => $user_id),
156 + array('%s'),
157 + array('%d')
158 + );
163 159
164 - if ( ! empty( $user_meta_info ) ) {
165 - $result = $wpdb->update(
166 - $meta_table,
167 - array( $key => $value ),
168 - array( 'user_id' => $user_id ),
169 - array('%s'),
170 - array('%d')
171 - );
160 + if ( ! $result ) {
161 + return false;
162 + }
172 163
173 - if ( ! $result ) {
174 - return false;
175 - }
176 - } else {
177 - $result = $wpdb->insert(
178 - $meta_table,
179 - array( 'user_id' => $user_id, $key => $value )
180 - );
164 + } else {
165 + $result = $wpdb->insert(
166 + $meta_table,
167 + array('user_id' => $user_id, $key => $value)
168 + );
181 169
182 - if ( ! $result ) {
183 - return false;
184 - }
185 - }
170 + if ( ! $result ) {
171 + return false;
172 + }
173 + }
186 174
187 - wp_cache_delete( $obj_key, $cache_group );
175 + wp_cache_delete( $obj_key, $cache_group );
188 176
189 - return true;
190 - }
177 + return true;
178 + }
191 179
192 180 /**
193 181 * Gets UsersWP user meta row using user ID.
194 182 *
@@ -370,18 +358,16 @@
370 358 * @param string $key Custom field key.
371 359 *
372 360 * @return string Date string.
373 361 */
374 - public function modify_datepicker_value_on_update( $value, $user_id, $key ) {
375 - // Modify timestamp to date
376 - if ( is_int( $value ) ) {
377 - $field_info = uwp_get_custom_field_info( $key );
378 -
379 - if ( ! empty( $field_info ) && $field_info->field_type == 'datepicker' ) {
380 - $value = date( 'Y-m-d', $value );
362 + public function modify_datepicker_value_on_update($value, $user_id, $key) {
363 + // modify timestamp to date
364 + if (is_int($value)) {
365 + $field_info = uwp_get_custom_field_info($key);
366 + if ($field_info->field_type == 'datepicker') {
367 + $value = date('Y-m-d', $value);
381 368 }
382 369 }
383 -
384 370 return $value;
385 371 }
386 372
387 373 /**