| Server IP : 172.67.168.138 / Your IP : 216.73.216.227 [ Web Server : Apache System : Linux frog 6.1.0-49-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.174-1 (2026-05-26) x86_64 User : web13 ( 5017) PHP Version : 8.3.31 Disable Function : NONE Domains : 41 Domains MySQL : OFF | cURL : ON | WGET : OFF | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /var/www/clients/client12/web13/web/ahelos/app/Http/Controllers/Auth/ |
Upload File : |
<?php
namespace App\Http\Controllers\Auth;
use App\Http\Controllers\Controller;
use App\Providers\RouteServiceProvider;
use App\Models\User;
use Illuminate\Foundation\Auth\RegistersUsers;
use Illuminate\Support\Facades\Hash;
use Illuminate\Support\Facades\Validator;
use Illuminate\Http\Request;
use Illuminate\Auth\Events\Registered;
use LaravelLocalization;
use Auth;
use App\Mail\RegisterMail;
use Mail;
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 = '/';//RouteServiceProvider::HOME;
/**
* 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 \Illuminate\Contracts\Validation\Validator
*/
protected function validator(array $data)
{
return Validator::make($data, [
'gender' => ['required'],
'fname' => ['required', 'string', 'max:255'],
'lname' => ['required', 'string', 'max:255'],
'email' => ['required', 'string', 'email', 'max:255', 'unique:users'],
'password' => ['required', 'string', 'min:3', 'confirmed'],
]);
}
/**
* Create a new user instance after a valid registration.
*
* @param array $data
* @return \App\Models\User
*/
protected function create(array $data)
{
return User::create([
'gender' => $data['gender'],
'fname' => $data['fname'],
'lname' => $data['lname'],
'email' => $data['email'],
'password' => Hash::make($data['password']),
]);
}
public function register(Request $request){
$validate = Validator::make($request->all(), [
'fname' => ['required', 'string', 'max:255'],
'lname' => ['required', 'string', 'max:255'],
'email' => ['required', 'string', 'email', 'max:255', 'unique:users'],
'password' => ['required', 'string', 'min:3', 'confirmed'],
'terms' => ['required'],
],
[
'required' => 'Задължително поле.',
'unique' => 'Вече има такъв потребител.',
'confirmed' => 'Паролите не съвпадат.',
'min' => 'Паролата трябва да е минимум :min символа.',
]
);
$data = $request->except(['password_confirmation', 'terms']);
$data['terms'] = 1;
$data['language'] = LaravelLocalization::getCurrentLocale();
$data['password'] = Hash::make($request->input('password'));
if ($validate->fails()) {
$response['code'] = 'error';
$response['fields'] = $validate->errors();
return response()->json($response);
}else{
$response['code'] = 'success';
$response['fields'] = '<div class="alert alert-success"><i class="far fa-check-circle"></i> Вашата регистрация приключи успешно.</div>';
$user = User::create($data);
Mail::to($user->email)->send(new RegisterMail($user));
Auth::guard('web')->login($user);
return response()->json($response);
}
}
}