ForgotPasswordController   A
last analyzed

Complexity

Total Complexity 3

Size/Duplication

Total Lines 44
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 5

Test Coverage

Coverage 0%

Importance

Changes 0
Metric Value
dl 0
loc 44
ccs 0
cts 12
cp 0
rs 10
c 0
b 0
f 0
wmc 3
lcom 0
cbo 5
1
<?php
2
3
namespace App\Http\Controllers\Admin\Auth;
4
5
use App\Http\Controllers\Controller;
6
use App\Support\Helper;
7
use Illuminate\Foundation\Auth\SendsPasswordResetEmails;
8
use Illuminate\Http\Request;
9
use Illuminate\Support\Facades\Password;
10
11
class ForgotPasswordController extends Controller
12
{
13
    use SendsPasswordResetEmails;
14
15
    /**
16
     * Display the form to request a password reset link.
17
     *
18
     * @return \Illuminate\Http\Response
19
     */
20
    public function showLinkRequestForm()
21
    {
22
        return view('admin.auth.passwords');
23
    }
24
25
    /**
26
     * Send a reset link to the given user.
27
     *
28
     * @param  \Illuminate\Http\Request  $request
29
     * @return \Illuminate\Http\RedirectResponse
30
     */
31
    public function sendResetLinkEmail(Request $request)
32
    {
33
        $this->validate($request, [
34
            'email' => 'required|email',
35
            'captcha' => 'required|captcha',
36
        ]);
37
38
        $response = $this->broker()->sendResetLink(
39
            $request->only('email')
40
        );
41
42
        if ($response === Password::RESET_LINK_SENT) {
43
            $emailLoginPage = Helper::mailHomepage($request['email']);
44
45
            $checkOutEmailMessage = "<a href='#'
46
                onclick='(window.open(\"$emailLoginPage\", \"_blank\")).focus();
47
                window.location=\"/login\";'>请前往邮箱查收。</a>";
48
49
            return api(trans($response).$checkOutEmailMessage);
50
        }
51
52
        return api(trans($response), 510);
53
    }
54
}
55