Anons79 Mini Shell

Directory : /home/aplikasiposinfo/www/dispora.aplikasipos.info/app/Http/Controllers/
Upload File :
Current File : /home/aplikasiposinfo/www/dispora.aplikasipos.info/app/Http/Controllers/UserController.php

<?php

namespace App\Http\Controllers;

use App\Models\club;
use App\Models\gudep;
use App\Models\kecamatan;
use App\Models\kelurahan;
use App\Models\olahraga;
use App\Models\saka;
use App\Models\User;
use Dotenv\Util\Str;
use Illuminate\Contracts\Encryption\DecryptException;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Crypt;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\File;
use PhpParser\Node\Expr\Cast\String_;

class UserController extends Controller
{
    public function getall()
    {
        $data['organisasi'] = User::with('kecamatan', 'kelurahan', 'gudep', 'saka', 'club')->get();

        return view('all.index')->with($data);
    }


    //PEMUDA CLUB ROUTE
    public function index()
    {
        $id = auth()->user()->id;
        $data['data'] = User::with('kelurahan', 'kecamatan')->where('id', $id)->first();

        $data['kecamatan'] = kecamatan::get();
        $data['kelurahan'] = kelurahan::get();
        return view('organisasi.index')->with($data);
    }
    //USER SAKA ROUTE
    public function saka(String $id)
    {
        $decryptedId = Crypt::decryptString($id);
        $data['data'] = user::where('id', $decryptedId)->with('saka')->first();
        $kecamatan_id = $data['data']->kecamatan_id;
        $kelurahan_id = $data['data']->kelurahan_id;
        $data['kecamatan'] = kecamatan::get();
        $data['kecamatan_id'] = kecamatan::where('id', $kecamatan_id)->first();
        $data['kelurahan'] = kelurahan::get();
        $data['kelurahan_id'] = kelurahan::where('id', $kelurahan_id)->first();

        return view('organisasi.saka')->with($data);
    }
    //USER GUDEP ROUTE
    public function gudep(String $id)
    {
        $decryptedId = Crypt::decryptString($id);
        $data['data'] = user::where('id', $decryptedId)->with('gudep')->first();
        $kecamatan_id = $data['data']->kecamatan_id;
        $kelurahan_id = $data['data']->kelurahan_id;
        $data['kecamatan'] = kecamatan::get();
        $data['kecamatan_id'] = kecamatan::where('id', $kecamatan_id)->first();
        $data['kelurahan'] = kelurahan::get();
        $data['kelurahan_id'] = kelurahan::where('id', $kelurahan_id)->first();

        return view('organisasi.gudep')->with($data);
    }
    //USER CLUB ROUTE
    public function club(String $id)
    {
        $decryptedId = Crypt::decryptString($id);
        $data['data'] = user::where('id', $decryptedId)->with('club')->first();
        $data['club'] = club::where('id', $decryptedId)->with('club')->first();
        $data['olahraga'] = olahraga::get();
        $kecamatan_id = $data['data']->kecamatan_id;
        $kelurahan_id = $data['data']->kelurahan_id;
        $data['kecamatan'] = kecamatan::get();
        $data['kecamatan_id'] = kecamatan::where('id', $kecamatan_id)->first();
        $data['kelurahan'] = kelurahan::get();
        $data['kelurahan_id'] = kelurahan::where('id', $kelurahan_id)->first();

        return view('organisasi.club')->with($data);
    }




    //USER CONTROL 

    public function store(Request $request)
    {
        DB::beginTransaction();
        try {
            $request->validate([
                'username' => 'required',
                'email' => 'required|email|unique:users',
                'password' => 'required|min:6',
                'namalengkap' => 'required',
                'no_telp' => 'required',
                'legalitas' => 'required',
                'periode' => 'required',
                'ketua' => 'required',
                'alamat' => 'required',
                'kecamatan_id' => 'required',
                'kelurahan_id' => 'required',
                'role' => 'required',
                'photo' => 'mimes:jpg,jpeg,png,gif,svg',
                'organisasi' => 'required',
                'gedung' => 'required',
                'jenis_keanggotaan' => 'nullable'
            ], ['email.unique' => 'The email has already been taken.']);


            $data = [
                'username' => $request->username,
                'email' => $request->email,
                'password' => bcrypt($request->password),
                'no_telp' => $request->no_telp,
                'periode' => $request->periode,
                'ketua' => $request->ketua,
                'namalengkap' => $request->namalengkap,
                'alamat' => $request->alamat,
                'legalitas' => $request->legalitas,
                'kecamatan_id' => $request->kecamatan_id,
                'kelurahan_id' => $request->kelurahan_id,
                'status' => 1,
                'organisasi' => $request->organisasi,
                'jenis_keanggotaan' => $request->jenis_keanggotaan,
                'gedung' => $request->gedung,
                'lat' => $request->lat,
                'lng' => $request->lng,
                'persetujuan' => 0,
                'role' => $request->role
            ];
            if ($request->hasFile('photo')) {
                $foto_file = $request->file('photo');
                $foto_ekstensi = $foto_file->extension();
                $foto_baru = "User-" . date('ymdhis') . ".$foto_ekstensi";
                $foto_file->move(public_path('images'), $foto_baru);
                $data['photo'] = $foto_baru;
            }

            User::create($data);
            if ($request->role == 2) {
                $user_id = User::latest()->first()->id;
                $request->validate([
                    'olahraga_id' => 'required',
                    'deskripsiclub' => 'required',

                ]);
                $dataclub = [
                    'name' => $request->organisasi,
                    'deskripsi' => $request->deskripsiclub,
                    'olahraga_id' => $request->olahraga_id,
                    'user_id' => $user_id,
                ];
                club::create($dataclub);
            }
            if ($request->role == 3) {
                $user_id = User::latest()->first()->id;
                $datasaka = [
                    'name' => $request->organisasi,
                    'deskripsi' => $request->deskripsi,
                    'jabatan' => $request->jabatan,
                    'user_id' => $user_id,
                ];
                saka::create($datasaka);
            }
            if ($request->role == 4) {
                $user_id = User::latest()->first()->id;
                $datagudep = [
                    'name' => $request->organisasi,
                    'kode' => $request->kode,
                    'user_id' => $user_id,
                ];
                gudep::create($datagudep);
            }
            DB::commit();
            return redirect()->route('login')->with('success', 'Akun berhasil dibuat!');
        } catch (DecryptException $e) {
            DB::rollback();
            return redirect()->back()->with('error', 'Akun Gagal dibuat!');
        }
    }
    public function update(request $request, string $id)
    {
        try {
            $decryptedId = Crypt::decryptString($id);

            $request->validate([
                'username' => 'required',
                'email' => 'required|email',
                'namalengkap' => 'required',
                'no_telp' => 'required',
                'password' =>  'sometimes|nullable|min:6',
                'legalitas' => 'required',
                'periode' => 'required',
                'ketua' => 'required',
                'alamat' => 'required',
                'kecamatan_id' => 'required',
                'photo' => 'mimes:jpg,jpeg,png,gif,svg|nullable',
                'organisasi' => 'required',
                'status' => 'required',
                'jenis_keanggotaan' => 'nullable'
            ]);


            $data = [
                'username' => $request->username,
                'email' => $request->email,
                'password' => bcrypt($request->password),
                'no_telp' => $request->no_telp,
                'periode' => $request->periode,
                'ketua' => $request->ketua,
                'namalengkap' => $request->namalengkap,
                'alamat' => $request->alamat,
                'legalitas' => $request->legalitas,
                'kecamatan_id' => $request->kecamatan_id,
                'kelurahan_id' => $request->kelurahan_id,
                'status' => 1,
                'organisasi' => $request->organisasi,
                'jenis_keanggotaan' => $request->jenis_keanggotaan
            ];
            if ($request->input('password') != '') {
                $data['password'] = bcrypt($request->password);
            }

            if ($request->hasFile('photo')) {
                $foto_file = $request->file('photo');
                $foto_ekstensi = $foto_file->extension();
                $foto_baru = "User-" . date('ymdhis') . ".$foto_ekstensi";
                $foto_file->move(public_path('images'), $foto_baru);
                $data['photo'] = $foto_baru;
                $getfoto = User::where('id', $decryptedId)->first();
                $foto_lama = $getfoto->photo;
                File::delete(public_path('images') . "/" . $foto_lama);
            }


            User::where('id', $decryptedId)->update($data);
            if (Auth()->user()->role == 3) {
                $datasaka = [
                    'name' => $request->organisasi
                ];
                saka::where('user_id', $decryptedId)->update($datasaka);
            }
            if (Auth()->user()->role == 4) {
                $datasaka = [
                    'name' => $request->organisasi
                ];
                gudep::where('user_id', $decryptedId)->update($datasaka);
            }





            if (auth()->user()->role == 1) {
                return redirect()->route('user.index')->with('success', 'Data successfully changed');
            }
            if (auth()->user()->role == 3) {
                return redirect()->route('satuankarya')->with('success', 'Data successfully changed');
            }

            if (auth()->user()->role == 4) {
                return redirect()->route('gugusdepan')->with('success', 'Data successfully changed');
            }
        } catch (DecryptException $e) {
            return redirect()->back()->with('error', 'Invalid ID');
        }
    }
    //USER CONTROL 








    // PEMUDA ADMIN CONTROL PEMUDA START
    public function controlPemuda()
    {
        $data['pemuda'] = User::with('kecamatan', 'kelurahan')->where('role', 1)->get();
        $data['kecamatan'] = kecamatan::get();
        $data['kelurahan'] = kelurahan::get();
        return view('organisasi_pemuda.index')->with($data);
    }
    public function tambahPemuda(Request $request)
    {
        $request->validate([
            'username' => 'required',
            'email' => 'required|email|unique:users',
            'password' => 'required|min:6',
            'namalengkap' => 'required',
            'no_telp' => 'required',
            'legalitas' => 'required',
            'periode' => 'required',
            'ketua' => 'required',
            'alamat' => 'required',
            'kecamatan_id' => 'required',
            'kelurahan_id' => 'required',
            'role' => 'required',
            'photo' => 'mimes:jpg,jpeg,png,gif,svg',
            'organisasi' => 'required',
            'gedung' => 'required',
            'jenis_keanggotaan' => 'nullable'
        ], ['email.unique' => 'The email has already been taken.']);

        $koordinat = $request->koordinat;
        $arraykoordinat = explode(',', $koordinat);

        $data = [
            'username' => $request->username,
            'email' => $request->email,
            'password' => bcrypt($request->password),
            'no_telp' => $request->no_telp,
            'periode' => $request->periode,
            'ketua' => $request->ketua,
            'namalengkap' => $request->namalengkap,
            'alamat' => $request->alamat,
            'legalitas' => $request->legalitas,
            'kecamatan_id' => $request->kecamatan_id,
            'kelurahan_id' => $request->kelurahan_id,
            'status' => 1,
            'organisasi' => $request->organisasi,
            'jenis_keanggotaan' => $request->jenis_keanggotaan,
            'persetujuan' => 0,
            'role' => $request->role,
            'gedung' => $request->gedung,
            'lat' => $arraykoordinat[0],
            'lng' => $arraykoordinat[1],
        ];
        if ($request->hasFile('photo')) {
            $foto_file = $request->file('photo');
            $foto_ekstensi = $foto_file->extension();
            $foto_baru = "User-" . date('ymdhis') . ".$foto_ekstensi";
            $foto_file->move(public_path('images'), $foto_baru);
            $data['photo'] = $foto_baru;
        }

        User::create($data);
        return redirect()->route('controlPemuda')->with('success', 'Akun berhasil dibuat!');
    }
    public function ubahPemuda(Request $request, String $id)
    {
        try {
            $decryptedId = Crypt::decryptString($id);

            $request->validate([
                'username' => 'required',
                'email' => 'required|email',
                'namalengkap' => 'required',
                'no_telp' => 'required',
                'legalitas' => 'required',
                'periode' => 'required',
                'ketua' => 'required',
                'password' => 'sometimes|nullable|min:6',
                'alamat' => 'required',
                'kecamatan_id' => 'required',
                'photo' => 'mimes:jpg,jpeg,png,gif,svg|nullable',
                'organisasi' => 'required',
                'status' => 'required',
                'jenis_keanggotaan' => 'nullable'
            ]);
            $koordinat = $request->koordinat;
            $arraykoordinat = explode(',', $koordinat);


            $data = [
                'username' => $request->username,
                'email' => $request->email,
                'password' => bcrypt($request->password),
                'no_telp' => $request->no_telp,
                'periode' => $request->periode,
                'ketua' => $request->ketua,
                'namalengkap' => $request->namalengkap,
                'alamat' => $request->alamat,
                'legalitas' => $request->legalitas,
                'kecamatan_id' => $request->kecamatan_id,
                'kelurahan_id' => $request->kelurahan_id,
                'status' => 1,
                'organisasi' => $request->organisasi,
                'jenis_keanggotaan' => $request->jenis_keanggotaan,
                'gedung' => $request->gedung,
                'lat' => $arraykoordinat[0],
                'lng' => $arraykoordinat[1],
            ];
            if ($request->input('password') != '') {
                $data['password'] = bcrypt($request->password);
            }

            if ($request->hasFile('photo')) {
                $foto_file = $request->file('photo');
                $foto_ekstensi = $foto_file->extension();
                $foto_baru = "User-" . date('ymdhis') . ".$foto_ekstensi";
                $foto_file->move(public_path('images'), $foto_baru);
                $data['photo'] = $foto_baru;
                $getfoto = User::where('id', $decryptedId)->first();
                $foto_lama = $getfoto->photo;
                File::delete(public_path('images') . "/" . $foto_lama);
            }


            User::where('id', $decryptedId)->update($data);
            return redirect()->route('controlPemuda')->with('success', 'Akun berhasil diubah!');
        } catch (DecryptException $e) {
            return redirect()->back()->with('error', 'Invalid ID');
        }
    }

    public function hapusPemuda($id)
    {
        try {


            $decryptedId = Crypt::decryptString($id);
            $user = User::where('id', $decryptedId);
            $foto = $user->first();
            File::delete(public_path('images') . "/" . $foto->photo);
            $user->delete();
            return redirect()->route('controlPemuda')->with('delete', 'Data successfully deleted');
        } catch (DecryptException $e) {
            return redirect()->back()->with('error', 'Invalid ID');
        }
    }





    // PEMUDA ADMIN CONTROL END








    // CLUB ADMIN CONTROL START
    public function controlClub()
    {
        $data['club'] = User::where('role', 2)->with('kecamatan', 'kelurahan', 'club')->get();
        $data['kecamatan'] = kecamatan::get();
        $data['kelurahan'] = kelurahan::get();
        $data['olahraga'] = olahraga::get();

        return view('club.index')->with($data);
    }
    public function tambahClub(Request $request)
    { {
            $request->validate([
                'username' => 'required',
                'email' => 'required|email|unique:users',
                'password' => 'required|min:6',
                'namalengkap' => 'required',
                'no_telp' => 'required',
                'legalitas' => 'required',
                'periode' => 'required',
                'ketua' => 'required',
                'alamat' => 'required',
                'kecamatan_id' => 'required',
                'kelurahan_id' => 'required',
                'role' => 'required',
                'photo' => 'mimes:jpg,jpeg,png,gif,svg',
                'organisasi' => 'required',
                'jenis_keanggotaan' => 'nullable'
            ], ['email.unique' => 'The email has already been taken.']);

            $koordinat = $request->koordinat;
            $arraykoordinat = explode(',', $koordinat);
            $data = [
                'username' => $request->username,
                'email' => $request->email,
                'password' => bcrypt($request->password),
                'no_telp' => $request->no_telp,
                'periode' => $request->periode,
                'ketua' => $request->ketua,
                'namalengkap' => $request->namalengkap,
                'alamat' => $request->alamat,
                'legalitas' => $request->legalitas,
                'kecamatan_id' => $request->kecamatan_id,
                'kelurahan_id' => $request->kelurahan_id,
                'status' => 1,
                'organisasi' => $request->organisasi,
                'gedung' => $request->gedung,
                'lat' => $arraykoordinat[0],
                'lng' => $arraykoordinat[1],
                'jenis_keanggotaan' => $request->jenis_keanggotaan,
                'persetujuan' => 0,
                'role' => 2
            ];
            if ($request->hasFile('photo')) {
                $foto_file = $request->file('photo');
                $foto_ekstensi = $foto_file->extension();
                $foto_baru = "User-" . date('ymdhis') . ".$foto_ekstensi";
                $foto_file->move(public_path('images'), $foto_baru);
                $data['photo'] = $foto_baru;
            }

            User::create($data);

            $user_id = User::latest()->first()->id;
            $dataclub = [
                'name' => $request->organisasi,
                'deskripsi' => $request->deskripsiclub,
                'olahraga_id' => $request->olahraga_id,
                'user_id' => $user_id,
            ];
            club::create($dataclub);

            return redirect()->route('controlClub')->with('success', 'Akun berhasil dibuat!');
        }
    }
    public function ubahClub(Request $request, String $id)
    {
        try {
            $decryptedId = Crypt::decryptString($id);

            $request->validate([
                'username' => 'required',
                'email' => 'required|email',
                'namalengkap' => 'required',
                'no_telp' => 'required',
                'legalitas' => 'required',
                'password' => 'sometimes|nullable|min:6',
                'periode' => 'required',
                'ketua' => 'required',
                'alamat' => 'required',
                'kecamatan_id' => 'required',
                'photo' => 'mimes:jpg,jpeg,png,gif,svg|nullable',
                'organisasi' => 'required',
                'status' => 'required',
                'jenis_keanggotaan' => 'nullable'
            ]);
            $koordinat = $request->koordinat;
            $arraykoordinat = explode(',', $koordinat);

            $data = [
                'username' => $request->username,
                'email' => $request->email,
                'password' => bcrypt($request->password),
                'no_telp' => $request->no_telp,
                'periode' => $request->periode,
                'ketua' => $request->ketua,
                'namalengkap' => $request->namalengkap,
                'alamat' => $request->alamat,
                'legalitas' => $request->legalitas,
                'kecamatan_id' => $request->kecamatan_id,
                'kelurahan_id' => $request->kelurahan_id,
                'status' => 1,
                'gedung' => $request->gedung,
                'lat' => $arraykoordinat[0],
                'lng' => $arraykoordinat[1],
                'organisasi' => $request->organisasi,
                'jenis_keanggotaan' => $request->jenis_keanggotaan
            ];
            if ($request->input('password') != '') {
                $data['password'] = bcrypt($request->password);
            }

            if ($request->hasFile('photo')) {
                $foto_file = $request->file('photo');
                $foto_ekstensi = $foto_file->extension();
                $foto_baru = "User-" . date('ymdhis') . ".$foto_ekstensi";
                $foto_file->move(public_path('images'), $foto_baru);
                $data['photo'] = $foto_baru;
                $getfoto = User::where('id', $decryptedId)->first();
                $foto_lama = $getfoto->photo;
                File::delete(public_path('images') . "/" . $foto_lama);
            }

            User::where('id', $decryptedId)->update($data);



            $dataclub = [
                'name' => $request->organisasi,
                'deskripsi' => $request->deskripsiclub,
                'olahraga_id' => $request->olahraga_id,

            ];
            club::where('user_id', $decryptedId)->update($dataclub);

            return redirect()->route('controlClub')->with('success', 'Akun berhasil diubah!');
        } catch (DecryptException $e) {
            return redirect()->back()->with('error', 'Invalid ID');
        }
    }
    public function hapusClub($id)
    {
        try {


            $decryptedId = Crypt::decryptString($id);
            $user = User::where('id', $decryptedId);
            $foto = $user->first();
            File::delete(public_path('images') . "/" . $foto->photo);
            $user->delete();
            club::where('user_id', $decryptedId)->delete();
            return redirect()->route('controlClub')->with('delete', 'Data successfully deleted');
        } catch (DecryptException $e) {
            return redirect()->back()->with('error', 'Invalid ID');
        }
    }
    // CLUB ADMIN CONTROL END







    // SAKA ADMIN CONTROL START
    public function controlsaka()
    {
        $data['saka'] = User::where('role', 3)->with('kecamatan', 'kelurahan', 'saka')->get();
        $data['kecamatan'] = kecamatan::get();
        $data['kelurahan'] = kelurahan::get();


        return view('saka.index')->with($data);
    }
    public function tambahSaka(Request $request)
    { {
            $request->validate([
                'username' => 'required',
                'email' => 'required|email|unique:users',
                'password' => 'required|min:6',
                'namalengkap' => 'required',
                'no_telp' => 'required',
                'legalitas' => 'required',
                'periode' => 'required',
                'ketua' => 'required',
                'alamat' => 'required',
                'kecamatan_id' => 'required',
                'kelurahan_id' => 'required',
                'role' => 'required',
                'photo' => 'mimes:jpg,jpeg,png,gif,svg',
                'organisasi' => 'required',
                'jenis_keanggotaan' => 'nullable',
                'gedung' => 'required'
            ], ['email.unique' => 'The email has already been taken.']);

            $koordinat = $request->koordinat;
            $arraykoordinat = explode(',', $koordinat);
            $data = [
                'username' => $request->username,
                'email' => $request->email,
                'password' => bcrypt($request->password),
                'no_telp' => $request->no_telp,
                'periode' => $request->periode,
                'ketua' => $request->ketua,
                'namalengkap' => $request->namalengkap,
                'alamat' => $request->alamat,
                'legalitas' => $request->legalitas,
                'kecamatan_id' => $request->kecamatan_id,
                'kelurahan_id' => $request->kelurahan_id,
                'status' => 1,
                'organisasi' => $request->organisasi,
                'jenis_keanggotaan' => $request->jenis_keanggotaan,
                'persetujuan' => 0,
                'role' => 3,
                'gedung' => $request->gedung,
                'lat' => $arraykoordinat[0],
                'lng' => $arraykoordinat[1],
            ];
            if ($request->hasFile('photo')) {
                $foto_file = $request->file('photo');
                $foto_ekstensi = $foto_file->extension();
                $foto_baru = "User-" . date('ymdhis') . ".$foto_ekstensi";
                $foto_file->move(public_path('images'), $foto_baru);
                $data['photo'] = $foto_baru;
            }

            User::create($data);


            $user_id = User::latest()->first()->id;
            $datasaka = [
                'name' => $request->organisasi,
                'deskripsi' => $request->deskripsi,
                'jabatan' => $request->jabatan,
                'user_id' => $user_id,
            ];
            saka::create($datasaka);


            return redirect()->route('controlSaka')->with('success', 'Akun berhasil dibuat!');
        }
    }
    public function ubahSaka(Request $request, String $id)
    {
        try {
            $decryptedId = Crypt::decryptString($id);

            $request->validate([
                'username' => 'required',
                'email' => 'required|email',
                'namalengkap' => 'required',
                'no_telp' => 'required',
                'legalitas' => 'required',
                'periode' => 'required',
                'ketua' => 'required',
                'password' => 'sometimes|nullable|min:6',
                'alamat' => 'required',
                'kecamatan_id' => 'required',
                'photo' => 'mimes:jpg,jpeg,png,gif,svg|nullable',
                'organisasi' => 'required',
                'status' => 'required',
                'jenis_keanggotaan' => 'nullable',
                'gedung' => 'required'
            ]);
            $koordinat = $request->koordinat;
            $arraykoordinat = explode(',', $koordinat);

            $data = [
                'username' => $request->username,
                'email' => $request->email,
                'password' => bcrypt($request->password),
                'no_telp' => $request->no_telp,
                'periode' => $request->periode,
                'ketua' => $request->ketua,
                'namalengkap' => $request->namalengkap,
                'alamat' => $request->alamat,
                'legalitas' => $request->legalitas,
                'kecamatan_id' => $request->kecamatan_id,
                'kelurahan_id' => $request->kelurahan_id,
                'status' => 1,
                'organisasi' => $request->organisasi,
                'jenis_keanggotaan' => $request->jenis_keanggotaan,
                'gedung' => $request->gedung,
                'lat' => $arraykoordinat[0],
                'lng' => $arraykoordinat[1],
            ];
            if ($request->input('password') != '') {
                $data['password'] = bcrypt($request->password);
            }

            if ($request->hasFile('photo')) {
                $foto_file = $request->file('photo');
                $foto_ekstensi = $foto_file->extension();
                $foto_baru = "User-" . date('ymdhis') . ".$foto_ekstensi";
                $foto_file->move(public_path('images'), $foto_baru);
                $data['photo'] = $foto_baru;
                $getfoto = User::where('id', $decryptedId)->first();
                $foto_lama = $getfoto->photo;
                File::delete(public_path('images') . "/" . $foto_lama);
            }
            User::where('id', $decryptedId)->update($data);



            $datasaka = [
                'name' => $request->organisasi,
                'deskripsi' => $request->deskripsi,
                'jabatan' => $request->jabatan,

            ];
            saka::where('user_id', $decryptedId)->update($datasaka);
            return redirect()->route('controlSaka')->with('success', 'Akun berhasil diubah!');
        } catch (DecryptException $e) {
            return redirect()->back()->with('error', 'Invalid ID');
        }
    }
    public function hapusSaka($id)
    {
        try {


            $decryptedId = Crypt::decryptString($id);
            $user = User::where('id', $decryptedId);
            $foto = $user->first();
            File::delete(public_path('images') . "/" . $foto->photo);
            $user->delete();
            saka::where('user_id', $decryptedId)->delete();
            return redirect()->route('controlSaka')->with('delete', 'Data successfully deleted');
        } catch (DecryptException $e) {
            return redirect()->back()->with('error', 'Invalid ID');
        }
    }


    // SAKA ADMIN CONTROL END




    // GUDEP ADMIN CONTROL START
    public function controlGudep()
    {
        $data['gudep'] = User::where('role', 4)->with('kecamatan', 'kelurahan', 'gudep')->get();
        $data['kecamatan'] = kecamatan::get();
        $data['kelurahan'] = kelurahan::get();


        return view('gudep.index')->with($data);
    }
    public function tambahGudep(Request $request)
    { {
            $request->validate([
                'username' => 'required',
                'email' => 'required|email|unique:users',
                'password' => 'required|min:6',
                'namalengkap' => 'required',
                'no_telp' => 'required',
                'legalitas' => 'required',
                'periode' => 'required',
                'ketua' => 'required',
                'alamat' => 'required',
                'kecamatan_id' => 'required',
                'kelurahan_id' => 'required',
                'role' => 'required',
                'photo' => 'mimes:jpg,jpeg,png,gif,svg',
                'organisasi' => 'required',
                'jenis_keanggotaan' => 'nullable',
                'gedung' => 'required'
            ], ['email.unique' => 'The email has already been taken.']);
            $koordinat = $request->koordinat;
            $arraykoordinat = explode(',', $koordinat);

            $data = [
                'username' => $request->username,
                'email' => $request->email,
                'password' => bcrypt($request->password),
                'no_telp' => $request->no_telp,
                'periode' => $request->periode,
                'ketua' => $request->ketua,
                'namalengkap' => $request->namalengkap,
                'alamat' => $request->alamat,
                'legalitas' => $request->legalitas,
                'kecamatan_id' => $request->kecamatan_id,
                'kelurahan_id' => $request->kelurahan_id,
                'status' => 1,
                'organisasi' => $request->organisasi,
                'jenis_keanggotaan' => $request->jenis_keanggotaan,
                'persetujuan' => 0,
                'role' => 4,
                'lat' => $arraykoordinat[0],
                'lng' => $arraykoordinat[1],
                'gedung' => $request->gedung
            ];
            if ($request->hasFile('photo')) {
                $foto_file = $request->file('photo');
                $foto_ekstensi = $foto_file->extension();
                $foto_baru = "User-" . date('ymdhis') . ".$foto_ekstensi";
                $foto_file->move(public_path('images'), $foto_baru);
                $data['photo'] = $foto_baru;
            }

            User::create($data);


            $user_id = User::latest()->first()->id;
            $datagudep = [
                'name' => $request->organisasi,
                'kode' => $request->kode,
                'user_id' => $user_id,
            ];
            gudep::create($datagudep);


            return redirect()->route('controlGudep')->with('success', 'Akun berhasil dibuat!');
        }
    }
    public function ubahGudep(Request $request, String $id)
    {
        try {
            $decryptedId = Crypt::decryptString($id);

            $request->validate([
                'username' => 'required',
                'email' => 'required|email',
                'namalengkap' => 'required',
                'no_telp' => 'required',
                'legalitas' => 'required',
                'periode' => 'required',
                'password' => 'sometimes|nullable|min:6',
                'ketua' => 'required',
                'alamat' => 'required',
                'kecamatan_id' => 'required',
                'photo' => 'mimes:jpg,jpeg,png,gif,svg|nullable',
                'organisasi' => 'required',
                'status' => 'required',
                'jenis_keanggotaan' => 'nullable',
                'gedung' => 'required'
            ]);
            $koordinat = $request->koordinat;
            $arraykoordinat = explode(',', $koordinat);

            $data = [
                'username' => $request->username,
                'email' => $request->email,
                'password' => bcrypt($request->password),
                'no_telp' => $request->no_telp,
                'periode' => $request->periode,
                'ketua' => $request->ketua,
                'namalengkap' => $request->namalengkap,
                'alamat' => $request->alamat,
                'legalitas' => $request->legalitas,
                'kecamatan_id' => $request->kecamatan_id,
                'kelurahan_id' => $request->kelurahan_id,
                'status' => 1,
                'organisasi' => $request->organisasi,
                'jenis_keanggotaan' => $request->jenis_keanggotaan,
                'lat' => $arraykoordinat[0],
                'lng' => $arraykoordinat[1],
                'gedung' => $request->gedung
            ];
            if ($request->input('password') != '') {
                $data['password'] = bcrypt($request->password);
            }

            if ($request->hasFile('photo')) {
                $foto_file = $request->file('photo');
                $foto_ekstensi = $foto_file->extension();
                $foto_baru = "User-" . date('ymdhis') . ".$foto_ekstensi";
                $foto_file->move(public_path('images'), $foto_baru);
                $data['photo'] = $foto_baru;
                $getfoto = User::where('id', $decryptedId)->first();
                $foto_lama = $getfoto->photo;
                File::delete(public_path('images') . "/" . $foto_lama);
            }
            User::where('id', $decryptedId)->update($data);



            $datasaka = [
                'name' => $request->organisasi,
                'kode' => $request->kode,

            ];
            gudep::where('user_id', $decryptedId)->update($datasaka);
            return redirect()->route('controlGudep')->with('success', 'Akun berhasil diubah!');
        } catch (DecryptException $e) {
            return redirect()->back()->with('error', 'Invalid ID');
        }
    }
    public function hapusGudep($id)
    {
        try {


            $decryptedId = Crypt::decryptString($id);
            $user = User::where('id', $decryptedId);
            $foto = $user->first();
            File::delete(public_path('images') . "/" . $foto->photo);
            $user->delete();
            gudep::where('user_id', $decryptedId)->delete();
            return redirect()->route('controlGudep')->with('delete', 'Data successfully deleted');
        } catch (DecryptException $e) {
            return redirect()->back()->with('error', 'Invalid ID');
        }
    }


    // GUDEP CONTROL END

    // PERSETUJUAN START
    public function aksesPemuda(Request $request, String $id)
    {
        $decryptedId = Crypt::decryptString($id);
        User::where('id', $decryptedId)->update(['persetujuan' => 1]);
        if ($request->role == 1) {

            return redirect()->route('controlPemuda')->with('succsess', 'Persetujuan Di Berikan.');
        } elseif ($request->role == 2) {
            return redirect()->route('controlClub')->with('succsess', 'Persetujuan Di Berikan.');
        } elseif ($request->role == 3) {
            return redirect()->route('controlSaka')->with('succsess', 'Persetujuan Di Berikan.');
        } elseif ($request->role == 4) {
            return redirect()->route('controlGudep')->with('succsess', 'Persetujuan Di Berikan.');
        } else {
            return redirect()->route('getall')->with('succsess', 'Persetujuan Di Berikan.');
        }
    }
    public function lepasAksesPemuda(Request $request, String $id)
    {
        $decryptedId = Crypt::decryptString($id);
        User::where('id', $decryptedId)->update(['persetujuan' => 0]);
        if ($request->role == 1) {

            return redirect()->route('controlPemuda')->with('succsess', 'Persetujuan Di Berikan.');
        } elseif ($request->role == 2) {
            return redirect()->route('controlClub')->with('succsess', 'Persetujuan Di Berikan.');
        } elseif ($request->role == 3) {
            return redirect()->route('controlSaka')->with('succsess', 'Persetujuan Di Berikan.');
        } elseif ($request->role == 4) {
            return redirect()->route('controlGudep')->with('succsess', 'Persetujuan Di Berikan.');
        } else {
            return redirect()->route('getall')->with('succsess', 'Persetujuan Di Berikan.');
        }
    }

    // PERSETUJUAN END
    // UBAH MAP START
    public function editmap(Request $request, String $id)
    {
        $decryptedId = Crypt::decryptString($id);
        $data = [
            'lat' => $request->lat,
            'lng' => $request->lng
        ];
        if ($request->lat && $request->lng != '') {
            user::where('id', $decryptedId)->update($data);
        }

        return redirect()->back()->with('success,map telah terupdate!');
    }

    //UBAH MAP END
}

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