91 lines
2.4 KiB
PHP
91 lines
2.4 KiB
PHP
<?php
|
|
|
|
namespace App\Http\Controllers;
|
|
|
|
use App\Models\TestingData;
|
|
use App\Models\TrainingData;
|
|
use App\Models\User;
|
|
use Illuminate\Database\Eloquent\ModelNotFoundException;
|
|
use Illuminate\Database\QueryException;
|
|
use Illuminate\Http\Request;
|
|
use Illuminate\Support\Facades\Auth;
|
|
use Illuminate\Support\Facades\Validator;
|
|
use Illuminate\Support\Facades\Hash;
|
|
use Illuminate\Support\Facades\Log;
|
|
use Illuminate\Support\Facades\Session;
|
|
use Illuminate\Support\Str;
|
|
use Illuminate\Validation\Rule;
|
|
|
|
class AdminController extends Controller
|
|
{
|
|
public function index()
|
|
{
|
|
$data = [
|
|
'test' => TestingData::count(),
|
|
'train' => TrainingData::count(),
|
|
'total' => TestingData::count() + TrainingData::count()
|
|
];
|
|
return view('main.index', $data);
|
|
}
|
|
public function logout()
|
|
{
|
|
User::find(Auth::id())->update(['remember_token' => null]);
|
|
Auth::logout();
|
|
Session::invalidate();
|
|
Session::regenerateToken();
|
|
Session::flash('success', 'Anda sudah logout');
|
|
return to_route('login');
|
|
}
|
|
public function edit()
|
|
{
|
|
return view('main.profil');
|
|
}
|
|
public function update(Request $request)
|
|
{
|
|
$id = auth()->user()->id;
|
|
$validator = Validator::make($request->all(), [
|
|
'name' => 'required',
|
|
'email' => 'required',
|
|
]);
|
|
|
|
if ($validator->fails()) {
|
|
return redirect()->back()->with('error', 'terdapat data yang belum diisi')->withInput();
|
|
}
|
|
|
|
$input = $request->all();
|
|
$findUser = User::find($id);
|
|
|
|
if($findUser) {
|
|
// update data
|
|
$findUser->name = $input['name'];
|
|
$findUser->email = $input['email'];
|
|
if(!empty($input['password'])) {
|
|
$findUser->password = bcrypt($input['password']);
|
|
}
|
|
|
|
// save data
|
|
$findUser->save();
|
|
return redirect()->back()->with('success', 'Data berhasil disimpan');
|
|
} else {
|
|
return redirect()->back()->with('error', 'Tidak ditemukan data!');
|
|
}
|
|
}
|
|
public function delete(Request $request)
|
|
{
|
|
try {
|
|
$request->validate(User::$delrules);
|
|
User::findOrFail(Auth::id())->delete();
|
|
Auth::logout();
|
|
Session::invalidate();
|
|
Session::regenerateToken();
|
|
Session::flash('success', "Akun sudah dihapus");
|
|
return response()->json(['message' => 'Akun sudah dihapus']);
|
|
} catch (ModelNotFoundException) {
|
|
return response()->json(['message' => 'Akun tidak ditemukan'], 404);
|
|
} catch (QueryException $db) {
|
|
Log::error($db);
|
|
return response()->json(['message' => $db->errorInfo[2]], 500);
|
|
}
|
|
}
|
|
}
|