From 07fc2592bf07b1613606e9d0b31093da41aa3116 Mon Sep 17 00:00:00 2001 From: ashubawork Date: Thu, 22 Jun 2023 12:21:55 +0300 Subject: [PATCH] - fix um_submit_form_register() --- includes/core/um-actions-register.php | 169 ++++++++++++-------------- 1 file changed, 79 insertions(+), 90 deletions(-) diff --git a/includes/core/um-actions-register.php b/includes/core/um-actions-register.php index 793feb16..e83af67f 100644 --- a/includes/core/um-actions-register.php +++ b/includes/core/um-actions-register.php @@ -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 - * - * @example - * Registration data. + * 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 - * - * @example - * Change user default email if it's empty on registration. * 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 - * - * @example - * Change user role on registration process. + * 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 - * Make any custom action after complete UM user registration. + * 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 );