|
|
|
@ -12,11 +12,12 @@ class User extends Main
|
|
|
|
|
/**
|
|
|
|
|
* @param string $invite
|
|
|
|
|
* @param string $username
|
|
|
|
|
* @param string $email
|
|
|
|
|
* @param string $password
|
|
|
|
|
* @return UserModel
|
|
|
|
|
* @throws \Exception
|
|
|
|
|
*/
|
|
|
|
|
public function register($invite, $username, $password)
|
|
|
|
|
public function register($invite, $username, $email, $password)
|
|
|
|
|
{
|
|
|
|
|
$invite = InviteQuery::create()->findOneByInvite($invite);
|
|
|
|
|
|
|
|
|
@ -24,12 +25,13 @@ class User extends Main
|
|
|
|
|
throw new \Exception("Invalid invite code");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
$this->validateUserParams($username, $password);
|
|
|
|
|
$this->validateUserParams($username, $email, $password);
|
|
|
|
|
|
|
|
|
|
$inviteUser = $invite->getUser();
|
|
|
|
|
|
|
|
|
|
$user = new UserModel();
|
|
|
|
|
$user->setUsername($username);
|
|
|
|
|
$user->setEmail($email);
|
|
|
|
|
$user->setPassword(\password_hash($password, PASSWORD_DEFAULT));
|
|
|
|
|
|
|
|
|
|
if ($inviteUser === null || $inviteUser->getMaxInvites() === -1) {
|
|
|
|
@ -47,7 +49,7 @@ class User extends Main
|
|
|
|
|
return $user;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public function validateUserParams($username, $password) {
|
|
|
|
|
public function validateUserParams($username, $email, $password) {
|
|
|
|
|
if ($username === "") {
|
|
|
|
|
throw new \Exception("No username given");
|
|
|
|
|
}
|
|
|
|
@ -56,6 +58,10 @@ class User extends Main
|
|
|
|
|
throw new \Exception("Username can only consist of a-z, 0-9 and -");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
|
|
|
|
|
throw new \Exception("Email is invalid");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if ($password === "") {
|
|
|
|
|
throw new \Exception("Password is nothing, though strong. we rather not have you use that");
|
|
|
|
|
}
|
|
|
|
@ -69,9 +75,9 @@ class User extends Main
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public function createSuperuser($username, $password) {
|
|
|
|
|
public function createSuperuser($username, $email, $password) {
|
|
|
|
|
|
|
|
|
|
$this->validateUserParams($username, $password);
|
|
|
|
|
$this->validateUserParams($username, $email, $password);
|
|
|
|
|
|
|
|
|
|
$user = new UserModel();
|
|
|
|
|
$user->setUsername($username);
|
|
|
|
|