+ban functionality
This commit is contained in:
parent
d47f1ad7d5
commit
9447132f06
@ -10,67 +10,94 @@ use Illuminate\Support\Facades\Auth;
|
||||
|
||||
class UserController extends Controller
|
||||
{
|
||||
// Show Register/Create Form:
|
||||
public function create() {
|
||||
return view('users.register');
|
||||
}
|
||||
// ### Register ###
|
||||
|
||||
//Create a new user and store it in database:
|
||||
public function store(Request $request) {
|
||||
$formFields = $request->validate([
|
||||
'username' => ['required', 'min:3'],
|
||||
'email' => ['required', 'email', Rule::unique('users', 'email')],
|
||||
'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']
|
||||
]);
|
||||
|
||||
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";
|
||||
// Show Register/Create Form:
|
||||
public function create() {
|
||||
return view('users.register');
|
||||
}
|
||||
|
||||
//Create a new user and store it in database:
|
||||
public function store(Request $request) {
|
||||
$formFields = $request->validate([
|
||||
'username' => ['required', 'min:3'],
|
||||
'email' => ['required', 'email', Rule::unique('users', 'email')],
|
||||
'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']
|
||||
]);
|
||||
|
||||
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:
|
||||
$formFields['password'] = bcrypt($formFields['password']);
|
||||
return redirect('/UserList');
|
||||
}
|
||||
|
||||
$user = User::create($formFields);
|
||||
|
||||
return redirect('/')->with('message', 'Példa szöveg regisztráció tesztelésére!');
|
||||
}
|
||||
|
||||
//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!');
|
||||
private function set_ban($uid, $banned)
|
||||
{
|
||||
User::where('id', $uid)->update(['isBanned' => $banned]);
|
||||
return;
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -47,7 +47,8 @@
|
||||
<span class="text-danger">Nem</span>
|
||||
@endif
|
||||
</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>
|
||||
</form>
|
||||
</div>
|
||||
@ -60,7 +61,9 @@
|
||||
<span class="text-success">Nem</span>
|
||||
@endif
|
||||
</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>
|
||||
</form>
|
||||
</div>
|
||||
|
@ -65,3 +65,5 @@ Route::get('/play', function(){ return view('game/game'); });
|
||||
|
||||
//Route::get('/UserDoList', [UserListController::class, 'do_list']);
|
||||
Route::get('/UserList', function() {return view('users/list'); } );
|
||||
|
||||
Route::post('/toggleBan', [UserController::class, 'toggle_ban'] );
|
||||
|
Loading…
x
Reference in New Issue
Block a user