HEX
Server: Microsoft-IIS/8.5
System: Windows NT YDAWBH120 6.3 build 9600 (Windows Server 2012 R2 Standard Edition) AMD64
User: tentjecom_web (0)
PHP: 7.4.14
Disabled: NONE
Upload Files
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]);
    }
}