From 3087496c02e6435f8d9dd539184932909601643c Mon Sep 17 00:00:00 2001
From: Aan Choesni Herlingga <aanchoesni@unesa.ac.id>
Date: Thu, 26 Dec 2019 12:47:44 +0700
Subject: [PATCH] master gallery

---
 app/Http/Controllers/Webprofile/Backend/GalleryController.php   | 111 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 app/Repositories/Webprofile/GalleryRepository.php               |  21 ++++++++++++++++-----
 database/migrations/2019_11_12_113102_create_galeries_table.php |   2 +-
 public/js/master/gallery.js                                     |  84 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 resources/views/webprofile/backend/gallery/create.blade.php     | 104 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 resources/views/webprofile/backend/gallery/edit.blade.php       | 114 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 resources/views/webprofile/backend/gallery/index.blade.php      |  65 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 resources/views/webprofile/backend/sliders/edit.blade.php       |   6 +++---
 routes/webprofile/backend.php                                   |   1 +
 9 files changed, 499 insertions(+), 9 deletions(-)
 create mode 100644 app/Http/Controllers/Webprofile/Backend/GalleryController.php
 create mode 100644 public/js/master/gallery.js
 create mode 100644 resources/views/webprofile/backend/gallery/create.blade.php
 create mode 100644 resources/views/webprofile/backend/gallery/edit.blade.php
 create mode 100644 resources/views/webprofile/backend/gallery/index.blade.php

diff --git a/app/Http/Controllers/Webprofile/Backend/GalleryController.php b/app/Http/Controllers/Webprofile/Backend/GalleryController.php
new file mode 100644
index 0000000..5214c24
--- /dev/null
+++ b/app/Http/Controllers/Webprofile/Backend/GalleryController.php
@@ -0,0 +1,111 @@
+<?php
+
+namespace App\Http\Controllers\Webprofile\Backend;
+
+use Illuminate\Http\Request;
+use App\Http\Controllers\Controller;
+use App\Repositories\Webprofile\GalleryRepository;
+
+class GalleryController extends Controller
+{
+    private $repo;
+
+    public function __construct(GalleryRepository $repo)
+    {
+        $this->repo = $repo;
+    }
+    /**
+     * Display a listing of the resource.
+     *
+     * @return \Illuminate\Http\Response
+     */
+    public function index(Request $request)
+    {
+        if ($request->ajax()) {
+            $data = $this->repo->get(null, null, ['created_at', 'desc']);
+            return $this->repo->datatable($data);
+        }
+
+        return view('webprofile.backend.gallery.index')->withTitle(trans('feature.gallery'));
+    }
+
+    /**
+     * Show the form for creating a new resource.
+     *
+     * @return \Illuminate\Http\Response
+     */
+    public function create()
+    {
+        return view('webprofile.backend.gallery.create')->withTitle(trans('feature.create_gallery'));
+    }
+
+    /**
+     * Store a newly created resource in storage.
+     *
+     * @param  \Illuminate\Http\Request  $request
+     * @return \Illuminate\Http\Response
+     */
+    public function store(Request $request)
+    {
+        $this->repo->store($request, 'gallery');
+
+        return redirect()->route('gallery.index');
+    }
+
+    /**
+     * 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)
+    {
+        $data = $this->repo->findId($id);
+
+        $data = [
+            'data' => $data,
+        ];
+
+        return view('webprofile.backend.gallery.edit', $data)->withTitle(trans('feature.edit_gallery'));
+    }
+
+    /**
+     * Update the specified resource in storage.
+     *
+     * @param  \Illuminate\Http\Request  $request
+     * @param  int  $id
+     * @return \Illuminate\Http\Response
+     */
+    public function update(Request $request, $id)
+    {
+        $gallery = $this->repo->findId($id);
+        $edit = $this->repo->update($request, $gallery, 'gallery');
+
+        return redirect()->route('gallery.index');
+    }
+
+    /**
+     * Remove the specified resource from storage.
+     *
+     * @param  int  $id
+     * @return \Illuminate\Http\Response
+     */
+    public function destroy($id)
+    {
+        $data = $this->repo->findId($id);
+        $this->repo->destroy($data, 'gallery');
+
+        return response()->json(['done']);
+    }
+}
diff --git a/app/Repositories/Webprofile/GalleryRepository.php b/app/Repositories/Webprofile/GalleryRepository.php
index f179038..15a003c 100644
--- a/app/Repositories/Webprofile/GalleryRepository.php
+++ b/app/Repositories/Webprofile/GalleryRepository.php
@@ -3,10 +3,10 @@
 namespace App\Repositories\Webprofile;
 
 use App\Models\Webprofile\Gallery;
-use App\Repositories\Repository;
+use App\Repositories\StorageRepository;
 use DataTables;
 
-class GalleryRepository extends Repository
+class GalleryRepository extends StorageRepository
 {
     protected $model;
 
@@ -32,17 +32,28 @@ class GalleryRepository extends Repository
 
     public function datatable($data)
     {
+        $setting = webprofilesetting();
+
         return DataTables::of($data)
             ->addIndexColumn()
             ->addColumn('action', function ($row) {
-                $btn = '<a href="javascript:void(0)" data-toggle="tooltip"  data-id="' . $row->id . '" data-original-title="Edit" class="edit btn btn-warning btn-round btn-sm edit">Edit</a>';
+                $btn = '<a href="' . url('/webprofile/gallery/' . $row->id . '/edit') . '" data-toggle="tooltip"  data-id="' . $row->id . '" data-original-title="' . trans('label.edit') . '" class="edit btn btn-warning btn-round btn-sm edit">' . trans('label.edit') . '</a>';
 
-                $btn = $btn . ' <a href="javascript:void(0)" data-toggle="tooltip"  data-id="' . $row->id . '" data-original-title="Delete" class="btn btn-danger btn-round btn-sm delete">Delete</a>';
+                $btn = $btn . ' <a href="javascript:void(0)" data-toggle="tooltip"  data-id="' . $row->id . '" data-original-title="' . trans('label.delete') . '" class="btn btn-danger btn-round btn-sm delete">' . trans('label.delete') . '</a>';
 
                 $btn = $btn . '<br>';
 
                 return $btn;
             })
+            ->addColumn('gallery', function ($row) use ($setting) {
+                if ($setting['external_storage'] == 1) {
+                    $str = '<img src="' . $setting['url_static'] . '/' . $setting['directory'] . '/gallery/' . $row->gallery . '" height="100" width="auto">';
+                } else {
+                    $str = '<img src="' . url('/storage/gallery/' . $row->gallery) . '" height="100" width="auto">';
+                }
+
+                return $str;
+            })
             ->addColumn('status', function ($row) {
                 if ($row->is_active == true) {
                     $str = '<div style="color: green;"><i class="fa fa-check"></i></div>';
@@ -51,7 +62,7 @@ class GalleryRepository extends Repository
                 }
                 return $str;
             })
-            ->rawColumns(['action', 'status'])
+            ->rawColumns(['action', 'status', 'gallery'])
             ->make(true);
     }
 }
diff --git a/database/migrations/2019_11_12_113102_create_galeries_table.php b/database/migrations/2019_11_12_113102_create_galeries_table.php
index a4ab74a..f754c42 100644
--- a/database/migrations/2019_11_12_113102_create_galeries_table.php
+++ b/database/migrations/2019_11_12_113102_create_galeries_table.php
@@ -17,7 +17,7 @@ class CreateGaleriesTable extends Migration
             $table->string('id', 36)->primary();
             $table->string('title');
             $table->text('decription')->nullable();
-            $table->string('images')->nullable();
+            $table->string('gallery')->nullable();
             $table->string('userid_created', 36)->nullable();
             $table->string('userid_updated', 36)->nullable();
             $table->boolean('is_active')->nullable();
diff --git a/public/js/master/gallery.js b/public/js/master/gallery.js
new file mode 100644
index 0000000..89d01e7
--- /dev/null
+++ b/public/js/master/gallery.js
@@ -0,0 +1,84 @@
+$(function () {
+    $.ajaxSetup({
+        headers: {
+            'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
+        }
+    });
+
+    var table = $('.data-table').DataTable({
+        processing: true,
+        serverSide: true,
+        responsive: true,
+        ajax: url,
+        columns: [
+            { data: 'DT_RowIndex', name: 'DT_RowIndex' },
+            { data: 'gallery', name: 'gallery' },
+            { data: 'status', name: 'status' },
+            { data: 'action', name: 'action', orderable: false, searchable: false },
+        ],
+        columnDefs: [
+            { className: 'text-center', targets: [0, 2, 3]},
+            { className: 'text-left', targets: [1]},
+        ],
+    });
+
+    $("body").on("click", ".delete", function (e) {
+        e.preventDefault();
+        var id = $(this).data('id');
+
+        swal({
+            title: "Apakah Anda Yakin?",
+            text: "Anda akan menghapus data ini!",
+            type: "warning",
+            showCancelButton: true,
+            confirmButtonColor: "#DD6B55",
+            confirmButtonText: "Yes",
+            cancelButtonText: "No",
+            closeOnConfirm: false,
+            closeOnCancel: false
+        },
+            function (isConfirm) {
+                if (isConfirm) {
+                    swal.close();
+                    setTimeout(function () {
+                        $.ajax({
+                            dataType: 'json',
+                            type: 'DELETE',
+                            url: url + '/' + id,
+                            headers: {
+                                'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
+                            },
+                        }).done(function (data) {
+                            table.draw();
+                            swal({
+                                title: "Data berhasil dihapus!",
+                                type: "success",
+                                timer: "3000"
+                            });
+                        });
+                    }, 1000); // 1 second delay
+                }
+                else {
+                    swal("Dibatalkan", "Data batal dihapus", "error");
+                }
+            }
+        );
+    });
+
+});
+
+$(function () {
+    //iCheck for checkbox and radio inputs
+    $('input[type="checkbox"].minimal, input[type="radio"].minimal').iCheck({
+        checkboxClass: 'icheckbox_minimal-blue',
+        radioClass: 'iradio_minimal-blue'
+    });
+});
+
+function printErrorMsg(msg) {
+    $(".print-error-msg").find("ul").html('');
+    $(".print-error-msg").css('display', 'block');
+    $.each(msg, function (key, value) {
+        $(".print-error-msg").find("ul").append('<li>' + value + '</li>');
+    });
+}
diff --git a/resources/views/webprofile/backend/gallery/create.blade.php b/resources/views/webprofile/backend/gallery/create.blade.php
new file mode 100644
index 0000000..6278004
--- /dev/null
+++ b/resources/views/webprofile/backend/gallery/create.blade.php
@@ -0,0 +1,104 @@
+@extends('webprofile.backend.layouts.master')
+
+@section('title')
+  {{ $title }}
+@stop
+
+@section('breadcrumbs')
+<li><a href="{{ url('dashboard') }}">@lang('label.dashboard')</a></li>
+<li class="active">@lang('feature.create_gallery')</li>
+@stop
+
+@section('content')
+{!! Form::open(array('url' => route('gallery.store'), 'method' => 'POST', 'id' => 'gallery', 'class' => 'form-horizontal', 'files' => true)) !!}
+{!! csrf_field() !!}
+<!-- page start-->
+<div class="row">
+	<div class="col-md-9">
+	    <div class="panel panel-default">
+	        <div class="panel-heading">
+	            <h3 class="panel-title"><strong>@lang('label.create')</strong> @lang('feature.gallery')</h3>
+	        </div>
+	        <div class="panel-body">
+	            <div class="row">
+	                <div class="col-md-12">
+	                    <div class="form-group @if ($errors->has('title')) has-error @endif">
+	                        <label class="col-md-2 control-label">@lang('label.name') @lang('feature.gallery')</label>
+	                        <div class="col-md-10">
+	                          {{ Form::text('title', old('title'), ['class' => 'form-control']) }}
+		                        @if ($errors->has('title'))
+		                        <label id="login-error" class="error" for="login">{{$errors->first('title')}}</label>
+		                        @endif
+	                        </div>
+	                    </div>
+	                    <center>
+	                      	<div class="form-group">
+	          	            	<img id="uploadPreview" style="width: 500px; height: 100%;" src="{{URL::to('https://statik.unesa.ac.id/perpus_konten_statik/uploads/slider/slider.png')}}"/><br>
+	          	            </div>
+	          	            <div class="form-group">
+	          	            	{{ Form::file('gallery', ['class'=>'fileinput btn-danger', 'id'=>'uploadImage', 'data-filename-placement'=>'inside', 'title'=>trans('label.upload'), 'onchange'=>'PreviewImage();', 'accept'=>'image/jpeg,image/png']) }}
+	          	            </div>
+	                    </center>
+	                </div>
+	            </div>
+	        </div>
+	    </div>
+	</div>
+	<div class="col-md-3">
+	    <div class="panel panel-default">
+	        <div class="panel-heading">
+	            <h3 class="panel-title"><strong>@lang('label.publish')</strong></h3>
+	            <ul class="panel-controls">
+	                <li><a href="#" class="panel-collapse"><span class="fa fa-angle-down"></span></a></li>
+	            </ul>
+	        </div>
+	        <div class="panel-body">
+	            <div class="row">
+	                <div class="col-md-12">
+	                    <div class="form-group">
+                            <label class="col-md-2 control-label">@lang('label.status')</label>
+                            <div class="col-md-6">
+                                <center>
+									<label class="switch">
+										{{ Form::checkbox('is_active', 1, true) }}
+										<span></span>
+									</label>
+								</center>
+                            </div>
+                        </div>
+	                </div>
+	            </div>
+	        </div>
+	        <div class="panel-footer">
+	        </div>
+	    </div>
+	</div>
+	<div class="col-md-12">
+	    <div class="panel panel-default">
+	        <div class="panel-footer">
+	            <button class="btn btn-info pull-right">@lang('label.save')</button>
+	        </div>
+	    </div>
+	</div>
+</div>
+{!! Form::close() !!}
+<!-- page end-->
+@stop
+
+@section('script')
+<script src="{!!asset('backend/js/plugins/bootstrap/bootstrap-datepicker.js') !!}"></script>
+<script src="{!!asset('backend/js/plugins/bootstrap/bootstrap-timepicker.min.js') !!}"></script>
+<script src="{!!asset('backend/js/plugins/bootstrap/bootstrap-file-input.js') !!}"></script>
+<script src="{!!asset('backend/js/plugins/summernote/summernote.js') !!}"></script>
+
+<script type="text/javascript">
+	function PreviewImage() {
+		var oFReader = new FileReader();
+		oFReader.readAsDataURL(document.getElementById("uploadImage").files[0]);
+
+		oFReader.onload = function (oFREvent) {
+			document.getElementById("uploadPreview").src = oFREvent.target.result;
+		};
+	};
+</script>
+@stop
diff --git a/resources/views/webprofile/backend/gallery/edit.blade.php b/resources/views/webprofile/backend/gallery/edit.blade.php
new file mode 100644
index 0000000..87ede8a
--- /dev/null
+++ b/resources/views/webprofile/backend/gallery/edit.blade.php
@@ -0,0 +1,114 @@
+@extends('webprofile.backend.layouts.master')
+
+@section('title')
+  {{ $title }}
+@stop
+
+@section('breadcrumbs')
+<li><a href="{{ url('dashboard') }}">@lang('label.dashboard')</a></li>
+<li class="active">@lang('feature.edit_gallery')</li>
+@stop
+
+@section('content')
+<!-- page start-->
+<div class="row">
+  {!! Form::model($data, ['route' => ['gallery.update', $data->id], 'method'=>'patch', 'files' => true]) !!}
+  {!! csrf_field() !!}
+  <!-- page start-->
+  <div class="row">
+  	<div class="col-md-9">
+  	    <div class="panel panel-default">
+  	        <div class="panel-heading">
+  	            <h3 class="panel-title"><strong>@lang('label.edit')</strong> @lang('feature.gallery')</h3>
+  	        </div>
+  	        <div class="panel-body">
+  	            <div class="row">
+  	                <div class="col-md-12">
+  	                    <div class="form-group @if ($errors->has('title')) has-error @endif">
+	                        <label class="col-md-2 control-label">@lang('label.name') @lang('feature.gallery')</label>
+	                        <div class="col-md-10">
+	                          {{ Form::text('title', old('title'), ['class' => 'form-control']) }}
+		                        @if ($errors->has('title'))
+		                        <label id="login-error" class="error" for="login">{{$errors->first('title')}}</label>
+		                        @endif
+	                        </div>
+	                    </div>
+  	                    <center>
+  	                      	<div class="form-group">
+								@if($data->gallery)
+									@if (webprofilesetting()['external_storage'] == 1)
+									<img id="uploadPreview" style="width: 500px; height: 100%;" src="{{ url(webprofilesetting()['url_static'].'/'.webprofilesetting()['directory'].'/gallery/'.$data->gallery) }}"/><br>
+									@else
+									<img id="uploadPreview" style="width: 500px; height: 100%;" src="{{ url('/storage/gallery/'.$data->gallery) }}"/><br>
+									@endif
+								@else
+								<img id="uploadPreview" style="width: 500px; height: 100%;" src="{{ url('https://statik.unesa.ac.id/perpus_konten_statik/uploads/slider/slider.png') }}"/><br>
+								@endif
+  	          	            </div>
+  	          	            <div class="form-group">
+  	          	            	{{ Form::file('gallery', array('class'=>'fileinput btn-danger', 'id'=>'uploadImage', 'data-filename-placement'=>'inside', 'title'=>'Upload', 'onchange'=>'PreviewImage();', 'accept'=>'image/jpeg,image/png')) }}
+  	          	            </div>
+  	                    </center>
+  	                </div>
+  	            </div>
+  	        </div>
+  	    </div>
+  	</div>
+  	<div class="col-md-3">
+  	    <div class="panel panel-default">
+  	        <div class="panel-heading">
+  	            <h3 class="panel-title"><strong>Terbitkan</strong></h3>
+  	            <ul class="panel-controls">
+  	                <li><a href="#" class="panel-collapse"><span class="fa fa-angle-down"></span></a></li>
+  	            </ul>
+  	        </div>
+  	        <div class="panel-body">
+  	            <div class="row">
+  	                <div class="col-md-12">
+  	                    <div class="form-group">
+                              <label class="col-md-2 control-label">Status</label>
+                              <div class="col-md-6">
+                                  <center><label class="switch">
+                                  	{{ Form::checkbox('is_active', 1, true) }}
+                                      <span></span>
+                                  </label></center>
+                              </div>
+                          </div>
+  	                </div>
+  	            </div>
+  	        </div>
+  	        <div class="panel-footer">
+  	        </div>
+  	    </div>
+  	</div>
+  	<div class="col-md-12">
+  	    <div class="panel panel-default">
+  	        <div class="panel-footer">
+  	            <button class="btn btn-info pull-right">Simpan</button>
+  	        </div>
+  	    </div>
+  	</div>
+  </div>
+  {!! Form::close() !!}
+</div>
+<!-- page end-->
+@stop
+
+@section('script')
+<script src="https://statik.unesa.ac.id/spn_konten_statik/plugins/select2/select2.full.min.js"></script>
+{!! Html::script('https://statik.unesa.ac.id/profileunesa_konten_statik/admin/js/plugins/bootstrap/bootstrap-datepicker.js') !!}
+{!! Html::script('https://statik.unesa.ac.id/profileunesa_konten_statik/admin/js/plugins/bootstrap/bootstrap-timepicker.min.js') !!}
+{!! Html::script('https://statik.unesa.ac.id/profileunesa_konten_statik/admin/js/plugins/bootstrap/bootstrap-file-input.js') !!}
+{!! Html::script('https://statik.unesa.ac.id/profileunesa_konten_statik/admin/js/plugins/summernote/summernote.js') !!}
+<script type="text/javascript">
+	function PreviewImage() {
+	var oFReader = new FileReader();
+	oFReader.readAsDataURL(document.getElementById("uploadImage").files[0]);
+
+	oFReader.onload = function (oFREvent) {
+	document.getElementById("uploadPreview").src = oFREvent.target.result;
+	};
+	};
+  $('#categories').select2();
+</script>
+@stop
diff --git a/resources/views/webprofile/backend/gallery/index.blade.php b/resources/views/webprofile/backend/gallery/index.blade.php
new file mode 100644
index 0000000..fee89fb
--- /dev/null
+++ b/resources/views/webprofile/backend/gallery/index.blade.php
@@ -0,0 +1,65 @@
+@extends('webprofile.backend.layouts.master')
+
+@section('assets')
+    <link rel="stylesheet" href="{!! asset('backend/js/datatables.net-bs/css/dataTables.bootstrap.min.css') !!}">
+    <meta name="csrf-token" content="{{ csrf_token() }}">
+@endsection
+
+@section('title')
+  {{ $title }}
+@stop
+
+@section('breadcrumbs')
+<li><a href="{{ url('dashboard') }}">@lang('label.dashboard')</a></li>
+<li class="active">@lang('feature.gallery')</li>
+@stop
+
+@section('content')
+<!-- page start-->
+<div class="row">
+    <div class="col-lg-12">
+        <!-- START DEFAULT DATATABLE -->
+        <div class="panel panel-default">
+            <div class="panel-heading">
+                <h3 class="panel-title">{!! $title !!}</h3>
+                <a class="btn btn-info" href="{{URL::to('webprofile/gallery/create')}}" style="margin: 0cm 0px 0cm 10px;">@lang('label.create')</a>
+                <ul class="panel-controls">
+                    <li><a href="#" class="panel-collapse"><span class="fa fa-angle-down"></span></a></li>
+                </ul>
+            </div>
+            <div class="panel-body">
+                <table class="table table-hover data-table" width="100%">
+                    <thead>
+                        <tr>
+                            <th width="7%" style="text-align: center;">@lang('label.number')</th>                            
+                            <th style="text-align: center;">@lang('feature.gallery')</th>
+                            <th width="10%" style="text-align: center;">@lang('label.status')</th>
+                            <th align="center" width="10%" style="text-align: center;">@lang('label.action')</th>
+                        </tr>
+                    </thead>
+                    <tbody>
+                    </tbody>
+                </table>
+            </div>
+        </div>
+        <!-- END DEFAULT DATATABLE -->
+    </div>
+</div>
+<!-- page end-->
+@stop
+
+@section('script')
+<script src="{!!asset('backend/js/datatables.net/js/jquery.dataTables.min.js') !!}"></script>
+<script src="{!!asset('backend/js/datatables.net-bs/js/dataTables.bootstrap.min.js') !!}"></script>
+
+<script src="{{ url('backend/assets/plugins/jquery-datatable/buttons/dataTables.buttons.min.js') }}"></script>
+<script src="{{ url('backend/assets/plugins/jquery-datatable/buttons/buttons.bootstrap4.min.js') }}"></script>
+<script src="{{ url('backend/assets/plugins/jquery-datatable/buttons/buttons.colVis.min.js') }}"></script>
+<script src="{{ url('backend/assets/plugins/jquery-datatable/buttons/buttons.html5.min.js') }}"></script>
+<script src="{{ url('backend/assets/plugins/jquery-datatable/buttons/buttons.print.min.js') }}"></script>
+
+<script>
+    var url = "{{ route('gallery.index') }}";
+</script>
+{{ Html::script('js/master/gallery.js') }}
+@stop
diff --git a/resources/views/webprofile/backend/sliders/edit.blade.php b/resources/views/webprofile/backend/sliders/edit.blade.php
index 5b29908..9f9ab29 100644
--- a/resources/views/webprofile/backend/sliders/edit.blade.php
+++ b/resources/views/webprofile/backend/sliders/edit.blade.php
@@ -35,11 +35,11 @@
 	                    </div>
   	                    <center>
   	                      	<div class="form-group">
-								@if($data->images)
+								@if($data->slider)
 									@if (webprofilesetting()['external_storage'] == 1)
-									<img id="uploadPreview" style="width: 500px; height: 100%;" src="{{ url(webprofilesetting()['url_static'].'/'.webprofilesetting()['directory'].'/slider/'.$data->images) }}"/><br>
+									<img id="uploadPreview" style="width: 500px; height: 100%;" src="{{ url(webprofilesetting()['url_static'].'/'.webprofilesetting()['directory'].'/slider/'.$data->slider) }}"/><br>
 									@else
-									<img id="uploadPreview" style="width: 500px; height: 100%;" src="{{ url('/storage/slider/'.$data->images) }}"/><br>
+									<img id="uploadPreview" style="width: 500px; height: 100%;" src="{{ url('/storage/slider/'.$data->slider) }}"/><br>
 									@endif
 								@else
 								<img id="uploadPreview" style="width: 500px; height: 100%;" src="{{ url('https://statik.unesa.ac.id/perpus_konten_statik/uploads/slider/slider.png') }}"/><br>
diff --git a/routes/webprofile/backend.php b/routes/webprofile/backend.php
index aa9cad5..3a79ec4 100644
--- a/routes/webprofile/backend.php
+++ b/routes/webprofile/backend.php
@@ -8,6 +8,7 @@ Route::group(['middleware' => 'auth'], function () {
             Route::resource('informations', 'InformationController');
             Route::resource('settings', 'SettingController');
             Route::resource('sliders', 'SliderController');
+            Route::resource('gallery', 'GalleryController');
         });
     // });
 });
--
libgit2 0.26.0