+ban functionality
This commit is contained in:
picquiz
@ -10,67 +10,94 @@ use Illuminate\Support\Facades\Auth;
|
|||||||
|
|
||||||
class UserController extends Controller
|
class UserController extends Controller
|
||||||
{
|
{
|
||||||
// Show Register/Create Form:
|
// ### Register ###
|
||||||
public function create() {
|
|
||||||
return view('users.register');
|
|
||||||
}
|
|
||||||
|
|
||||||
//Create a new user and store it in database:
|
// Show Register/Create Form:
|
||||||
public function store(Request $request) {
|
public function create() {
|
||||||
$formFields = $request->validate([
|
return view('users.register');
|
||||||
'username' => ['required', 'min:3'],
|
}
|
||||||
'email' => ['required', 'email', Rule::unique('users', 'email')],
|
|
||||||
'password' => ['required', 'confirmed', 'min:6'],
|
//Create a new user and store it in database:
|
||||||
//'profile_picture' => ['image', 'mimes:jpg,png,jpeg,gif,svg', 'max:2048', 'dimensions:min_width:100,min_height:100,max_width:1000,max_height:1000']
|
public function store(Request $request) {
|
||||||
]);
|
$formFields = $request->validate([
|
||||||
|
'username' => ['required', 'min:3'],
|
||||||
if ($request->hasFile('profile_picture')) {
|
'email' => ['required', 'email', Rule::unique('users', 'email')],
|
||||||
$formFields['profile_picture'] = $request->file('profile_picture')->store('images/uploads/users', 'public');
|
'password' => ['required', 'confirmed', 'min:6'],
|
||||||
|
//'profile_picture' => ['image', 'mimes:jpg,png,jpeg,gif,svg', 'max:2048', 'dimensions:min_width:100,min_height:100,max_width:1000,max_height:1000']
|
||||||
}
|
]);
|
||||||
else {
|
|
||||||
$formFields['profile_picture'] = "/images/samplePictures/Sample_User_Icon.png";
|
if ($request->hasFile('profile_picture')) {
|
||||||
|
$formFields['profile_picture'] = $request->file('profile_picture')->store('images/uploads/users', 'public');
|
||||||
|
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
$formFields['profile_picture'] = "/images/samplePictures/Sample_User_Icon.png";
|
||||||
|
}
|
||||||
|
|
||||||
|
//dd($formFields['profile_picture']);
|
||||||
|
|
||||||
|
//Hash password:
|
||||||
|
$formFields['password'] = bcrypt($formFields['password']);
|
||||||
|
|
||||||
|
$user = User::create($formFields);
|
||||||
|
|
||||||
|
return redirect('/')->with('message', 'Példa szöveg regisztráció tesztelésére!');
|
||||||
|
}
|
||||||
|
|
||||||
|
// ### Login ###
|
||||||
|
|
||||||
|
//Show Login form:
|
||||||
|
public function login() {
|
||||||
|
return view('users.login');
|
||||||
|
}
|
||||||
|
|
||||||
|
//Authenticate User:
|
||||||
|
public function authenticate(Request $request) {
|
||||||
|
$formFields = $request->validate([
|
||||||
|
'email' => ['required', 'email'],
|
||||||
|
'password' => ['required']
|
||||||
|
]);
|
||||||
|
|
||||||
|
if (auth()->attempt($formFields)) {
|
||||||
|
|
||||||
|
$request->session()->regenerate();
|
||||||
|
return redirect('/')->with('message', 'Sikeresen bejelentkeztél!');
|
||||||
|
}
|
||||||
|
|
||||||
|
return back()->withErrors(['email' => 'Hibás adatmegadás!'])->onlyInput('email');
|
||||||
|
}
|
||||||
|
|
||||||
|
//Logout:
|
||||||
|
public function logout(Request $request) {
|
||||||
|
auth()->logout();
|
||||||
|
|
||||||
|
$request->session()->invalidate();
|
||||||
|
$request->session()->regenerateToken();
|
||||||
|
|
||||||
|
return redirect('/')->with('message', 'Sikeresen kijelentkeztél!');
|
||||||
|
}
|
||||||
|
|
||||||
|
// ### Modify ###
|
||||||
|
|
||||||
|
public function toggle_ban(Request $request){
|
||||||
|
if (!Auth::check() || Auth::User()->isAdmin != 1) {
|
||||||
|
return abort(401);
|
||||||
}
|
}
|
||||||
|
|
||||||
//dd($formFields['profile_picture']);
|
$uid = $request->uid;
|
||||||
|
if(User::where('id', $uid)->get()[0]->isBanned){
|
||||||
|
$this->set_ban($uid, False);
|
||||||
|
}else{
|
||||||
|
$this->set_ban($uid, true);
|
||||||
|
}
|
||||||
|
|
||||||
//Hash password:
|
return redirect('/UserList');
|
||||||
$formFields['password'] = bcrypt($formFields['password']);
|
}
|
||||||
|
|
||||||
$user = User::create($formFields);
|
private function set_ban($uid, $banned)
|
||||||
|
{
|
||||||
return redirect('/')->with('message', 'Példa szöveg regisztráció tesztelésére!');
|
User::where('id', $uid)->update(['isBanned' => $banned]);
|
||||||
}
|
return;
|
||||||
|
|
||||||
//Show Login form:
|
|
||||||
public function login() {
|
|
||||||
return view('users.login');
|
|
||||||
}
|
|
||||||
|
|
||||||
//Authenticate User:
|
|
||||||
public function authenticate(Request $request) {
|
|
||||||
$formFields = $request->validate([
|
|
||||||
'email' => ['required', 'email'],
|
|
||||||
'password' => ['required']
|
|
||||||
]);
|
|
||||||
|
|
||||||
if (auth()->attempt($formFields)) {
|
|
||||||
|
|
||||||
$request->session()->regenerate();
|
|
||||||
return redirect('/')->with('message', 'Sikeresen bejelentkeztél!');
|
|
||||||
}
|
|
||||||
|
|
||||||
return back()->withErrors(['email' => 'Hibás adatmegadás!'])->onlyInput('email');
|
|
||||||
}
|
|
||||||
|
|
||||||
//Logout:
|
|
||||||
public function logout(Request $request) {
|
|
||||||
auth()->logout();
|
|
||||||
|
|
||||||
$request->session()->invalidate();
|
|
||||||
$request->session()->regenerateToken();
|
|
||||||
|
|
||||||
return redirect('/')->with('message', 'Sikeresen kijelentkeztél!');
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -47,7 +47,8 @@
|
|||||||
<span class="text-danger">Nem</span>
|
<span class="text-danger">Nem</span>
|
||||||
@endif
|
@endif
|
||||||
</div>
|
</div>
|
||||||
<form class="d-inline-block">
|
<form class="d-inline-block" action="/toggleBan" method=post>
|
||||||
|
@csrf
|
||||||
<button class="btn btn-warning">Átváltás</button>
|
<button class="btn btn-warning">Átváltás</button>
|
||||||
</form>
|
</form>
|
||||||
</div>
|
</div>
|
||||||
@ -60,7 +61,9 @@
|
|||||||
<span class="text-success">Nem</span>
|
<span class="text-success">Nem</span>
|
||||||
@endif
|
@endif
|
||||||
</div>
|
</div>
|
||||||
<form class="d-inline-block">
|
<form class="d-inline-block" action="/toggleBan" method=post>
|
||||||
|
@csrf
|
||||||
|
<input class="d-none" name=uid value="{{ $user->id }}">
|
||||||
<button class="btn btn-warning">Átváltás</button>
|
<button class="btn btn-warning">Átváltás</button>
|
||||||
</form>
|
</form>
|
||||||
</div>
|
</div>
|
||||||
|
@ -65,3 +65,5 @@ Route::get('/play', function(){ return view('game/game'); });
|
|||||||
|
|
||||||
//Route::get('/UserDoList', [UserListController::class, 'do_list']);
|
//Route::get('/UserDoList', [UserListController::class, 'do_list']);
|
||||||
Route::get('/UserList', function() {return view('users/list'); } );
|
Route::get('/UserList', function() {return view('users/list'); } );
|
||||||
|
|
||||||
|
Route::post('/toggleBan', [UserController::class, 'toggle_ban'] );
|
||||||
|
Reference in New Issue
Block a user