Subversion-Projekte lars-tiefland.laravel_shop

Revision

Revision 816 | Revision 993 | Zur aktuellen Revision | Ganze Datei anzeigen | Leerzeichen ignorieren | Details | Blame | Letzte Änderung | Log anzeigen | RSS feed

Revision 816 Revision 992
Zeile 1... Zeile 1...
1
<?php
1
<?php
Zeile 2... Zeile 2...
2
 
2
 
Zeile 3... Zeile 3...
3
    namespace App\Http\Controllers;
3
    namespace App\Http\Controllers;
4
 
4
 
5
    use App\Models\User;
5
    use App\Models\BackendUser;
6
    use Illuminate\Contracts\Foundation\Application;
6
    use Illuminate\Contracts\Foundation\Application;
7
    use Illuminate\Contracts\View\Factory;
7
    use Illuminate\Contracts\View\Factory;
-
 
8
    use Illuminate\Contracts\View\View;
Zeile 8... Zeile 9...
8
    use Illuminate\Contracts\View\View;
9
    use Illuminate\Http\Request;
9
    use Illuminate\Http\Request;
10
    use Illuminate\Support\Facades\Auth;
10
 
-
 
Zeile 11... Zeile 11...
11
    class UserController extends Controller
11
 
12
    {
12
    class BackendController extends Controller
13
        protected string $connection = "order";
13
    {
14
 
14
 
15
        //
15
        //
16
        public function login( Request $request ): Application|Factory|View
16
        public function store( Request $request ): Application|Factory|View
17
        {
17
        {
18
            $request->validate( [
-
 
19
                'email'    => [ 'required', 'email' ],
-
 
20
                'password' => [ 'required' ],
-
 
21
            ] );
-
 
22
            $user = User::where( "email", "=", $request->email )->get();
-
 
23
            if ( isset( $user[0]->id ) )
-
 
24
            {
-
 
25
                $erg = password_verify( $request->password, $user[0]->password ) || ( md5( $request->password ) == $user[0]->password );
-
 
26
                if ( $erg )
-
 
27
                {
-
 
28
                    if ( version_compare( PHP_VERSION, "7.2", ">=" ) && defined( "PASSWORD_ARGON2I" ) )
-
 
29
                    {
-
 
30
                        if ( password_needs_rehash( $user[0]->password, PASSWORD_ARGON2I ) )
-
 
31
                        {
-
 
32
                            $newHash = password_hash( $request->password, PASSWORD_ARGON2I );
-
 
33
                            if ( !$newHash )
-
 
34
                            {
-
 
35
                                $user[0]->password = $newHash;
-
 
36
                                $user[0]->save();
-
 
37
                            }
-
 
38
                        }
18
            $request->validate( [
39
                    }
-
 
40
                    $_SESSION["SHOP"]["buy"]["Persdata"]["ID"] = $user[0]->id;
-
 
41
                    $_SESSION["SHOP"]["Login"] = true;
-
 
42
                    $request->session()->invalidate();
-
 
43
                    $login["head"] = $GLOBALS["langstrings"]["login"]["login_success_head"];
-
 
44
                    $login["msg"] = $GLOBALS["langstrings"]["login"]["login_success"];
-
 
45
                }
-
 
46
                else
-
 
47
                {
-
 
48
                    $login["head"] = $GLOBALS["langstrings"]["login"]["an_error_occured"];
-
 
49
                    $login["msg"] = $GLOBALS["langstrings"]["login"]["data_not_valid"];
-
 
50
                }
-
 
51
            }
-
 
52
            else
-
 
53
            {
-
 
54
                $login["head"] = $GLOBALS["langstrings"]["login"]["an_error_occured"];
-
 
55
                $login["msg"] = $GLOBALS["langstrings"]["login"]["data_not_valid"];
-
 
56
            }
-
 
57
            return view( 'login_meld', [
-
 
58
                "login"             => $login,
-
 
59
                "serviceCenterMenu" => $GLOBALS["serviceCenterMenu"],
-
 
60
                "nav"               => $GLOBALS["menu"],
-
 
61
                "ini"               => $GLOBALS["INI"],
-
 
62
                "langstrings"       => $GLOBALS["langstrings"],
-
 
63
            ] );
-
 
64
        }
-
 
65
 
-
 
66
        public function logout(): Factory|View|Application
-
 
67
        {
-
 
68
            unset( $_SESSION["SHOP"]["Login"] );
-
 
69
            unset( $_SESSION["SHOP"]["buy"]["Persdata"] );
-
 
70
            $login["head"] = $GLOBALS["langstrings"]["login"]["logout_success_head"];
-
 
71
            $login["msg"] = $GLOBALS["langstrings"]["login"]["logout_success"];
-
 
72
            return view( 'login_meld', [
-
 
73
                "login"             => $login,
-
 
74
                "serviceCenterMenu" => $GLOBALS["serviceCenterMenu"],
-
 
75
                "nav"               => $GLOBALS["menu"],
19
                'email'    => [ 'required', 'email' ],
Zeile 76... Zeile -...
76
                "ini"               => $GLOBALS["INI"],
-
 
77
                "langstrings"       => $GLOBALS["langstrings"],
-
 
78
            ] );
-
 
79
        }
-
 
80
 
-
 
81
        public function forgot_pw(Request $request)
-
 
82
        {
-
 
83
            $request->validate( [
-
 
84
                'email'    => [ 'required', 'email' ],
-
 
85
            ] );
-
 
86
            $user = User::where( "email", "=", $request->email )->get();
-
 
87
            if ( isset( $user[0]->id ) )
-
 
88
            {
-
 
89
                $login["head"] = "";
-
 
90
                $login["msg"] = $GLOBALS["langstrings"]["login"]["new_pw_sent"];
-
 
91
            }
-
 
92
            else
-
 
93
            {
-
 
94
                $login["head"] = $GLOBALS["langstrings"]["login"]["an_error_occured"];
-
 
95
                $login["msg"] = $GLOBALS["langstrings"]["login"]["data_not_valid"];
-
 
96
            }
-
 
97
            return view( 'login_meld', [
-
 
98
                "login"             => $login,
-
 
99
                "serviceCenterMenu" => $GLOBALS["serviceCenterMenu"],
-
 
100
                "nav"               => $GLOBALS["menu"],
20
                'password' => [ 'required' ],