Skip to content

alexusmai/laravel-file-manager

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

82 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Laravel File Manager

Latest Stable Version Total Downloads Latest Unstable Version License

Laravel File Manager

DEMO: Laravel File Manager

Vue.js Frontend: alexusmai/vue-laravel-file-manager

Documentation

Laravel File Manager Docs

Features

  • Frontend on Vue.js - vue-laravel-file-manager
  • Work with the file system is organized by the standard means Laravel Flysystem:
    • Local, FTP, S3, Dropbox ...
    • The ability to work only with the selected disks
  • Several options for displaying the file manager:
    • One-panel view
    • One-panel + Directory tree
    • Two-panel
  • The minimum required set of operations:
    • Creating files
    • Creating folders
    • Copying / Cutting Folders and Files
    • Renaming
    • Uploading files (multi-upload)
    • Downloading files
    • Two modes of displaying elements - table and grid
    • Preview for images
    • Viewing images
    • Full screen mode
  • More operations (v.2):
    • Audio player (mp3, ogg, wav, aac), Video player (webm, mp4) - (Plyr)
    • Code editor - (Code Mirror)
    • Image cropper - (Cropper.js)
    • Zip / Unzip - only for local disks
  • Integration with WYSIWYG Editors:
    • CKEditor 4
    • TinyMCE 4
    • TinyMCE 5
    • SummerNote
    • Standalone button
  • ACL - access control list
    • delimiting access to files and folders
    • two work strategies:
      • blacklist - Allow everything that is not forbidden by the ACL rules list
      • whitelist - Deny everything, that not allowed by the ACL rules list
    • You can use different repositories for the rules - an array (configuration file), a database (there is an example implementation), or you can add your own.
    • You can hide files and folders that are not accessible.
  • Events (v2.2)
  • Thumbnails lazy load
  • Dynamic configuration (v2.4)
  • Supported locales : ru, en, ar, sr, cs

In a new version 2.4

Now you can create your own config repositories, it will allow to change your configuration dynamically.

How to do it:

Create new class - example - TestConfigRepository

namespace App\Http;

use Alexusmai\LaravelFileManager\Services\ConfigService\ConfigRepository;

class TestConfigRepository implements ConfigRepository
{
    // implement all methods from interface
}

For example see src/Services/ConfigService/DefaultConfigRepository.php

Upgrading to version 2.4

Update pre-compiled css and js files and config file - file-manager.php

// config
php artisan vendor:publish --tag=fm-config --force
// js, css
php artisan vendor:publish --tag=fm-assets --force

If you use the ACL, now you don't need to add the acl middleware to configuration.

//======= In old versions ==========
'acl' => true,

// add acl middleware to your array
'middleware' => ['web', 'fm-acl'],

//======= In a new version =========
'acl' => true,

'middleware' => ['web'],

Thanks