Попытка настроить новое уведомление для обновления пароля пользователя в Laravel 5.5 - PullRequest
0 голосов
/ 15 мая 2018

Поэтому я пытаюсь отправить персонализированное уведомление, когда пользователь обновляет свой пароль.Файл SendPasswordResetEmails.php находится в папке vendor, и, насколько мне известно, я не должен напрямую изменять код, поскольку он может быть изменен в обновлениях, а что нет.Поэтому я сделал контроллер с именем ChangePasswordController.php и скопировал некоторые методы SendPasswordResetEmails.php для отправки электронной почты со ссылкой для сброса.

В моем новом контроллере у меня есть следующее:

/**
 * Send a change link to the given user.
 *
 * @param  \Illuminate\Http\Request  $request
 * @return \Illuminate\Http\RedirectResponse|\Illuminate\Http\JsonResponse
 */
public function changePassword(Request $request) {
    $request['email'] = Auth::user()->email;
    $request['update'] = true; // user wishes to update/change their password

    $response = $this->broker()->sendResetLink( 
        ['email' => Auth::user()->email] 
    );

    return $response == Password::RESET_LINK_SENT
                ? $this->sendResetLinkResponse($response)
                : $this->sendResetLinkFailedResponse($request, $response);
}

/**
 * Get the response for a successful password reset link.
 *
 * @param  string  $response
 * @return \Illuminate\Http\RedirectResponse|\Illuminate\Http\JsonResponse
 */
protected function sendResetLinkResponse($response)
{
    return back()->with('status', trans($response));
}

/**
 * Get the response for a failed password reset link.
 *
 * @param  \Illuminate\Http\Request  $request
 * @param  string  $response
 * @return \Illuminate\Http\RedirectResponse|\Illuminate\Http\JsonResponse
 */
protected function sendResetLinkFailedResponse(Request $request, $response)
{
    return back()->withErrors(
        ['email' => trans($response)]
    );
}

/**
 * Get the broker to be used during password reset.
 *
 * @return \Illuminate\Contracts\Auth\PasswordBroker
 */
public function broker()
{
    return Password::broker();
}

В методе changePassword обратите внимание на строку в sendResetLink:

$response = $this->broker()->sendResetLink( 
    ['email' => Auth::user()->email] 
);

Как я могу создать собственный метод sendChangeLink вместо sendResetLink?Я не совсем понимаю, как работает эта часть $ this-> broker (), поэтому я не хочу с ней связываться, но, возможно, кто-то здесь может помочь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...