Skip to content

Commit f961ecd

Browse files
committed
Add support for custom passsword
1 parent 2c0ddaa commit f961ecd

File tree

2 files changed

+9
-3
lines changed

2 files changed

+9
-3
lines changed

endpoints/create-site.php

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,11 @@
4747

4848
// Start creating stuff
4949
try {
50-
$user = $api->get_or_create_user_by_email($api->json->email, $api->json->site_name);
50+
if(isset($api->json->password)){
51+
$user = $api->get_or_create_user_by_email($api->json->email, $api->json->site_name, $api->json->password);
52+
}else{
53+
$user = $api->get_or_create_user_by_email($api->json->email, $api->json->site_name);
54+
}
5155
} catch(MultiSite_JSON_API\UserCreationError $e) {
5256
$api->json_exception($e);
5357
die();

includes/class-endpoint.php

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -151,7 +151,7 @@ public function full_path($sitename, $current_site = null) {
151151
* @param username string The username
152152
* @return user WP_User The Wordpress user object
153153
*/
154-
public function get_or_create_user_by_email($dirty_email, $username) {
154+
public function get_or_create_user_by_email($dirty_email, $username, $password = null) {
155155
$email = sanitize_email($dirty_email);
156156
if($email === "")
157157
throw new UserCreationError('Error creating user: email is invalid');
@@ -165,7 +165,9 @@ public function get_or_create_user_by_email($dirty_email, $username) {
165165
return $user;
166166
} else {
167167
// Create a new user with a random password
168-
$password = wp_generate_password(12, false);
168+
if($password === null){
169+
$password = wp_generate_password(12, false);
170+
}
169171
$user_id = wpmu_create_user($username, $password, $email);
170172
wp_new_user_notification($user_id, $password);
171173
// Its possible for the $user_id to be false here, but it seems to

0 commit comments

Comments
 (0)