mirror of
https://github.com/10h30/ultimatemember.git
synced 2026-06-05 15:09:37 +09:00
- fix um_submit_form_register()
This commit is contained in:
@@ -291,57 +291,54 @@ function um_submit_form_register( $args ) {
|
||||
}
|
||||
|
||||
/**
|
||||
* UM hook
|
||||
* Filters extend user data on registration form submit
|
||||
*
|
||||
* @type filter
|
||||
* @title um_add_user_frontend_submitted
|
||||
* @description Extend user data on registration form submit
|
||||
* @input_vars
|
||||
* [{"var":"$submitted","type":"array","desc":"Registration data"}]
|
||||
* @change_log
|
||||
* ["Since: 2.0"]
|
||||
* @usage
|
||||
* <?php add_filter( 'um_add_user_frontend_submitted', 'function_name', 10, 1 ); ?>
|
||||
* @example
|
||||
* <?php
|
||||
* add_filter( 'um_add_user_frontend_submitted', 'my_add_user_frontend_submitted', 10, 1 );
|
||||
* function my_add_user_frontend_submitted( $submitted ) {
|
||||
* @since 2.0
|
||||
* @hook um_add_user_frontend_submitted
|
||||
*
|
||||
* @param {array} $success Registration data.
|
||||
*
|
||||
* @return {array} Registration data.
|
||||
*
|
||||
* @example <caption>Registration data.</caption>
|
||||
* function my_add_user_frontend_submitted( $success, $updated ) {
|
||||
* // your code here
|
||||
* return $submitted;
|
||||
* }
|
||||
* ?>
|
||||
* add_filter( 'um_add_user_frontend_submitted', 'my_add_user_frontend_submitted', 10, 2 );
|
||||
*/
|
||||
$args = apply_filters( 'um_add_user_frontend_submitted', $args );
|
||||
|
||||
extract( $args );
|
||||
|
||||
if ( ! empty( $username ) && empty( $user_login ) ) {
|
||||
$user_login = $username;
|
||||
if ( ! empty( $args['user_login'] ) ) {
|
||||
$user_login = $args['user_login'];
|
||||
}
|
||||
if ( ! empty( $args['username'] ) && empty( $args['user_login'] ) ) {
|
||||
$user_login = $args['username'];
|
||||
}
|
||||
|
||||
if ( ! empty( $first_name ) && ! empty( $last_name ) && empty( $user_login ) ) {
|
||||
if ( ! empty( $args['first_name'] ) && ! empty( $args['last_name'] ) && empty( $user_login ) ) {
|
||||
|
||||
switch ( UM()->options()->get( 'permalink_base' ) ) {
|
||||
case 'name':
|
||||
$user_login = str_replace( " ", ".", $first_name . " " . $last_name );
|
||||
$user_login = str_replace( ' ', '.', $args['first_name'] . ' ' . $args['last_name'] );
|
||||
break;
|
||||
|
||||
case 'name_dash':
|
||||
$user_login = str_replace( " ", "-", $first_name . " " . $last_name );
|
||||
$user_login = str_replace( ' ', '-', $args['first_name'] . ' ' . $args['last_name'] );
|
||||
break;
|
||||
|
||||
case 'name_plus':
|
||||
$user_login = str_replace( " ", "+", $first_name . " " . $last_name );
|
||||
$user_login = str_replace( ' ', '+', $args['first_name'] . ' ' . $args['last_name'] );
|
||||
break;
|
||||
|
||||
default:
|
||||
$user_login = str_replace( " ", "", $first_name . " " . $last_name );
|
||||
$user_login = str_replace( ' ', '', $args['first_name'] . ' ' . $args['last_name'] );
|
||||
break;
|
||||
}
|
||||
$user_login = sanitize_user( strtolower( remove_accents( $user_login ) ), true );
|
||||
|
||||
if ( ! empty( $user_login ) ) {
|
||||
$count = 1;
|
||||
$count = 1;
|
||||
$temp_user_login = $user_login;
|
||||
while ( username_exists( $temp_user_login ) ) {
|
||||
$temp_user_login = $user_login . $count;
|
||||
@@ -351,56 +348,57 @@ function um_submit_form_register( $args ) {
|
||||
}
|
||||
}
|
||||
|
||||
if ( empty( $user_login ) && ! empty( $user_email ) ) {
|
||||
$user_login = $user_email;
|
||||
if ( empty( $user_login ) && ! empty( $args['user_email'] ) ) {
|
||||
$user_login = $args['user_email'];
|
||||
}
|
||||
|
||||
$unique_userID = uniqid();
|
||||
$unique_user_id = uniqid();
|
||||
|
||||
// see dbDelta and WP native DB structure user_login varchar(60)
|
||||
if ( empty( $user_login ) || mb_strlen( $user_login ) > 60 && ! is_email( $user_login ) ) {
|
||||
$user_login = 'user' . $unique_userID;
|
||||
$user_login = 'user' . $unique_user_id;
|
||||
while ( username_exists( $user_login ) ) {
|
||||
$unique_userID = uniqid();
|
||||
$user_login = 'user' . $unique_userID;
|
||||
$unique_user_id = uniqid();
|
||||
$user_login = 'user' . $unique_user_id;
|
||||
}
|
||||
}
|
||||
|
||||
if ( isset( $username ) && is_email( $username ) ) {
|
||||
$user_email = $username;
|
||||
if ( isset( $args['username'] ) && is_email( $args['username'] ) ) {
|
||||
$user_email = $args['username'];
|
||||
} elseif ( ! empty( $args['user_email'] ) ) {
|
||||
$user_email = $args['user_email'];
|
||||
}
|
||||
|
||||
if ( ! isset( $user_password ) ) {
|
||||
if ( ! isset( $args['user_password'] ) ) {
|
||||
$user_password = UM()->validation()->generate( 8 );
|
||||
} else {
|
||||
$user_password = $args['user_password'];
|
||||
}
|
||||
|
||||
if ( empty( $user_email ) ) {
|
||||
$site_url = @$_SERVER['SERVER_NAME'];
|
||||
$user_email = 'nobody' . $unique_userID . '@' . $site_url;
|
||||
$site_url = @$_SERVER['SERVER_NAME'];
|
||||
$user_email = 'nobody' . $unique_user_id . '@' . $site_url;
|
||||
while ( email_exists( $user_email ) ) {
|
||||
$unique_userID = uniqid();
|
||||
$user_email = 'nobody' . $unique_userID . '@' . $site_url;
|
||||
$unique_user_id = uniqid();
|
||||
$user_email = 'nobody' . $unique_user_id . '@' . $site_url;
|
||||
}
|
||||
|
||||
/**
|
||||
* UM hook
|
||||
* Filters change user default email if it's empty on registration
|
||||
*
|
||||
* @type filter
|
||||
* @title um_user_register_submitted__email
|
||||
* @description Change user default email if it's empty on registration
|
||||
* @input_vars
|
||||
* [{"var":"$user_email","type":"string","desc":"Default email"}]
|
||||
* @change_log
|
||||
* ["Since: 2.0"]
|
||||
* @usage
|
||||
* <?php add_filter( 'um_user_register_submitted__email', 'function_name', 10, 1 ); ?>
|
||||
* @example
|
||||
* <?php
|
||||
* add_filter( 'um_user_register_submitted__email', 'my_user_register_submitted__email', 10, 1 );
|
||||
* @since 2.0
|
||||
* @hook um_user_register_submitted__email
|
||||
*
|
||||
* @param {string} $user_email Default email.
|
||||
*
|
||||
* @return {string} $user_email Email.
|
||||
*
|
||||
* @example <caption>Change user default email if it's empty on registration.</caption>
|
||||
* function my_user_register_submitted__email( $user_email ) {
|
||||
* // your code here
|
||||
* return $user_email;
|
||||
* }
|
||||
* ?>
|
||||
* add_filter( 'um_user_register_submitted__email', 'my_user_register_submitted__email', 10, 1 );
|
||||
*/
|
||||
$user_email = apply_filters( 'um_user_register_submitted__email', $user_email );
|
||||
}
|
||||
@@ -418,9 +416,9 @@ function um_submit_form_register( $args ) {
|
||||
$args['submitted'] = array_merge( $args['submitted'], $credentials );
|
||||
|
||||
// set timestamp
|
||||
$timestamp = current_time( 'timestamp' );
|
||||
$timestamp = current_time( 'timestamp' );
|
||||
$args['submitted']['timestamp'] = $timestamp;
|
||||
$args['timestamp'] = $timestamp;
|
||||
$args['timestamp'] = $timestamp;
|
||||
|
||||
$args = array_merge( $args, $credentials );
|
||||
|
||||
@@ -439,57 +437,48 @@ function um_submit_form_register( $args ) {
|
||||
}
|
||||
|
||||
/**
|
||||
* UM hook
|
||||
* Filters change user role on registration process
|
||||
*
|
||||
* @type filter
|
||||
* @title um_registration_user_role
|
||||
* @description Change user role on registration process
|
||||
* @input_vars
|
||||
* [{"var":"$role","type":"string","desc":"User role"},
|
||||
* {"var":"$submitted","type":"array","desc":"Registration data"}]
|
||||
* @change_log
|
||||
* ["Since: 2.0"]
|
||||
* @usage
|
||||
* <?php add_filter( 'um_registration_user_role', 'function_name', 10, 2 ); ?>
|
||||
* @example
|
||||
* <?php
|
||||
* add_filter( 'um_registration_user_role', 'my_registration_user_role', 10, 2 );
|
||||
* function my_user_register_submitted__email( $role, $submitted ) {
|
||||
* @since 2.0
|
||||
* @hook um_registration_user_role
|
||||
*
|
||||
* @param {string} $user_role User role.
|
||||
* @param {array} $args Registration data.
|
||||
*
|
||||
* @return {string} $user_role User role.
|
||||
*
|
||||
* @example <caption>Change user role on registration process.</caption>
|
||||
* function my_registration_user_role( $user_role, $args ) {
|
||||
* // your code here
|
||||
* return $role;
|
||||
* return $user_role;
|
||||
* }
|
||||
* ?>
|
||||
* add_filter( 'um_registration_user_role', 'my_registration_user_role', 10, 2 );
|
||||
*/
|
||||
$user_role = apply_filters( 'um_registration_user_role', $user_role, $args );
|
||||
|
||||
$userdata = array(
|
||||
'user_login' => $user_login,
|
||||
'user_pass' => $user_password,
|
||||
'user_email' => $user_email,
|
||||
'role' => $user_role,
|
||||
'user_login' => $user_login,
|
||||
'user_pass' => $user_password,
|
||||
'user_email' => $user_email,
|
||||
'role' => $user_role,
|
||||
);
|
||||
|
||||
$user_id = wp_insert_user( $userdata );
|
||||
|
||||
/**
|
||||
* UM hook
|
||||
* Fires after complete UM user registration.
|
||||
*
|
||||
* @type action
|
||||
* @title um_user_register
|
||||
* @description After complete UM user registration.
|
||||
* @input_vars
|
||||
* [{"var":"$user_id","type":"int","desc":"User ID"},
|
||||
* {"var":"$args","type":"array","desc":"Form data"}]
|
||||
* @change_log
|
||||
* ["Since: 2.0"]
|
||||
* @usage add_action( 'um_user_register', 'function_name', 10, 2 );
|
||||
* @example
|
||||
* <?php
|
||||
* add_action( 'um_user_register', 'my_user_register', 10, 2 );
|
||||
* function my_user_register( $user_id, $args ) {
|
||||
* @since 2.0
|
||||
* @hook um_user_register
|
||||
*
|
||||
* @param {int} $user_id User ID.
|
||||
* @param {array} $user_id Form data.
|
||||
*
|
||||
* @example <caption>Make any custom action after complete UM user registration.</caption>
|
||||
* function um_user_register( $user_id, $args ) {
|
||||
* // your code here
|
||||
* }
|
||||
* ?>
|
||||
* add_action( 'um_user_register', 'um_user_register', 10, 2 );
|
||||
*/
|
||||
do_action( 'um_user_register', $user_id, $args );
|
||||
|
||||
|
||||
Reference in New Issue
Block a user