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/DocumentController.php

<?php

namespace App\Http\Controllers;

use App\Models\document;
use Illuminate\Contracts\Encryption\DecryptException;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Crypt;
use Illuminate\Support\Facades\File;

class DocumentController extends Controller
{
    public function index()
    {
        $data['document'] = document::paginate(10);
        return view('document.index')->with($data);
    }
    public function store(Request $request)
    {
        $dokumen_file = $request->file('document');
        $extensi = $dokumen_file->extension();
        $size = $dokumen_file->getSize();
        $fileSizeKB = ceil($size / 1024);
        $nama_asli = $dokumen_file->getClientOriginalName();
        $request->validate([

            'deskripsi' => 'required',
            'document' => 'required|file|mimes:csv,xls,xlsx,pdf,xls,doc,docx,pptx,pps',
        ], [
            'document.mimes' => 'Tolong masukan file dengan format(csv,xls,xlsx,pdf,xls,doc,docx,pptx,pps)!',
        ]);

        $data = [
            'name' => $nama_asli,
            'deskripsi' => $request->deskripsi,
            'admin_id' => auth()->user()->id,
            'tanggal' => now(),
            'jumlah_download' => 0,
            'ekstensi' => $extensi,
            'ukuran' => $fileSizeKB,
            'jenis' => 1
        ];


        $check = document::where('name', $nama_asli)->first();
        $dokumen_file->move(public_path('documents'), $nama_asli);
        if ($check == null) {
            document::create($data);
            return redirect()->route('document')->with('success', 'Data berhasil ditambahkan');
        } else {
            return redirect()->route('document')->with('error', 'File sudah pernah diupload !');
        }
    }
    public function update(Request $request, string $id)
    {
        $decryptedId = Crypt::decryptString($id);

        $request->validate([

            'deskripsi' => 'required',
            'document' => 'nullable|file|mimes:csv,xls,xlsx,pdf,xls,doc,docx,pptx,pps',
        ], [
            'document.mimes' => 'Tolong masukan file dengan format(csv,xls,xlsx,pdf,xls,doc,docx,pptx,pps)!',
        ]);
        if ($request->hasFile('document')) {
            $dokumen_file = $request->file('document');
            $extensi = $dokumen_file->extension();
            $size = $dokumen_file->getSize();
            $fileSizeKB = ceil($size / 1024);
            $nama_asli = $dokumen_file->getClientOriginalName();

            $data = [
                'name' => $nama_asli,
                'deskripsi' => $request->deskripsi,
                'admin_id' => auth()->user()->id,
                'tanggal' => now(),
                'jumlah_download' => 0,
                'ekstensi' => $extensi,
                'ukuran' => $fileSizeKB,
                'jenis' => 1
            ];
            $check = document::where('name', $nama_asli)->where('id', '<>', $decryptedId)->first();
            if ($check == null) {

                $getfile = document::where('id', $decryptedId)->first();
                $oldfile = $getfile->name;
                File::delete(public_path('documents') . "/" . $oldfile);
                $dokumen_file->move(public_path('documents'), $nama_asli);
                document::where('id', $decryptedId)->update($data);
                return redirect()->route('document')->with('success', 'Data berhasil diubah');
            } else {
                return redirect()->route('document')->with('error', 'File sudah pernah diupload !');
            }
        } else {
            $data = ['deskripsi' => $request->deskripsi];
            document::where('id', $decryptedId)->update($data);
            return redirect()->route('document')->with('success', 'Data berhasil diubah');
        }
    }
    public function destroy(string $id)
    {
        try {
            $decryptedId = Crypt::decryptString($id);
            $document = document::where('id', $decryptedId);
            $file = $document->first();
            File::delete(public_path('documents') . "/" . $file->name);
            $document->delete();
            return redirect()->route('document')->with('delete', 'Data successfully deleted');
        } catch (DecryptException $e) {
            return redirect()->back()->with('error', 'Invalid ID');
        }
    }
}

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