Anons79 Mini Shell

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

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\Models\Galeri;
use Carbon\Carbon;
use Image;
use File;
use App\Models\UserLog;
use Auth;
class GaleriController extends Controller
{   

    public $path;
    public $dimensions;

    public function __construct()
    {
        //DEFINISIKAN PATH
        $this->path = public_path('images/galeri');
        //DEFINISIKAN DIMENSI
        $this->dimensions = [
            ['980','380'],
            ['190','90']
        ];
    }

    /**
     * Display a listing of the resource.
     *
     * @return \Illuminate\Http\Response
     */
    public function index()
    {
        $title = "Galeri";
        $link = "galeri";
       
        $s = '';
        $page = 1;

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

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

        $datas = Galeri::where('image','like','%'.$s.'%')->orWhere('caption','like','%'.$s.'%')->orderBy('order_index','ASC')->paginate(10);
        $datas->appends($_GET);
        $no = 1*$page*10-10+1;
        return view('galeri.index',compact('title','parent','link','datas','no'));
    }

    /**
     * Show the form for creating a new resource.
     *
     * @return \Illuminate\Http\Response
     */
    public function create()
    {
        $title = "Tambah Data Galeri";
        $link = "galeri";
        $parent = "Galeri";
        
        return view('galeri.create',compact('title','parent','link'));
    }

    /**
     * Store a newly created resource in storage.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return \Illuminate\Http\Response
     */
    public function store(Request $request)
    {   
        ini_set('memory_limit', '256M');
        $this->validate($request, [
            'image' => 'required|image|mimes:jpg,png,jpeg'
        ]);
     
        if (!File::isDirectory($this->path)) {
            
            File::makeDirectory($this->path);
        }
        
        $oi = Galeri::count();
        $file = $request->file('image');
       
        $fileName = str_replace(' ', '-', $request->title).".".$request->image->getClientOriginalExtension();
        
        Image::make($file)->save($this->path . '/' . $fileName);
        
        foreach ($this->dimensions as $row) {
            
            $canvas = Image::canvas($row[0], $row[1]);
           
            $resizeImage  = Image::make($file)->resize($row[0], $row[1], function($constraint) {
                $constraint->aspectRatio();
            });
           
            $canvas->insert($resizeImage, 'center');
            $fileName1 = str_replace(' ', '-', $request->title)."-".$row[0]."x".$row[1].".".$request->image->getClientOriginalExtension();
            $canvas->save($this->path . '/' . $fileName1);
        }
        
       
        try {
            $data = new Galeri;
            // $image = str_replace(' ', '-', $request->title).".".$request->image->getClientOriginalExtension();
            // $request->image->move($this->path,$image);

            $data->title = $request->title;
            $data->image = $fileName;
            $data->caption = $request->caption;
            $data->order_index = $oi++;
    
            $data->save();
            $msg = 'Berhasil menambah data galeri dengan judul gambar '.$data->title;
            UserLog::create(['user_id'=>Auth::user()->id,'keterangan'=>$msg]);
            return redirect('galeri')->with('success_message', $msg);
        } catch (Exception $e) {
            return redirect('galeri')->with('error_message', 'Gagal menambah 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 Galeri";
        $link = "galeri";
        $parent = "Galeri";
        $data = Galeri::find($id);
        return view('galeri.edit',compact('title','parent','link','data'));
    }

    /**
     * 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 = Galeri::find($id);
        $fileName = $data->image;
        if($request->hasFile('image')){
            $this->validate($request, [
            'image' => 'required|image|mimes:jpg,png,jpeg'
            ]);
         
            if (!File::isDirectory($this->path)) {
                
                File::makeDirectory($this->path);
            }
            
            $oi = Galeri::count();
            $file = $request->file('image');
           
            $fileName = str_replace(' ', '-', $request->title).".".$request->image->getClientOriginalExtension();
            
            Image::make($file)->save($this->path . '/' . $fileName);
            
            foreach ($this->dimensions as $row) {
                
                $canvas = Image::canvas($row[0], $row[1]);
               
                $resizeImage  = Image::make($file)->resize($row[0], $row[1], function($constraint) {
                    $constraint->aspectRatio();
                });
               
                $canvas->insert($resizeImage, 'center');
                $fileName1 = str_replace(' ', '-', $request->title)."-".$row[0]."x".$row[1].".".$request->image->getClientOriginalExtension();
                $canvas->save($this->path . '/' . $fileName1);
            }
        }
        
       
        try {
            
            // $image = str_replace(' ', '-', $request->title).".".$request->image->getClientOriginalExtension();
            // $request->image->move($this->path,$image);

            $data->title = $request->title;
            $data->image = $fileName;
            $data->caption = $request->caption;
            $data->order_index = $oi++;
    
            $data->save();
            $msg = 'Berhasil mengubah data galeri dengan judul gambar '.$data->title;
            UserLog::create(['user_id'=>Auth::user()->id,'keterangan'=>$msg]);
            return redirect('galeri')->with('success_message', $msg);
        } catch (Exception $e) {
            return redirect('galeri')->with('error_message', 'Gagal mengubah Data. <br> Error : '.$e->errorInfo[2]);
        }
    }

    /**
     * Remove the specified resource from storage.
     *
     * @param  int  $id
     * @return \Illuminate\Http\Response
     */
    public function destroy($id)
    {
        try {
            $data = Galeri::find($id);
            $data->delete();
            $msg = 'Berhasil menghapus data galeri '.$data->title;
            UserLog::create(['user_id'=>Auth::user()->id,'keterangan'=>$msg]);
            return redirect('galeri')->with('success_message', $msg);
        } catch (Exception $e) {
            return redirect('galeri')->with('error_message', 'Gagal menghapus Data');
        }
    }

    public function order($id)
    {   
        $galeri = Galeri::find($id);
        if($_GET['order'] == 'up'){
            $galeri->update([
                'order_index'=>$galeri->order_index-1
            ]);
        } else if($_GET['order'] == 'down'){
            $galeri->update([
                'order_index'=>$galeri->order_index+1
            ]);
        }

        return redirect()->back();
        
    }
}

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