| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130 | 
							- <?php namespace App\Http\Controllers\Auth;
 
- use App\User;
 
- use App\Http\Requests;
 
- use App\Http\Controllers\Controller;
 
- use Illuminate\Contracts\Auth\Guard;
 
- use Illuminate\Contracts\Auth\PasswordBroker;
 
- use Symfony\Component\HttpKernel\Exception\NotFoundHttpException;
 
- class PasswordController extends Controller {
 
- 	/**
 
- 	 * The Guard implementation.
 
- 	 *
 
- 	 * @var Guard
 
- 	 */
 
- 	protected $auth;
 
- 	/**
 
- 	 * The password broker implementation.
 
- 	 *
 
- 	 * @var PasswordBroker
 
- 	 */
 
- 	protected $passwords;
 
- 	/**
 
- 	 * Create a new password controller instance.
 
- 	 *
 
- 	 * @param  PasswordBroker  $passwords
 
- 	 * @return void
 
- 	 */
 
- 	public function __construct(Guard $auth, PasswordBroker $passwords)
 
- 	{
 
- 		$this->auth = $auth;
 
- 		$this->passwords = $passwords;
 
- 		$this->middleware('guest');
 
- 	}
 
- 	/**
 
- 	 * Display the form to request a password reset link.
 
- 	 *
 
- 	 * @return Response
 
- 	 */
 
- 	public function getEmail()
 
- 	{
 
- 		return view('auth.password');
 
- 	}
 
- 	/**
 
- 	 * Send a reset link to the given user.
 
- 	 *
 
- 	 * @param  EmailPasswordLinkRequest  $request
 
- 	 * @return Response
 
- 	 */
 
- 	public function postEmail(Requests\Auth\EmailPasswordLinkRequest $request)
 
- 	{
 
- 		switch ($response = $this->passwords->sendResetLink($request->only('email')))
 
- 		{
 
- 			case PasswordBroker::INVALID_USER:
 
- 				return redirect()->back()->withErrors(['email' =>trans($response)]);
 
- 			case PasswordBroker::RESET_LINK_SENT:
 
- 				return redirect()->back()->with('status', trans($response));
 
- 		}
 
- 	}
 
- 	/**
 
- 	 * Display the password reset view for the given token.
 
- 	 *
 
- 	 * @param  string  $token
 
- 	 * @return Response
 
- 	 */
 
- 	public function getReset($token = null)
 
- 	{
 
- 		if (is_null($token))
 
- 		{
 
- 			throw new NotFoundHttpException;
 
- 		}
 
- 		return view('auth.reset')->with('token', $token);
 
- 	}
 
- 	/**
 
- 	 * Reset the given user's password.
 
- 	 *
 
- 	 * @param  ResetPasswordRequest  $request
 
- 	 * @return Response
 
- 	 */
 
- 	public function postReset(Requests\Auth\ResetPasswordRequest $request)
 
- 	{
 
- 		$credentials = $request->only(
 
- 			'email', 'password', 'password_confirmation', 'token'
 
- 		);
 
- 		$response = $this->passwords->reset($credentials, function($user, $password)
 
- 		{
 
- 			$user->password = bcrypt($password);
 
- 			$user->save();
 
- 		});
 
- 		switch ($response)
 
- 		{
 
- 			case PasswordBroker::INVALID_PASSWORD:
 
- 			case PasswordBroker::INVALID_TOKEN:
 
- 			case PasswordBroker::INVALID_USER:
 
- 				return redirect()->back()
 
- 							->withInput($request->only('email'))
 
- 							->withErrors(['email' => trans($response)]);
 
- 			case PasswordBroker::PASSWORD_RESET:
 
- 				return $this->loginAndRedirect($request->email);
 
- 		}
 
- 	}
 
- 	/**
 
- 	 * Login the user with the given e-mail address and redirect home.
 
- 	 *
 
- 	 * @param  string  $email
 
- 	 * @return Response
 
- 	 */
 
- 	protected function loginAndRedirect($email)
 
- 	{
 
- 		$this->auth->login(User::where('email', $email)->firstOrFail());
 
- 		return redirect('/home');
 
- 	}
 
- }
 
 
  |