summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAnthony G. Basile <blueness@gentoo.org>2016-10-23 07:44:25 -0400
committerAnthony G. Basile <blueness@gentoo.org>2016-10-23 07:44:25 -0400
commite615e1dc974dd17d20ec6aeb1b7718099241562c (patch)
tree736d0e069aa69affcd7c3c57a7bb5a158c8b953a /plugins/jetpack/modules/sso
parentUpdate plugin akismet to 3.2 (diff)
downloadblogs-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.php39
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;