Now forcing usernames to be unique

Now forcing usernames to be unique in regard to capitalization.
This commit is contained in:
Julian Prieber 2023-01-23 16:06:07 +01:00
parent 75e60a9623
commit 1950ba2a18
2 changed files with 17 additions and 6 deletions

View File

@ -510,18 +510,18 @@ class UserController extends Controller
public function editPage(request $request) public function editPage(request $request)
{ {
$request->validate([ $request->validate([
'littlelink_name' => 'string|max:255|unique:users', 'littlelink_name' => 'max:255|string|isunique:users',
'name' => 'string|max:255|unique:users', 'name' => 'max:255|string',
]); ]);
$userId = Auth::user()->id; $userId = Auth::user()->id;
$littlelink_name = Auth::user()->littlelink_name; $littlelink_name = Auth::user()->littlelink_name;
$profilePhoto = $request->file('image'); $profilePhoto = $request->file('image');
$pageName = $request->pageName; $pageName = $request->littlelink_name;
$pageDescription = strip_tags($request->pageDescription,'<a><p><strong><i><ul><ol><li><blockquote><h2><h3><h4>'); $pageDescription = strip_tags($request->pageDescription,'<a><p><strong><i><ul><ol><li><blockquote><h2><h3><h4>');
$pageDescription = preg_replace("/<a([^>]*)>/i", "<a $1 rel=\"noopener noreferrer nofollow\">", $pageDescription); $pageDescription = preg_replace("/<a([^>]*)>/i", "<a $1 rel=\"noopener noreferrer nofollow\">", $pageDescription);
$name = $request->Name; $name = $request->name;
User::where('id', $userId)->update(['littlelink_name' => $pageName, 'littlelink_description' => $pageDescription, 'name' => $name]); User::where('id', $userId)->update(['littlelink_name' => $pageName, 'littlelink_description' => $pageDescription, 'name' => $name]);

View File

@ -2,9 +2,10 @@
namespace App\Providers; namespace App\Providers;
use Illuminate\Support\Facades\Validator;
use Illuminate\Support\ServiceProvider; use Illuminate\Support\ServiceProvider;
use Illuminate\Pagination\Paginator; use Illuminate\Pagination\Paginator;
use Illuminate\Support\Facades\DB;
class AppServiceProvider extends ServiceProvider class AppServiceProvider extends ServiceProvider
{ {
@ -26,5 +27,15 @@ class AppServiceProvider extends ServiceProvider
public function boot() public function boot()
{ {
Paginator::useBootstrap(); Paginator::useBootstrap();
Validator::extend('isunique', function ($attribute, $value, $parameters, $validator) {
$value = strtolower($value);
$query = DB::table($parameters[0])->whereRaw("LOWER({$attribute}) = ?", [$value]);
if (isset($parameters[1])) {
$query->where($parameters[1], '!=', $parameters[2]);
}
return $query->count() === 0;
});
} }
} }