public function getLoginGoogle(Request $request) { # GET OAUTH DATA $oauth = Socialite::driver('google')->user(); # GET USER $user = User::where('email', $oauth->email)->first(); # LOGIN OR KICK if ($user) { // # RECORD LOGIN $log = new LogLogin(); $log->user_id = $user->id; $log->email = $oauth->email; $log->ip = $request->ip(); $log->result = 'successful'; $log->save(); Auth::login($user); return redirect()->action('\\Skydiver\\RapydDashboard\\Controllers\\DashboardController@getIndex'); } else { // # RECORD LOGIN $log = new LogLogin(); $log->email = $oauth->email; $log->ip = $request->ip(); $log->result = 'failed'; $log->save(); Session::flash('message', array('type' => 'danger', 'msg' => 'No user found.<br>Attempt has been recorded.')); return redirect()->action('\\Skydiver\\RapydDashboard\\Controllers\\OAuthController@getSSOLogin'); } }
public function getIndex() { $form = \DataForm::source(User::find(Auth::user()->id)); $form->add('name', 'Name', 'text')->rule('required|min:5'); $form->add('email', 'E-mail', 'text')->rule('required|email'); $form->add('theme', 'Theme', 'select')->options(Config::get('rapyd-dashboard::AdminLTE.themes'))->rule('required'); $form->add('avatar', 'Avatar', 'select')->options(array_combine(Config::get('rapyd-dashboard::AdminLTE.avatar'), Config::get('rapyd-dashboard::AdminLTE.avatar')))->rule('required'); $form->submit('Update Profile'); $form->saved(function () use($form) { \Session::flash('message', array('type' => 'success', 'msg' => 'Profile updated')); return redirect()->action('\\Skydiver\\RapydDashboard\\Controllers\\ProfileController@getIndex'); }); $form->build(); # GET USER LOGINS $logins = LogLogin::where('user_id', Auth::user()->id)->orderBy('updated_at', 'desc')->take(5)->get(); return $form->view('rapyd-dashboard::profile.index', compact('form', 'logins'))->with('title', 'Edit profile'); }
/** * Create a new user instance after a valid registration. * * @param array $data * @return User */ protected function create(array $data) { return User::create(['name' => $data['name'], 'email' => $data['email'], 'password' => bcrypt($data['password'])]); }