| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104 | 
							- <?php namespace App\Http\Controllers;
 
- use Illuminate\Http\Request;
 
- use Illuminate\Contracts\Auth\PasswordBroker;
 
- use Symfony\Component\HttpKernel\Exception\NotFoundHttpException;
 
- class PasswordController extends Controller {
 
- 	/**
 
- 	 * The password broker implementation.
 
- 	 *
 
- 	 * @var PasswordBroker
 
- 	 */
 
- 	protected $passwords;
 
- 	/**
 
- 	 * Create a new password controller instance.
 
- 	 *
 
- 	 * @param  PasswordBroker  $passwords
 
- 	 * @return void
 
- 	 */
 
- 	public function __construct(PasswordBroker $passwords)
 
- 	{
 
- 		$this->passwords = $passwords;
 
- 		$this->middleware('guest');
 
- 	}
 
- 	/**
 
- 	 * Display the form to request a password reset link.
 
- 	 *
 
- 	 * @return Response
 
- 	 */
 
- 	public function getEmail()
 
- 	{
 
- 		return view('password.email');
 
- 	}
 
- 	/**
 
- 	 * Send a reset link to the given user.
 
- 	 *
 
- 	 * @param  Request  $request
 
- 	 * @return Response
 
- 	 */
 
- 	public function postEmail(Request $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('password.reset')->with('token', $token);
 
- 	}
 
- 	/**
 
- 	 * Reset the given user's password.
 
- 	 *
 
- 	 * @param  Request  $request
 
- 	 * @return Response
 
- 	 */
 
- 	public function postReset(Request $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()->withErrors(['email' => trans($response)]);
 
- 			case PasswordBroker::PASSWORD_RESET:
 
- 				return redirect()->to('/');
 
- 		}
 
- 	}
 
- }
 
 
  |