164 lines
4.8 KiB
PHP
164 lines
4.8 KiB
PHP
<?php
|
|
|
|
namespace App\Http\Controllers;
|
|
|
|
use App\User;
|
|
use Illuminate\Http\Request;
|
|
use Illuminate\Support\Facades\Auth;
|
|
use Illuminate\Support\Facades\DB;
|
|
use Log;
|
|
use Intervention\Image\Facades\Image;
|
|
|
|
class UserController extends Controller
|
|
{
|
|
/**
|
|
* Display a listing of the resource.
|
|
*
|
|
* @return \Illuminate\Http\Response
|
|
*/
|
|
public function index()
|
|
{
|
|
$users = User::all();
|
|
return view('users.index')->with('users', $users);
|
|
}
|
|
|
|
/**
|
|
* Show the form for creating a new resource.
|
|
*
|
|
* @return \Illuminate\Http\Response
|
|
*/
|
|
public function create()
|
|
{
|
|
//
|
|
}
|
|
|
|
/**
|
|
* Store a newly created resource in storage.
|
|
*
|
|
* @param \Illuminate\Http\Request $request
|
|
* @param \App\User $user
|
|
* @return \Illuminate\Http\Response
|
|
* /
|
|
* public function store(Request $request)
|
|
* {
|
|
*
|
|
* }
|
|
*
|
|
* /**
|
|
* Display the specified resource.
|
|
*
|
|
* @return \Illuminate\Http\Response
|
|
*/
|
|
public function show($id)
|
|
{
|
|
//Log("show user id=".$id);
|
|
error_log("(show)=>" . $id);
|
|
|
|
$user = User::find($id);
|
|
|
|
|
|
return view('users.show')->with('user', $user);
|
|
|
|
}
|
|
|
|
/**
|
|
* Show the form for editing the specified resource.
|
|
*
|
|
* @param \App\User $user
|
|
* @return \Illuminate\Http\Response
|
|
*/
|
|
public function edit($id)
|
|
{
|
|
|
|
error_log("Edit:" . $id);
|
|
$user = User::find($id);
|
|
|
|
if (Auth::user()->role != 'ADMIN' && $user->id != Auth::user()->id) {
|
|
return redirect('/users');
|
|
}
|
|
|
|
|
|
error_log($user);
|
|
return view('users.edit')->with('user', $user);
|
|
}
|
|
|
|
/**
|
|
* Update the specified resource in storage.
|
|
*
|
|
* @param \Illuminate\Http\Request $request
|
|
* @param \App\User $user
|
|
* @return \Illuminate\Http\Response
|
|
*/
|
|
public function update(Request $request, User $user)
|
|
{
|
|
$user = User::find($request->input('id'));
|
|
|
|
$request->validate(
|
|
[
|
|
'name' => 'required|min:3',
|
|
'email' => 'required|email',
|
|
'role' => 'required',
|
|
'mobile' => 'required',
|
|
'bild' => 'mimes:jpg,jpeg,bmp,png,gif'
|
|
]
|
|
);
|
|
|
|
if ($request->bild) {
|
|
$bild = Image::make($request->bild);
|
|
$breite = $bild->width();
|
|
$hoehe = $bild->height();
|
|
if ($breite > $hoehe) {
|
|
Image::make($request->bild)
|
|
->widen(1200)
|
|
->save(storage_path() . '/img_storage/user/' . $user->id . '_gross.jpg');
|
|
Image::make($request->bild)
|
|
->widen(64)
|
|
->save(storage_path() . '/img_storage/user/' . $user->id . '.jpg');
|
|
} else {
|
|
Image::make($request->bild)
|
|
->heighten(900)
|
|
->save(storage_path() . '/img_storage/user/' . $user->id . '_gross.jpg');
|
|
Image::make($request->bild)
|
|
->widen(96)
|
|
->save(storage_path() . '/img_storage/user/' . $user->id . '.jpg');
|
|
}
|
|
}
|
|
|
|
$user->name = $request->input('name');
|
|
$user->email = $request->input('email');
|
|
$user->role = $request->input('role');
|
|
$user->mobile = $request->input('mobile');
|
|
$user->save();
|
|
|
|
error_log("User role: " . $user->role);
|
|
|
|
return redirect('/member/');
|
|
|
|
}
|
|
|
|
/**
|
|
* Remove the specified resource from storage.
|
|
*
|
|
* @param \App\User $user
|
|
* @return \Illuminate\Http\Response
|
|
*/
|
|
public function destroy($user_id)
|
|
{
|
|
$user = User::find($user_id);
|
|
Log::info("UserController::destroy for user_id " . $user->id);
|
|
|
|
Log::info("Preparing to destroy user [" . $user->id . "]" . $user->name);
|
|
Log::info("#DESTROY_USER [users]" . $user);
|
|
|
|
$tours = DB::select("SELECT id FROM tours WHERE user_id=" . $user_id);
|
|
Log::info('#DESTROY_USER [affected tour ids]', $tours);
|
|
$bookings = DB::select("SELECT id FROM bookings WHERE user_id=" . $user_id);
|
|
Log::info("#DESTROY_USER [affected booking ids]", $bookings);
|
|
|
|
DB::delete('DELETE FROM users WHERE id=' . $user->id);
|
|
|
|
return redirect('/member/');
|
|
}
|
|
|
|
|
|
}
|