diff options
author | Anthony G. Basile <blueness@gentoo.org> | 2016-10-23 07:44:25 -0400 |
---|---|---|
committer | Anthony G. Basile <blueness@gentoo.org> | 2016-10-23 07:44:25 -0400 |
commit | e615e1dc974dd17d20ec6aeb1b7718099241562c (patch) | |
tree | 736d0e069aa69affcd7c3c57a7bb5a158c8b953a /plugins/jetpack/modules/sso | |
parent | Update plugin akismet to 3.2 (diff) | |
download | blogs-gentoo-e615e1dc974dd17d20ec6aeb1b7718099241562c.tar.gz blogs-gentoo-e615e1dc974dd17d20ec6aeb1b7718099241562c.tar.bz2 blogs-gentoo-e615e1dc974dd17d20ec6aeb1b7718099241562c.zip |
Update plugin jetpack to 4.3.2
Diffstat (limited to 'plugins/jetpack/modules/sso')
-rw-r--r-- | plugins/jetpack/modules/sso/class.jetpack-sso-helpers.php | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/plugins/jetpack/modules/sso/class.jetpack-sso-helpers.php b/plugins/jetpack/modules/sso/class.jetpack-sso-helpers.php index 1bcc08a5..85a683c3 100644 --- a/plugins/jetpack/modules/sso/class.jetpack-sso-helpers.php +++ b/plugins/jetpack/modules/sso/class.jetpack-sso-helpers.php @@ -188,6 +188,45 @@ class Jetpack_SSO_Helpers { return array_unique( $hosts ); } + + static function generate_user( $user_data ) { + $username = $user_data->login; + + /** + * Determines how many times the SSO module can attempt to randomly generate a user. + * + * @module sso + * + * @since 4.3.2 + * + * @param int 5 By default, SSO will attempt to random generate a user up to 5 times. + */ + $num_tries = intval( apply_filters( 'jetpack_sso_allowed_username_generate_retries', 5 ) ); + + $tries = 0; + while ( ( $exists = username_exists( $username ) ) && $tries++ < $num_tries ) { + $username = $user_data->login . '_' . $user_data->ID . '_' . mt_rand(); + } + + if ( $exists ) { + return false; + } + + $password = wp_generate_password( 20 ); + $user_id = wp_create_user( $username, $password, $user_data->email ); + $user = get_userdata( $user_id ); + + $user->display_name = $user_data->display_name; + $user->first_name = $user_data->first_name; + $user->last_name = $user_data->last_name; + $user->url = $user_data->url; + $user->description = $user_data->description; + wp_update_user( $user ); + + update_user_meta( $user->ID, 'wpcom_user_id', $user_data->ID ); + + return $user; + } } endif; |