|
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/content/ |
Upload File : |
@extends('layout')
@section('content')
<!-- begin::main content -->
<main class="main-content">
<div class="container">
<!-- begin::page header -->
<div class="page-header">
<h3>{{ ucfirst($folder) }} Contents</h3>
<nav aria-label="breadcrumb">
<ol class="breadcrumb">
<li class="breadcrumb-item"><a href="{{ asset('dashboard') }}">Dashboard</a></li>
<li class="breadcrumb-item"><a href="{{ asset('folder') }}">Folder</a></li>
<li class="breadcrumb-item active" aria-current="page">{{ $folder }}</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/content/' . $folder) }}"
class="btn btn-primary text-white m-r-10 pull-left">
<i class="fa fa-recycle fa-lg"></i></a>
{{-- Delete --}}
<?php if(Auth::user()->hasRole('superadmin') || Auth::user()->can('delete-content')){ ?>
<a href="javascript:;" id="multiple_delete_videos"
class="btn btn-danger text-white m-r-10">
<i class="fa fa-trash-o fa-lg"></i></a>
<?php } ?>
{{-- View User --}}
<?php if(Auth::user()->hasRole('superadmin') || Auth::user()->can('content-share')){ ?>
<a title="View List" href="javascript:;"
class="btn btn-success text-white share-button"
data-link="{{ asset('folder/content-share') }}">
<i class="fa fa-share-alt text-white fa-lg"></i></a>
<?php }?>
{{-- Upload content --}}
<?php if(Auth::user()->hasRole('superadmin') || Auth::user()->can('add-content')){ ?>
<a href="{{ asset('folder/content-add/' . $folder) }}"
class="form-group text-white btn btn-dribbble pull-right mr-2">
<i class="fa fa-upload 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($contents))
<div class="table-responsive">
<table class="table table-striped table-bordered">
<thead>
<tr>
<th><input type="checkbox" name="multialldelete" id="multialldelete" /></th>
<th>#</th>
<th>Name</th>
<th>Path</th>
<th>size</th>
<th>Action</th>
</tr>
</thead>
<tbody>
@if (!empty($contents))
@php
$i = 1;
@endphp
@foreach ($contents as $content)
<tr>
<td style="width:5%;">
<input class="checkBoxClass" type="checkbox"
value="{{ $content->path }}"
data-etag="{{ $content->etag }}" name="multidelete[]" />
</td>
<td style="width:5%;">{{ $i++ }}</td>
<td><i
class="fa fa-file-text-o fa-lg pr-2"></i>{{ $content->name }}
</td>
<td>
@if ($content->type == 'folder')
<a href="http://" target="_blank" rel="noopener noreferrer">
<u>{{ $content->path }}</u>
</a>
@else
{{ $content->path }}
@endif
</td>
{{-- <td>{{ $content->etag }}</td> --}}
<td>{{ $content->size }}</td>
<td style="width:14%;">
<div class="btn-group">
{{-- View User --}}
<?php if(Auth::user()->hasRole('superadmin') || Auth::user()->can('content-download')){ ?>
<a title="View List" href="javascript:;"
class="btn btn-primary text-white btn-square download-button"
data-link="{{ asset('folder/content-download/' . $content->etag) }}">
<i class="fa fa-download text-white fa-lg"></i></a>
<?php }?>
{{-- Delete user --}}
<?php if(Auth::user()->hasRole('superadmin') || Auth::user()->can('delete-user')) { ?>
<a title="Delete User"
class="btn btn-danger text-white btn-square delete-confirm"
href="javascript:;"
link="{{ asset('folder/content-delete/' . $content->etag) }}"
class="delete-confirm">
<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']))
{{ $contents->appends(['query' => $_GET['query']])->links('includes.paginationlinks') }}
@else
{{ $contents->links('includes.paginationlinks') }}
@endif
<label>Total Record Found- <?php echo count($contents); ?></label>
</div>
@endif
</div>
</div>
</div>
</div>
</div>
</main>
<!-- end::main content -->
<?php if(Auth::user()->hasRole('superadmin') || Auth::user()->can('content-download')){ ?>
{{-- Download File Modal --}}
<div class="modal fade download-url-modal" tabindex="-1" role="dialog" aria-labelledby="mySmallModalLabel"
aria-hidden="true">
<div class="modal-dialog modal-sm">
<div class="modal-content">
<div class="modal-header">
<h6 class="modal-title">Download File</h6>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">×</span>
</button>
</div>
<div class="modal-body">
<div class="form-group text-center">
<h5>
<a class="text-facebook download-aws-url" target="_blank" href=""><i
class="fa fa-download fa-lg text-facebook pr-1"></i>Download File!</a>
</h5>
</div>
</div>
</div>
</div>
</div>
{{-- Download file modal --}}
<?php } ?>
<?php if(Auth::user()->hasRole('superadmin') || Auth::user()->can('content-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">
<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 } ?>
@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());
});
// Multiple Delete files
$('#multiple_delete_videos').click(function() {
var checked = []
$("input[name='multidelete[]']:checked").each(function() {
checked.push($(this).val());
});
$.ajaxSetup({
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
}
});
$.ajax({
type: "POST",
data: {
'videoids': checked,
},
url: "{{ asset('folder/content-delete-multiple') }}",
beforeSend: function() {
$('#multiple_delete_videos').html(
'<i class="fa fa-spinner fa-pulse fa-lg"></i>');
},
success: function(result) {
$('#multiple_delete_videos').html(
'<i class="fa fa-trash-o fa-lg pr-2"></i>Multiple Delete');
if (result) {
toastr.success('File Deleted! Wait.. Page is refreshing');
setTimeout(() => {
location.reload();
}, 1000);
}
}
});
});
// Sync content ===============
$('.download-button').click(function() {
$.ajaxSetup({
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
}
});
$.ajax({
type: "GET",
data: {},
url: $(this).data('link'),
beforeSend: function() {
$('.download-url-modal').modal('show');
$('.download-aws-url').html('<i class="fa fa-spinner fa-pulse fa-lg"></i>');
},
success: function(result) {
if (result) {
$('.download-aws-url').attr("href", result)
$('.download-aws-url').html(
'<i class="fa fa-download fa-lg pr-2"></i> Click TO Download File!');
} else {
$('.download-aws-url').attr("href", 'javascript:;')
$('.download-aws-url').html(
'<i class="fa fa-close fa-lg pr-2"></i>Something went wrong, Please try again!'
);
return false
}
}
});
});
// 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;
}
});
};
// Share Content ===============
$('.share-button').click(function(e) {
$('#shareModal').modal({
backdrop: 'static',
keyboard: false
});
});
// Submit Form
$('#user-form').submit(function(e) {
e.preventDefault();
var checked = []
$("input[name='multidelete[]']:checked").each(function() {
checked.push($(this).attr('data-etag'));
});
$.ajaxSetup({
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
}
});
$.ajax({
type: "POST",
data: {
"etags": checked,
"users": $('#users').val(),
"folder_slug": "{{ $folder }}",
"notify": $("input[name='notify']:checked").val(),
},
url: "{{ asset('folder/content-share') }}",
beforeSend: function() {
$('#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