Function Reference: geodir_generate_user_nicename

Summary

This function has not been documented yet.

Filters

‘pre_user_nicename’ [Line: 763]

Source File

geodir_generate_user_nicename() is located in geodirectory-functions/signup_function.php [Line: 752]

Source Code

function geodir_generate_user_nicename( $display_name, $user_login ) {
	global $wpdb;
	$user_nicename = '';
	if ( ! empty( $display_name ) ) {
		$user_nicename = sanitize_user( $display_name, true );
	}
	if ( empty( $user_nicename ) ) {
		$user_nicename = $user_login;
	}
	$user_nicename = mb_substr( $user_nicename, 0, 50 );
	$user_nicename = sanitize_title( $user_nicename );
	$user_nicename = apply_filters( 'pre_user_nicename', $user_nicename );
				
	$user_nicename_check = $wpdb->get_var( $wpdb->prepare("SELECT ID FROM $wpdb->users WHERE user_nicename = %s AND user_login != %s LIMIT 1" , $user_nicename, $user_login));
		
	if ( $user_nicename_check ) {
		$suffix = 2;
		while ($user_nicename_check) {
			// user_nicename allows 50 chars. Subtract one for a hyphen, plus the length of the suffix.
			$base_length = 49 - mb_strlen( $suffix );
			$alt_user_nicename = mb_substr( $user_nicename, 0, $base_length ) . "-$suffix";
			$user_nicename_check = $wpdb->get_var( $wpdb->prepare("SELECT ID FROM $wpdb->users WHERE user_nicename = %s AND user_login != %s LIMIT 1" , $alt_user_nicename, $user_login));
			$suffix++;
		}
		$user_nicename = $alt_user_nicename;
	}
	return $user_nicename;
}