| @@ -108,17 +108,17 @@ | ||
| 108 | 108 | return $page->is_users_page(); |
| 109 | 109 | } |
| 110 | 110 | |
| 111 | 111 | /** |
| 112 | - * Checks whether the current page is multi register page or not. | |
| 112 | + * Checks whether the current page is users list item page or not. | |
| 113 | 113 | * |
| 114 | 114 | * @since 1.0.0 |
| 115 | 115 | * @package userswp |
| 116 | 116 | * @return bool |
| 117 | 117 | */ |
| 118 | -function is_uwp_multi_register_page() { | |
| 118 | +function is_uwp_users_item_page() { | |
| 119 | 119 | $page = new UsersWP_Pages(); |
| 120 | - return $page->is_multi_register_page(); | |
| 120 | + return $page->is_user_item_page(); | |
| 121 | 121 | } |
| 122 | 122 | |
| 123 | 123 | /** |
| 124 | 124 | * Checks whether the current page is logged in user profile page or not. |
| @@ -183,5 +183,433 @@ | ||
| 183 | 183 | */ |
| 184 | 184 | function uwp_generate_default_pages() { |
| 185 | 185 | $page = new UsersWP_Pages(); |
| 186 | 186 | $page->generate_default_pages(); |
| 187 | +} | |
| 188 | + | |
| 189 | +function uwp_get_page_id($type, $link = false) { | |
| 190 | + $page = new UsersWP_Pages(); | |
| 191 | + return $page->get_page_id($type, $link); | |
| 192 | +} | |
| 193 | + | |
| 194 | +function uwp_get_user_badge($args){ | |
| 195 | + global $wpdb; | |
| 196 | + | |
| 197 | + if ( isset($args) && empty( $args['user_id'] ) ) { | |
| 198 | + return; | |
| 199 | + } | |
| 200 | + | |
| 201 | + $user = get_userdata($args['user_id']); | |
| 202 | + if(!$user){ | |
| 203 | + return; | |
| 204 | + } | |
| 205 | + | |
| 206 | + $defaults = array( | |
| 207 | + 'user_id' => 0, | |
| 208 | + 'key' => '', | |
| 209 | + 'condition' => '', | |
| 210 | + 'search' => 'is_equal', | |
| 211 | + 'badge' => '', | |
| 212 | + 'link' => '', | |
| 213 | + 'new_window' => '', | |
| 214 | + 'bg_color' => '#0073aa', | |
| 215 | + 'txt_color' => '#ffffff', | |
| 216 | + 'size' => '', | |
| 217 | + 'alignment' => '', | |
| 218 | + 'css_class' => '', | |
| 219 | + 'onclick' => '', | |
| 220 | + 'icon_class'=> '', | |
| 221 | + 'extra_attributes'=> '', | |
| 222 | + 'tag' => '', | |
| 223 | + 'popover_title'=> '', | |
| 224 | + 'popover_text'=> '', | |
| 225 | + 'tooltip_text' => '', | |
| 226 | + 'hover_content' => '', | |
| 227 | + 'hover_icon' => '', | |
| 228 | + 'type'=> '', // AUI only | |
| 229 | + 'color'=> '', // AUI only | |
| 230 | + 'shadow'=> '', // AUI only | |
| 231 | + ); | |
| 232 | + | |
| 233 | + $args = shortcode_atts( $defaults, $args, 'uwp_user_badge' ); | |
| 234 | + | |
| 235 | + $output = ''; | |
| 236 | + $table_name = uwp_get_table_prefix() . 'uwp_form_fields'; | |
| 237 | + $match_field = $args['key']; | |
| 238 | + $badge = $args['badge']; | |
| 239 | + $field = array(); | |
| 240 | + $user_id = $user->ID; | |
| 241 | + | |
| 242 | + // Check if there is a specific filter for field. | |
| 243 | + if ( has_filter( 'uwp_output_badge_field_key_' . $match_field ) ) { | |
| 244 | + $output = apply_filters( 'uwp_output_badge_field_key_' . $match_field, $output, $user, $args ); | |
| 245 | + } | |
| 246 | + | |
| 247 | + if ( $match_field ) { | |
| 248 | + $form_id = uwp_get_register_form_id( $user->ID ); | |
| 249 | + $fields = $wpdb->get_results($wpdb->prepare("SELECT * FROM " . $table_name . " WHERE form_type = 'account' AND htmlvar_name = %s AND form_id = %d", $match_field, $form_id)); | |
| 250 | + | |
| 251 | + if(!$fields){ | |
| 252 | + return $output; | |
| 253 | + } | |
| 254 | + | |
| 255 | + $field = isset($fields[0]) ? $fields[0] : ''; | |
| 256 | + | |
| 257 | + if ( ! empty( $field ) ) { | |
| 258 | + // Check if there is a specific filter for key type. | |
| 259 | + if ( has_filter( 'uwp_output_badge_key_' . $field->field_type_key ) ) { | |
| 260 | + $output = apply_filters( 'uwp_output_badge_key_' . $field->field_type_key, $output, $user, $args, $field ); | |
| 261 | + } | |
| 262 | + | |
| 263 | + // Check if there is a specific filter for condition. | |
| 264 | + if ( has_filter( 'uwp_output_badge_condition_' . $args['condition'] ) ) { | |
| 265 | + $output = apply_filters( 'uwp_output_badge_condition_' . $args['condition'], $output, $user, $args, $field ); | |
| 266 | + } | |
| 267 | + } else { | |
| 268 | + return $output; | |
| 269 | + } | |
| 270 | + } | |
| 271 | + | |
| 272 | + // If not then we run the standard output. | |
| 273 | + if ( empty( $output ) ) { | |
| 274 | + $search = $args['search']; | |
| 275 | + $match_found = $match_field === '' ? true : false; | |
| 276 | + $is_date = ( isset( $field->field_type ) && $field->field_type == 'datepicker' ) ? true : false; | |
| 277 | + $is_date = apply_filters( 'uwp_user_badge_is_date', $is_date, $match_field, $field, $args ); | |
| 278 | + | |
| 279 | + $excluded_fields = uwp_get_excluded_fields(); | |
| 280 | + if(isset($field->htmlvar_name) && in_array($field->htmlvar_name, $excluded_fields)){ | |
| 281 | + $match_value = ''; | |
| 282 | + } else { | |
| 283 | + $match_value = uwp_get_usermeta($user->ID, $field->htmlvar_name, ""); | |
| 284 | + } | |
| 285 | + | |
| 286 | + if ( ! $match_found ) { | |
| 287 | + if ( $field->field_type == 'datepicker' && empty( $args['condition'] ) || $args['condition'] == 'is_greater_than' || $args['condition'] == 'is_less_than' ) { | |
| 288 | + if( ( empty($args['condition']) || $args['condition'] == 'is_less_than' ) && strpos( $search, '-' ) === false ) { | |
| 289 | + $search = str_replace('+','',$search); | |
| 290 | + $search = '-' . $search; | |
| 291 | + } elseif ( $args['condition'] == 'is_greater_than' && strpos( $search, '+' ) === false ) { | |
| 292 | + $search = str_replace('-','',$search); | |
| 293 | + $search = '+' . $search; | |
| 294 | + } | |
| 295 | + | |
| 296 | + $the_time = strtotime(date( 'Y-m-d', $match_value )); | |
| 297 | + $until_time = strtotime( date_i18n( 'Y-m-d', current_time( 'timestamp' ) ) . ' ' . $search . ' days' ); | |
| 298 | + $now_time = strtotime( date_i18n( 'Y-m-d', current_time( 'timestamp' ) ) ); | |
| 299 | + | |
| 300 | + | |
| 301 | + if ( ( empty( $args['condition'] ) || $args['condition'] == 'is_less_than' ) && $the_time <= $now_time && $the_time >= $until_time ) { | |
| 302 | + $match_found = true; | |
| 303 | + } elseif ( $args['condition'] == 'is_greater_than' && $the_time >= $now_time && $the_time <= $until_time ) { | |
| 304 | + $match_found = true; | |
| 305 | + } | |
| 306 | + } else { | |
| 307 | + switch ( $args['condition'] ) { | |
| 308 | + case 'is_equal': | |
| 309 | + $match_found = (bool) ( $search != '' && $match_value == $search ); | |
| 310 | + break; | |
| 311 | + case 'is_not_equal': | |
| 312 | + $match_found = (bool) ( $search != '' && $match_value != $search ); | |
| 313 | + break; | |
| 314 | + case 'is_greater_than': | |
| 315 | + $match_found = (bool) ( $search != '' && is_float( $search ) && is_float( $match_value ) && $match_value > $search ); | |
| 316 | + break; | |
| 317 | + case 'is_less_than': | |
| 318 | + $match_found = (bool) ( $search != '' && is_float( $search ) && is_float( $match_value ) && $match_value < $search ); | |
| 319 | + break; | |
| 320 | + case 'is_empty': | |
| 321 | + $match_found = (bool) ( $match_value === '' || $match_value === false || $match_value === '0' || is_null( $match_value ) ); | |
| 322 | + break; | |
| 323 | + case 'is_not_empty': | |
| 324 | + $match_found = (bool) ( $match_value !== '' && $match_value !== false && $match_value !== '0' && ! is_null( $match_value ) ); | |
| 325 | + break; | |
| 326 | + case 'is_contains': | |
| 327 | + $match_found = (bool) ( $search != '' && stripos( $match_value, $search ) !== false ); | |
| 328 | + break; | |
| 329 | + case 'is_not_contains': | |
| 330 | + $match_found = (bool) ( $search != '' && stripos( $match_value, $search ) === false ); | |
| 331 | + break; | |
| 332 | + } | |
| 333 | + } | |
| 334 | + } | |
| 335 | + | |
| 336 | + $match_found = apply_filters( 'uwp_user_badge_check_match_found', $match_found, $args, $user ); | |
| 337 | + | |
| 338 | + if ( $match_found ) { | |
| 339 | + if ( $is_date && ! empty( $match_value ) && strpos( $match_value, '0000-00-00' ) === false ) { | |
| 340 | + $args['datetime'] = mysql2date( 'c', $match_value, false ); | |
| 341 | + } | |
| 342 | + | |
| 343 | + // Option value | |
| 344 | + if ( ! empty( $field->option_values ) ) { | |
| 345 | + $option_values = uwp_string_values_to_options( stripslashes_deep( $field->option_values ), true ); | |
| 346 | + | |
| 347 | + if ( ! empty( $option_values ) ) { | |
| 348 | + if ( ! empty( $field->option_values ) && $field->option_values == 'multiselect' ) { | |
| 349 | + $values = explode( ',', trim( $match_value, ', ' ) ); | |
| 350 | + | |
| 351 | + if ( is_array( $values ) ) { | |
| 352 | + $values = array_map( 'trim', $values ); | |
| 353 | + } | |
| 354 | + | |
| 355 | + $_match_value = array(); | |
| 356 | + foreach ( $option_values as $option_value ) { | |
| 357 | + if ( isset( $option_value['value'] ) && in_array( $option_value['value'], $values ) ) { | |
| 358 | + $_match_value[] = $option_value['label']; | |
| 359 | + } | |
| 360 | + } | |
| 361 | + | |
| 362 | + $match_value = ! empty( $_match_value ) ? implode( ', ', $_match_value ) : ''; | |
| 363 | + } else { | |
| 364 | + foreach ( $option_values as $option_value ) { | |
| 365 | + if ( isset( $option_value['value'] ) && $option_value['value'] == $match_value ) { | |
| 366 | + $match_value = $option_value['label']; | |
| 367 | + } | |
| 368 | + } | |
| 369 | + } | |
| 370 | + } | |
| 371 | + } | |
| 372 | + | |
| 373 | + $match_value = apply_filters( 'uwp_post_badge_match_value', $match_value, $match_field, $args, $user, $field ); | |
| 374 | + | |
| 375 | + // File | |
| 376 | + if ( ! empty( $badge ) && ! empty( $match_value ) && ! empty( $field->field_type ) && $field->field_type == 'file' ) { | |
| 377 | + $badge = $match_value; | |
| 378 | + } | |
| 379 | + | |
| 380 | + // badge text | |
| 381 | + if ( empty( $badge ) && empty($args['icon_class']) ) { | |
| 382 | + $badge = isset($field->site_title) ? $field->site_title : ''; | |
| 383 | + } | |
| 384 | + // Decode entities in the admin-authored template text now, before any | |
| 385 | + // untrusted user values are substituted in below. Decoding after | |
| 386 | + // substitution would undo the escaping applied to those values. | |
| 387 | + if ( ! empty( $badge ) ) { | |
| 388 | + $badge = wp_specialchars_decode( $badge, ENT_QUOTES ); | |
| 389 | + } | |
| 390 | + if( !empty( $badge ) && $badge = str_replace("%%input%%", esc_html( (string) $match_value ), $badge) ){ | |
| 391 | + // will be replace in condition check | |
| 392 | + } | |
| 393 | + if( !empty( $badge ) && $user_id && $badge = str_replace("%%profile_url%%", esc_url( uwp_build_profile_tab_url($user_id) ),$badge) ){ | |
| 394 | + // will be replace in condition check | |
| 395 | + } | |
| 396 | + | |
| 397 | + // link url, replace vars | |
| 398 | + if ( ! empty( $args['link'] ) && $args['link'] = str_replace( "%%input%%", $match_value, $args['link'] ) ) { | |
| 399 | + // will be replace in condition check | |
| 400 | + if ( ! empty( $field->field_type ) && $field->field_type == 'url' ) { | |
| 401 | + $args['link'] = esc_url( $args['link'] ); | |
| 402 | + } else { | |
| 403 | + $args['link'] = esc_attr( $args['link'] ); | |
| 404 | + } | |
| 405 | + } | |
| 406 | + | |
| 407 | + if( !empty( $args['link'] ) && $user_id && $args['link'] = str_replace("%%profile_url%%", uwp_build_profile_tab_url($user_id),$args['link']) ){ | |
| 408 | + // will be replace in condition check | |
| 409 | + } | |
| 410 | + | |
| 411 | + // replace other post variables | |
| 412 | + if(!empty($badge)){ | |
| 413 | + $badge = uwp_replace_variables($badge, $user_id); | |
| 414 | + } | |
| 415 | + if(!empty($args['popover_title'])){ | |
| 416 | + $args['popover_title'] = uwp_replace_variables($args['popover_title'], $user_id); | |
| 417 | + } | |
| 418 | + if(!empty($args['popover_text'])){ | |
| 419 | + $args['popover_text'] = uwp_replace_variables($args['popover_text'], $user_id); | |
| 420 | + } | |
| 421 | + if(!empty($args['tooltip_text'])){ | |
| 422 | + $args['tooltip_text'] = uwp_replace_variables($args['tooltip_text'], $user_id); | |
| 423 | + } | |
| 424 | + if(!empty($args['hover_content'])){ | |
| 425 | + $args['hover_content'] = uwp_replace_variables($args['hover_content'], $user_id); | |
| 426 | + } | |
| 427 | + | |
| 428 | + $rel = ''; | |
| 429 | + if(!empty($args['link'])){ | |
| 430 | + $rel = strpos($args['link'], get_site_url()) !== false ? '' : 'rel="nofollow"'; | |
| 431 | + } | |
| 432 | + | |
| 433 | + $new_window = ''; | |
| 434 | + if ( ! empty( $args['new_window'] ) ) { | |
| 435 | + $new_window = ' target="_blank" '; | |
| 436 | + } | |
| 437 | + | |
| 438 | + $badge = ! empty( $badge ) ? __( $badge, 'userswp' ) : ''; | |
| 439 | + | |
| 440 | + // phone & email link | |
| 441 | + if ( ! empty( $field ) && ! empty( $field->field_type ) && ! empty( $args['link'] ) && strpos( $args['link'], 'http' ) !== 0 ) { | |
| 442 | + if ( $field->field_type == 'phone' ) { | |
| 443 | + $rel = 'rel="nofollow"'; | |
| 444 | + if ( strpos( $args['link'], 'tel:' ) !== 0 ) { | |
| 445 | + $args['link'] = 'tel:' . preg_replace( '/[^0-9+]/', '', $args['link'] ); | |
| 446 | + } | |
| 447 | + } elseif ( $field->field_type == 'email' ) { | |
| 448 | + $rel = 'rel="nofollow"'; | |
| 449 | + if ( strpos( $args['link'], 'mailto:' ) !== 0 ) { | |
| 450 | + $args['link'] = 'mailto:' . $args['link']; | |
| 451 | + } | |
| 452 | + } | |
| 453 | + } | |
| 454 | + | |
| 455 | + $badge = apply_filters( 'uwp_user_badge_output_badge', $badge, $match_value, $match_field, $args, $user, $field ); | |
| 456 | + | |
| 457 | + $btn_class = 'border-0 align-middle uwp-badge'; | |
| 458 | + // color | |
| 459 | + $color_custom = true; | |
| 460 | + if( !empty( $args['color'] ) ) { | |
| 461 | + $btn_class .= ' badge-' . sanitize_html_class($args['color']); | |
| 462 | + $color_custom = false; | |
| 463 | + }else{ | |
| 464 | + $btn_class .= ' badge-primary'; // custom colors will override this anyway. | |
| 465 | + } | |
| 466 | + | |
| 467 | + // shadow | |
| 468 | + if( !empty( $args['shadow'] ) ) { | |
| 469 | + if($args['shadow']=='small'){ $btn_class .= ' shadow-sm'; } | |
| 470 | + elseif($args['shadow']=='medium'){ $btn_class .= ' shadow'; } | |
| 471 | + elseif($args['shadow']=='large'){ $btn_class .= ' shadow-lg'; } | |
| 472 | + } | |
| 473 | + | |
| 474 | + // type | |
| 475 | + if( !empty( $args['type'] ) && $args['type']=='pill' ){ | |
| 476 | + $btn_class .= ' badge badge-pill'; | |
| 477 | + }else{ | |
| 478 | + $btn_class .= ' badge'; | |
| 479 | + } | |
| 480 | + | |
| 481 | + if ( ! empty( $args['css_class'] ) ) { | |
| 482 | + $btn_class .= ' ' .esc_attr($args['css_class']) ; | |
| 483 | + } | |
| 484 | + $btn_args = array( | |
| 485 | + 'class' => $btn_class, | |
| 486 | + 'content' => $badge, | |
| 487 | + 'style' => $color_custom ? 'background-color:' . sanitize_hex_color( $args['bg_color'] ) . ';color:' . sanitize_hex_color( $args['txt_color'] ) . ';' : '', | |
| 488 | + 'data-badge' => esc_attr($match_field), | |
| 489 | + 'data-badge-condition' => esc_attr($args['condition']), | |
| 490 | + ); | |
| 491 | + | |
| 492 | + // onclick | |
| 493 | + if(!empty($args['onclick'])){ | |
| 494 | + $btn_args['onclick'] = esc_attr($args['onclick']); | |
| 495 | + } | |
| 496 | + | |
| 497 | + // popover / tooltip | |
| 498 | + $pop_link = false; | |
| 499 | + if(!empty($args['popover_title']) || !empty($args['popover_text'])){ | |
| 500 | + $btn_args['type'] = "button"; | |
| 501 | + $btn_args['data-toggle'] = "popover-html"; | |
| 502 | + $btn_args['data-placement'] = "top"; | |
| 503 | + $pop_link = true; | |
| 504 | + if(!empty($args['popover_title'])){ | |
| 505 | + $btn_args['title'] = !empty($args['link']) && $args['link']!='#' ? "<a href='".esc_url($args['link'])."' $new_window $rel>".$args['popover_title']."</a>" : $args['popover_title']; | |
| 506 | + } | |
| 507 | + if(!empty($args['popover_text'])){ | |
| 508 | + $btn_args['data-content'] = !empty($args['link']) && $args['link']!='#' ? "<a href='".esc_url($args['link'])."' $new_window $rel>".$args['popover_text']."</a>" : $args['popover_text']; | |
| 509 | + } | |
| 510 | + }elseif(!empty($args['tooltip_text'])){ | |
| 511 | + $btn_args['data-toggle'] = "tooltip"; | |
| 512 | + $btn_args['data-placement'] = "top"; | |
| 513 | + $btn_args['title'] = esc_attr($args['tooltip_text']); | |
| 514 | + } | |
| 515 | + | |
| 516 | + // hover content | |
| 517 | + if(!empty($args['hover_content'])){ | |
| 518 | + $btn_args['hover_content'] = $args['hover_content']; | |
| 519 | + } | |
| 520 | + if(!empty($args['hover_icon'])){ | |
| 521 | + $btn_args['hover_icon'] = $args['hover_icon']; | |
| 522 | + } | |
| 523 | + | |
| 524 | + // style | |
| 525 | + $btn_args['style'] = ''; | |
| 526 | + if($color_custom && !empty($args['bg_color'])){ | |
| 527 | + $btn_args['style'] .= 'background-color:' . sanitize_hex_color( $args['bg_color'] ) . ';border-color:' . sanitize_hex_color( $args['bg_color'] ).';'; | |
| 528 | + } | |
| 529 | + if($color_custom && !empty($args['txt_color'])){ | |
| 530 | + $btn_args['style'] .= 'color:' . sanitize_hex_color( $args['txt_color'] ) . ';'; | |
| 531 | + } | |
| 532 | + | |
| 533 | + if(!empty($args['link']) && $args['link']!='#' && !$pop_link){ | |
| 534 | + $btn_args['href'] = $args['link']; | |
| 535 | + } | |
| 536 | + | |
| 537 | + if(!empty($args['link']) && $new_window){ | |
| 538 | + $btn_args['new_window'] = true; | |
| 539 | + } | |
| 540 | + | |
| 541 | + if(!empty($args['icon_class'])) { $btn_args['icon'] = $args['icon_class'];} | |
| 542 | + | |
| 543 | + $output = '<span class="bsui uwp-badge-meta">'; | |
| 544 | + if(!empty($args['size'])){$output .= '<span class="'.esc_attr($args['size']).'">';} | |
| 545 | + $output .= aui()->badge( $btn_args ); | |
| 546 | + if(!empty($args['size'])){$output .= '</span>';} | |
| 547 | + $output .= '</span>'; | |
| 548 | + } | |
| 549 | + } | |
| 550 | + | |
| 551 | + return $output; | |
| 552 | +} | |
| 553 | + | |
| 554 | +function uwp_aui_colors($include_branding = false){ | |
| 555 | + $theme_colors = array( | |
| 556 | + "primary" => __('Primary', 'userswp'), | |
| 557 | + "secondary" => __('Secondary', 'userswp'), | |
| 558 | + "success" => __('Success', 'userswp'), | |
| 559 | + "danger" => __('Danger', 'userswp'), | |
| 560 | + "warning" => __('Warning', 'userswp'), | |
| 561 | + "info" => __('Info', 'userswp'), | |
| 562 | + "light" => __('Light', 'userswp'), | |
| 563 | + "dark" => __('Dark', 'userswp'), | |
| 564 | + "white" => __('White', 'userswp'), | |
| 565 | + "purple" => __('Purple', 'userswp'), | |
| 566 | + "salmon" => __('Salmon', 'userswp'), | |
| 567 | + "cyan" => __('Cyan', 'userswp'), | |
| 568 | + "gray" => __('Gray', 'userswp'), | |
| 569 | + "indigo" => __('Indigo', 'userswp'), | |
| 570 | + "orange" => __('Orange', 'userswp'), | |
| 571 | + ); | |
| 572 | + | |
| 573 | + if($include_branding){ | |
| 574 | + $theme_colors = $theme_colors + uwp_aui_branding_colors(); | |
| 575 | + } | |
| 576 | + | |
| 577 | + return $theme_colors; | |
| 578 | +} | |
| 579 | + | |
| 580 | +function uwp_aui_branding_colors(){ | |
| 581 | + return array( | |
| 582 | + "facebook" => __('Facebook', 'userswp'), | |
| 583 | + "twitter" => __('Twitter', 'userswp'), | |
| 584 | + "instagram" => __('Instagram', 'userswp'), | |
| 585 | + "linkedin" => __('Linkedin', 'userswp'), | |
| 586 | + "flickr" => __('Flickr', 'userswp'), | |
| 587 | + "github" => __('GitHub', 'userswp'), | |
| 588 | + "youtube" => __('YouTube', 'userswp'), | |
| 589 | + "wordpress" => __('WordPress', 'userswp'), | |
| 590 | + "google" => __('Google', 'userswp'), | |
| 591 | + "yahoo" => __('Yahoo', 'userswp'), | |
| 592 | + "vkontakte" => __('Vkontakte', 'userswp'), | |
| 593 | + ); | |
| 594 | +} | |
| 595 | + | |
| 596 | +function uwp_replace_variables($text, $user_id = ''){ | |
| 597 | + // only run if we have a user ID and the start of a var | |
| 598 | + if(!empty($user_id) && strpos( $text, '%%' ) !== false){ | |
| 599 | + $excluded_fields = uwp_get_excluded_fields(); | |
| 600 | + $user_data = uwp_get_usermeta_row($user_id); | |
| 601 | + if(isset($user_data)){ | |
| 602 | + foreach($user_data as $key => $val) { | |
| 603 | + if ( ! in_array( $key, $excluded_fields ) ) { | |
| 604 | + $val = apply_filters( 'uwp_replace_variables_' . $key, $val, $text ); | |
| 605 | + if ( is_scalar( $val ) ) { | |
| 606 | + $val = esc_html( (string) $val ); | |
| 607 | + } | |
| 608 | + $text = str_replace( '%%' . $key . '%%', $val, $text ); | |
| 609 | + } | |
| 610 | + } | |
| 611 | + } | |
| 612 | + } | |
| 613 | + | |
| 614 | + return $text; | |
| 187 | 615 | } |