Advertisement
Firdaus_Shinoda

KaryawanController.php

May 15th, 2017
2,230
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 4.75 KB | None | 0 0
  1. <?php
  2.  
  3. namespace App\Http\Controllers;
  4.  
  5. use Illuminate\Http\Request;
  6. use App\Karyawan;
  7. use Validator;
  8. use Storage;
  9. use App\Http\Requests\KaryawanRequest;
  10.  
  11. class KaryawanController extends Controller
  12. {
  13.     /**
  14.      * Display a listing of the resource.
  15.      *
  16.      * @return \Illuminate\Http\Response
  17.      */
  18.     public function index()
  19.     {
  20.         $karyawan_list = Karyawan::orderBy('id','desc')->where('deleted','0')->paginate(3);
  21.         $jumlah_karyawan = $karyawan_list->count();
  22.         return view('chaps8.karyawan',compact('halaman','karyawan_list','jumlah_karyawan'));
  23.     }
  24.  
  25.     /**
  26.      * Show the form for creating a new resource.
  27.      *
  28.      * @return \Illuminate\Http\Response
  29.      */
  30.     public function create()
  31.     {
  32.         return view('chaps8.create',compact('halaman'));
  33.     }
  34.  
  35.     /**
  36.      * Store a newly created resource in storage.
  37.      *
  38.      * @param  \Illuminate\Http\Request  $request
  39.      * @return \Illuminate\Http\Response
  40.      */
  41.     private function uploadFoto(KaryawanRequest $request){
  42.       $foto = $request->file('foto');
  43.       $ext = $foto->getClientOriginalExtension();
  44.  
  45.       if($request->file('foto')->isValid()){
  46.           $namaFoto = date('YmdHis').".".$ext;
  47.           $upload_path = 'fotoupload';
  48.           $request->file('foto')->move($upload_path,$namaFoto);
  49.           return $namaFoto;
  50.       }
  51.       return false;
  52.     }
  53.     public function store(KaryawanRequest $request)
  54.     {
  55.         $input = $request->all();
  56.         //upload foto
  57.         if ($request->hasFile('foto')) {
  58.           $input['foto'] = $this->uploadFoto($request);
  59.         }
  60.         //insert data
  61.         $input['deleted'] = 0;
  62.         Karyawan::create($input);
  63.         return redirect('karyawan');
  64.     }
  65.  
  66.     /**
  67.      * Display the specified resource.
  68.      *
  69.      * @param  int  $id
  70.      * @return \Illuminate\Http\Response
  71.      */
  72.     public function show($id)
  73.     {
  74.         $karyawan = Karyawan::findOrFail($id);
  75.         return view('chaps8.show',compact('halaman','karyawan'));
  76.     }
  77.  
  78.     /**
  79.      * Show the form for editing the specified resource.
  80.      *
  81.      * @param  int  $id
  82.      * @return \Illuminate\Http\Response
  83.      */
  84.     public function edit($id)
  85.     {
  86.         $karyawan = Karyawan::findOrFail($id);
  87.         return view('chaps8.edit',compact('karyawan'));
  88.     }
  89.  
  90.     /**
  91.      * Update the specified resource in storage.
  92.      *
  93.      * @param  \Illuminate\Http\Request  $request
  94.      * @param  int  $id
  95.      * @return \Illuminate\Http\Response
  96.      */
  97.     public function cari(Request $request)
  98.     {
  99.       $cari = $request['cari'];
  100.       $hasil_nama = Karyawan::where('nama', 'like','%'.$cari.'%')->orWhere('nip', 'like','%'.$cari.'%')->paginate(3);
  101.       $t_nama = $hasil_nama->count();
  102.       $jumlah_karyawan = $t_nama;
  103.       $karyawan_list = $hasil_nama;
  104.       return view('chaps8.karyawan',compact('halaman','karyawan_list','jumlah_karyawan'));
  105.     }
  106.     public function HapusFoto(Karyawan $karyawan)
  107.     {
  108.      $exist=Storage::disk('foto')->exists($karyawan->foto);
  109.      if(isset($karyawan->foto)&&$exist){
  110.        $deleted = Storage::disk('foto')->delete($karyawan->foto);
  111.        if($deleted){
  112.            return true;
  113.        }
  114.        return false;
  115.      }
  116.     }
  117.     public function DeleteFoto($request)
  118.     {
  119.       $file = 'fotoupload/'.$request->foto;
  120.       if (is_file($file)) {
  121.         unlink($file);
  122.       }
  123.     }
  124.     public function update(Karyawan $karyawan,Request $request)
  125.     {
  126.       $input=$request->all();
  127.       $validation = Validator::make($input,[
  128.         'nip'=>'required|string|size:5',
  129.         'nama'=>'required|string|max:35|min:5',
  130.         'tgl_lahir'=>'required|date',
  131.         'gender'=>'required|in:L,P',
  132.         'foto'=>'sometimes|image|max:500|mimes:jpg,jpeg,bmp,png,JPG,JPEG,PNG',
  133.       ]);
  134.       if($validation->passes())
  135.       {
  136.         //cek ada foto apa ga?
  137.         if($request->hasFile('foto')){
  138.           $this->DeleteFoto($karyawan);
  139.           $ext = $request['foto']->getClientOriginalExtension();
  140.           $namaFoto = date('YmdHis').".".$ext;
  141.           $upload_path = 'fotoupload';
  142.           $request->file('foto')->move($upload_path,$namaFoto);
  143.           $input['foto'] = $namaFoto;
  144.         }
  145.  
  146.         $update = Karyawan::find($input['id']);
  147.         $update->update($input);
  148.         return redirect('karyawan');
  149.       }
  150.       return back()->withInput()->withErrors($validation);
  151.     }
  152.  
  153.     /**
  154.      * Remove the specified resource from storage.
  155.      *
  156.      * @param  int  $id
  157.      * @return \Illuminate\Http\Response
  158.      */
  159.     public function destroy(Karyawan $karyawan)
  160.     {
  161.       $this->DeleteFoto($karyawan);
  162.       $user = Karyawan::find($karyawan->id);
  163.       $user->delete();
  164.       return redirect('karyawan');
  165.     }
  166. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement