shadracnicholas / laravel-file-manager

File manager for Laravel

Home Page:http://webmai.ru/projects/file-manager

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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, de

Laravel 6

For Laravel 6 - You need to install - String & Array Helpers Package

composer require laravel/helpers

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

About

File manager for Laravel

http://webmai.ru/projects/file-manager

License:MIT License


Languages

Language:PHP 92.7%Language:HTML 7.3%