Файл: app/Http/Controllers/Auth/RegisterController.php
Строк: 125
<?php
namespace AppHttpControllersAuth;
use AppModelsUser;
use AppHttpControllersController;
use IlluminateHttpRequest;
use IlluminateSupportFacadesHash;
use IlluminateSupportFacadesValidator;
use IlluminateFoundationAuthRegistersUsers;
use IlluminateSupportStr;
class RegisterController extends Controller
{
/*
|--------------------------------------------------------------------------
| Register Controller
|--------------------------------------------------------------------------
|
| This controller handles the registration of new users as well as their
| validation and creation. By default this controller uses a trait to
| provide this functionality without requiring any additional code.
|
*/
use RegistersUsers;
/**
* Where to redirect users after registration.
*
* @var string
*/
protected $redirectTo = '/dashboard';
/**
* Create a new controller instance.
*
* @return void
*/
public function __construct()
{
$this->middleware('guest');
}
/**
* Get a validator for an incoming registration request.
*
* @param array $data
* @return IlluminateContractsValidationValidator
*/
protected function validator(array $data)
{
return Validator::make($data, [
'name' => ['required', 'string', 'max:255'],
'email' => ['required', 'string', 'email', 'max:255', 'unique:users'],
'password' => ['required', 'string', 'min:6', 'max:128', 'confirmed'],
'agreement' => ['required'],
'g-recaptcha-response' => [(config('settings.captcha_registration') ? 'required' : 'sometimes'), 'captcha']
]);
}
/**
* Create a new user instance after a valid registration.
*
* @param array $data
* @return User|void
*/
protected function create(array $data)
{
// If the registration is enabled
if (config('settings.registration')) {
$user = new User;
$user->name = $data['name'];
$user->email = $data['email'];
$user->password = Hash::make($data['password']);
$user->locale = app()->getLocale();
$user->timezone = config('settings.timezone');
$user->api_token = Str::random(64);
$user->tfa = config('settings.registration_tfa');
$user->save();
if (!config('settings.registration_verification')) {
$user->markEmailAsVerified();
}
return $user;
}
}
/**
* Show the application registration form.
*
* @param Request $request
* @return IlluminateContractsFoundationApplication|IlluminateContractsViewFactory|IlluminateContractsViewView|void
*/
public function showRegistrationForm(Request $request)
{
// If the request comes from the Home or Pricing page, and the user has selected a plan
if (($request->server('HTTP_REFERER') == route('pricing') || $request->server('HTTP_REFERER') == route('home').'/') && $request->input('plan') > 1) {
$request->session()->put('plan_redirect', ['id' => $request->input('plan'), 'interval' => $request->input('interval')]);
}
// If the registration is enabled
if (config('settings.registration')) {
return view('auth.register');
}
abort(404);
}
}