PluginProbe
User Profile Builder – Beautiful User Registration Forms, User Profiles & User Role Editor / 4.0.3
User Profile Builder – Beautiful User Registration Forms, User Profiles & User Role Editor v4.0.3
4.0.3 4.0.2 4.0.1 4.0.0 3.16.6 3.16.5 3.16.4 3.16.3 3.16.2 3.16.1 3.16.0 3.15.9 3.9.9 3.9.5 3.9.6 3.9.7 3.9.8 1.1.7 1.1.8 1.1.9 2.0.2 2.0.3 2.0.4 2.0.5 2.0.6 All 341 releases
profile-builder / admin / advanced-settings / includes / fields / unique-display-name.php

unique-display-name.php in User Profile Builder – Beautiful User Registration Forms, User Profiles & User Role Editor 4.0.3, at admin/advanced-settings/includes/fields/unique-display-name.php

58 lines 2.2 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 // Exit if accessed directly
3 if ( ! defined( 'ABSPATH' ) ) exit;
4
5 function wppb_toolbox_unique_display_name_edit_profile( $message, $field, $request_data, $form_location ) {
6
7 if ( isset( $request_data['display_name']) ) {
8 if( isset( $_REQUEST['edit_user'] ) && ( ( !is_multisite() && current_user_can( 'edit_users' ) ) || ( is_multisite() && ( current_user_can( 'remove_users' ) || current_user_can( 'manage_options' ) ) ) ) ){
9 $user = get_userdata( absint( $_REQUEST['edit_user'] ) );
10 } else if ( isset( $request_data['user_id'] ) ) {
11 $user = get_userdata( $request_data['user_id'] );
12 } else {
13 $user = wp_get_current_user();
14 }
15
16 if ( $request_data['display_name'] == $user->display_name )
17 return $message;
18
19 if ( wppb_toolbox_unique_display_name_check( $request_data['display_name'] ) ) {
20 return __('This display name is already in use. Please choose another one.', 'profile-builder');
21 }
22 }
23
24 return $message;
25
26 }
27 add_filter( 'wppb_check_form_field_default-display-name-publicly-as', 'wppb_toolbox_unique_display_name_edit_profile', 20, 4 );
28
29 function wppb_toolbox_unique_display_name_register( $display_name ){
30 if ( isset( $_POST['action'] ) &&
31 ( ( $_POST['action'] === 'register' ) ||
32 ( isset( $_POST['todo'] ) && $_POST['action'] === 'wppb_handle_email_confirmation_cases' && $_POST['todo'] === 'confirm' )
33 )
34 ) {
35 if (isset($display_name)) {
36 if (wppb_toolbox_unique_display_name_check($display_name)) {
37 $i = 1;
38 while (wppb_toolbox_unique_display_name_check($display_name . ' ' . $i)) {
39 $i++;
40 }
41 $display_name = $display_name . ' ' . $i;
42 }
43 }
44 }
45 return $display_name;
46 }
47 add_filter( 'pre_user_display_name', 'wppb_toolbox_unique_display_name_register', 10 );
48
49 function wppb_toolbox_unique_display_name_check($display_name ){
50 global $wpdb;
51
52 $count = $wpdb->get_var( $wpdb->prepare( "SELECT COUNT(ID) FROM $wpdb->users WHERE display_name = %s", $display_name ) );
53
54 if ( $count >= 1 ){
55 return true;
56 }
57 return false;
58 }