|
Server : Apache/2.4.41 (Ubuntu) System : Linux vmi1525618.contaboserver.net 5.4.0-105-generic #119-Ubuntu SMP Mon Mar 7 18:49:24 UTC 2022 x86_64 User : www-data ( 33) PHP Version : 8.2.12 Disable Function : NONE Directory : /var/www/admin.blurb.global/resources/views/folder/ |
Upload File : |
@extends('layout')
@section('content')
<!-- begin::main content -->
<main class="main-content">
<div class="container">
<!-- begin::page header -->
<div class="page-header">
<h3>Folders</h3>
<nav aria-label="breadcrumb">
<ol class="breadcrumb">
<li class="breadcrumb-item"><a href="{{ asset('dashboard') }}">Dashboard</a></li>
<li class="breadcrumb-item active" aria-current="page">List</li>
</ol>
</nav>
</div>
<!-- end::page header -->
<div class="row">
<div class="col-md-12">
<div class="card">
<div class="card-header">
<form action="" method="GET">
<div class="row">
{{-- Search --}}
<div class="col-md-4">
<div class="form-group">
<input type="text" style="width: 300px;" class="form-control pull-left"
name="query" placeholder="Search here....."
value="{{ request()->input('query') }}" />
<span class="text-danger">
@error('query')
{{ $message }}
@enderror
</span>
</div>
</div>
{{-- Buttons --}}
<div class="col-md-8">
<div class="form-group">
<button type="submit" class="btn btn-primary pull-left mr-2">
<i class="fa fa-search"></i></button>
{{-- List --}}
<a href="{{ asset('folder') }}"
class="btn btn-primary text-white m-r-10 pull-left">
<i class="fa fa-recycle fa-lg"></i></a>
{{-- Create folder --}}
<?php if(Auth::user()->hasRole('superadmin') || Auth::user()->can('add-folder')){ ?>
<a href="javascript:;" data-toggle="modal" data-target=".bd-example-modal-sm"
data-link="{{ asset('content/add-folder') }}"
class="form-group text-white btn btn-dark pull-right">
<i class="fa fa-folder fa-lg"></i>
</a>
<?php } ?>
{{-- Server content sync --}}
<?php if(Auth::user()->hasRole('superadmin') || Auth::user()->can('sync-content')){ ?>
<a href="javascript:;" id="sync"
class="btn btn-warning pull-right text-white mr-2">
<i class="fa fa-refresh fa-lg"></i>
</a>
<?php } ?>
</div>
</div>
</div>
</form>
</div>
<div class="card-body">
<x-flashMessage />
@if (count($errors) > 0)
<div class="alert alert-danger">
<ul>
@foreach ($errors->all() as $error)
<li>{{ $error }}</li>
@endforeach
</ul>
</div>
@endif
@if (isset($folders))
<div class="table-responsive">
<table class="table table-striped table-bordered">
<thead>
<tr>
<th>#</th>
<th>Name</th>
<th>Slug</th>
<th>Date</th>
<th>Action</th>
</tr>
</thead>
<tbody>
@if (!empty($folders))
@php
$i = 1;
@endphp
@foreach ($folders as $content)
<tr>
<td style="width:5%;">{{ $i++ }}</td>
<td>
<a href="{{ asset('folder/content/' . $content->slug) }}">
<i class="fa fa-folder-open-o fa-lg pr-2"></i>
{{ $content->name }}
</a>
</td>
<td>{{ $content->slug }}</td>
<td style="width:18%;">{{ $content->created_at }}</td>
<td style="width:14%;">
<div class="btn-group">
{{-- Share Folder --}}
<?php if(Auth::user()->hasRole('superadmin') || Auth::user()->can('folder-share')){ ?>
<a class="btn btn-success text-white btn-square share-button"
data-slug="{{ $content->slug }}" href="javascript:;">
<i class="fa fa-share-alt text-white fa-lg"></i></a>
<?php }?>
{{-- View Contents --}}
<?php if(Auth::user()->hasRole('superadmin') || Auth::user()->can('view-content')){ ?>
<a title="View List"
class="btn btn-primary text-white btn-square"
href="{{ asset('folder/content/' . $content->slug) }}">
<i class="fa fa-eye text-white fa-lg"></i></a>
<?php }?>
{{-- Delete Folder --}}
<?php if(Auth::user()->hasRole('superadmin') || Auth::user()->can('delete-folder')) { ?>
<a title="Delete Folder"
class="btn btn-danger text-white btn-square delete-confirm"
href="javascript:;"
link="{{ asset('folder/delete/' . $content->slug) }}">
<i class="fa fa-trash text-white fa-lg"></i>
</a>
<?php }?>
</div>
</td>
</tr>
@endforeach
@else
<h1>No Record Found!!</h1>
@endif
</tbody>
</table>
</div>
<div class="pagination-block">
@if (isset($_GET['query']))
{{ $folders->appends(['query' => $_GET['query']])->links('includes.paginationlinks') }}
@else
{{ $folders->links('includes.paginationlinks') }}
@endif
<label>Total Record Found- <?php echo count($folders); ?></label>
</div>
@endif
</div>
</div>
</div>
</div>
</div>
</main>
<!-- end::main content -->
{{-- Folder create --}}
<div class="modal fade bd-example-modal-sm" tabindex="-1" role="dialog" aria-labelledby="mySmallModalLabel"
aria-hidden="true">
<div class="modal-dialog modal-sm">
<div class="modal-content">
<form action="{{ asset('folder/add') }}" method="post">
<div class="modal-header">
<h6 class="modal-title">Create Folder</h6>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">×</span>
</button>
</div>
<div class="modal-body">
@csrf
<div class="form-group">
<input type="text" class="form-control" name="name" placeholder="Type folder name" />
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-dismiss="modal">Close
</button>
<button type="submit" class="btn btn-primary">Save</button>
</div>
</form>
</div>
</div>
</div>
<?php if(Auth::user()->hasRole('superadmin') || Auth::user()->can('folder-share')){ ?>
{{-- Share File Modal --}}
<div class="modal fade" id="shareModal" tabindex="-1" role="dialog" aria-labelledby="shareModalLabel"
aria-hidden="true">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<label class="font-size-20 font-weight-bold p-t-10" id="shareModalLabel">Share Content</label>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">×</span>
</button>
</div>
<form id="user-form">
<div class="modal-body">
<p class="p-2 alert-message"></p>
<div class="form-group">
<input type="hidden" id="folder_slug_form" name="folder_slug_form">
<select class="js-example-basic-single" name="users[]" id="users" multiple>
<option></option>
@if (!empty($users))
@foreach ($users as $user)
<option value="{{ $user->email }}">{{ $user->name }} - ({{ $user->email }})
</option>
@endforeach
@endif
</select>
</div>
<div class="form-group">
<hr>
<input type="checkbox" style="width: 14px; height:14px; margin-right:10px;" name="notify"
id="notify">
<label for="notify" class="col-form-label font-size-16">Notify People</label>
</div>
<div class="form-group">
<hr>
<label for="add-user" class="col-form-label font-size-16">People with access:</label>
</div>
</div>
<div class="modal-footer">
<button type="submit" id="button-submit" class="btn btn-primary">Done</button>
</div>
</form>
</div>
</div>
</div>
{{-- Share file modal --}}
<?php } ?>
{{-- Folder Rename --}}
<div class="modal fade folder-rename" tabindex="-1" role="dialog" aria-labelledby="mySmallModalLabel"
aria-hidden="true">
<div class="modal-dialog modal-sm">
<div class="modal-content">
<form id="rename-form-submit">
<div class="modal-header">
<h6 class="modal-title">Rename Folder</h6>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">×</span>
</button>
</div>
<div class="modal-body">
@csrf
<div class="form-group">
<input type="text" class="form-control" id="folder_name" name="folder_name"
placeholder="Type folder name" />
<input name="folder_id" id="folder_id" type="hidden">
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-dismiss="modal">Close
</button>
<button type="submit" class="btn btn-primary">Update</button>
</div>
</form>
</div>
</div>
</div>
@endsection
@push('footer-script')
<script>
// Select ALL
$('#multialldelete').change(function() {
if ($(this).prop('checked')) {
$(".checkBoxClass").prop('checked', true);
} else {
$(".checkBoxClass").prop('checked', false);
}
//console.log($(".checkBoxClass").val());
});
// Sync content ===============
$('#sync').click(function() {
$.ajaxSetup({
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
}
});
$.ajax({
type: "GET",
data: {},
url: "{{ asset('folder/content-sync') }}",
beforeSend: function() {
$('#sync').html(
'<i class="fa fa-spinner fa-pulse"></i>');
},
success: function(result) {
saveLog();
$('#sync').html('<i class="fa fa-refresh"></i>');
location.reload();
}
});
});
saveLog = function() {
$.ajaxSetup({
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
}
});
var url = "{{ asset('folder/content-sync-log') }}";
$.ajax({
url: url,
type: 'GET',
data: {},
success: function(json) {
return true;
}
});
};
$('.rename-folder').click(function() {
var folder_id = $(this).data('id');
$.ajaxSetup({
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
}
});
$.ajax({
url: "{{ asset('folder/edit') }}" + "/" + folder_id,
type: 'GET',
dataType: 'JSON',
success: function(data) {
// console.log(data.status);
if (data.status) {
$('#folder_name').val(data.name);
$('#folder_id').val(data.id);
$('.folder-rename').modal('show');
}
}
});
});
$("#rename-form-submit").submit(function(e) {
e.preventDefault();
$.ajaxSetup({
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
}
});
$.ajax({
url: "{{ asset('folder/update') }}",
type: 'POST',
dataType: 'HTML',
data: $("#rename-form-submit").serialize(),
success: function(data) {
toastr.success('Folder renamed successfully!');
setTimeout(() => {
location.reload();
}, 1000);
}
});
});
// Share Content ===============
$('.share-button').click(function(e) {
$('.alert-message').empty();
$('#shareModal').modal({
backdrop: 'static',
keyboard: false
});
$('#folder_slug_form').val($(this).data('slug'));
});
// Submit Form
$('#user-form').submit(function(e) {
e.preventDefault();
$.ajaxSetup({
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
}
});
$.ajax({
type: "POST",
data: {
"users": $('#users').val(),
"folder_slug": $('#folder_slug_form').val(),
"notify": $("input[name='notify']:checked").val(),
},
url: "{{ asset('folder-share') }}",
beforeSend: function() {
$('.alert-message').empty();
$('#button-submit').prop("disabled", true);
$('#button-submit').html(
'<i class="fa fa-spinner fa-pulse fa-lg"></i>');
},
success: function(result) {
if (result.status) {
$('.alert-message').html("<div class='alert alert-success'>" + result.text +
"</div>");
} else {
$('.alert-message').html("<div class='alert alert-danger'>" + result.text +
"</div>");
}
$('#button-submit').prop("disabled", false);
$('#button-submit').html('Done');
},
error: function(errors) {
var arr = errors.responseJSON.errors;
if (arr.etags) {
$('.alert-message').html("<div class='alert alert-danger'>" + arr.etags[0] +
"</div>");
}
if (arr.users) {
$('.alert-message').html("<div class='alert alert-danger'>" + arr.users[0] +
"</div>");
}
$('#button-submit').prop("disabled", false);
$('#button-submit').html('Done');
}
});
});
</script>
<!-- end::dataTable -->
@endpush