コード例 #1
0
ファイル: GithubController.php プロジェクト: bbashy/LaraBin
 /**
  * Obtain the user information from GitHub.
  *
  * @return Response
  */
 public function handleProviderCallback()
 {
     $user = Socialite::driver('github')->user();
     if (auth()->guest()) {
         $exists = User::where('github_token', $user->token)->first();
         if (!$exists) {
             $username = static::usernameCheck($user->getNickname());
             $checkEmail = User::where('email', $user->getEmail())->first();
             $email = $checkEmail ? null : $user->getEmail();
             $name = trim($user->getName()) != '' ? $user->getName() : $username;
             $newUser = User::create(['github_token' => $user->token, 'name' => $name, 'username' => $username, 'email' => $email, 'verified' => true, 'settings' => []]);
             auth()->login($newUser, true);
             session()->flash('success', 'Successfully logged in!');
             return redirect()->route('home');
         }
         auth()->login($exists, true);
         session()->flash('success', 'Successfully logged in!');
         return redirect()->route('home');
     }
     $current = User::find(auth()->user()->getAuthIdentifier());
     $current->github_token = $user->token;
     $current->save();
     session()->flash('success', 'GitHub details updated successfully!');
     return redirect()->route('settings');
 }
コード例 #2
0
ファイル: SettingsController.php プロジェクト: bbashy/LaraBin
 public function update(Requests\Auth\UpdateUser $request)
 {
     // Update Password
     if ($request->has('new_password')) {
         // Check if user has an existing password - GitHub users will not
         if (auth()->user()->getAuthPassword() && !$request->has('current_password')) {
             session()->flash('error', 'You must supply your current password!');
             return redirect()->back()->withInput();
         }
         // Check if existing password is correct
         if (auth()->user()->getAuthPassword() && !Hash::check($request->input('current_password'), auth()->user()->getAuthPassword())) {
             session()->flash('error', 'Your current password is incorrect!');
             return redirect()->back()->withInput();
         }
     }
     $website = $request->has('website') && trim($request->input('website')) != '' ? $request->input('website') : null;
     $github_username = $request->has('github_username') && trim($request->input('github_username')) != '' ? $request->input('github_username') : null;
     $twitter_username = $request->has('twitter_username') && trim($request->input('twitter_username')) != '' ? $request->input('twitter_username') : null;
     $user = User::find(auth()->user()->getAuthIdentifier());
     $user->name = $request->input('name');
     $user->username = $request->input('username');
     $user->email = $request->input('email');
     if ($request->has('new_password')) {
         $user->password = bcrypt($request->input('new_password'));
     }
     $user->save();
     settings()->setMany(['website' => $website, 'github_username' => $github_username, 'twitter_username' => $twitter_username]);
     session()->flash('success', 'Account updated successfully!');
     return redirect()->back();
 }
コード例 #3
0
ファイル: UserController.php プロジェクト: bbashy/LaraBin
 public function activate(Request $request, AppMailer $mailer)
 {
     $user = User::find($request->input('id'));
     $user->verified = 1;
     $user->save();
     $user->emailVerification()->delete();
     $mailer->sendManualActivationEmailTo($user);
     session()->flash('success', 'User <strong>' . $user->username . '</strong> successfully activated!');
     return redirect()->route('admin.users');
 }