Commit 2ea6667b by Bagus Pambudi
parents ae82b115 7115eeb0
<?php
namespace App\Http\Controllers\Webprofile\Backend;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
use App\Repositories\Webprofile\PictureRepository;
class PictureController extends Controller
{
private $repo;
public function __construct(PictureRepository $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.picture.index')->withTitle(trans('feature.picture'));
}
/**
* Show the form for creating a new resource.
*
* @return \Illuminate\Http\Response
*/
public function create()
{
return view('webprofile.backend.picture.create')->withTitle(trans('feature.create_picture'));
}
/**
* Store a newly created resource in storage.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response
*/
public function store(Request $request)
{
// dd($request);
$request -> validate([
'title' => 'required',
'picture' => 'required|mimes:jpg,jpeg,png|max : 3072'
], [
'title.required' => 'Nama gallery wajib diisi',
// 'title.max' => 'Nama gallery terlalu panjang',
'picture.required' => 'Gambar wajib diupload',
'picture.mimes' => 'File yang diupload harus berupa JPG, JPEG, dan PNG',
'picture.max' => 'Ukuran gambar maksimal 3 MB'
]);
$this->repo->store($request, 'picture');
return redirect()->route('picture.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.picture.edit', $data)->withTitle(trans('feature.edit_picture'));
}
/**
* Update the specified resource in storage.
*
* @param \Illuminate\Http\Request $request
* @param int $id
* @return \Illuminate\Http\Response
*/
public function update(Request $request, $id)
{
$request -> validate([
'title' => 'required',
'picture' => 'required|mimes:jpg,jpeg,png|max : 3072'
], [
'title.required' => 'Nama gallery wajib diisi',
// 'title.max' => 'Nama gallery terlalu panjang',
'picture.required' => 'Gambar wajib diupload',
'picture.mimes' => 'File yang diupload harus berupa JPG, JPEG, dan PNG',
'picture.max' => 'Ukuran gambar maksimal 3 MB'
]);
$picture = $this->repo->findId($id);
$edit = $this->repo->update($request, $picture, 'picture');
return redirect()->route('picture.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, 'picture');
return response()->json(['done']);
}
}
<?php
namespace App\Models\Webprofile;
use App\Http\Traits\UuidTrait;
use Illuminate\Database\Eloquent\Model;
class Picture extends Model
{
use UuidTrait;
public $incrementing = false;
protected $table = 'swp_pictures';
protected $guarded = [];
}
<?php
namespace App\Repositories\Webprofile;
use App\Models\Webprofile\Picture;
use App\Repositories\StorageRepository;
use DataTables;
class PictureRepository extends StorageRepository
{
protected $model;
public function __construct(Picture $model)
{
$this->model = $model;
}
public function get($with = null, $title = null, $orderBy = null)
{
return $this->model
->when($with, function ($query) use ($with) {
return $query->with($with);
})
->when($title, function ($query) use ($title) {
return $query->where('title', 'ilike', '%' . $title . '%');
})
->when($orderBy, function ($query) use ($orderBy) {
return $query->orderBy($orderBy[0], $orderBy[1]);
})
->get();
}
public function datatable($data)
{
$setting = webprofilesetting();
return DataTables::of($data)
->addIndexColumn()
->addColumn('action', function ($row) {
$btn = '<a href="' . url('/webprofile/picture/' . $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="' . trans('label.delete') . '" class="btn btn-danger btn-round btn-sm delete">' . trans('label.delete') . '</a>';
$btn = $btn . '<br>';
return $btn;
})
->addColumn('picture', function ($row) use ($setting) {
if ($setting['external_storage'] == 1) {
$str = '<img src="' . $setting['url_static'] . '/' . $setting['directory'] . '/picture/' . $row->picture . '" height="100" width="auto">';
// $str .= '<label id="furl_'.$row->id.'" hidden>'.$setting['url_static'].'/'.$setting['directory'].'/picture/'.$row->picture.'</label>';
} else {
$str = '<img src="' . url('/storage/picture/' . $row->picture) . '" height="100" width="auto">';
// $str .= '<label id="furl_'.$row->id.'" hidden>'.url('/storage/picture/'.$row->picture).'</label>';
}
// $str .= '<br>';
// $str .= '<button onclick="copyToClipboard(\'#furl_'.$row->id.'\')" class="btn btn-info btn-xs">Copy URL</button>';
return $str;
})
->addColumn('status', function ($row) {
if ($row->is_active == true) {
$str = '<div style="color: green;"><i class="fa fa-check"></i></div>';
} else {
$str = '<div style="color: red;"><i class="fa fa-times"></i></div>';
}
return $str;
})
->rawColumns(['action', 'status', 'picture'])
->make(true);
}
}
<?php
use Illuminate\Support\Facades\Schema;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;
class CreatePicturesTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('swp_pictures', function (Blueprint $table) {
$table->string('id', 36)->primary();
$table->string('title');
$table->string('picture')->nullable();
$table->string('slug')->nullable();
$table->string('userid_created', 36)->nullable();
$table->string('userid_updated', 36)->nullable();
$table->boolean('is_active')->nullable();
$table->timestamps();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::dropIfExists('swp_pictures');
}
}
...@@ -4470,10 +4470,10 @@ ...@@ -4470,10 +4470,10 @@
var tplDialogs = function (lang, options) { var tplDialogs = function (lang, options) {
var tplImageDialog = function () { var tplImageDialog = function () {
var body = var body =
'<div class="note-group-select-from-files">' + // '<div class="note-group-select-from-files">' +
'<h5>' + lang.image.selectFromFiles + '</h5>' + // '<h5>' + lang.image.selectFromFiles + '</h5>' +
'<input class="note-image-input" type="file" name="files" accept="image/*" />' + // '<input class="note-image-input" type="file" name="files" accept="image/*" />' +
'</div>' + // '</div>' +
'<h5>' + lang.image.url + '</h5>' + '<h5>' + lang.image.url + '</h5>' +
'<input class="note-image-url form-control span12" type="text" />'; '<input class="note-image-url form-control span12" type="text" />';
var footer = '<button href="#" class="btn btn-primary note-image-btn disabled" disabled>' + lang.image.insert + '</button>'; var footer = '<button href="#" class="btn btn-primary note-image-btn disabled" disabled>' + lang.image.insert + '</button>';
......
$(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: 'picture', name: 'picture' },
{ 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>');
});
}
...@@ -8,6 +8,7 @@ return [ ...@@ -8,6 +8,7 @@ return [
'design' => 'Designs', 'design' => 'Designs',
'file' => 'Files', 'file' => 'Files',
'gallery' => 'Galleries', 'gallery' => 'Galleries',
'picture' => 'Pictures',
'information' => 'Informations', 'information' => 'Informations',
'agenda' => 'Agendas', 'agenda' => 'Agendas',
'menu' => 'Menu', 'menu' => 'Menu',
...@@ -22,6 +23,7 @@ return [ ...@@ -22,6 +23,7 @@ return [
'create_design' => 'Create Design', 'create_design' => 'Create Design',
'create_file' => 'Create File', 'create_file' => 'Create File',
'create_gallery' => 'Create Gallery', 'create_gallery' => 'Create Gallery',
'create_picture' => 'Create Picture',
'create_information' => 'Create Information', 'create_information' => 'Create Information',
'create_agenda' => 'Create Agenda', 'create_agenda' => 'Create Agenda',
'create_menu' => 'Create Menu', 'create_menu' => 'Create Menu',
...@@ -37,6 +39,7 @@ return [ ...@@ -37,6 +39,7 @@ return [
'edit_design' => 'Edit Design', 'edit_design' => 'Edit Design',
'edit_file' => 'Edit File', 'edit_file' => 'Edit File',
'edit_gallery' => 'Edit Gallery', 'edit_gallery' => 'Edit Gallery',
'edit_picture' => 'Edit Picture',
'edit_information' => 'Edit Information', 'edit_information' => 'Edit Information',
'edit_agenda' => 'Edit Agenda', 'edit_agenda' => 'Edit Agenda',
'edit_menu' => 'Edit Menu', 'edit_menu' => 'Edit Menu',
......
...@@ -8,6 +8,7 @@ return [ ...@@ -8,6 +8,7 @@ return [
'design' => 'Desain', 'design' => 'Desain',
'file' => 'Dokumen', 'file' => 'Dokumen',
'gallery' => 'Gallery', 'gallery' => 'Gallery',
'picture' => 'Gambar',
'information' => 'Informasi', 'information' => 'Informasi',
'agenda' => 'Agenda', 'agenda' => 'Agenda',
'menu' => 'Menu', 'menu' => 'Menu',
...@@ -22,6 +23,7 @@ return [ ...@@ -22,6 +23,7 @@ return [
'create_design' => 'Tambah Desain', 'create_design' => 'Tambah Desain',
'create_file' => 'Tambah Dokumen', 'create_file' => 'Tambah Dokumen',
'create_gallery' => 'Tambah Gallery', 'create_gallery' => 'Tambah Gallery',
'create_picture' => 'Tambah Gambar',
'create_information' => 'Tambah Informasi', 'create_information' => 'Tambah Informasi',
'create_agenda' => 'Tambah Agenda', 'create_agenda' => 'Tambah Agenda',
'create_menu' => 'Tambah Menu', 'create_menu' => 'Tambah Menu',
...@@ -37,6 +39,7 @@ return [ ...@@ -37,6 +39,7 @@ return [
'edit_design' => 'Edit Desain', 'edit_design' => 'Edit Desain',
'edit_file' => 'Edit Dokumen', 'edit_file' => 'Edit Dokumen',
'edit_gallery' => 'Edit Gallery', 'edit_gallery' => 'Edit Gallery',
'edit_picture' => 'Edit Gambar',
'edit_information' => 'Edit Informasi', 'edit_information' => 'Edit Informasi',
'edit_agenda' => 'Edit Agenda', 'edit_agenda' => 'Edit Agenda',
'edit_menu' => 'Edit Menu', 'edit_menu' => 'Edit Menu',
......
...@@ -31,6 +31,9 @@ ...@@ -31,6 +31,9 @@
<li> <li>
<a href="{{ url('webprofile/gallery') }}"><span class="fa fa-file-image-o"></span><span class="xn-text">@lang('feature.gallery')</span></a> <a href="{{ url('webprofile/gallery') }}"><span class="fa fa-file-image-o"></span><span class="xn-text">@lang('feature.gallery')</span></a>
</li> </li>
<li>
<a href="{{ url('webprofile/picture') }}"><span class="fa fa-file-image-o"></span><span class="xn-text">@lang('feature.picture')</span></a>
</li>
<li class="xn-openable"> <li class="xn-openable">
<a href="#"><span class="fa fa-file-o"></span> <span class="xn-text">@lang('feature.file')</span></a> <a href="#"><span class="fa fa-file-o"></span> <span class="xn-text">@lang('feature.file')</span></a>
<ul> <ul>
......
@extends('webprofile.backend.layouts.master')
@section('title')
{{ $title }}
@stop
@section('breadcrumbs')
<li><a href="{{ url('home') }}">@lang('label.dashboard')</a></li>
<li class="active">@lang('feature.create_picture')</li>
@stop
@section('content')
{!! Form::open(array('url' => route('picture.store'), 'method' => 'POST', 'id' => 'picture', '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.picture')</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.picture')</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('picture', ['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
@extends('webprofile.backend.layouts.master')
@section('title')
{{ $title }}
@stop
@section('breadcrumbs')
<li><a href="{{ url('home') }}">@lang('label.dashboard')</a></li>
<li class="active">@lang('feature.edit_picture')</li>
@stop
@section('content')
<!-- page start-->
<div class="row">
{!! Form::model($data, ['route' => ['picture.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.picture')</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.picture')</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->picture)
@if (webprofilesetting()['external_storage'] == 1)
<img id="uploadPreview" style="width: 500px; height: 100%;" src="{{ url(webprofilesetting()['url_static'].'/'.webprofilesetting()['directory'].'/picture/'.$data->picture) }}"/><br>
@else
<img id="uploadPreview" style="width: 500px; height: 100%;" src="{{ url('/storage/picture/'.$data->picture) }}"/><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('picture', 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', $data->is_active, $data->is_active) }}
<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() !!}
</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
@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('home') }}">@lang('label.dashboard')</a></li>
<li class="active">@lang('feature.picture')</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/picture/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.picture')</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('picture.index') }}";
</script>
{{ Html::script('js/master/picture.js') }}
@stop
...@@ -137,7 +137,7 @@ ...@@ -137,7 +137,7 @@
<ul class="recent_posts_widget"> <ul class="recent_posts_widget">
@foreach($agenda as $value) @foreach($agenda as $value)
<li> <li>
<a href="{!! url('info/'.$value->slug) !!}"><img src="https://www.unesa.ac.id/assets/demos/logounesa.png" alt="">@if ($value->rSa) {!! $value->rSa->title !!} @endif</a> <a href="{!! url('agenda/'.$value->slug) !!}"><img src="https://www.unesa.ac.id/assets/demos/logounesa.png" alt="">@if ($value->rSa) {!! $value->rSa->title !!} @endif</a>
<a class="readmore" href="#">{!! InseoHelper::tglbulanindo2($value->event_date) !!}</a> <a class="readmore" href="#">{!! InseoHelper::tglbulanindo2($value->event_date) !!}</a>
</li> </li>
@endforeach @endforeach
......
...@@ -29,6 +29,7 @@ Route::group(['middleware' => 'auth'], function () { ...@@ -29,6 +29,7 @@ Route::group(['middleware' => 'auth'], function () {
Route::resource('settings', 'SettingController'); Route::resource('settings', 'SettingController');
Route::resource('sliders', 'SliderController'); Route::resource('sliders', 'SliderController');
Route::resource('gallery', 'GalleryController'); Route::resource('gallery', 'GalleryController');
Route::resource('picture', 'PictureController');
Route::resource('categoriesfile', 'CategoriesFileController'); Route::resource('categoriesfile', 'CategoriesFileController');
Route::resource('file', 'FileController'); Route::resource('file', 'FileController');
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment