Anons79 Mini Shell

Directory : /home/aplikasiposinfo/www/langganan.fixmate.id/app/Http/Controllers/
Upload File :
Current File : /home/aplikasiposinfo/www/langganan.fixmate.id/app/Http/Controllers/AuthController.php

<?php

namespace App\Http\Controllers;

use App\Models\logAktifitas;
use App\Models\Profile;
use App\Models\User;
use Carbon\Carbon;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Hash;
use Illuminate\Support\Facades\Validator;
use SebastianBergmann\CodeCoverage\Report\Html\Dashboard;
use Throwable;

class AuthController extends Controller
{
    public function login()
    {
        return view('Auth.login');
    }
    public function loginAction(Request $request)
    {

        try {
            $credential = $request->validate(
                [
                    'email' => 'email|required',
                    'password' => 'required',
                ]
            );
            if (Auth::attempt($credential)) {
                return redirect()->intended('/dashboard');
            } else {

                return redirect()->back()->with('error', 'akun yang anda masukan salah!');
            }
        } catch (Throwable $th) {
            return redirect()->back()->with('error', $th->getMessage());
        }
    }
    public function logout()
    {
        Auth::logout(); // Menghapus sesi pengguna
        return redirect()->route('login.page')->with('info', 'Anda Telah logout.');
    }
    public function registrasiPage()
    {
        return view('Auth.registrasi');
    }
    public function registrasi(Request $request)
    {
        try {
            $request->validate([
                'email' => 'required|email',
                'name' => 'required',
                'password' => 'nullable|string|min:6|confirmed',
                'nama_lengkap' => 'required',
                'alamat' => 'required|string|max:500',
                'no_telp' => 'required|numeric',
                'photo' => 'nullable|mimes:jpeg,png,jpg|max:2048',
            ], [
                'email.required' => 'Email wajib diisi.',
                'email.email' => 'Format email tidak valid.',
                'name.required' => 'Username wajib diisi.',
                'password.min' => 'Password minimal 6 karakter.',
                'password.confirmed' => 'Konfirmasi password tidak sesuai.',
                'nama_lengkap.required' => 'Nama lengkap wajib diisi.',
                'alamat.required' => 'Alamat wajib diisi.',
                'alamat.max' => 'Alamat tidak boleh lebih dari 500 karakter.',
                'no_telp.required' => 'Nomor WhatsApp wajib diisi.',
                'no_telp.numeric' => 'Nomor WhatsApp harus berupa angka.',
                'photo.mimes' => 'Photo harus berformat jpeg, png, atau jpg.',
                'photo.max' => 'Photo tidak boleh lebih dari 2MB.',
            ]);


            $dataUser = [
                'email' => $request->email,
                'name' => $request->name,
            ];


            if ($request->filled('password')) {
                $dataUser['password'] = Hash::make($request->password);
            }



            $createUser = User::create($dataUser);
            $createUser->assignRole('user');


            $dataProfile = [
                'user_id' => $createUser->id,
                'nama_lengkap' => $request->nama_lengkap,
                'alamat' => $request->alamat,
                'no_telp' => $request->no_telp,
            ];

            if ($request->hasFile('photo')) {
                $foto_file = $request->file('photo');
                $foto_ekstensi = $foto_file->extension();
                $foto_baru = "Profile-" . date('ymdhis') . ".$foto_ekstensi";
                $foto_file->move(public_path('images/profile'), $foto_baru);
                $dataProfile['photo'] = $foto_baru;
            }

            Profile::create($dataProfile);

            $time = Carbon::now('Asia/Makassar')->format('Y-m-d H:i:s');

            $log_aktifitas = [
                'user_id' => $createUser->id,
                'aktifitas' => 'User baru telah ditambahkan dengan Email ' . $createUser->email,
                'waktu' => $time,
            ];
            logAktifitas::create($log_aktifitas);


            return redirect()->route('login.page')->with('success', 'Selamat,Akun Berhasil dibuat!');
        } catch (Throwable $th) {
            return redirect()->back()->with('error', $th->getMessage());

            // return redirect()->route('error.500');
        }
    }
}

Anons79 File Manager Version 1.0, Coded By Anons79
Email: [email protected]