Dashboard'; return view('crudbooster::home', $data); } public function getLockscreen() { if (! CRUDBooster::myId()) { Session::flush(); return redirect()->route('getLogin')->with('message', cbLang('alert_session_expired')); } Session::put('admin_lock', 1); return view('crudbooster::lockscreen'); } public function postUnlockScreen() { $id = CRUDBooster::myId(); $password = request('password'); $users = DB::table(config('crudbooster.USER_TABLE'))->where('id', $id)->first(); if (\Hash::check($password, $users->password)) { Session::put('admin_lock', 0); return redirect(CRUDBooster::adminPath()); } else { echo ""; } } public function getLogin() { if (CRUDBooster::myId()) { return redirect(CRUDBooster::adminPath()); } return view('crudbooster::login'); } public function postLogin() { $validator = Validator::make(Request::all(), [ 'email' => 'required|email|exists:'.config('crudbooster.USER_TABLE'), 'password' => 'required', ]); if ($validator->fails()) { $message = $validator->errors()->all(); return redirect()->back()->with(['message' => implode(', ', $message), 'message_type' => 'danger']); } $email = Request::input("email"); $password = Request::input("password"); $users = DB::table(config('crudbooster.USER_TABLE'))->where("email", $email)->first(); if (\Hash::check($password, $users->password)) { $priv = DB::table("cms_privileges")->where("id", $users->id_cms_privileges)->first(); $roles = DB::table('cms_privileges_roles')->where('id_cms_privileges', $users->id_cms_privileges)->join('cms_moduls', 'cms_moduls.id', '=', 'id_cms_moduls')->select('cms_moduls.name', 'cms_moduls.path', 'is_visible', 'is_create', 'is_read', 'is_edit', 'is_delete')->get(); $photo = ($users->photo) ? asset($users->photo) : asset('vendor/crudbooster/avatar.jpg'); Session::put('admin_id', $users->id); Session::put('admin_is_superadmin', $priv->is_superadmin); Session::put('admin_name', $users->name); Session::put('admin_photo', $photo); Session::put('admin_privileges_roles', $roles); Session::put("admin_privileges", $users->id_cms_privileges); Session::put('admin_privileges_name', $priv->name); Session::put('admin_lock', 0); Session::put('theme_color', $priv->theme_color); Session::put("appname", get_setting('appname')); CRUDBooster::insertLog(cbLang("log_login", ['email' => $users->email, 'ip' => Request::server('REMOTE_ADDR')])); $cb_hook_session = new \App\Http\Controllers\CBHook; $cb_hook_session->afterLogin(); return redirect(CRUDBooster::adminPath()); } else { return redirect()->route('getLogin')->with('message', cbLang('alert_password_wrong')); } } public function getForgot() { if (CRUDBooster::myId()) { return redirect(CRUDBooster::adminPath()); } return view('crudbooster::forgot'); } public function postForgot() { $validator = Validator::make(Request::all(), [ 'email' => 'required|email|exists:'.config('crudbooster.USER_TABLE'), ]); if ($validator->fails()) { $message = $validator->errors()->all(); return redirect()->back()->with(['message' => implode(', ', $message), 'message_type' => 'danger']); } $rand_string = str_random(5); $password = \Hash::make($rand_string); DB::table(config('crudbooster.USER_TABLE'))->where('email', Request::input('email'))->update(['password' => $password]); $appname = CRUDBooster::getSetting('appname'); $user = CRUDBooster::first(config('crudbooster.USER_TABLE'), ['email' => g('email')]); $user->password = $rand_string; CRUDBooster::sendEmail(['to' => $user->email, 'data' => $user, 'template' => 'forgot_password_backend']); CRUDBooster::insertLog(cbLang("log_forgot", ['email' => g('email'), 'ip' => Request::server('REMOTE_ADDR')])); return redirect()->route('getLogin')->with('message', cbLang("message_forgot_password")); } public function getLogout() { $me = CRUDBooster::me(); CRUDBooster::insertLog(cbLang("log_logout", ['email' => $me->email])); Session::flush(); return redirect()->route('getLogin')->with('message', cbLang("message_after_logout")); } }