mirror of
https://github.com/pixelfed/pixelfed.git
synced 2024-11-09 16:24:51 +00:00
Update RegisterController, update username constraints, require atleast one alpha char
This commit is contained in:
parent
d3ef35fa22
commit
dd6e3cc290
1 changed files with 198 additions and 193 deletions
|
@ -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())));
|
||||||
|
|
Loading…
Reference in a new issue