File: D:/HostingSpaces/SBogers10/base.komma.pro/vendor/komma/kms/src/Auth/SendsPasswordSetEmails.php
<?php declare(strict_types=1);
namespace Komma\KMS\Auth;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Password;
/**
* Class SendsPasswordSetEmails
*
* @package Komma\KMS\Auth
*/
trait SendsPasswordSetEmails {
public function sendSetLinkEmail(Request $request)
{
$this->validateSetEmail($request);
// We will send the password reset link to this user. Once we have attempted
// to send the link, we will examine the response then see the message we
// need to show to the user. Finally, we'll send out a proper response.
// dd('erereer');
$response = $this->broker()->sendSetLink(
$this->credentialsForSet($request)
);
return $response == Password::RESET_LINK_SENT
? $this->sendSetResponse($request, $response)
: $this->sendSetFailedResponse($request, $response);
}
/**
* Validate the email for the given request.
*
* @param \Illuminate\Http\Request $request
* @return void
*/
protected function validateSetEmail(Request $request)
{
$request->validate(['email' => 'required|email']);
}
/**
* Get the needed authentication credentials from the request.
*
* @param \Illuminate\Http\Request $request
* @return array
*/
protected function credentialsForSet(Request $request)
{
return $request->only('email');
}
/**
* @param Request $request
* @param $response
*
* @return \Illuminate\Http\RedirectResponse|\Illuminate\Routing\Redirector
*/
protected function sendSetResponse(Request $request, $response)
{
return redirect(route('kms.login'))->with('status', __(__('KMS::auth.password_set')));
}
/**
* Get the response for a failed password reset.
*
* @param \Illuminate\Http\Request $request
* @param string $response
* @return \Illuminate\Http\RedirectResponse|\Illuminate\Http\JsonResponse
*/
protected function sendSetFailedResponse(Request $request, $response)
{
$error = '';
switch ($response) {
case Password::PASSWORD_RESET:
$error = trans('KMS::auth.validation.reset');
break;
case Password::INVALID_USER:
$error = trans('KMS::auth.validation.user');
break;
case Password::INVALID_TOKEN:
$error = trans('KMS::auth.validation.token');
break;
}
return redirect()->back()
->withInput($request->only('email'))
->withErrors(['email' => $error]);
}
}