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)
{
$request->validate([
'littlelink_name' => 'string|max:255|unique:users',
'name' => 'string|max:255|unique:users',
'littlelink_name' => 'max:255|string|isunique:users',
'name' => 'max:255|string',
]);
$userId = Auth::user()->id;
$littlelink_name = Auth::user()->littlelink_name;
$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 = 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]);

View File

@ -2,9 +2,10 @@
namespace App\Providers;
use Illuminate\Support\Facades\Validator;
use Illuminate\Support\ServiceProvider;
use Illuminate\Pagination\Paginator;
use Illuminate\Support\Facades\DB;
class AppServiceProvider extends ServiceProvider
{
@ -25,6 +26,16 @@ class AppServiceProvider extends ServiceProvider
*/
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;
});
}
}