Anons79 Mini Shell

Directory : /home/aplikasiposinfo/www/demo-profile.aplikasipos.info/app/Http/Controllers/
Upload File :
Current File : /home/aplikasiposinfo/www/demo-profile.aplikasipos.info/app/Http/Controllers/UsersController.php

<?php

namespace App\Http\Controllers;

use App\Models\akses;
use App\Models\users;
use Exception;
use Illuminate\Contracts\Encryption\DecryptException;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Crypt;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\File;
use Illuminate\Support\Facades\Hash;

class UsersController extends Controller
{
    public function index()
    {
        $data['users'] = users::where('role', 1)->latest()->get();
        return view('admin.user.index')->with($data);
    }
    public function store(Request $request)
    {
        DB::beginTransaction();
        try {
            $request->validate([
                'username' => 'required',
                'email' => 'required|email|unique:users',
                'password' => 'required|min:6',
                'photo' => 'required|mimes:jpg,jpeg,png|max:2000',
            ], ['email.unique' => 'Email telah diGunakan', 'password.min' => 'Password tidak boleh kurang dari 6 Karakter.', 'sertifikat.mimetypes' => 'Sertifikat haruslah berformat PDF.', 'sertifikat.max' =>  'File Sertifikat tidak boleh lebih dari 2mb!']);


            $data = [
                'username' => $request->username,
                'email' => $request->email,
                'password' => Hash::make($request->password),
                'role' => 1,

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

            $createUser = users::create($data);
            $user_id = users::latest()->first()->id;
            $data_akses['user_id'] = $user_id;
            $data_akses['olahraga'] = $request->has('olahraga') ? 1 : 0;
            $data_akses['pengumuman'] = $request->has('pengumuman') ? 1 : 0;
            $data_akses['event'] = $request->has('event') ? 1 : 0;
            $data_akses['berita'] = $request->has('berita') ? 1 : 0;
            $data_akses['fasilitas'] = $request->has('fasilitas') ? 1 : 0;
            $data_akses['galeri'] = $request->has('galeri') ? 1 : 0;
            $data_akses['banner'] = $request->has('banner') ? 1 : 0;

            $createAkses = akses::create($data_akses);


            DB::commit();
            if ($createUser && $createAkses) {
                return redirect()->route('users.index')->with('success', 'Data baru telah ditambahkan');
            } else {
                return redirect()->route('users.index')->with('error', 'Data gagal ditambahkan');
            }
        } catch (DecryptException $e) {
            DB::rollback();
            return redirect()->back()->with('error', 'Akun Gagal dibuat!');
        }
    }
    public function update(Request $request, String $id)
    {
        DB::beginTransaction();
        try {
            $decryptedId = Crypt::decryptString($id);
            $request->validate([
                'username' => 'required',
                'email' => 'required|email',
                'password' => 'nullable|min:6',
                'photo' => 'nullable|mimes:jpg,jpeg,png|max:2000',

            ], ['photo.max' => 'Foto yang tidak boleh diatas 2mb!', 'password.min' => 'Password tidak boleh kurang dari 6 Karakter.']);
            $data = [
                'username' => $request->username,
                'email' => $request->email,

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

            users::where('id', $decryptedId)->update($data);
            $data_akses['olahraga'] = $request->has('olahraga') ? 1 : 0;
            $data_akses['pengumuman'] = $request->has('pengumuman') ? 1 : 0;
            $data_akses['event'] = $request->has('event') ? 1 : 0;
            $data_akses['berita'] = $request->has('berita') ? 1 : 0;
            $data_akses['fasilitas'] = $request->has('fasilitas') ? 1 : 0;
            $data_akses['galeri'] = $request->has('galeri') ? 1 : 0;
            $data_akses['banner'] = $request->has('banner') ? 1 : 0;

            $update = akses::where('user_id', $decryptedId)->update($data_akses);


            DB::commit();
            if ($update) {
                return redirect()->route('users.index')->with('success', 'Data dari telah diedit');
            } else {
                return redirect()->route('users.index')->with('error', 'Data gagal diedit');
            }
        } catch (DecryptException $e) {
            DB::rollback();
            return redirect()->route('users.index')->with('error', 'Data gagal diedit');
        }
    }
    public function destroy(String $id)
    {
        try {

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

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