Anons79 Mini Shell

Directory : /home/aplikasiposinfo/www/isranhadikaltim.id/app/Http/Controllers/
Upload File :
Current File : /home/aplikasiposinfo/www/isranhadikaltim.id/app/Http/Controllers/UserController.php

<?php

namespace App\Http\Controllers;

use App\Imports\DataPenggunaImport;
use App\Models\Kabupaten;
use Illuminate\Http\Request;
use App\User;
use Illuminate\Support\Facades\Auth;
use App\Models\UserLog;
use Exception;
use Illuminate\Support\Facades\Session;
use Maatwebsite\Excel\Facades\Excel;

class UserController extends Controller
{
    /**
     * Display a listing of the resource.
     *
     * @return \Illuminate\Http\Response
     */
    public function index()
    {
        $title = "User";
        $link = "user";

        $s = '';
        $page = 1;

        if(isset($_GET['s'])){
            $s = $_GET['s'];
        }

        if(isset($_GET['page'])){
            $page = $_GET['page'];
        }

        $datas = User::where('name','like','%'.$s.'%')->orWhere('email','like','%'.$s.'%')->orderBy('created_at','DESC')->paginate(10);
        $datas->appends($_GET);
        $no = 1*$page*10-10+1;
        // return view('user.index',compact('title','user','parent','link','datas','no'));
        return view('user.index',compact('title','link','datas','no'));

    }

    /**
     * Show the form for creating a new resource.
     *
     * @return \Illuminate\Http\Response
     */
    public function create()
    {
        $title = "Tambah Data User";
        $link = "user";
        $parent = "User";

        $kabupatens = Kabupaten::get();
        // return view('user.create',compact('title','user','parent','link'));
        return view('user.create',compact('title','parent','link', 'kabupatens'));

    }

    /**
     * Store a newly created resource in storage.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return \Illuminate\Http\Response
     */
    public function store(Request $request)
    {
        $rules = [
            'name' => 'required',
            'email' => 'required|unique:users',
            'no_telepon' => 'required',
            'role' => 'required',
            'password' => 'required',
        ];

        if($request->role == 0) {
            $rules['kabupaten_id'] = 'required';
        }

        $request->validate($rules);

        try {
            $data = new User;
            $data->name = $request->name;
            $data->email = $request->email;
            $data->no_telepon = $request->no_telepon;
            $data->role = $request->role;
            $data->password = password_hash($request->password,PASSWORD_DEFAULT);
            $data->api_token = str_random(100);
            $data->kabupaten_id = $request->role == 0 ? $request->kabupaten_id : null;
            $data->save();
            $msg = 'Berhasil menambah data user '.$data->name;
            UserLog::create(['user_id'=>Auth::user()->id,'keterangan'=>$msg]);
            return redirect('user')->with('success_message', $msg);
        } catch (Exception $e) {
            return redirect('user')->with('error_message', 'Gagal Menghapus Data. <br> Error : '.$e->errorInfo[2]);
        }
    }

    /**
     * Display the specified resource.
     *
     * @param  int  $id
     * @return \Illuminate\Http\Response
     */
    public function show($id)
    {
        //
    }

    /**
     * Show the form for editing the specified resource.
     *
     * @param  int  $id
     * @return \Illuminate\Http\Response
     */
    public function edit($id)
    {
        $title = "Ubah Data User";
        $parent = "User";
        $data = User::find($id);
        $link = "user";
        $kabupatens = Kabupaten::get();
        return view('user.edit',compact('title','parent','link','data', 'kabupatens'));
    }

    /**
     * Update the specified resource in storage.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  int  $id
     * @return \Illuminate\Http\Response
     */
    public function update(Request $request, $id)
    {
        $data = User::find($id);
        $data->name = $request->name;
        $data->email = $request->email;
        $data->no_telepon = $request->no_telepon;
        $data->role = $request->role;
        if($request->password_baru != null){
            $data->password = password_hash($request->password_baru,PASSWORD_DEFAULT);
        }
        $data->kabupaten_id = $request->role == 0 ? $request->kabupaten_id : null;

        $data->save();

        $msg = 'Berhasil mengubah data user '.$data->name;
        UserLog::create(['user_id'=>Auth::user()->id,'keterangan'=>$msg]);
        return redirect('user')->with('success_message', $msg);
    }

    public function importView()
    {
        $title = "Import Data User";
        $link = "user";
        $parent = "User";
        $warnings = Session::get('alert_import',[]);

        // return view('data-warga.import',compact('title','data-warga','parent','link','warnings'));
        return view('user.import',compact('title','parent','link','warnings'));

    }

    public function import(Request $request)
    {
        Session::put('alert_import',[]);

        Excel::import(new DataPenggunaImport,request()->file('file'));
        $msg = 'Berhasil mengimport data excel dengan nama '.$request->file->getClientOriginalName();
        UserLog::create(['user_id'=>Auth::user()->id,'keterangan'=>$msg]);
        return redirect('user/import')->with('success_message', $msg);

    }

    /**
     * Remove the specified resource from storage.
     *
     * @param  int  $id
     * @return \Illuminate\Http\Response
     */
    public function destroy($id)
    {
        try {
            $data = User::find($id);
            if(isset($data->wargas)) {
                if(count($data->wargas) > 0){
                    return redirect('user')->with('error_message', "Data tidak bisa di hapus.masih ada warga yang menggunakan user ini");
                }
            }
            UserLog::where('user_id',$id)->delete();
            $data->delete();
            $msg = 'Berhasil mengubah data user '.$data->name;
            UserLog::create(['user_id'=>Auth::user()->id,'keterangan'=>$msg]);
            return redirect('user')->with('success_message', $msg);
        } catch (Exception $e) {
            return redirect('user')->with('error_message', 'Gagal Menghapus Data');
        }
    }
}

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