Anons79 Mini Shell

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

<?php

namespace App\Http\Controllers;

use App\Models\Input_data;
use App\Models\Instansi;
use App\Models\Master_input;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\File;
use Illuminate\Support\Facades\Storage;

class InputDataController extends Controller
{
    public function index_input(string $id, string $user)
    {
        $data['title'] = "Input Data";
        $data['id'] = $id;
        $data['instansi'] = Instansi::select('id','user_id')->where('user_id', $user)->first();
        $data['judul'] = Master_input::select('uraian')->findOrFail($id);
        $data['inputs'] = Input_data::where('master_input_id', $id)->where('user_id', $user)->paginate(10);

        return view('input_data.lihat_data.index', $data);
    }

    public function index()
    {
        //
    }

    public function create()
    {
        //
    }

    public function create_input(string $id)
    {
        $data['title'] = "Tambah Input Data";
        $data['master_input_id'] = $id;
        $data['judul'] = Master_input::select('uraian')->findOrFail($id);
        return view('input_data.lihat_data.tambah', $data);
    }

    public function store(Request $request)
    {
        // $rules = [
        //     'aspek' => 'required',
        //     'nama_dokumen' => 'required',
        //     'deskripsi' => 'required',
        //     'dokumen_terlampir' => 'required',
        //     // 'upload_dokumen' => 'required|file|max:2024',
        //     'link_dokumen' => 'required',
        //     'kelengkapan' => 'required',
        // ];

        // if($request->check_upload == "file") {
        //     $rules['upload_dokumen'] = 'required|file|max:2024';
        // } else {
        //     $rules['link_dokumen'] = 'required';
        // }
        // $validate = $request->validate($rules);

        // $validate['master_input_id'] = $request->master_input_id;
        // if($request->check_upload == "file") {
        //     $filePath = "/storage/".$request->upload_dokumen->store('dokumen/input-data/kelengkapan','public');
        //     // $filePath = Storage::disk('public')->put('/file/input-data/kelengkapan', $request->file('upload_dokumen'), 'public');
        //     $validate['upload_dokumen'] = $filePath;
        //     $validate['check_upload'] = 0;
        // } else {
        //     $validate['check_upload'] = 1;
        // }

        // $validate['upload_dokumen'] = $request->link_dokumen;

        $request->validate([
                'aspek' => 'required|unique:input_datas',
                'kelengkapan' => 'required',
            ], [
                'aspek.required' => 'Aspek Wajib diisi!',
                'aspek.unique' => 'Aspek telah dipakai!',
                'kelengkapan.required' => 'Kelengkapan Wajib diisi!',
            ]);

        $input_data = Input_data::create([
            'aspek' => $request->aspek,
            'dokumen_terlampir' => $request->dokumen_terlampir,
            'keterangan' => $request->keterangan ?? '-',
            'kategori' => $request->kategori ?? null,
            'kelengkapan' => $request->kelengkapan,
            'master_input_id' => $request->master_input_id,
            'user_id' => Auth::user()->id,
        ]);

        $check = Input_data::find($input_data->id);
        if($check->aspek == null || $check->dokumen_terlampir == null || $check->keterangan == null) {
            $check->kelengkapan = "Tidak Ada";
            $check-> save();
        }

        $data['Master_input'] = Master_input::find($request->master_input_id);
        $data['inputs'] = Input_data::where('master_input_id', $request->master_input_id)->where('kelengkapan', 'Tidak Ada')->count();

        if($data['inputs'] > 0) {
            $data['Master_input']->status = "Tidak Ada";
        } else {
            $data['Master_input']->status = "Ada";
        }
        $data['Master_input']->save();

        // Input_data::create($validate);
        return redirect("/input-data/lihat-data/$request->master_input_id/" . Auth::user()->id)->with('success', 'Berhasil menambahkan data input');
    }

    public function show(Input_data $input_datum)
    {
        //
    }

    public function edit(Input_data $input_datum)
    {

    }

    public function edit_input(Input_data $input_datum, string $id)
    {
        // $data['title'] = 'Edit Input Data';
        $data['master_input_id'] = $id;
        $data['input'] = $input_datum;
        return response()->json([
            'data' => $data['input'],
        ]);
        // return view('input_data.lihat_data.edit', $data);
    }

    public function update(Request $request, $id)
    {
        // Input_data $input_datum
        // $rules = [
        //     'aspek' => 'required',
        //     'nama_dokumen' => 'required',
        //     'deskripsi' => 'required',
        //     'dokumen_terlampir' => 'required',
        //     // 'upload_dokumen' => 'file|max:2024',
        //     'link_dokumen' => 'required',
        //     'kelengkapan' => 'required',
        // ];
        // $rules = [];

        // if($request->check_upload == "file") {
        //     $rules['upload_dokumen'] = 'file|max:2024';
        // } else {
        //     $rules['link_dokumen'] = 'required';
        // }

        // $validate = $request->validate($rules);

        // if($request->file('upload_dokumen')) {
        //     Storage::disk('public')->delete($input_datum->upload_dokumen);
        //     $filePath = Storage::disk('public')->put('file/input-data/kelengkapan', $request->file('upload_dokumen'), 'public');
        //     $validate['upload_dokumen'] = $filePath;
        // }

        // if($request->check_upload == "file") {
        //     if($request->file('upload_dokumen')) {
        //         if(File::exists(public_path().$input_datum->upload_dokumen)) {
        //             File::delete(public_path().$input_datum->upload_dokumen);
        //         }
        //         $filePath = "/storage/".$request->upload_dokumen->store('dokumen/input-data/kelengkapan','public');
        //         // $filePath = Storage::disk('public')->put('/file/input-data/kelengkapan', $request->file('upload_dokumen'), 'public');
        //         $validate['upload_dokumen'] = $filePath;
        //         $validate['check_upload'] = 0;
        //     }
        // } else {
        //     if(File::exists(public_path().$input_datum->upload_dokumen)) {
        //         File::delete(public_path().$input_datum->upload_dokumen);
        //     }
        // }
        $rules = [
            // 'aspek' => 'required',
            'kelengkapan' => 'required',
        ];

        $input_datum = Input_data::find($id);
        // if($request->aspek != $input_datum->aspek) {
        //     $rules['aspek'] = 'required|unique:input_datas';
        // }

        $request->validate($rules, [
            // 'aspek.required' => 'Aspek Wajib diisi!',
            // 'aspek.unique' => 'Aspek telah dipakai!',
            'kelengkapan.required' => 'Kelengkapan Wajib diisi!',
        ]);

        $input_data = Input_data::where('id', $id)->update([
            // 'aspek' => $request->aspek,
            'dokumen_terlampir' => ($request->dokumen_terlampir == "null") ? "" : $request->dokumen_terlampir,
            'keterangan' => ($request->keterangan == "null") ? "" : $request->keterangan,
            'kelengkapan' => $request->kelengkapan,
        ]);

        $input = Input_data::find($id);

        $data['inputs'] = Input_data::where('master_input_id', $input->master_input_id)->where('kelengkapan', 'Tidak Ada')->count();
        $a = $input->aspek;
        \App\Helpers\LogActivity::addToLog('Mengedit Input Data : '.$a);

        $data['Master_input'] = Master_input::find($input->master_input_id);
        if($data['inputs'] > 0) {
            $data['Master_input']->status = "Tidak Ada";
        } else {
            $data['Master_input']->status = "Ada";
        }
        $data['Master_input']->save();

        $check = Input_data::find($id);
        // if($check->aspek == null || $check->aspek == "null" || $check->dokumen_terlampir == null || $check->dokumen_terlampir == "null" || $check->keterangan == null || $check->keterangan == "null") {
        //     $check->kelengkapan = "Tidak Ada";
        //     $check-> save();
        // }

        return response()->json([
            'message' => 'Data Berhasil Diubah!',
            'data' => $check,
        ]);

        // $validate['upload_dokumen'] = $request->link_dokumen;
        // $validate['check_upload'] = 1;

        // $input_datum->update($validate);
        // return redirect("/input-data/lihat-data/$request->master_input_id")->with('success', 'Berhasil edit data input');
    }

    public function destroy(Input_data $input_datum)
    {
        // Storage::disk('public')->delete($input_datum->upload_dokumen);
        // if($input_datum->upload_dokumen && $input_datum->check_upload == "0"){
        //     if(File::exists(public_path().$input_datum->upload_dokumen)) {
        //         File::delete(public_path().$input_datum->upload_dokumen);
        //     }
        // }
        $input_datum->delete();
        $data['Master_input'] = Master_input::find($input_datum->master_input_id);
        $data['inputs'] = Input_data::where('master_input_id', $input_datum->master_input_id)->count();
        if($data['inputs'] > 0) {
            $data['Master_input']->status = "Ada";
        } else {
            $data['Master_input']->status = "Tidak Ada";
        }
        $data['Master_input']->save();
        return redirect()->back()->with('success', "Berhasil hapus data input");
    }
}

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