Created
January 7, 2016 14:25
-
-
Save fearrr/bbf0e96933e5f1128f43 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| <?php | |
| namespace App\Http\Controllers\Auth; | |
| use App\Http\Controllers\Controller; | |
| use Illuminate\Foundation\Auth\ResetsPasswords; | |
| use Illuminate\Http\Request; | |
| use Illuminate\Mail\Message; | |
| use Illuminate\Support\Facades\Password; | |
| use Illuminate\Http\JsonResponse; | |
| use Validator; | |
| use Config; | |
| class PasswordController extends Controller | |
| { | |
| use ResetsPasswords; | |
| protected $redirectTo = '/personal/dashboard'; | |
| public function __construct() | |
| { | |
| $this->middleware('guest'); | |
| } | |
| public function resetSend(Request $request) | |
| { | |
| $v = Validator::make($request->all(), [ | |
| 'email' => 'required|email|max:50|min:3', | |
| ], [ | |
| 'email.required' => 'Пажалуйста, укажите Ваш e-mail!', | |
| 'email.email' => 'Указанный E-mail не похож на корректный!', | |
| 'email.max' => 'Указанный E-mail не похож на корректный!', | |
| 'email.min' => 'Указанный E-mail не похож на корректный!', | |
| ]); | |
| if ($v->fails()) | |
| { | |
| if($request->ajax()){ | |
| return new JsonResponse($v->errors(), 422); | |
| } | |
| else{ | |
| return redirect()->back()->withErrors($v->errors()); | |
| } | |
| } | |
| $response = Password::sendResetLink($request->only('email'), function (Message $message) { | |
| $message->subject($this->getEmailSubject()); | |
| }); | |
| switch ($response) { | |
| case Password::RESET_LINK_SENT: | |
| if($request->ajax()){ | |
| return new JsonResponse([$response], 200); | |
| } | |
| else{ | |
| return redirect()->back()->with('status', trans($response)); | |
| } | |
| case Password::INVALID_USER: | |
| if($request->ajax()){ | |
| return new JsonResponse([$response], 400); | |
| } | |
| else{ | |
| return redirect()->back()->withErrors(['email' => trans($response)]); | |
| } | |
| } | |
| } | |
| protected function getEmailSubject() | |
| { | |
| return property_exists($this, 'subject') ? $this->subject : Config::get('app.project_name').' Ссылка сброса пароля'; | |
| } | |
| } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment