X-Git-Url: http://source.bookstackapp.com/bookstack/blobdiff_plain/be4f3d62cd37c7b83eb86bbf5fffa00d20acf2ec..refs/pull/1527/head:/app/Http/Controllers/Auth/RegisterController.php diff --git a/app/Http/Controllers/Auth/RegisterController.php b/app/Http/Controllers/Auth/RegisterController.php index 385994324..a285899cc 100644 --- a/app/Http/Controllers/Auth/RegisterController.php +++ b/app/Http/Controllers/Auth/RegisterController.php @@ -2,21 +2,25 @@ namespace BookStack\Http\Controllers\Auth; +use BookStack\Auth\Access\EmailConfirmationService; +use BookStack\Auth\Access\SocialAuthService; +use BookStack\Auth\SocialAccount; +use BookStack\Auth\User; +use BookStack\Auth\UserRepo; +use BookStack\Exceptions\SocialDriverNotConfigured; use BookStack\Exceptions\SocialSignInAccountNotUsed; use BookStack\Exceptions\SocialSignInException; use BookStack\Exceptions\UserRegistrationException; -use BookStack\Repos\UserRepo; -use BookStack\Services\EmailConfirmationService; -use BookStack\Services\SocialAuthService; -use BookStack\SocialAccount; -use BookStack\User; +use BookStack\Http\Controllers\Controller; use Exception; +use Illuminate\Foundation\Auth\RegistersUsers; +use Illuminate\Http\RedirectResponse; use Illuminate\Http\Request; use Illuminate\Http\Response; -use Validator; -use BookStack\Http\Controllers\Controller; -use Illuminate\Foundation\Auth\RegistersUsers; +use Illuminate\Routing\Redirector; +use Illuminate\View\View; use Laravel\Socialite\Contracts\User as SocialUser; +use Validator; class RegisterController extends Controller { @@ -49,7 +53,7 @@ class RegisterController extends Controller * Create a new controller instance. * * @param SocialAuthService $socialAuthService - * @param EmailConfirmationService $emailConfirmationService + * @param \BookStack\Auth\EmailConfirmationService $emailConfirmationService * @param UserRepo $userRepo */ public function __construct(SocialAuthService $socialAuthService, EmailConfirmationService $emailConfirmationService, UserRepo $userRepo) @@ -58,8 +62,8 @@ class RegisterController extends Controller $this->socialAuthService = $socialAuthService; $this->emailConfirmationService = $emailConfirmationService; $this->userRepo = $userRepo; - $this->redirectTo = baseUrl('/'); - $this->redirectPath = baseUrl('/'); + $this->redirectTo = url('/'); + $this->redirectPath = url('/'); parent::__construct(); } @@ -72,7 +76,7 @@ class RegisterController extends Controller protected function validator(array $data) { return Validator::make($data, [ - 'name' => 'required|max:255', + 'name' => 'required|min:2|max:255', 'email' => 'required|email|max:255|unique:users', 'password' => 'required|min:6', ]); @@ -103,8 +107,8 @@ class RegisterController extends Controller /** * Handle a registration request for the application. - * @param Request|\Illuminate\Http\Request $request - * @return \Illuminate\Http\RedirectResponse|\Illuminate\Routing\Redirector + * @param Request|Request $request + * @return RedirectResponse|Redirector * @throws UserRegistrationException */ public function postRegister(Request $request) @@ -135,7 +139,7 @@ class RegisterController extends Controller * @param array $userData * @param bool|false|SocialAccount $socialAccount * @param bool $emailVerified - * @return \Illuminate\Http\RedirectResponse|\Illuminate\Routing\Redirector + * @return RedirectResponse|Redirector * @throws UserRegistrationException */ protected function registerUser(array $userData, $socialAccount = false, $emailVerified = false) @@ -144,7 +148,7 @@ class RegisterController extends Controller if ($registrationRestrict) { $restrictedEmailDomains = explode(',', str_replace(' ', '', $registrationRestrict)); - $userEmailDomain = $domain = substr(strrchr($userData['email'], "@"), 1); + $userEmailDomain = $domain = mb_substr(mb_strrchr($userData['email'], "@"), 1); if (!in_array($userEmailDomain, $restrictedEmailDomains)) { throw new UserRegistrationException(trans('auth.registration_email_domain_invalid'), '/register'); } @@ -178,13 +182,13 @@ class RegisterController extends Controller */ public function getRegisterConfirmation() { - return view('auth/register-confirm'); + return view('auth.register-confirm'); } /** * Confirms an email via a token and logs the user into the system. * @param $token - * @return \Illuminate\Http\RedirectResponse|\Illuminate\Routing\Redirector + * @return RedirectResponse|Redirector * @throws UserRegistrationException */ public function confirmEmail($token) @@ -202,17 +206,17 @@ class RegisterController extends Controller /** * Shows a notice that a user's email address has not been confirmed, * Also has the option to re-send the confirmation email. - * @return \Illuminate\View\View + * @return View */ public function showAwaitingConfirmation() { - return view('auth/user-unconfirmed'); + return view('auth.user-unconfirmed'); } /** * Resend the confirmation email * @param Request $request - * @return \Illuminate\View\View + * @return View */ public function resendConfirmation(Request $request) { @@ -237,7 +241,7 @@ class RegisterController extends Controller * @param $socialDriver * @return mixed * @throws UserRegistrationException - * @throws \BookStack\Exceptions\SocialDriverNotConfigured + * @throws SocialDriverNotConfigured */ public function socialRegister($socialDriver) { @@ -250,10 +254,10 @@ class RegisterController extends Controller * The callback for social login services. * @param $socialDriver * @param Request $request - * @return \Illuminate\Http\RedirectResponse|\Illuminate\Routing\Redirector + * @return RedirectResponse|Redirector * @throws SocialSignInException * @throws UserRegistrationException - * @throws \BookStack\Exceptions\SocialDriverNotConfigured + * @throws SocialDriverNotConfigured */ public function socialCallback($socialDriver, Request $request) { @@ -294,7 +298,7 @@ class RegisterController extends Controller /** * Detach a social account from a user. * @param $socialDriver - * @return \Illuminate\Http\RedirectResponse|\Illuminate\Routing\Redirector + * @return RedirectResponse|Redirector */ public function detachSocialAccount($socialDriver) { @@ -305,7 +309,7 @@ class RegisterController extends Controller * Register a new user after a registration callback. * @param string $socialDriver * @param SocialUser $socialUser - * @return \Illuminate\Http\RedirectResponse|\Illuminate\Routing\Redirector + * @return RedirectResponse|Redirector * @throws UserRegistrationException */ protected function socialRegisterCallback(string $socialDriver, SocialUser $socialUser)