|
|
@ -3,16 +3,16 @@
|
|
|
|
namespace App\Http\Controllers\Auth;
|
|
|
|
namespace App\Http\Controllers\Auth;
|
|
|
|
|
|
|
|
|
|
|
|
use App\Http\Controllers\Controller;
|
|
|
|
use App\Http\Controllers\Controller;
|
|
|
|
|
|
|
|
use App\Services\BouncerService;
|
|
|
|
|
|
|
|
use App\Services\EmailService;
|
|
|
|
use App\User;
|
|
|
|
use App\User;
|
|
|
|
use Purify;
|
|
|
|
|
|
|
|
use App\Util\Lexer\RestrictedNames;
|
|
|
|
use App\Util\Lexer\RestrictedNames;
|
|
|
|
|
|
|
|
use Illuminate\Auth\Events\Registered;
|
|
|
|
use Illuminate\Foundation\Auth\RegistersUsers;
|
|
|
|
use Illuminate\Foundation\Auth\RegistersUsers;
|
|
|
|
|
|
|
|
use Illuminate\Http\Request;
|
|
|
|
use Illuminate\Support\Facades\Hash;
|
|
|
|
use Illuminate\Support\Facades\Hash;
|
|
|
|
use Illuminate\Support\Facades\Validator;
|
|
|
|
use Illuminate\Support\Facades\Validator;
|
|
|
|
use Illuminate\Auth\Events\Registered;
|
|
|
|
use Purify;
|
|
|
|
use Illuminate\Http\Request;
|
|
|
|
|
|
|
|
use App\Services\EmailService;
|
|
|
|
|
|
|
|
use App\Services\BouncerService;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class RegisterController extends Controller
|
|
|
|
class RegisterController extends Controller
|
|
|
|
{
|
|
|
|
{
|
|
|
@ -56,7 +56,6 @@ class RegisterController extends Controller
|
|
|
|
/**
|
|
|
|
/**
|
|
|
|
* Get a validator for an incoming registration request.
|
|
|
|
* Get a validator for an incoming registration request.
|
|
|
|
*
|
|
|
|
*
|
|
|
|
* @param array $data
|
|
|
|
|
|
|
|
*
|
|
|
|
*
|
|
|
|
* @return \Illuminate\Contracts\Validation\Validator
|
|
|
|
* @return \Illuminate\Contracts\Validation\Validator
|
|
|
|
*/
|
|
|
|
*/
|
|
|
@ -98,6 +97,10 @@ class RegisterController extends Controller
|
|
|
|
return $fail('Username is invalid. Username must be alpha-numeric and may contain dashes (-), periods (.) and underscores (_).');
|
|
|
|
return $fail('Username is invalid. Username must be alpha-numeric and may contain dashes (-), periods (.) and underscores (_).');
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (! preg_match('/[a-zA-Z]/', $value)) {
|
|
|
|
|
|
|
|
return $fail('Username is invalid. Must contain at least one alphabetical character.');
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
$restricted = RestrictedNames::get();
|
|
|
|
$restricted = RestrictedNames::get();
|
|
|
|
if (in_array(strtolower($value), array_map('strtolower', $restricted))) {
|
|
|
|
if (in_array(strtolower($value), array_map('strtolower', $restricted))) {
|
|
|
|
return $fail('Username cannot be used.');
|
|
|
|
return $fail('Username cannot be used.');
|
|
|
@ -125,7 +128,7 @@ class RegisterController extends Controller
|
|
|
|
if ($value !== $this->getRegisterToken()) {
|
|
|
|
if ($value !== $this->getRegisterToken()) {
|
|
|
|
return $fail('Something went wrong');
|
|
|
|
return $fail('Something went wrong');
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
},
|
|
|
|
];
|
|
|
|
];
|
|
|
|
|
|
|
|
|
|
|
|
$rules = [
|
|
|
|
$rules = [
|
|
|
@ -147,7 +150,6 @@ class RegisterController extends Controller
|
|
|
|
/**
|
|
|
|
/**
|
|
|
|
* Create a new user instance after a valid registration.
|
|
|
|
* Create a new user instance after a valid registration.
|
|
|
|
*
|
|
|
|
*
|
|
|
|
* @param array $data
|
|
|
|
|
|
|
|
*
|
|
|
|
*
|
|
|
|
* @return \App\User
|
|
|
|
* @return \App\User
|
|
|
|
*/
|
|
|
|
*/
|
|
|
@ -163,7 +165,7 @@ class RegisterController extends Controller
|
|
|
|
'username' => $data['username'],
|
|
|
|
'username' => $data['username'],
|
|
|
|
'email' => $data['email'],
|
|
|
|
'email' => $data['email'],
|
|
|
|
'password' => Hash::make($data['password']),
|
|
|
|
'password' => Hash::make($data['password']),
|
|
|
|
'app_register_ip' => request()->ip()
|
|
|
|
'app_register_ip' => request()->ip(),
|
|
|
|
]);
|
|
|
|
]);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
@ -181,11 +183,14 @@ class RegisterController extends Controller
|
|
|
|
$hasLimit = config('pixelfed.enforce_max_users');
|
|
|
|
$hasLimit = config('pixelfed.enforce_max_users');
|
|
|
|
if ($hasLimit) {
|
|
|
|
if ($hasLimit) {
|
|
|
|
$limit = config('pixelfed.max_users');
|
|
|
|
$limit = config('pixelfed.max_users');
|
|
|
|
$count = User::where(function($q){ return $q->whereNull('status')->orWhereNotIn('status', ['deleted','delete']); })->count();
|
|
|
|
$count = User::where(function ($q) {
|
|
|
|
|
|
|
|
return $q->whereNull('status')->orWhereNotIn('status', ['deleted', 'delete']);
|
|
|
|
|
|
|
|
})->count();
|
|
|
|
if ($limit <= $count) {
|
|
|
|
if ($limit <= $count) {
|
|
|
|
return redirect(route('help.instance-max-users-limit'));
|
|
|
|
return redirect(route('help.instance-max-users-limit'));
|
|
|
|
}
|
|
|
|
}
|
|
|
|
abort_if($limit <= $count, 404);
|
|
|
|
abort_if($limit <= $count, 404);
|
|
|
|
|
|
|
|
|
|
|
|
return view('auth.register');
|
|
|
|
return view('auth.register');
|
|
|
|
} else {
|
|
|
|
} else {
|
|
|
|
return view('auth.register');
|
|
|
|
return view('auth.register');
|
|
|
@ -202,7 +207,6 @@ class RegisterController extends Controller
|
|
|
|
/**
|
|
|
|
/**
|
|
|
|
* Handle a registration request for the application.
|
|
|
|
* Handle a registration request for the application.
|
|
|
|
*
|
|
|
|
*
|
|
|
|
* @param \Illuminate\Http\Request $request
|
|
|
|
|
|
|
|
* @return \Illuminate\Http\Response
|
|
|
|
* @return \Illuminate\Http\Response
|
|
|
|
*/
|
|
|
|
*/
|
|
|
|
public function register(Request $request)
|
|
|
|
public function register(Request $request)
|
|
|
@ -215,7 +219,9 @@ class RegisterController extends Controller
|
|
|
|
|
|
|
|
|
|
|
|
$hasLimit = config('pixelfed.enforce_max_users');
|
|
|
|
$hasLimit = config('pixelfed.enforce_max_users');
|
|
|
|
if ($hasLimit) {
|
|
|
|
if ($hasLimit) {
|
|
|
|
$count = User::where(function($q){ return $q->whereNull('status')->orWhereNotIn('status', ['deleted','delete']); })->count();
|
|
|
|
$count = User::where(function ($q) {
|
|
|
|
|
|
|
|
return $q->whereNull('status')->orWhereNotIn('status', ['deleted', 'delete']);
|
|
|
|
|
|
|
|
})->count();
|
|
|
|
$limit = config('pixelfed.max_users');
|
|
|
|
$limit = config('pixelfed.max_users');
|
|
|
|
|
|
|
|
|
|
|
|
if ($limit && $limit <= $count) {
|
|
|
|
if ($limit && $limit <= $count) {
|
|
|
@ -223,7 +229,6 @@ class RegisterController extends Controller
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
$this->validator($request->all())->validate();
|
|
|
|
$this->validator($request->all())->validate();
|
|
|
|
|
|
|
|
|
|
|
|
event(new Registered($user = $this->create($request->all())));
|
|
|
|
event(new Registered($user = $this->create($request->all())));
|
|
|
|