all(); if ((!isset($data['mail'])) || (!isset($data['password']))){ $errors = '1'; return view('Admin.index', compact('errors')); } $credentials = [ 'mail' => $data['mail'], 'password' => $data['password'] ]; try { if (Auth::attempt($credentials)) { $user = DB::table('users')->where('email', '=', $credentials['mail']) ->get(['name']); $credentials['name'] = $user[0]->name; Session::push('credentials', $credentials); return redirect()->route('employees'); } else{ $errors = '2'; return view('Admin.index', compact('errors')); } } catch (\Exception $ex) { Log::channel('error')->info('Error:'.$ex); } } public function logout (Request $request) { $request->session()->flush(); $request->session()->regenerate(); Auth::logout(); return redirect()->route('login'); } public function search (Request $request) { $data = $request->all(); $criteria = $data['search']; $users = User::where('name', 'LIKE', '%'.$criteria.'%') ->orWhere('department', 'LIKE', '%'.$criteria.'%') ->get(); $curr_user = $request->session()->get('credentials'); $data = [ 'users' => $users, 'curr_user' => $curr_user[0]['name'] ]; return view('Admin.employees', compact('data')); } public function show (Request $request) { $users = DB::table('users')->orderBy('name')->get(); $curr_user = $request->session()->get('credentials'); $data = [ 'users' => $users, 'curr_user' => $curr_user[0]['name'] ]; return view('Admin.employees')->with(compact('data')); } public function import () { try { Artisan::call('ldap:import user -n'); DB::table('users')->where('description', '=', 'Test Account')->delete(); return redirect()->route('employees'); } catch (\Exception $ex) { Log::channel('error')->info('Error:'.$ex); } } public function export (Request $request) { $data = array('data' => json_decode($request->data)); return response()->json($data); } public function sort (Request $request, $sortBy) { $data = array('data' => json_decode($request->data)); if ($sortBy != 'name'){ $sorted = collect($data['data'])->sortByDesc($sortBy); } else { $sorted = collect($data['data'])->sortBy($sortBy); } $data = $sorted->values()->all(); $curr_user = $request->session()->get('credentials'); $data = [ 'users' => $data, 'curr_user' => $curr_user[0]['name'] ]; return view('Admin.employees', compact('data')); } }