Skip to content

Instantly share code, notes, and snippets.

View soarecostin's full-sized avatar

Costin Soare soarecostin

View GitHub Profile
<h4>Your files</h4>
<ul class="list-group">
@forelse ($s3Files as $file)
<li class="list-group-item">
<a href="{{ route('downloadFile', basename($file)) }}">
{{ basename($file) }}
</a>
</li>
@empty
<li class="list-group-item">You have no files</li>
<?php
namespace App\Http\Controllers;
use App\Jobs\EncryptFile;
use App\Jobs\MoveFileToS3;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Storage;
use Illuminate\Support\Str;
use SoareCostin\FileVault\Facades\FileVault;
<?php
namespace App\Jobs;
use Exception;
use Illuminate\Bus\Queueable;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Foundation\Bus\Dispatchable;
use Illuminate\Http\File;
use Illuminate\Queue\InteractsWithQueue;
<?php
namespace App\Jobs;
use Illuminate\Bus\Queueable;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Foundation\Bus\Dispatchable;
use Illuminate\Queue\InteractsWithQueue;
use Illuminate\Queue\SerializesModels;
use SoareCostin\FileVault\Facades\FileVault;
@soarecostin
soarecostin / home.blade.php
Created November 20, 2019 11:34
Display user files
<ul class="list-group">
@forelse ($files as $file)
<li class="list-group-item">
<a href="{{ route('downloadFile', basename($file)) }}">
{{ basename($file) }}
</a>
</li>
@empty
<li class="list-group-item">You have no files</li>
@endforelse
@soarecostin
soarecostin / HomeController.php
Created November 20, 2019 11:32
downloadFile method
<?php
/**
* Download a file
*
* @param string $filename
* @return \Illuminate\Http\Response
*/
public function downloadFile($filename)
{
// Basic validation to check if the file exists and is in the user directory
@soarecostin
soarecostin / HomeController.php
Created November 20, 2019 11:17
Store method with encryption
<?php
/**
* Store a user uploaded file
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response
*/
public function store(Request $request)
{
@soarecostin
soarecostin / HomeController.php
Created November 20, 2019 11:10
Index method of HomeController
<?php
/**
* Show the application dashboard.
*
* @return \Illuminate\Contracts\Support\Renderable
*/
public function index()
{
$files = Storage::files('files/' . auth()->user()->id);
@soarecostin
soarecostin / home.blade.php
Created November 20, 2019 11:06
Upload form
<form action="{{ route('uploadFile') }}" method="post" enctype="multipart/form-data" class="my-4">
@csrf
<div class="form-group">
<div class="custom-file">
<input type="file" class="custom-file-input" id="userFile" name="userFile">
<label class="custom-file-label" for="userFile">Choose a file</label>
</div>
</div>
@soarecostin
soarecostin / HomeController.php
Last active November 20, 2019 11:10
Store method HomeController
<?php
/**
* Store a user uploaded file
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response
*/
public function store(Request $request)
{